ColorPicker

ColorPickerは、ユーザーが色を選択したり任意の色の値を入力するために使用されるコンポーネントです。

使い方

import { ColorPicker } from "@yamada-ui/react"
<ColorPicker />

バリアントを変更する

サイズを変更する

カラースキームを変更する

デフォルトの値を設定する

デフォルトの値を設定する場合は、defaultValueに値を設定します。

アルファ値を設定する

アルファ値を設定する場合は、defaultValueにアルファ値を含む値を設定するか、format"hexa""hsla"などを設定します。

フォーマットを変更する

フォーマットを変更する場合は、formatに値を設定します。デフォルトでは、valueまたはdefaultValueの文字列からフォーマットを判定しています。

入力値を制限する

入力値を制限する場合は、patternに正規表現を設定します。

入力値をフォーマットする

入力値をフォーマットする場合は、formatInputに関数を設定します。

候補を表示する

候補を表示する場合は、colorSwatchesに配列を設定します。

候補の列を変更する

候補の列を変更する場合は、colorSwatchGroupColumnsに数値を設定します。

オフセットを変更する

オフセットを変更する場合は、gutterまたはoffsetに値を設定します。

アニメーションを変更する

アニメーションを変更する場合は、animationScheme"block-start""inline-end"などを設定します。デフォルトでは、"scale"が設定されています。

配置を変更する

配置を変更するには、placementendstart-centerなどを設定します。デフォルトでは、end-startが設定されています。

スクロールをブロックする

スクロールをブロックするには、blockScrollOnMounttrueに設定します。

スクロール時にドロップダウンを閉じる

スクロール時にドロップダウンを閉じる場合は、closeOnScrolltrueに設定します。

変更時にドロップダウンを開くイベントをハンドルする

変更時にドロップダウンを開くイベントをハンドルする場合は、openOnChangeに関数を設定します。

変更時にドロップダウンを閉じるイベントをハンドルする

変更時にドロップダウンを閉じるイベントをハンドルする場合は、closeOnChangeに関数を設定します。

フォーカス時にドロップダウンを開かない

フォーカス時にドロップダウンを開かない場合は、openOnFocusfalseに設定します。

クリック時にドロップダウンを開かない

クリック時にドロップダウンを開かない場合は、openOnClickfalseに設定します。

フォーカスが外れた場合に閉じない

フォーカスが外れた場合にドロップダウンを閉じない場合は、closeOnBlurfalseに設定します。

ESCキーが入力された時にドロップダウンを閉じない

ESCキーが入力された時にドロップダウンを閉じない場合は、closeOnEscfalseに設定します。

入力を許可しない

入力を許可しない場合は、allowInputfalseに設定します。

形を変える

無効にする

無効にする場合は、disabledtrueに設定します。

読み取り専用にする

読み取り専用にする場合は、readOnlytrueに設定します。

無効な入力にする

無効な入力にする場合は、invalidtrueに設定します。

ボーダーの色を変更する

ボーダーの色を変更する場合は、focusBorderColorまたはerrorBorderColorに値を設定します。

制御する

Props

アクセシビリティ

ColorPickerは、アクセシビリティに関してWAI-ARIA - Combobox Patternに従います。

Field.Rootを使用しない場合は、ColorPickeraria-labelまたはaria-labelledbyを設定します。

<ColorPicker placeholder="#4387f4" aria-label="Pick color" />
<VStack gap="sm">
  <Text as="h3" id="label">
    Pick Color
  </Text>

  <ColorPicker placeholder="#4387f4" aria-labelledby="label" />
</VStack>

キーボード操作

キー説明状態
Tabフォーカスがカラーピッカーに移動するとダイアログを開きます。openOnFocus={true}
Escapeダイアログを閉じます。closeOnEsc={true}
ArrowRight, ArrowUpスライダー内である場合はstepの値に基づいて値を増加します。-
ArrowLeft, ArrowDownスライダー内である場合はstepの値に基づいて値を減少します。-
HomeHueSliderまたはAlphaSlider内である場合はminの値を設定します。-
EndHueSliderまたはAlphaSlider内である場合はmaxの値を設定します。-
PageUpHueSliderまたはAlphaSlider内である場合はminmaxの値に基づいて値を増加します。-
PageDownHueSliderまたはAlphaSlider内である場合はminmaxの値に基づいて値を減少します。-

ARIAロールと属性

コンポーネントロールと属性使い方
ColorPickerFieldrole="combobox"コンボボックスであることを示します。
aria-controlsダイアログが開いている場合は関連したColorPickerContentidを設定し、閉じている場合はundefinedを設定します。
aria-describedbyColorPickerField.Root内にあり、Field.RooterrorMessageまたはhelperMessage、もしくはField.ErrorMessageまたはField.HelperMessageが設定されている場合は、そのidを設定します。
aria-disableddisabledまたはreadOnlyが設定されている場合は"true"を設定します。
aria-expandedダイアログが開いている場合は"true"を設定し、閉じている場合は"false"を設定します。
aria-haspopup="dialog"ダイアログが存在することを示します。
aria-invalidinvalidが設定されている場合は"true"を設定します。
aria-readonlyreadOnlyが設定されている場合は"true"を設定します。
aria-requiredrequiredが設定されている場合は"true"を設定します。
ColorPickerEyeDropperrole="button"ボタンであることを示します。
aria-disableddisabledまたはreadOnlyが設定されている場合は"true"を設定します。
aria-label"色を選択する"を設定します。
ColorPickerContentrole="dialog"ダイアログであることを示します。
ColorPickerColorSwatchrole="img"画像であることを示します。
aria-label現在の値を設定します。
aria-roledescription"color swatch"を設定します。
SaturationSlider.Thumbrole="slider"スライダーであることを示します。
aria-label"彩度と明度のつまみ"を設定します。
aria-roledescription"2D slider"を設定します。
aria-valueminminの値を設定します。デフォルトは0です。
aria-valuemaxmaxの値を設定します。デフォルトは100です。
aria-valuenow現在の値を設定します。
aria-valuetext"彩度 18%, 明度 18%"のように、現在の値を設定します。
HueSlider.Thumbrole="slider"スライダーであることを示します。
aria-label"スライダーのつまみ"を設定します。
aria-orientationorientationの値に基づいて"horizontal"または"vertical"を設定します。デフォルトは"horizontal"です。
aria-valueminminの値を設定します。デフォルトは0です。
aria-valuemaxmaxの値を設定します。デフォルトは360です。
aria-valuenow現在の値を設定します。
aria-valuetext"18°, 赤"のように、現在の値を設定します。
AlphaSlider.Thumbrole="slider"スライダーであることを示します。
aria-label"スライダーのつまみ"を設定します。
aria-orientationorientationの値に基づいて"horizontal"または"vertical"を設定します。デフォルトは"horizontal"です。
aria-valueminminの値を設定します。デフォルトは0です。
aria-valuemaxmaxの値を設定します。デフォルトは1です。
aria-valuenow現在の値を設定します。
aria-valuetext"18%"のように、現在の値を設定します。

類似のコンポーネント

ColorSelector

ColorSelectorは、ユーザーが色を選択するために使用されるコンポーネントです。

SaturationSlider

SaturationSliderは、ユーザーが色の彩度を選択するために使用されるコンポーネントです。

HueSlider

HueSliderは、ユーザーが色相を選択するために使用されるコンポーネントです。

DatePicker

DatePickerは、ユーザーが日付を選択するために使用されるコンポーネントです。

AlphaSlider

AlphaSliderは、ユーザーが色の透明度を選択するために使用されるコンポーネントです。

Select

Selectは、ユーザーがオプションのリストから値を選択するために使用されるコンポーネントです。

使用しているコンポーネント・フック