Slider

ドラッグ操作で値を選択できるレンジスライダーコンポーネントです。音量や価格範囲の選択に使用します。

Basic

jui-slider の最も基本的な使用例です。

Colors

color プロパティでスライダーの色を変更できます。

Sizes

size プロパティでスライダーのサイズを変更できます。

Ticks

marks プロパティで目盛りマークを表示できます。

Steps

step プロパティで変化量を指定できます。

Disabled

disabled で操作不可にできます。

アクセシビリティ

  • WAI-ARIA:
    • つまみ要素に role="slider" を設定します。
    • aria-valuenowaria-valueminaria-valuemax で現在値と範囲を通知します。
    • aria-orientation="horizontal" で方向を明示します。
    • label プロパティで aria-label を設定できます。
  • キーボードナビゲーション:
    • / : 値を1ステップ減少
    • / : 値を1ステップ増加
    • Home: 最小値に設定
    • End: 最大値に設定

CSS カスタムプロパティ

このコンポーネント固有のカスタムプロパティはありません。グローバルのデザイントークン(--jui-color-brand, --jui-color-danger, --jui-color-success, --jui-color-warning, --jui-radius-full 等)を参照して描画されます。

ブラウザ対応

このコンポーネントが使用しているブラウザ機能と対応状況です。

機能用途ChromeFirefoxSafariステータス
Pointer Eventsドラッグ操作の処理55+59+13+Baseline 2020
CSS Transitionsアニメーション効果26+16+9+Baseline 2014
CSS 変数 (var())デザイントークン・カラー適用49+31+9.1+Baseline 2017

💡 いずれの機能も主要ブラウザで広く対応済みです。

関連コンポーネント

  • Input — テキスト入力コンポーネント
  • Progress — 進捗状況の表示
  • Form Field — フォームフィールドラッパー

プロパティ

コンポーネントが受け付ける属性(Props)の一覧と詳細仕様です。

PropertyAttributeDescriptionTypeDefault
colorcolorカラーバリアント"brand" | "danger" | "success" | "warning"'brand'
disableddisabled無効状態booleanfalse
labellabelアクセシビリティラベルstring''
marksmarks目盛りマーク(JSON文字列または配列)SliderMark[] | string'[]'
maxmax最大値number100
minmin最小値number0
namenameフォーム識別用の name 属性stringundefined
showValueshow-value現在値ラベル表示booleanfalse
sizesizeサイズバリアント"lg" | "md" | "sm"'md'
sliderLabelslider-label値フォーマットラベル(例: ‘{value}%‘)string''
stepstepステップ幅number1
valuevalue現在値number0

イベント

コンポーネントから発火するカスタムイベントの一覧です。

EventDescriptionType
juiChangeドラッグ完了時の最終値CustomEvent<{ value: number; }>
juiInputドラッグ中のリアルタイム値変更CustomEvent<{ value: number; }>

シャドウパーツ

CSSから直接スタイリング可能な内部要素(Parts)の一覧です。

PartDescription
"fill"フィル(進捗部分)
"mark"目盛りマーク
"thumb"つまみ(ドラッグハンドル)
"track"スライダートラック
"value-label"値ラベル

Built with StencilJS