Skip to content
fandhe-frontendcore v0.4.3
GitHub

Color Picker

fandhe-frontend-pre-styled-ui の color_picker mod が提供するスタイル済み Color Picker 部品です。

関連 API: fandhe-frontend-pre-styled-ui API / fandhe-frontend-headless-ui API

Demo

HSV 色相環 + アルファ選択の静的表示です(canvas 非依存、CSS グラデーション + 検証済み割合のみで構成)。ポインタ操作の実配線は wasm 層の後続対応です。閉状態の trigger(通常 / disabled / readonly・invalid・required)と、開状態の content(hue/alpha スライダーに data-channel/data-orientation 付き)を並べています。

Color
Color (disabled)
Color (readonly/invalid)

Features

  • 彩度・明度の 2 次元グラデーション(Area)+ 色相/アルファスライダー + HEX 入力からなる複合部品
  • canvas を使わず、すべて CSS グラデーション + 検証済み整数割合の custom property のみで描画する
  • 開いた状態を固定して掲示する(実際のドラッグ挙動は wasm 層のスコープ外)

Anatomy

root
  label
  control
    channel-input
    trigger
    hidden-input
content
  area
    area-background
    area-thumb
  hue-slider
    hue-slider-track
    hue-slider-thumb
  alpha-slider
    alpha-slider-track
    alpha-slider-thumb
    value-text

API Reference

Arguments

NameTypeDefaultDescription
ColorPicker::from_colorfn(Color) -> ColorPicker—初期色から状態機械を構築する。
channelChannel—channel_slider が制御するチャンネル(Hue/Alpha)。
attrsVec<(&str, &str)>—root パーツへ合成する追加属性。
childrenVec<Node>—root 配下の子ノード(通常 trigger/area を含む)。

Data Attributes

PartAttributeObserved Values
alpha-sliderdata-channelalpha
alpha-sliderdata-orientationhorizontal
alpha-slider-thumbdata-channelalpha
alpha-slider-thumbdata-orientationhorizontal
alpha-slider-trackdata-channelalpha
alpha-slider-trackdata-orientationhorizontal
channel-inputdata-channelhex
channel-inputdata-disabled(値なし)
channel-inputdata-invalid(値なし)
channel-inputdata-readonly(値なし)
contentdata-stateclosed
controldata-disabled(値なし)
controldata-invalid(値なし)
controldata-readonly(値なし)
controldata-stateclosed
hue-sliderdata-channelhue
hue-sliderdata-orientationhorizontal
hue-slider-thumbdata-channelhue
hue-slider-thumbdata-orientationhorizontal
hue-slider-trackdata-channelhue
hue-slider-trackdata-orientationhorizontal
labeldata-disabled(値なし)
labeldata-invalid(値なし)
labeldata-readonly(値なし)
labeldata-required(値なし)
rootdata-disabled(値なし)
rootdata-invalid(値なし)
rootdata-readonly(値なし)
rootdata-stateclosed
triggerdata-disabled(値なし)
triggerdata-stateclosed

CSS Variables

VariableDefault
--fandhe-color-picker-alpha-color#000
--fandhe-color-picker-hue-color#ff0000
--fandhe-color-picker-previewtransparent
--fandhe-color-picker-thumb-percent0%
--fandhe-color-picker-thumb-size1rem
--fandhe-color-picker-trigger-sizevar(--fandhe-size-control-height-md, 2.5rem)
--fandhe-color-picker-x0%
--fandhe-color-picker-y0%

Examples

Area + 色相スライダー

彩度・明度のグラデーション領域と色相スライダーを組み合わせます。

Accessibility

WAI-ARIA

AttributeDescription
aria-valuenowスライダー(thumb)の現在値を支援技術へ伝える。
aria-valuetextスライダーの現在値の読み上げ用テキスト表現。