import { PropertyValues } from 'lit'; import { DDSFormElement } from "../../base/index.js"; import { DaikinInputGroup } from "../input-group/daikin-input-group.js"; /** * The date picker component provides a date selection function that can be combined with forms. This component uses `daikin-calendar` internally (users do not need to nest this). * * @attr form - The form the component belongs to. * @attr name - The form name, submitted as a name/value pair when submitting the form. * @attr value - The initial form value, submitted as a name/value pair when submitting the form. * @prop {String} formAttr - The form the component belongs to. * @prop {String} name - The form name, submitted as a name/value pair when submitting the form. * @prop {String} value - The form value, submitted as a name/value pair when submitting the form. * * @fires select - Fires when the date is selected. * * @example * * ```js * import "@daikin-oss/design-system-web-components/components/date-picker/index.js"; * ``` * * ```html * * ``` */ export declare class DaikinDatePicker extends DDSFormElement { static readonly styles: import('lit').CSSResult; /** * The placeholder text. */ placeholder: string; /** * The minimum date. * * @default "1900-01-01" */ min: string; /** * The maximum date. * * @default "2099-12-31" */ max: string; /** * Whether the text field is readonly. */ readonly: boolean; /** * Whether the text field is disabled. * Controlled by `daikin-input-group` when used within `daikin-input-group`. */ disabled: boolean; /** * Whether the text field is required. * Controlled by `daikin-input-group` when used within `daikin-input-group`. */ required: boolean; /** * Whether or not to display error states. * Ignored if the `disabled` is `true`. * Controlled by `daikin-input-group` when used within `daikin-input-group`. */ error: boolean; /** * Whether the date picker is open. */ open: boolean; /** * The month that is initially displayed when the date picker is opened. * If there is a `value` attribute, this is ignored. */ defaultValue: string | null; /** * The label text used as the value of aria-label. * Set automatically by `reflectInputGroup` method. */ private _label; private _currentSelection; private _autoUpdateController; private _dateInputElement; private _calendarElement; private _calendarButtonElement; private get _value(); private get _min(); private get _max(); private get _viewDate(); private get _open(); private _ignoreCloseByFocusTrap; private _handleCloseCalendar; private readonly _focusTrapController; private _emitSelect; private _handleFocusIn; private _handleFocusOut; private _handleChange; private _handleMouseUp; private _handleKeyDown; private _handleBeforeInput; private _handleSelect; private _handlePointerDown; private _handlePointerUp; private _handleCalendarKeyDown; private _handleToggle; private _updateValue; private _updateInputSelection; private _updateSelection; label: string | null; /** * Focuses on the inner date input. * @param options focus options */ focus(options?: FocusOptions): void; render(): import('lit-html').TemplateResult<1>; protected willUpdate(changedProperties: PropertyValues): void; protected updated(changedProperties: PropertyValues): void; /** * This method is used by `daikin-input-group` to reflect it's attributes to this component. * @private */ reflectInputGroup(inputGroup: DaikinInputGroup): void; } declare global { interface HTMLElementTagNameMap { "daikin-date-picker": DaikinDatePicker; } }