日付ピッカー
アルファ<script setup lang="ts">
import { Icon } from '@iconify/vue'
import {
DatePickerArrow,
DatePickerCalendar,
DatePickerCell,
DatePickerCellTrigger,
DatePickerContent,
DatePickerField,
DatePickerGrid,
DatePickerGridBody,
DatePickerGridHead,
DatePickerGridRow,
DatePickerHeadCell,
DatePickerHeader,
DatePickerHeading,
DatePickerInput,
DatePickerNext,
DatePickerPrev,
DatePickerRoot,
DatePickerTrigger,
Label,
} from 'radix-vue'
</script>
<template>
<div class="flex flex-col gap-2">
<Label
class="text-sm text-white"
for="date-field"
>Birthday</Label>
<DatePickerRoot
id="date-field"
:is-date-unavailable="date => date.day === 19"
>
<DatePickerField
v-slot="{ segments }"
class="flex select-none bg-white items-center justify-between rounded-lg text-center text-green10 border border-transparent p-1 w-40 data-[invalid]:border-red-500"
>
<div class="flex items-center">
<template
v-for="item in segments"
:key="item.part"
>
<DatePickerInput
v-if="item.part === 'literal'"
:part="item.part"
>
{{ item.value }}
</DatePickerInput>
<DatePickerInput
v-else
:part="item.part"
class="rounded-md p-0.5 focus:outline-none focus:shadow-[0_0_0_2px] focus:shadow-black data-[placeholder]:text-green9 "
>
{{ item.value }}
</DatePickerInput>
</template>
</div>
<DatePickerTrigger class="focus:shadow-[0_0_0_2px] rounded-md text-xl p-1 focus:shadow-black">
<Icon icon="radix-icons:calendar" />
</DatePickerTrigger>
</DatePickerField>
<DatePickerContent
:side-offset="4"
class="rounded-xl bg-white shadow-[0_10px_38px_-10px_hsla(206,22%,7%,.35),0_10px_20px_-15px_hsla(206,22%,7%,.2)] focus:shadow-[0_10px_38px_-10px_hsla(206,22%,7%,.35),0_10px_20px_-15px_hsla(206,22%,7%,.2),0_0_0_2px_theme(colors.green7)] will-change-[transform,opacity] data-[state=open]:data-[side=top]:animate-slideDownAndFade data-[state=open]:data-[side=right]:animate-slideLeftAndFade data-[state=open]:data-[side=bottom]:animate-slideUpAndFade data-[state=open]:data-[side=left]:animate-slideRightAndFade"
>
<DatePickerArrow class="fill-white" />
<DatePickerCalendar
v-slot="{ weekDays, grid }"
class="p-4"
>
<DatePickerHeader class="flex items-center justify-between">
<DatePickerPrev
class="inline-flex items-center cursor-pointer text-black justify-center rounded-[9px] bg-transparent w-8 h-8 hover:bg-black hover:text-white active:scale-98 active:transition-all focus:shadow-[0_0_0_2px] focus:shadow-black"
>
<Icon
icon="radix-icons:chevron-left"
class="w-6 h-6"
/>
</DatePickerPrev>
<DatePickerHeading class="text-black font-medium" />
<DatePickerNext
class="inline-flex items-center cursor-pointer text-black justify-center rounded-[9px] bg-transparent w-8 h-8 hover:bg-black hover:text-white active:scale-98 active:transition-all focus:shadow-[0_0_0_2px] focus:shadow-black"
>
<Icon
icon="radix-icons:chevron-right"
class="w-6 h-6"
/>
</DatePickerNext>
</DatePickerHeader>
<div
class="flex flex-col space-y-4 pt-4 sm:flex-row sm:space-x-4 sm:space-y-0"
>
<DatePickerGrid
v-for="month in grid"
:key="month.value.toString()"
class="w-full border-collapse select-none space-y-1"
>
<DatePickerGridHead>
<DatePickerGridRow class="mb-1 flex w-full justify-between">
<DatePickerHeadCell
v-for="day in weekDays"
:key="day"
class="w-8 rounded-md text-xs text-green8"
>
{{ day }}
</DatePickerHeadCell>
</DatePickerGridRow>
</DatePickerGridHead>
<DatePickerGridBody>
<DatePickerGridRow
v-for="(weekDates, index) in month.rows"
:key="`weekDate-${index}`"
class="flex w-full"
>
<DatePickerCell
v-for="weekDate in weekDates"
:key="weekDate.toString()"
:date="weekDate"
>
<DatePickerCellTrigger
:day="weekDate"
:month="month.value"
class="relative flex items-center justify-center whitespace-nowrap rounded-[9px] border border-transparent bg-transparent text-sm font-normal text-black w-8 h-8 outline-none focus:shadow-[0_0_0_2px] focus:shadow-black hover:border-black data-[selected]:bg-black data-[selected]:font-medium data-[disabled]:text-black/30 data-[selected]:text-white data-[unavailable]:pointer-events-none data-[unavailable]:text-black/30 data-[unavailable]:line-through before:absolute before:top-[5px] before:hidden before:rounded-full before:w-1 before:h-1 before:bg-white data-[today]:before:block data-[today]:before:bg-green9 data-[selected]:before:bg-white"
/>
</DatePickerCell>
</DatePickerGridRow>
</DatePickerGridBody>
</DatePickerGrid>
</div>
</DatePickerCalendar>
</DatePickerContent>
</DatePickerRoot>
</div>
</template>
クレジット
このコンポーネントは、melt-uiの実装からインスピレーションを得て構築されました。
機能
- フルキーボードナビゲーション
- 制御可能または非制御可能
- フォーカスは完全に管理されています
- ローカライズサポート
- デフォルトでアクセシブル
- 日付と日時両方のフォーマットをサポート
まえがき
このコンポーネントは、@internationalized/dateパッケージに依存しており、JavaScriptで日付と時刻を扱う際に発生する多くの問題を解決します。
このパッケージのドキュメントをよく読んで動作を理解することを強くお勧めします。日付関連のコンポーネントを使用するには、プロジェクトにインストールする必要があります。
インストール
日付パッケージをインストールします。
$ npm add @internationalized/date
コマンドラインからコンポーネントをインストールします。
$ npm add radix-vue
構成
すべての部品をインポートして組み合わせてください。
<script setup>
import {
DatePickerAnchor,
DatePickerArrow,
DatePickerCalendar,
DatePickerCell,
DatePickerCellTrigger,
DatePickerClose,
DatePickerContent,
DatePickerField,
DatePickerGrid,
DatePickerGridBody,
DatePickerGridHead,
DatePickerGridRow,
DatePickerHeadCell,
DatePickerHeader,
DatePickerHeading,
DatePickerInput,
DatePickerNext,
DatePickerPrev,
DatePickerRoot,
DatePickerTrigger,
} from 'radix-vue'
</script>
<template>
<DatePickerRoot>
<DatePickerField>
<DatePickerInput />
<DatePickerTrigger />
</DatePickerField>
<DatePickerAnchor />
<DatePickerContent>
<DatePickerClose />
<DatePickerArrow />
<DatePickerCalendar>
<DatePickerHeader>
<DatePickerPrev />
<DatePickerHeading />
<DatePickerNext />
</DatePickerHeader>
<DatePickerGrid>
<DatePickerGridHead>
<DatePickerGridRow>
<DatePickerHeadCell />
</DatePickerGridRow>
</DatePickerGridHead>
<DatePickerGridBody>
<DatePickerGridRow>
<DatePickerCell>
<DatePickerCellTrigger />
</DatePickerCell>
</DatePickerGridRow>
</DatePickerGridBody>
</DatePickerGrid>
</DatePickerCalendar>
</DatePickerContent>
</DatePickerRoot>
</template>
APIリファレンス
ルート
日付ピッカーのすべての部品を含みます
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
defaultOpen | false | boolean 最初にレンダリングされたときのポップオーバーの開閉状態。開閉状態を制御する必要がない場合に使用します。 |
defaultPlaceholder | DateValue デフォルトのプレースホルダー日付 | |
defaultValue | DateValue カレンダーのデフォルト値 | |
dir | ‘ltr’ | ‘rtl’ 該当する日付フィールドの読み取り方向。 | |
disabled | false | boolean 日付フィールドが無効かどうか |
fixedWeeks | false | boolean カレンダーに常に6週間表示するかどうか |
granularity | ‘day’ | ‘hour’ | ‘minute’ | ‘second’ 時刻のフォーマットに使用する粒度。CalendarDateが指定されている場合はdayを、そうでない場合はminuteをデフォルトとします。フィールドは、指定された粒度まで、日付の各部分をセグメントとしてレンダリングします。 | |
hideTimeZone | boolean フィールドのタイムゾーンセグメントを非表示にするかどうか | |
hourCycle | 12 | 24 時刻のフォーマットに使用される時間サイクル。ローカル設定をデフォルトとします。 | |
id | string 要素のID | |
isDateDisabled | Matcher 日付が無効かどうかを返す関数 | |
isDateUnavailable | Matcher 日付が使用できないかどうかを返す関数 | |
locale | ‘en’ | string 日付のフォーマットに使用するロケール |
maxValue | DateValue 選択できる最大日付 | |
minValue | DateValue 選択できる最小日付 | |
modal | false | boolean ポップオーバーのモダリティ。trueに設定すると、外部要素とのインタラクションが無効になり、スクリーンリーダーにはポップオーバーコンテンツのみが表示されます。 |
modelValue | DateValue カレンダーの制御されたチェック状態。`v-model`としてバインドできます。 | |
name | string 日付フィールドの名前。名前/値ペアの一部として、所有するフォームと共に送信されます。 | |
numberOfMonths | 1 | number 一度に表示する月の数 |
open | boolean ポップオーバーの制御された開閉状態。 | |
pagedNavigation | false | boolean このプロパティにより、前後のボタンは1か月ではなく、一度に表示される月の数だけ移動します。 |
placeholder | DateValue プレースホルダーの日付。日付が選択されていない場合に表示する月を決定するために使用されます。ユーザーがカレンダーを移動すると更新され、カレンダーのビューをプログラムで制御するために使用できます。 | |
preventDeselect | false | boolean 別の日に選択せずに日付の選択を解除することを防ぐかどうか |
readonly | false | boolean 日付フィールドが読み取り専用かどうか |
required | boolean `true`の場合、所有するフォームを送信する前にユーザーが日付フィールドをチェックする必要があることを示します。 | |
weekdayFormat | ‘narrow’ | ‘narrow’ | ‘short’ | ‘long’ weekdaysスロットプロップを介して提供される曜日文字列に使用する形式 |
weekStartsOn | 0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 カレンダーを開始する曜日 |
Emit | ペイロード |
---|---|
update:modelValue | [date: DateValue] モデル値が変更されるたびに呼び出されるイベントハンドラー |
update:open | [value: boolean] サブメニューの開閉状態が変更されたときに呼び出されるイベントハンドラー。 |
update:placeholder | [date: DateValue] プレースホルダーの値が変更されるたびに呼び出されるイベントハンドラー |
フィールド
日付ピッカーの日付フィールドセグメントとトリガーを含みます
スロット(デフォルト) | ペイロード |
---|---|
segments | { part: SegmentPart; value: string; }[] |
modelValue | DateValue | undefined |
データ属性 | 値 |
---|---|
[data-readonly] | 読み取り専用の場合に表示されます |
[data-disabled] | 無効の場合に表示されます |
[data-invalid] | 無効の場合に表示されます |
入力
日付ピッカーの日付フィールドセグメントを含みます
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
part* | ‘day’ | ‘month’ | ‘year’ | ‘hour’ | ‘minute’ | ‘second’ | ‘dayPeriod’ | ‘literal’ | ‘timeZoneName’ レンダリングする日付の部分 |
データ属性 | 値 |
---|---|
[data-disabled] | 無効の場合に表示されます |
[data-invalid] | 無効の場合に表示されます |
[data-placeholder] | 値が設定されていない場合に表示されます |
トリガー
ポップオーバーを切り替えるボタン。デフォルトでは、`DatePickerContent`はトリガーに対して配置されます。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
コンテンツ
ポップオーバーが開いているときに表示されるコンポーネント。
プロパティ | デフォルト値 | 型 |
---|---|---|
align | ‘start’ | ‘center’ | ‘end’ トリガーに対する優先される配置。衝突が発生した場合は変更される可能性があります。 | |
alignOffset | number `start`または`end`の配置オプションからのピクセル単位のオフセット。 | |
arrowPadding | number 矢印とコンテンツの端の間のパディング。コンテンツにborder-radiusがある場合、これにより角がオーバーフローするのを防ぎます。 | |
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
avoidCollisions | boolean `true`の場合、境界線との衝突を防ぐために、sideおよびalignの設定を上書きします。 | |
collisionBoundary | Element | (Element | null)[] | null 衝突境界として使用される要素。デフォルトではビューポートですが、このチェックに含める追加の要素を提供できます。 | |
collisionPadding | number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>> 境界線の端から衝突検出が発生する距離(ピクセル単位)。数値(すべての辺で同じ)、または部分的なパディングオブジェクト(例:{ top: 20, left: 20 })を受け入れます。 | |
disableOutsidePointerEvents | boolean `true`の場合、`DismissableLayer`の外側の要素では、ホバー/フォーカス/クリックのインタラクションが無効になります。ユーザーは、外側の要素とやり取りするために2回クリックする必要があります。1回目は`DismissableLayer`を閉じ、2回目は要素をトリガーします。 | |
forceMount | boolean より多くの制御が必要な場合にマウントを強制するために使用されます。Vueアニメーションライブラリでアニメーションを制御する場合に役立ちます。 | |
hideWhenDetached | boolean トリガーが完全に隠されたときにコンテンツを非表示にするかどうか。 | |
prioritizePosition | boolean コンテンツをビューポート内に強制的に配置します。 参照要素と重なる可能性があり、望ましくない場合があります。 | |
side | ‘top’ | ‘right’ | ‘bottom’ | ‘left’ 開いているときにトリガーに対してレンダリングする優先される辺。衝突が発生し、avoidCollisionsが有効になっている場合は反転されます。 | |
sideOffset | number トリガーからの距離(ピクセル単位)。 | |
sticky | ‘partial’ | ‘always’ 位置合わせ軸のスティッキー動作。 | |
trapFocus | boolean フォーカスを | |
updatePositionStrategy | 'always' | 'optimized' アニメーションフレームごとにフローティング要素の位置を更新する戦略。 |
Emit | ペイロード |
---|---|
closeAutoFocus | [イベント: Event] 閉じるときに自動フォーカス時に呼び出されるイベントハンドラ。キャンセル可能です。 |
escapeKeyDown | [イベント: KeyboardEvent] Escapeキーが押されたときに呼び出されるイベントハンドラ。キャンセル可能です。 |
focusOutside | [イベント: FocusOutsideEvent] フォーカスが |
interactOutside | [イベント: PointerDownOutsideEvent | FocusOutsideEvent]
|
openAutoFocus | [イベント: Event] 開いたときに自動フォーカス時に呼び出されるイベントハンドラ。キャンセル可能です。 |
pointerDownOutside | [イベント: PointerDownOutsideEvent]
|
矢印
ポポバーとともにレンダリングするためのオプションの矢印要素。これを使用して、アンカーとDatePickerContent
の視覚的なリンクを支援できます。DatePickerContent
内でレンダリングする必要があります。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
height | number 矢印の高さをピクセル単位で指定します。 | |
width | number 矢印の幅をピクセル単位で指定します。 |
閉じる
開いている日付ピッカーを閉じるボタン。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
アンカー
DatePickerContent
を基準に配置するためのオプションの要素。この部分が使用されない場合、コンテンツはDatePickerTrigger
と共に配置されます。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
element | Measurable |
カレンダー
カレンダーのすべての部分を含みます。
スロット(デフォルト) | ペイロード |
---|---|
date | DateValue |
grid | Grid<DateValue>[] |
weekDays | string[] |
weekStartsOn | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
locale | string |
fixedWeeks | boolean |
データ属性 | 値 |
---|---|
[data-disabled] | 無効の場合に表示されます |
[data-invalid] | 無効の場合に表示されます |
[data-readonly] | 読み取り専用の場合に表示されます |
ヘッダー
ナビゲーションボタンと見出しセグメントを含みます。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
前へボタン
カレンダーのナビゲーションボタン。現在のカレンダービューに基づいて、カレンダーを過去に1ヶ月/1年/10年移動します。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
prevPage | ((placeholder: DateValue) => DateValue) 前のページに使用される関数。 | |
step | 'month' | 'year' 戻るカレンダー単位 |
データ属性 | 値 |
---|---|
[data-disabled] | 無効の場合に表示されます |
次へボタン
カレンダーのナビゲーションボタン。現在のカレンダービューに基づいて、カレンダーを将来に1ヶ月/1年/10年移動します。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
nextPage | ((placeholder: DateValue) => DateValue) 次のページに使用される関数。 | |
step | 'month' | 'year' 進むカレンダー単位 |
データ属性 | 値 |
---|---|
[data-disabled] | 無効の場合に表示されます |
見出し
現在の月と年を表示するための見出し。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
スロット(デフォルト) | ペイロード |
---|---|
headingValue | string 現在の月と年 |
グリッド
カレンダーグリッドをラップするコンテナ。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
データ属性 | 値 |
---|---|
[data-disabled] | 無効の場合に表示されます |
[data-readonly] | 読み取り専用の場合に表示されます |
グリッドヘッダー
グリッドヘッダーをラップするコンテナ。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
グリッドボディ
グリッドボディをラップするコンテナ。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
グリッド行
グリッド行をラップするコンテナ。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
ヘッダーセル
ヘッダーセルをラップするコンテナ。曜日の表示に使用されます。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 |
セル
カレンダーセルをラップするコンテナ。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
date* | DateValue セルの日付値。 |
データ属性 | 値 |
---|---|
[data-disabled] | 無効の場合に表示されます |
セル トリガー
セルの日付を表示するためのインタラクティブなコンテナ。クリックすると日付が選択されます。
プロパティ | デフォルト値 | 型 |
---|---|---|
as | ‘div’ | AsTag | コンポーネント このコンポーネントがレンダリングされる要素またはコンポーネント。`asChild`で上書きできます。 |
asChild | boolean 子として渡された要素のプロパティと動作をマージして、デフォルトでレンダリングされる要素を変更します。 詳細はコンポジションガイドをご覧ください。 | |
day* | DateValue セル トリガーに提供される日付値。 | |
month* | DateValue セルがレンダリングされる月。 |
データ属性 | 値 |
---|---|
[data-selected] | 選択されている場合に表示されます。 |
[data-value] | 日付のISO文字列値。 |
[data-disabled] | 無効の場合に表示されます |
[data-unavailable] | 使用できない場合に表示されます。 |
[data-today] | 今日である場合に表示されます。 |
[data-outside-view] | 表示されている現在の月以外の日付の場合に表示されます。 |
[data-outside-visible-view] | カレンダーに表示されている月以外の日付の場合に表示されます。 |
[data-focused] | フォーカスされている場合に表示されます。 |
アクセシビリティ
キーボード操作
キー | 説明 |
---|---|
Tab | 日付フィールドにフォーカスが移動すると、最初のセグメントにフォーカスが設定されます。 |
Space | DatePickerNext またはDatePickerPrev のいずれかにフォーカスがある場合、カレンダーを移動します。それ以外の場合は、日付を選択します。フォーカスがDatePickerTrigger にある場合、ポポバーを開閉します。
|
Enter | DatePickerNext またはDatePickerPrev のいずれかにフォーカスがある場合、カレンダーを移動します。それ以外の場合は、日付を選択します。フォーカスがDatePickerTrigger にある場合、ポポバーを開閉します。
|
ArrowLeftArrowRight | 日付フィールドセグメント間を移動します。フォーカスが DatePickerCalendar にある場合、日付間を移動します。 |
ArrowUpArrowDown | セグメントの値を増減します。フォーカスが DatePickerCalendar にある場合、日付間を移動します。 |
0-9 | 数値の DatePickerInput にフォーカスがある場合、数字を入力し、次の入力が無効な値になる場合は次のセグメントにフォーカスを移動します。 |
Backspace | フォーカスされている数値セグメントから数字を削除します。 |
AP | 日付の午前午後部分にフォーカスがある場合、AMまたはPMに設定します。 |