Input Datepicker: Use Cases
Minimum and maximum date
Below are examples of different validators for dates.
export const minimumAndMaximumDate = () => html`
<lion-input-datepicker
label="MinMaxDate"
.modelValue="${new Date('2018/05/30')}"
.validators="${[new MinMaxDate({ min: new Date('2018/05/24'), max: new Date('2018/06/24') })]}"
>
<div slot="help-text">
Enter a date between ${formatDate(new Date('2018/05/24'))} and
${formatDate(new Date('2018/06/24'))}.
</div>
</lion-input-datepicker>
`;
Disable specific dates
export const disableSpecificDates = () => html`
<lion-input-datepicker
label="IsDateDisabled"
help-text="You're not allowed to choose any 15th."
.modelValue="${new Date('2023/06/15')}"
.validators="${[new IsDateDisabled(d => d.getDate() === 15)]}"
></lion-input-datepicker>
`;
Calendar heading
You can modify the heading of the calendar with the .calendarHeading
property or calendar-heading
attribute for simple values.
By default, it will take the label value.
export const calendarHeading = () => html`
<lion-input-datepicker
label="Date"
.calendarHeading="${'Custom heading'}"
.modelValue="${new Date()}"
></lion-input-datepicker>
`;
Disabled
You can disable datepicker inputs.
export const disabled = () => html`
<lion-input-datepicker label="Disabled" disabled></lion-input-datepicker>
`;
Read only
You can set datepicker inputs to readonly
, which will prevent the user from opening the calendar popup.
export const readOnly = () => html`
<lion-input-datepicker label="Readonly" readonly .modelValue="${new Date()}">
</lion-input-datepicker>
`;
Faulty prefilled
Faulty prefilled input will be cleared
export const faultyPrefilled = () => html`
<lion-input-datepicker label="Faulty prefiiled" .modelValue="${new Date('30/01/2022')}">
</lion-input-datepicker>
`;