使用法

  1. import { useState } from 'react';
  2. import { CircularOptionPicker } from '../circular-option-picker';
  3. const Example = () => {
  4. const [ currentColor, setCurrentColor ] = useState();
  5. const colors = [
  6. { color: '#f00', name: 'Red' },
  7. { color: '#0f0', name: 'Green' },
  8. { color: '#00f', name: 'Blue' },
  9. ];
  10. const colorOptions = (
  11. <>
  12. { colors.map( ( { color, name }, index ) => {
  13. return (
  14. <CircularOptionPicker.Option
  15. key={ `${ color }-${ index }` }
  16. tooltipText={ name }
  17. style={ { backgroundColor: color, color } }
  18. isSelected={ index === currentColor }
  19. onClick={ () => setCurrentColor( index ) }
  20. aria-label={ name }
  21. />
  22. );
  23. } ) }
  24. </>
  25. );
  26. return (
  27. <CircularOptionPicker
  28. options={ colorOptions }
  29. actions={
  30. <CircularOptionPicker.ButtonAction
  31. onClick={ () => setCurrentColor( undefined ) }
  32. >
  33. { 'Clear' }
  34. </CircularOptionPicker.ButtonAction>
  35. }
  36. />
  37. );
  38. };

プロパティ

className: string

ラッパー要素に適用するCSSクラスです。

  • 必須: いいえ

actions: ReactNode

オプションの後にレンダリングされるアクション(例:ColorPaletteに見られる「クリア」ボタンなど)。

通常はCircularOptionPicker.ButtonActionまたはCircularOptionPicker.DropdownLinkActionコンポーネントです。

  • 必須: いいえ

options: ReactNode

レンダリングされるオプション(例:カラースウォッチなど)。

通常はCircularOptionPicker.Optionコンポーネントです。

  • 必須: いいえ

children: ReactNode

子要素です。

  • 必須: いいえ

asButtons: boolean

コントロールがボタンのセットとして表示されるかどうか、各ボタンには独自のタブストップがあります。

  • 必須: いいえ
  • デフォルト: false

loop: boolean

キーボード操作がラップするのを防ぎます。asButtonsが真でない場合にのみ使用されます。

  • 必須: いいえ
  • デフォルト: true

サブコンポーネント

CircularOptionPicker.ButtonAction

ButtonActionは、オプション自体と並んでボタンとしてレンダリングされるアクションです。

一般的な使用例は、現在選択されているオプションを選択解除するための「クリア」ボタンです。

プロパティ

className: string

基盤となるButtonコンポーネントに適用するCSSクラスです。

  • 必須: いいえ
children: ReactNode

ボタンの子要素です。

  • 必須: いいえ
継承されたプロパティ

CircularOptionPicker.ButtonActionは、hrefおよびtargetを除くすべてのButtonプロパティを継承します。

CircularOptionPicker.DropdownLinkAction

CircularOptionPicker.DropdownLinkActionは、ドロップダウントグルの背後に隠されたアクションです。ボタンはリンクとしてフォーマットされ、anchor要素としてレンダリングされます。

プロパティ

className: string

基盤となるDropdownコンポーネントに適用するCSSクラスです。

  • 必須: いいえ
linkText: string

ボタンに表示されるテキストです。

  • 必須: はい
dropdownProps: object

基盤となるDropdownコンポーネントのプロパティです。

classNameおよびrenderToggleを除くすべてのDropdownプロパティを継承します。

  • 必須: はい
buttonProps: object

基盤となるButtonコンポーネントのプロパティです。

hreftarget、およびchildrenを除くすべてのButtonプロパティを継承します。

  • 必須: いいえ