import React from "react"; import type { CalendarWeekConfig } from "../Calendar/types"; import { PresetButton } from "../Calendar/internal/Actions"; import { Dayjs } from "dayjs"; import type { TimeField2Props } from "../TimeField/TimeField2"; import { InputSize, InputVariant } from "../Input/types"; export type DatePickerProps = { /** * 日付 * @default dayjs() */ date: Dayjs; /** * デフォルトで選択されているプリセットボタン */ defaultPresetButton?: string; /** * カレンダーの左に表示するプリセットボタン */ presetButtons?: PresetButton[]; /** * プリセットボタンをクリックしたときの挙動 */ onPresetButtonClick?: (action: PresetButton) => void; /** * 指定したい format * @default YYYY-MM-DD */ format?: string; /** * エラー状態 * Inputを警告色にするのみでエラーテキストは付随しない。 * errorTextを別途実装する場合などに利用する。 * @default false */ error?: boolean; /** * エラーメッセージのテキスト * Inputを警告色にし、エラーテキストも表示する。 * 簡単にエラー状態を表現したい場合はこちらがおすすめ。 */ errorText?: string; /** * 入力を無効にする * @default false */ disabled?: boolean; /** * コンポーネントのサイズ * @default "medium" */ size?: InputSize; /** * コンポーネントのバリアント * @default "light" */ variant?: InputVariant; /** * 入力フィールドの幅 */ width?: string | number; /** * カレンダーに表示する年月のフォーマット */ monthFormat?: string; /** * 週の開始曜日と曜日見出し。未指定時は `LocaleProvider` の defaultProps、なければ Calendar と同様のフォールバック。 */ weekConfig?: CalendarWeekConfig; /** * カレンダーのActionsエリアにDateFieldを表示する * @default false */ showDateFields?: boolean; /** * 選択可能なカレンダーの領域を制限する * true が返る場合は、選択不可となる * @default () => false */ isOutsideRange?: (date: Dayjs) => boolean; /** * 日付が変更されたときに呼ばれる関数 */ onDateChange: (date: Dayjs) => void; /** * 日付範囲が変更されたときに呼ばれる関数(useCalendarRange=trueの時) */ onDatesChange?: (dates: { startDate: Dayjs; endDate: Dayjs; }) => void; /** * 終了日付(useCalendarRange=trueの時) */ endDate?: Dayjs; /** * カレンダー内にTimeFieldを表示する * @default false */ showTimeFields?: boolean; /** * TimeField2のprops */ timeFieldProps?: Partial; /** * CalendarRangeを使用するかどうか * @default false */ useCalendarRange?: boolean; }; export declare const DatePicker: React.ForwardRefExoticComponent>; declare const _default: React.NamedExoticComponent>; export default _default;