Skip to content
fandhe-frontendcore v0.4.3
GitHub

Segment Group

fandhe-frontend-pre-styled-ui の segment_group mod が提供するスタイル済み Segment Group 部品です。

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

Demo

単一選択のセグメント UI(segmented control)。ネイティブ input[type="radio"] による排他選択を data-scope="segment-group" の anatomy へ重ね、選択中の項目を indicator の CSS 変数(--fandhe-segment-group-index/-count)で示します。状態機械は RadioGroup(SingleSelect)への全委譲です。

Size

Features

  • size variant クラスのみを root へ付与し、headless-ui の segment_group::root へ委譲する(colorPalette 軸を持たない)。
  • orientation/labelled_by を radio_group/radio_card/toggle_group と同型で受け取る。

Anatomy

root
  indicator
  item
    item-hidden-input
    item-control
    item-text

API Reference

Arguments

NameTypeDefaultDescription
sizeSizeSize::Mdサイズ variant。
disabledboolfalseグループ全体の無効化状態。
orientationOption<Orientation>Noneキーボード操作方向のヒント(aria-orientation)。
labelled_byOption<&str>NoneSome のとき aria-labelledby を付与する。
attrsVec<(&str, &str)>—root パーツへ合成する追加属性。
childrenVec<Node>—root 配下の子ノード。

Data Attributes

PartAttributeObserved Values
indicatordata-disabled(値なし)
indicatordata-orientationvertical
indicatordata-statechecked
itemdata-disabled(値なし)
itemdata-statechecked, unchecked
itemdata-valuegrid, list, table
item-controldata-disabled(値なし)
item-controldata-statechecked, unchecked
item-hidden-inputdata-statechecked, unchecked
item-textdata-disabled(値なし)
item-textdata-statechecked, unchecked
rootdata-disabled(値なし)
rootdata-orientationvertical

CSS Variables

VariableDefault
--fandhe-segment-group-count1
--fandhe-segment-group-font-sizevar(--fandhe-font-font-size-sm)
--fandhe-segment-group-index0
--fandhe-segment-group-padding-block0.375rem
--fandhe-segment-group-padding-inline0.75rem