Stepper
複数ステップのプロセスを案内するナビゲーションコンポーネント。会員登録やチェックアウトフローに使用します。
Basic
最も基本的な水平レイアウトのステッパーです。
Variants
variant プロパティを使用して、ステップの表示スタイルを変更できます。
Dot (ドット)
アイコンの代わりに小さなドットを表示するコンパクトなスタイルです。
Layout Direction
direction プロパティで、垂直レイアウトに変更できます。モバイルやサイドバーなど、横幅に制限がある場合に適しています。
Step Status
各ステップオブジェクトの status プロパティを設定することで、特定のエラー状態などを表現できます。指定がない場合は current プロパティの値に基づいて自動的に計算されます。
Clickable Steps
clickable 属性を付与すると、ステップをクリックして切り替えることができるようになります。この際、juiChange イベントが発火します。
関連コンポーネント
- Progress - 進捗状況の表示
- Button - アクションボタン
- Form Field - フォームフィールド
アクセシビリティ
- WAI-ARIA:
- ステッパー全体のコンテナは
role="list"を持ちます。 - 各ステップは既定では
role="listitem"ですが、clickableが真かつそのステップがdisabledでない場合はrole="button"になります。 - 現在のステップ(
currentと一致するインデックス)にはaria-current="step"が付与され、現在地が支援技術に伝わります。 - 完了・エラー状態を示すチェックマーク/×印の SVG アイコンは
aria-hidden="true"で読み上げ対象から除外されます。
- ステッパー全体のコンテナは
- キーボードナビゲーション:
clickableが真かつdisabledでないステップにはtabindex="0"が付与され、Tabでフォーカスできます。フォーカスしたステップ上でEnterまたはSpaceを押すと、そのステップへの変更(juiChangeイベント)が発火します。clickableが偽のステップ、およびdisabledなステップはtabindexが設定されず、キーボードフォーカスの対象になりません(disabledなステップはクリック/キー操作でもイベントを発火しません)。
プロパティ
コンポーネントが受け付ける属性(Props)の一覧と詳細仕様です。
| Property | Attribute | Description | Type | Default |
|---|---|---|---|---|
clickable | clickable | ステップクリック対応 | boolean | false |
current | current | 現在のステップ(0始まり) | number | 0 |
direction | direction | レイアウト方向 | "horizontal" | "vertical" | 'horizontal' |
size | size | サイズ | "md" | "sm" | 'md' |
steps | steps | ステップ定義(JSON文字列 or 配列) | StepItem[] | string | '[]' |
variant | variant | 表示スタイル | "default" | "dot" | 'default' |
イベント
コンポーネントから発火するカスタムイベントの一覧です。
| Event | Description | Type |
|---|---|---|
juiChange | ステップ変更時に発火 | CustomEvent<{ current: number; step: StepItem; }> |
シャドウパーツ
CSSから直接スタイリング可能な内部要素(Parts)の一覧です。
| Part | Description |
|---|---|
"connector" | コネクター線 |
"step-content" | ステップコンテンツ部分 |
"step-icon" | ステップアイコン部分 |
Built with StencilJS