Input

テキスト入力を受け付ける基本的なフォームコンポーネントです。ユーザー名やメールアドレスなど、自由記述の入力に使用します。

Basic

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

Input Types

input-type プロパティを使用して、パスワードや数値など入力タイプを切り替えられます。

States

disabled などのプロパティを使用してコンポーネントの状態(非活性など)を制御します。

With Icons

スロットなどを利用して、アイコン付きのパターンを作成できます。

🔍 $ USD

関連コンポーネント

  • Form Field — ラベルやバリデーションを付加するラッパー
  • Textarea — 複数行テキスト入力コンポーネント
  • Search Input — 検索キーワード入力に特化したコンポーネント~~
  • Number Input — 数量や金額などの数値入力に特化したコンポーネント(数量の入力を行う場合はこちらを使用してください)~~

ブラウザ対応

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

機能用途ChromeFirefoxSafariステータス
:focus-withinフォーカス状態全ver全ver全verBaseline
:user-valid / :user-invalidバリデーション表示119+88+16.5+Baseline Widely Available
color-mix()カラー生成111+113+16.4+Baseline 2023

💡 すべての機能が Baseline Widely Available に達しており、幅広いブラウザで安定して動作します。

Baseline 情報

機能Baseline 達成Widely Available 予定
:focus-within太古の昔から対応WA 済み ✅
:user-valid / :user-invalid2023年2025年後半 ✅
color-mix()2023年2025年後半 ✅

アクセシビリティ

  • WAI-ARIA:
    • 内部でネイティブの <input> 要素が生成され、inputTypetext / email / password / number / tel / url)に応じた標準的な入力セマンティクスが保証されます。
    • label Prop を指定すると <label> 要素が描画され、htmlFor でネイティブ <input> と関連付けられます。
    • required 指定時は <input>required 属性と aria-required="true" が付与されます。ラベル横の必須マーク * は装飾のため aria-hidden="true" です。
    • errorMessage 指定時は <input>aria-invalid="true" が付与され、aria-describedby でエラーメッセージ要素(role="alert")と関連付けられます。これによりエラー内容が支援技術に通知されます。
    • name / value はフォーム送信に用いられます(formAssociated によりネイティブフォームへ参加します)。maxlength / autocomplete 属性もネイティブ <input> にそのまま反映されます。
  • キーボードナビゲーション:
    • ネイティブの <input> を使用しているため、Tab でフォーカスでき、通常のテキスト入力・編集操作がそのまま利用できます。
    • disabled の時はネイティブ <input>disabled 属性が付与され、フォーカス順および操作の対象から除外されます。

プロパティ

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

PropertyAttributeDescriptionTypeDefault
autocompleteautocompleteオートコンプリート属性stringundefined
disableddisabled無効状態booleanfalse
errorMessageerror-messageエラーメッセージ(表示すると invalid 状態になる)stringundefined
inputTypeinput-type入力タイプ"email" | "number" | "password" | "tel" | "text" | "url"'text'
labellabelラベルテキストstringundefined
maxlengthmaxlength最大文字数numberundefined
namenameフォーム送信時の name 属性stringundefined
placeholderplaceholderプレースホルダーstring''
requiredrequired必須フラグbooleanfalse
valuevalue入力値(双方向バインディング用)string''

イベント

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

EventDescriptionType
juiChange変更確定時に発火(value を emit)CustomEvent<{ value: string; }>
juiInput入力中にリアルタイムで発火(value を emit)CustomEvent<{ value: string; }>

スロット

コンポーネント内に子要素を挿入するためのスロット一覧です。

SlotDescription
"prefix"入力フィールド前のアイコン等
"suffix"入力フィールド後のアイコン等

シャドウパーツ

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

PartDescription
"error"エラーメッセージ
"field"入力要素
"label"ラベル要素
"wrapper"入力フィールドを囲むコンテナ

Built with StencilJS