Skip to content

nylas-specific-date-availability-picker

The nylas-specific-date-availability-picker element manages specific date availability overrides. This element allows users to set custom availability for specific dates that override the regular open hours.

  • Dynamic Date Management: Add and remove specific date entries.
  • Availability Toggle: Toggle between available hours and “entire day unavailable”.
  • Auto-incrementing Dates: New entries automatically initialize with incremental dates.
  • Empty State: User-friendly empty state when no dates are configured.
  • Form Validation: Comprehensive validation for dates and time ranges.
  • Internationalization: Full i18n support with localized error messages.

The element includes comprehensive validation:

  • Date validation: Ensures dates are provided and in valid format.
  • Time range validation: Validates that start time is before end time (for available slots).
  • Real-time validation: Errors are displayed immediately and cleared when corrected.
  • Form integration: Uses browser form validation APIs for integration with forms.

Error messages are localized and include:

  • Date is required
  • Invalid date format
  • Start and end times are required
  • Start time must be before end time

The following props are automatically configured when used within NylasSchedulerEditor. Set these props manually only if you’re using the component independently.

Namename
DescriptionThe name of the specific date availability picker.
Typestring
Default'specific-date-availability'
NameselectedConfiguration
DescriptionThe selected Configuration.
TypeConfiguration | undefined
NameselectedLanguage
DescriptionThe selected language.
TypeLANGUAGE_CODE.de | LANGUAGE_CODE.en | LANGUAGE_CODE.es | LANGUAGE_CODE.fr | LANGUAGE_CODE.ja |
LANGUAGE_CODE.ko | LANGUAGE_CODE.nl | LANGUAGE_CODE.sv | LANGUAGE_CODE.zh | undefined
NamespecificDateOpenHours
DescriptionThe specific date open hours.
TypeSpecificDateOpenHours[] | undefined
NamethemeConfig
DescriptionThe theme configuration.
Typeundefined | { '--nylas-primary'?: string | undefined; '--nylas-info'?: string | undefined;
'--nylas-success'?: string | undefined; '--nylas-warning'?: string | undefined;
'--nylas-error'?: string | undefined; '--nylas-error-pressed'?: string | undefined;
'--nylas-base-0'?: string | undefined; '--nylas-base-25'?: string | undefined;
'--nylas-base-50'?: string | undefined; '--nylas-base-100'?: string | undefined;
'--nylas-base-200'?: string | undefined; '--nylas-base-300'?: string | undefined;
'--nylas-base-400'?: string | undefined; '--nylas-base-500'?: string | undefined;
'--nylas-base-600'?: string | undefined; '--nylas-base-700'?: string | undefined;
'--nylas-base-800'?: string | undefined; '--nylas-base-900'?: string | undefined;
'--nylas-base-950'?: string | undefined; '--nylas-color-blue-50'?: string | undefined;
'--nylas-color-blue-100'?: string | undefined; '--nylas-color-blue-300'?: string | undefined;
'--nylas-color-blue-500'?: string | undefined; '--nylas-color-blue-700'?: string | undefined;
'--nylas-color-blue-900'?: string | undefined; '--nylas-color-red-50'?: string | undefined;
'--nylas-color-red-100'?: string | undefined; '--nylas-color-red-300'?: string | undefined;
'--nylas-color-red-500'?: string | undefined; '--nylas-color-red-700'?: string | undefined;
'--nylas-color-red-900'?: string | undefined; '--nylas-color-green-50'?: string | undefined;
'--nylas-color-green-100'?: string | undefined; '--nylas-color-green-300'?: string |
undefined;'--nylas-color-green-500'?: string | undefined; '--nylas-color-green-700'?: string |
undefined; '--nylas-color-green-900'?: string | undefined; '--nylas-color-yellow-50'?: string
| undefined; '--nylas-color-yellow-100'?: string | undefined; '--nylas-color-yellow-300'?:
string | undefined; '--nylas-color-yellow-500'?: string | undefined;
'--nylas-color-yellow-700'?: string | undefined; '--nylas-color-yellow-900'?: string
| undefined; '--nylas-color-purple-50'?: string | undefined; '--nylas-color-purple-100'?:
string | undefined; '--nylas-color-purple-300'?: string | undefined;
'--nylas-color-purple-500'?: string | undefined; '--nylas-color-purple-700'?: string |
undefined; '--nylas-color-purple-900'?: string | undefined; '--nylas-color-sky-50'?: string |
undefined; '--nylas-color-sky-100'?: string | undefined; '--nylas-color-sky-300'?: string |
undefined; '--nylas-color-sky-500'?: string | undefined; '--nylas-color-sky-700'?: string |
undefined; '--nylas-color-sky-900'?: string | undefined; '--nylas-color-black'?: string |
undefined; '--nylas-color-grey-900'?: string | undefined; '--nylas-color-grey-800'?: string |
undefined; '--nylas-color-grey-700'?: string | undefined; '--nylas-color-grey-600'?: string |
undefined; '--nylas-color-grey-500'?: string | undefined; '--nylas-color-grey-400'?: string |
undefined; '--nylas-color-grey-300'?: string | undefined; '--nylas-color-grey-200'?: string |
undefined; '--nylas-color-grey-100'?: string | undefined; '--nylas-color-grey-50'?: string |
undefined; '--nylas-color-white'?: string | undefined; '--nylas-font-family'?: string |
undefined; '--nylas-font-size'?: string | undefined; '--nylas-border-radius'?: string |
undefined; '--nylas-border-radius-2x'?: string | undefined; '--nylas-border-radius-3x'?:
string | undefined; }
EventDescription
valueChangedFired when the specific date open hours change.
PartDescription
nsdapThe specific date availability picker container.
nsdap__add-buttonThe add button.
nsdap__add-button-containerThe add button container.
nsdap__contentThe main content area.
nsdap__date-inputThe date input field.
nsdap__date-input-containerThe date input container.
nsdap__empty-iconThe empty state icon.
nsdap__empty-stateThe empty state container.
nsdap__empty-subtitleThe empty state subtitle.
nsdap__empty-titleThe empty state title.
nsdap__entry-contentThe entry content area.
nsdap__error-messageThe error message display.
nsdap__headerThe header section.
nsdap__header-descriptionThe header description.
nsdap__remove-buttonThe remove button.
nsdap__specific-date-entryThe specific date entry.
nsdap__specific-datesThe specific dates container.
nsdap__time-pickersThe time pickers section.
nsdap__toggle-buttonThe toggle button.
nsdap__unavailable-textThe unavailable text.

The nylas-specific-date-availability-picker element is automatically included in the main NylasSchedulerEditor component. The following code samples show how to use the element on its own.