Number Input

数値の入力に特化したフォームコンポーネントです。増減ボタンやステップ値の設定に対応し、数量や金額の入力に使用します。

Basic

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

関連コンポーネント

  • Input — 汎用テキスト入力コンポーネント
  • Form Field — ラベルやバリデーションを付加するラッパー

アクセシビリティ

  • WAI-ARIA:
    • role="spinbutton" により、スクリーンリーダーに数値入力コントロールであることを伝えます。
    • aria-valuemin, aria-valuemax, aria-valuenow で現在の値と範囲を支援技術に提供します。
    • aria-invalid 属性はエラーメッセージが存在する場合に自動的に true に設定されます。
    • aria-required 属性は required プロパティに連動します。
    • ラベルは htmlFor<input> 要素と紐付けられます。
    • エラー時は aria-describedby でエラーメッセージテキストが紐付けられます。
  • キーボードナビゲーション:
    • ArrowUp キーで値を増加、ArrowDown キーで値を減少できます。
    • Enter キーで現在の入力値を確定します。
    • Tab キーで次のフォーカス可能な要素に移動します。
    • 増加・減少ボタンもキーボードでフォーカス・操作可能です。

CSS カスタムプロパティ

このコンポーネント固有のカスタムプロパティはありません。グローバルのデザイントークン(--jui-color-border, --jui-color-text, --jui-color-danger, --jui-radius-md, --jui-transition-fast 等)を参照してスタイルが適用されます。

ブラウザ対応

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

機能用途ChromeFirefoxSafariステータス
:focus-visibleキーボードフォーカスリング86+85+15.4+Baseline 2022
inputMode="decimal"モバイル数値キーボード66+95+12.2+Baseline 2022
CSS Custom Propertiesデザイントークン49+31+9.1+Baseline 2016

💡 いずれの機能も Baseline 2022 以前に到達しており、主要ブラウザで広く対応済みです。

Baseline 情報

機能Baseline 達成Widely Available 予定
:focus-visible2022年2024年後半 ✅
inputMode="decimal"2022年2024年後半 ✅
CSS Custom Properties2016年2019年 ✅

プロパティ

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

PropertyAttributeDescriptionTypeDefault
decrementLabeldecrement-label減少ボタンの aria-labelstring'減少'
disableddisabled無効状態booleanfalse
errorMessageerror-messageエラーメッセージ(表示すると invalid 状態になる)string''
incrementLabelincrement-label増加ボタンの aria-labelstring'増加'
labellabelラベルテキストstring''
maxmax最大値numberInfinity
minmin最小値number-Infinity
namenameフォーム識別用の name 属性stringundefined
placeholderplaceholderプレースホルダーstring''
precisionprecision小数点以下の精度number0
prefixTextprefix-text接頭辞テキスト(例: ¥)string''
requiredrequired必須フラグbooleanfalse
sizesizeサイズバリアント"lg" | "md" | "sm"'md'
stepstep増減ステップnumber1
suffixTextsuffix-text接尾辞テキスト(例: 円)string''
valuevalue現在の値(null は空欄を表す)null | numbernull

イベント

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

EventDescriptionType
juiChange値変更時に発火CustomEvent<{ value: number | null; }>
juiStepスピナー操作時に発火CustomEvent<{ value: number; direction: "up" | "down"; }>

シャドウパーツ

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

PartDescription
"decrement"減少ボタン
"error"エラーメッセージ
"field"テキスト入力要素
"increment"増加ボタン
"label"ラベル要素
"prefix"接頭辞テキスト
"spinner"スピナーボタン群を囲むコンテナ
"suffix"接尾辞テキスト
"wrapper"入力フィールドを囲むコンテナ

Built with StencilJS