Input
Inputは、ユーザーからテキストデータを収集するための基本的なフォーム要素です。 メール、パスワード、検索など、様々な種類のテキスト入力に対応します。
2
Variants
5
Sizes
2
Icon Slot
Field
Field
Playground
Preview
defaultD44px / font 16px
Variant
Size
Radius
Icon
State
Field
Focus
<Input placeholder="Type here..." />Variants
Default
標準的なボーダースタイル。フォームの一般的な入力欄に使用。
一般的なフォーム
Filled
背景色付きスタイル。視覚的に目立たせたい入力欄に。
検索バー、主要入力
Sizes
xs高さ36px
横パディング12px
フォント13px
アイコン14px
sm高さ40px
横パディング12px
フォント14px
アイコン14px
default高さ44px
横パディング16px
フォント16px
アイコン16px
lg高さ48px
横パディング16px
フォント16px
アイコン16px
xl高さ56px
横パディング16px
フォント16px
アイコン16px
| Size | 高さ | 横パディング | フォント | アイコン | 用途 | プレビュー |
|---|---|---|---|---|---|---|
xs | 36px | 12px | 13px | 14px | コンパクト | |
sm | 40px | 12px | 14px | 14px | 小さめ | |
default | 44px | 16px | 16px | 16px | 標準(推奨) | |
lg | 48px | 16px | 16px | 16px | ゆったり | |
xl | 56px | 16px | 16px | 16px | 大きめ |
タッチターゲット: WCAG 2.5.8基準では最小24pxのタッチ領域が必要です。 最小のxs(36px)でもWCAG基準を満たしています。
iOS Safari対応: フォントサイズ16px以上でiOS Safariの自動ズームを防止できます。default以上のサイズは16pxフォント・16pxアイコンを使用しています。
Features
With Icons
States
Default通常
0/50
Errorエラー
必須項目です
Disabled無効
フォーカスStates
focusRing: false(デフォルト): クリック時はボーダー変化のみ、キーボードTab時はフォーカスリング自動表示。focusRing: true: 常にフォーカスリングを表示。
API
Props
variant"default""default" | "filled"インプットの視覚スタイル
size"default""xs" | "sm" | "default" | "lg" | "xl"インプットの高さ (36/40/44/48/56px) - Input専用スケール
radius"default""none" | "sm" | "base" | "default" | "lg" | "xl" | "2xl" | "3xl" | "full"角丸のサイズ (6px)
leftIconundefinedReactNode左側アイコン
rightIconundefinedReactNode右側アイコン
focusRingfalsebooleanカスタムフォーカスリング表示。falseでもキーボード操作時は自動表示
errorundefinedbooleanエラーStates(赤いボーダー)
disabledundefinedboolean無効States
placeholderundefinedstringプレースホルダーテキスト
typeundefinedstringインプットタイプ (text, email, password, etc.)。HTMLデフォルト: text
| Name | Type | Default | Description |
|---|---|---|---|
variant | "default" | "filled" | "default" | インプットの視覚スタイル |
size | "xs" | "sm" | "default" | "lg" | "xl" | "default" | インプットの高さ (36/40/44/48/56px) - Input専用スケール |
radius | "none" | "sm" | "base" | "default" | "lg" | "xl" | "2xl" | "3xl" | "full" | "default" | 角丸のサイズ (6px) |
leftIcon | ReactNode | undefined | 左側アイコン |
rightIcon | ReactNode | undefined | 右側アイコン |
focusRing | boolean | false | カスタムフォーカスリング表示。falseでもキーボード操作時は自動表示 |
error | boolean | undefined | エラーStates(赤いボーダー) |
disabled | boolean | undefined | 無効States |
placeholder | string | undefined | プレースホルダーテキスト |
type | string | undefined | インプットタイプ (text, email, password, etc.)。HTMLデフォルト: text |
Field
errorfalsebooleanエラー状態。FieldError と Input に自動伝播
disabledfalseboolean無効状態。FieldLabel と Input に自動伝播
gap"default""none" | "xs" | "sm" | "default" | "lg"子要素間の間隔 (0 / 4 / 6 / 8 / 12px)
| Name | Type | Default | Description |
|---|---|---|---|
error | boolean | false | エラー状態。FieldError と Input に自動伝播 |
disabled | boolean | false | 無効状態。FieldLabel と Input に自動伝播 |
gap | "none" | "xs" | "sm" | "default" | "lg" | "default" | 子要素間の間隔 (0 / 4 / 6 / 8 / 12px) |
FieldLabel
requiredfalseboolean必須マーク(*)をラベル末尾に表示
| Name | Type | Default | Description |
|---|---|---|---|
required | boolean | false | 必須マーク(*)をラベル末尾に表示 |