Skip to main content
Designkufu

smarthr-ui-dropdown

Dropdownは、ボタンを押すとパネルが開く動作を提供するプリミティブコンポーネントです。DropdownMenuButton/FilterDropdown/SortDropdownで実現できない独自のドロップダウンUIを提供するときに使います。

Stars
30
Source
kufu/smarthr-design-system
Updated
2026-05-29
Slug
kufu--smarthr-design-system--smarthr-ui-dropdown
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/kufu/smarthr-design-system/HEAD/plugins/smarthr-design-system/skills/smarthr-ui-dropdown/SKILL.md -o .claude/skills/smarthr-ui-dropdown.md

Drops the SKILL.md into .claude/skills/smarthr-ui-dropdown.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

ボタンを押すとパネルが開く動作を提供するプリミティブコンポーネントです。DropdownMenuButton/FilterDropdown/SortDropdownで実現できない独自のドロップダウンUIを提供するときに使います。

大きく分けるとパネルを開くための引き金となるDropdownTriggerとパネル自体を指すDropdownContentから構成されます。

import

import { DropdownTrigger, DropdownContent, DropdownCloser, Dropdown } from 'smarthr-ui'

Props

DropdownTrigger

Props 名 デフォルト値 必須 説明
tooltip { message: ReactNode; show?: boolean; } - - -

DropdownContent

Props 名 デフォルト値 必須 説明
controllable boolean false - true のとき、ドロップダウン内のコンテンツをクリックしてもドロップダウンが閉じなくなる。。 この場合は、 DropdownCloser を用いてドロップダウンを閉じることができる。

DropdownCloser

(固有 Props なし)

Dropdown

Props 名 デフォルト値 必須 説明
onOpen () => void - - -
onClose () => void - - -

実装ルール

a11y-trigger-has-button

DropdownTriggerやDialogTrigger, DisclosureTrigger内にbutton要素を設置することを強制するルールです。

❌ NG:

// Triggerの子はbutton要素である必要がある
<DropdownTrigger>
  <Xxx />
</DropdownTrigger>

✅ OK:

<DropdownTrigger>
  <Button />
</DropdownTrigger>

詳細は eslint-plugin-smarthr の各ルール README を参照してください。

使い方チェックリスト

使い方チェックリスト(Layer 3)は設定されていません。