import { Dayjs } from "dayjs"; import { DateRange } from "../.."; import React, { ReactNode } from "react"; import { PresetButton } from "../internal/Actions"; import type { TimeField2Props } from "../../TimeField/TimeField2"; import type { CalendarWeekConfig } from "../types"; export type CalendarRangeProps = React.HTMLAttributes & { /** * 開始日 * @default dayjs() */ startDate: Dayjs; /** * 終了日 * @default dayjs() */ endDate: Dayjs; /** * カレンダーに表示する年月のフォーマット */ monthFormat?: string; /** * 週の開始曜日と曜日見出し。未指定時はコンポーネント既定(日曜始まり・日本語短縮曜日)。 * `LocaleProvider` の defaultProps で上書き可能。 */ weekConfig?: CalendarWeekConfig; /** * デフォルトで選択されているプリセットボタン */ defaultPresetButton?: string; /** * 明日などのショートカットボタン */ presetButtons?: PresetButton[]; /** * プリセットボタンをクリックしたときの挙動 */ onPresetButtonClick?: (action: PresetButton) => void; /** * カレンダー内にDateFieldを表示する * @default false */ showDateFields?: boolean; /** * DateFieldに表示する日付のフォーマット * @default "YYYY-MM-DD" */ dateFieldFormat?: string; /** * モバイル幅でのみ表示する「適用」押下時(DateRangePicker のポップオーバーを閉じる等) */ onApply?: () => void; /** * モバイル幅でのみ表示する「キャンセル」押下時(`onCancel` があるときだけボタンを表示) */ onCancel?: () => void; /** * 適用ボタンのラベル * @default 適用 */ applyButtonText?: string; /** * キャンセルボタンのラベル * @default キャンセル */ cancelButtonText?: string; /** * 選択可能なカレンダーの領域を制限する * true が返る場合は、選択不可となる * @default () => false */ isOutsideRange?: (date: Dayjs) => boolean; /** * 日付が変更されたときに呼ばれる関数 */ onDatesChange?: (dates: DateRange) => void; /** * カレンダー内にTimeFieldを表示する * @default false */ showTimeFields?: boolean; /** * TimeField2のprops */ timeFieldProps?: Partial; /** * 「開始日時」ラベルの右側に表示する任意ノード(チェックボックス等)。 * `showDateFields` が true のときのみ表示される。 */ startLabelSuffix?: ReactNode; /** * 「終了日時」ラベルの右側に表示する任意ノード(「無期限にする」チェックボックス等)。 * `showDateFields` が true のときのみ表示される。 */ endLabelSuffix?: ReactNode; }; /** * CalendarRange * Scrollable calendar UI. * Currently, one year from the currently selected date is displayed. */ export declare const CalendarRange: React.ForwardRefExoticComponent & { /** * 開始日 * @default dayjs() */ startDate: Dayjs; /** * 終了日 * @default dayjs() */ endDate: Dayjs; /** * カレンダーに表示する年月のフォーマット */ monthFormat?: string; /** * 週の開始曜日と曜日見出し。未指定時はコンポーネント既定(日曜始まり・日本語短縮曜日)。 * `LocaleProvider` の defaultProps で上書き可能。 */ weekConfig?: CalendarWeekConfig; /** * デフォルトで選択されているプリセットボタン */ defaultPresetButton?: string; /** * 明日などのショートカットボタン */ presetButtons?: PresetButton[]; /** * プリセットボタンをクリックしたときの挙動 */ onPresetButtonClick?: (action: PresetButton) => void; /** * カレンダー内にDateFieldを表示する * @default false */ showDateFields?: boolean; /** * DateFieldに表示する日付のフォーマット * @default "YYYY-MM-DD" */ dateFieldFormat?: string; /** * モバイル幅でのみ表示する「適用」押下時(DateRangePicker のポップオーバーを閉じる等) */ onApply?: () => void; /** * モバイル幅でのみ表示する「キャンセル」押下時(`onCancel` があるときだけボタンを表示) */ onCancel?: () => void; /** * 適用ボタンのラベル * @default 適用 */ applyButtonText?: string; /** * キャンセルボタンのラベル * @default キャンセル */ cancelButtonText?: string; /** * 選択可能なカレンダーの領域を制限する * true が返る場合は、選択不可となる * @default () => false */ isOutsideRange?: (date: Dayjs) => boolean; /** * 日付が変更されたときに呼ばれる関数 */ onDatesChange?: (dates: DateRange) => void; /** * カレンダー内にTimeFieldを表示する * @default false */ showTimeFields?: boolean; /** * TimeField2のprops */ timeFieldProps?: Partial; /** * 「開始日時」ラベルの右側に表示する任意ノード(チェックボックス等)。 * `showDateFields` が true のときのみ表示される。 */ startLabelSuffix?: ReactNode; /** * 「終了日時」ラベルの右側に表示する任意ノード(「無期限にする」チェックボックス等)。 * `showDateFields` が true のときのみ表示される。 */ endLabelSuffix?: ReactNode; } & React.RefAttributes>; export type { DateRange }; declare const _default: React.NamedExoticComponent & { /** * 開始日 * @default dayjs() */ startDate: Dayjs; /** * 終了日 * @default dayjs() */ endDate: Dayjs; /** * カレンダーに表示する年月のフォーマット */ monthFormat?: string; /** * 週の開始曜日と曜日見出し。未指定時はコンポーネント既定(日曜始まり・日本語短縮曜日)。 * `LocaleProvider` の defaultProps で上書き可能。 */ weekConfig?: CalendarWeekConfig; /** * デフォルトで選択されているプリセットボタン */ defaultPresetButton?: string; /** * 明日などのショートカットボタン */ presetButtons?: PresetButton[]; /** * プリセットボタンをクリックしたときの挙動 */ onPresetButtonClick?: (action: PresetButton) => void; /** * カレンダー内にDateFieldを表示する * @default false */ showDateFields?: boolean; /** * DateFieldに表示する日付のフォーマット * @default "YYYY-MM-DD" */ dateFieldFormat?: string; /** * モバイル幅でのみ表示する「適用」押下時(DateRangePicker のポップオーバーを閉じる等) */ onApply?: () => void; /** * モバイル幅でのみ表示する「キャンセル」押下時(`onCancel` があるときだけボタンを表示) */ onCancel?: () => void; /** * 適用ボタンのラベル * @default 適用 */ applyButtonText?: string; /** * キャンセルボタンのラベル * @default キャンセル */ cancelButtonText?: string; /** * 選択可能なカレンダーの領域を制限する * true が返る場合は、選択不可となる * @default () => false */ isOutsideRange?: (date: Dayjs) => boolean; /** * 日付が変更されたときに呼ばれる関数 */ onDatesChange?: (dates: DateRange) => void; /** * カレンダー内にTimeFieldを表示する * @default false */ showTimeFields?: boolean; /** * TimeField2のprops */ timeFieldProps?: Partial; /** * 「開始日時」ラベルの右側に表示する任意ノード(チェックボックス等)。 * `showDateFields` が true のときのみ表示される。 */ startLabelSuffix?: ReactNode; /** * 「終了日時」ラベルの右側に表示する任意ノード(「無期限にする」チェックボックス等)。 * `showDateFields` が true のときのみ表示される。 */ endLabelSuffix?: ReactNode; } & React.RefAttributes>; export default _default;