アクションとオーバーレイ@neumorphism-ui/dropdown-menu

Dropdown Menu

Base UI Menu を基盤とした完全な組み合わせ可能 API です。通常項目、checkbox、radio group、label、separator、shortcut、入れ子の submenu を1つのサーフェス上にまとめます。

@neumorphism-ui/dropdown-menu
Registry JSON

プレビュー

インストール

インストール: dropdown-menunpx shadcn@latest add @neumorphism-ui/dropdown-menu

CLI が npm 依存関係、base token、utils、コンポーネントソースを順番に処理します。

この Registry を初めて使う場合は、先に namespace の設定 を完了してください。

使い方

使い方: インストールnpx shadcn@latest add @neumorphism-ui/button @neumorphism-ui/dropdown-menu

Import

Dropdown Menu の import コード
import * as React from "react"
import { Button } from "@/components/ui/button"
import {
  DropdownMenu,
  DropdownMenuCheckboxItem,
  DropdownMenuContent,
  DropdownMenuItem,
  DropdownMenuGroup,
  DropdownMenuLabel,
  DropdownMenuSeparator,
  DropdownMenuShortcut,
  DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"

Example

Dropdown Menu の使用コード
export function WorkspaceMenu() {
  const [showDepthGrid, setShowDepthGrid] = React.useState(true)

  return (
    <DropdownMenu>
      <DropdownMenuTrigger render={<Button variant="soft" />}>
        メニューを開く
      </DropdownMenuTrigger>
      <DropdownMenuContent align="start">
        <DropdownMenuGroup>
          <DropdownMenuLabel>ワークスペース</DropdownMenuLabel>
          <DropdownMenuSeparator />
          <DropdownMenuItem>
            複製
            <DropdownMenuShortcut>⌘D</DropdownMenuShortcut>
          </DropdownMenuItem>
          <DropdownMenuCheckboxItem
            checked={showDepthGrid}
            onCheckedChange={setShowDepthGrid}
          >
            深度グリッドを表示
          </DropdownMenuCheckboxItem>
          <DropdownMenuItem variant="destructive">削除</DropdownMenuItem>
        </DropdownMenuGroup>
      </DropdownMenuContent>
    </DropdownMenu>
  )
}

API リファレンス

コンポーネントプロパティ型デフォルト説明
DropdownMenuopen / defaultOpenbooleanfalse制御された open 状態、または非制御時の初期 open 状態です。
DropdownMenuonOpenChange(open: boolean) => void—menu の open 状態が変わったときに呼び出されます。
DropdownMenuTriggerrenderReactElement | (props, state) => ReactElement—button または link に trigger の動作を合成します。
DropdownMenuContentside / align"top" | "right" | "bottom" | "left" / "start" | "center" | "end""bottom" / "start"trigger を基準に popup を配置します。
DropdownMenuContentsideOffsetnumber8trigger と popup の間隔です。
DropdownMenuItemvariant"default" | "destructive""default"通常または destructive action のスタイルを選択します。
DropdownMenuItem / Labelinsetbooleanfalseindicator を持つ行とテキストの開始位置を揃えます。
DropdownMenuCheckboxItemcheckedboolean | "indeterminate"—checkbox item の制御状態です。
DropdownMenuCheckboxItemonCheckedChange(checked) => void—checkbox item の状態が変わったときに呼び出されます。

アクセシビリティ

  • 01

    Base UI が Arrow キー、Home、End、typeahead による移動、Escape による終了、focus restoration を処理します。

  • 02

    各 DropdownMenuItem には明確な command label を付け、destructive action は variant だけでなく文言でも区別してください。

  • 03

    CheckboxItem の状態は checked と onCheckedChange を使って明示的に管理してください。