import type { RootProps } from '@vuepic/vue-datepicker'; import type { AvDatePickerModel } from './AvDatePicker.types.js'; import type { AvInteractiveProps } from '../../../../types/interfaces.types.js'; import type { AvDatePickerType } from '../../../../utils/dates/date-picker.js'; /** * AvDatePicker component. * * This component renders a single date input with an associated label, * built on top of VueDatePicker. */ export interface AvDatePickerProps extends AvInteractiveProps { /** * Whether a selection is applied immediately without a confirm action, forwarded to VueDatePicker * @default true */ autoApply?: RootProps['autoApply']; /** * Label of the clear button. * @default 'clear' */ clearLabel?: string; /** * Error message(s) displayed below the date input */ errorMessage?: string | string[]; /** * Display/parsing formats used by the date picker, forwarded to VueDatePicker */ formats?: RootProps['formats']; /** * Unique id for the date input * @default `date-picker-${crypto.randomUUID()}` */ id?: string; /** * Attributes forwarded to the underlying date input element, forwarded to VueDatePicker */ inputAttrs?: RootProps['inputAttrs']; /** * Label displayed above the date input * @default '' */ label?: string; /** * CSS class for the label * @default 'b2-light' */ labelClass?: string; /** * Whether the label is visible * @default true */ labelVisible?: boolean; /** * Locale used to render the date picker, forwarded to VueDatePicker */ locale?: string; /** * Maximum selectable date, forwarded to VueDatePicker */ maxDate?: RootProps['maxDate']; /** * Minimum selectable date, forwarded to VueDatePicker */ minDate?: RootProps['minDate']; /** * Current value of the date input */ modelValue: AvDatePickerModel; /** * Placeholder text for the date input, forwarded to VueDatePicker */ placeholder?: string; /** * Whether the date input allows selecting a range, forwarded to VueDatePicker. * Can be combined with any `type` (e.g. a month range or a week range). * @default false */ range?: RootProps['range']; /** * Time picker configuration, forwarded to VueDatePicker */ timeConfig?: RootProps['timeConfig']; /** * Type of date picker to render * @default 'date' */ type?: AvDatePickerType; /** * Width of the date input (CSS value) */ width?: string; } declare var __VLS_1: {}; type __VLS_Slots = {} & { labelSuffix?: (props: typeof __VLS_1) => any; }; declare const __VLS_component: import("vue").DefineComponent any; "update:modelValue": (value: AvDatePickerModel) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onChange?: ((value: AvDatePickerModel) => any) | undefined; "onUpdate:modelValue"?: ((value: AvDatePickerModel) => any) | undefined; }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; declare const _default: __VLS_WithSlots; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };