import { DatePickerComponentConfig, HawkSearchComponents } from '../../../configuration'; import { DatePickerComponentModel } from '../../../models'; import { BaseComponent } from '../../base.component'; /** * The Date Picker component provides an intuitive interface that allows the user to select a range in ISO format. This component is currently only used within the {@link Components.DateRangeFacetComponent | Date Range Facet Component}. * * ## Tag * The tag for this component is ``. * * ## Attributes * | Name | Value | * | :- | :- | * | label | `string` | * | min | `Date` | * | max | `Date` | * | value | `Date` | * * ## Event-Binding Attributes * | Name | Value | * | :- | :- | * | hawksearch-input | | * * The input element must have this attribute. When this element is clicked, the date picker modal will be displayed. * * | Name | Value | * | :- | :- | * | hawksearch-modal | | * * This root element of the date picker modal must have this attribute to calculate modal positioning. * * | Name | Value | * | :- | :- | * | hawksearch-month | | * * This attribute is used to identify the form element used to select a specific month. * * | Name | Value | * | :- | :- | * | hawksearch-year | | * * This attribute is used to identify the form element used to select a specific year. * * | Name | Value | * | :- | :- | * | hawksearch-select-month | | * * When an element with this attribute is clicked, the month specified by `hawksearch-month` and `hawksearch-year` to be displayed in the date picker modal. * * | Name | Value | * | :- | :- | * | hawksearch-previous | | * * When an element with this attribute is clicked, the previous month will be displayed in the date picker modal. * * | Name | Value | * | :- | :- | * | hawksearch-next | | * * When an element with this attribute is clicked, the next month will be displayed in the date picker modal. * * | Name | Value | * | :- | :- | * | hawksearch-month-selector | | * * When an element with this attribute is clicked, the month selector will be displayed in the date picker modal to quickly jump to a particular month rather than using pagination. * * | Name | Value | * | :- | :- | * | hawksearch-date | `string` (ISO date format) | * * When an element with this attribute is clicked, the specified date will be selected and displayed in the input element. * * ## Events * | Name | Data Type | * | :- | :- | * | hawksearch:date-picker-changed | `Date` | * * This event fires whenever the user selects a date. * * ## Handlebars Helpers * | Name | Parameter | * | :- | :- | * | dayOfMonth | `Date` | * * This helper function returns the zero-padded day of the month from a provided date object. * * ## Default Template * The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point. * {@embed ./date-picker.component.hbs} * * @category General */ export declare class DatePickerComponent extends BaseComponent { static get observedAttributes(): Array; protected componentName: keyof HawkSearchComponents; protected defaultHtml: string; protected bindFromEvent: boolean; private label?; private minDate?; private maxDate?; private selectedDate?; private modalVisible; private modalDate; private monthSelectorVisible; private documentClickEventHandler; private windowResizeEventHandler; connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void; protected registerHelpers(): void; protected getContentModel(): DatePickerComponentModel; protected onRender(): void; private positionModal; private getYears; private getWeeks; private getWeek; }