@nylas/web-elements 1.0.2-canary.2 → 1.1.0-canary.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/add-circle-icon.cjs.entry.js +2 -2
- package/dist/cjs/{add-circle-icon_18.cjs.entry.js → add-circle-icon_22.cjs.entry.js} +425 -97
- package/dist/cjs/add-circle-icon_22.cjs.entry.js.map +1 -0
- package/dist/cjs/archive-icon.cjs.entry.js +2 -2
- package/dist/cjs/archive-icon_7.cjs.entry.js +8 -8
- package/dist/cjs/arrow-icon.cjs.entry.js +2 -2
- package/dist/cjs/bold-icon.cjs.entry.js +2 -2
- package/dist/cjs/bold-icon_3.cjs.entry.js +4 -4
- package/dist/cjs/button-component.cjs.entry.js +30 -0
- package/dist/cjs/button-component.cjs.entry.js.map +1 -0
- package/dist/cjs/calendar-cancel-icon.cjs.entry.js +2 -2
- package/dist/cjs/calendar-check-icon.cjs.entry.js +2 -2
- package/dist/cjs/calendar-check-icon_2.cjs.entry.js +3 -3
- package/dist/cjs/calendar-icon.cjs.entry.js +2 -2
- package/dist/cjs/calendar-info-icon.cjs.entry.js +2 -2
- package/dist/cjs/calendar-patterns-icon.cjs.entry.js +2 -2
- package/dist/cjs/checkmark-circle-icon.cjs.entry.js +2 -2
- package/dist/cjs/chevron-icon.cjs.entry.js +2 -2
- package/dist/cjs/chevron-icon_3.cjs.entry.js +23 -6
- package/dist/cjs/chevron-icon_3.cjs.entry.js.map +1 -1
- package/dist/cjs/close-icon.cjs.entry.js +2 -2
- package/dist/cjs/{constants-9e39ba68.js → constants-0fba94a4.js} +2 -1
- package/dist/cjs/{constants-9e39ba68.js.map → constants-0fba94a4.js.map} +1 -1
- package/dist/cjs/{constants-c48567b9.js → constants-6baf1f1d.js} +2 -1
- package/dist/cjs/{constants-c48567b9.js.map → constants-6baf1f1d.js.map} +1 -1
- package/dist/cjs/document-refresh-icon.cjs.entry.js +2 -2
- package/dist/cjs/flow-icon.cjs.entry.js +2 -2
- package/dist/cjs/folder-icon.cjs.entry.js +2 -2
- package/dist/cjs/forward-icon.cjs.entry.js +2 -2
- package/dist/cjs/forward-icon_6.cjs.entry.js +9 -9
- package/dist/cjs/globe-icon.cjs.entry.js +2 -2
- package/dist/cjs/google-logo-icon.cjs.entry.js +23 -0
- package/dist/cjs/google-logo-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/google-logo-icon_3.cjs.entry.js +302 -0
- package/dist/cjs/google-logo-icon_3.cjs.entry.js.map +1 -0
- package/dist/cjs/inbox-icon.cjs.entry.js +2 -2
- package/dist/cjs/{index-ecd19640.js → index-5ba61c57.js} +2 -2
- package/dist/cjs/{index-ecd19640.js.map → index-5ba61c57.js.map} +1 -1
- package/dist/cjs/{index-37045c7b.js → index-7af03e3f.js} +482 -21
- package/dist/cjs/index-7af03e3f.js.map +1 -0
- package/dist/cjs/{index-ec8e2a4d.js → index-c14ea8f5.js} +34 -6
- package/dist/cjs/index-c14ea8f5.js.map +1 -0
- package/dist/cjs/{index-f969795f.js → index-e31dc92c.js} +2 -2
- package/dist/cjs/{index-f969795f.js.map → index-e31dc92c.js.map} +1 -1
- package/dist/cjs/index.cjs.js +4 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{index.es-9122f5a3.js → index.es-447c5aca.js} +7 -2
- package/dist/cjs/index.es-447c5aca.js.map +1 -0
- package/dist/cjs/{index.es-3c12ec8c.js → index.es-68425511.js} +7 -2
- package/dist/cjs/index.es-68425511.js.map +1 -0
- package/dist/cjs/info-icon.cjs.entry.js +2 -2
- package/dist/cjs/info-icon_2.cjs.entry.js +3 -3
- package/dist/cjs/italic-icon.cjs.entry.js +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/loading-icon.cjs.entry.js +2 -2
- package/dist/cjs/location-icon.cjs.entry.js +2 -2
- package/dist/cjs/location-off-icon.cjs.entry.js +2 -2
- package/dist/cjs/{mailbox-store-37622628.js → mailbox-store-556bc7b6.js} +81 -3
- package/dist/cjs/mailbox-store-556bc7b6.js.map +1 -0
- package/dist/cjs/{mailbox-store-5cd5e485.js → mailbox-store-aacd75ff.js} +81 -3
- package/dist/cjs/mailbox-store-aacd75ff.js.map +1 -0
- package/dist/cjs/microsoft-logo-icon.cjs.entry.js +23 -0
- package/dist/cjs/microsoft-logo-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/multi-select-dropdown.cjs.entry.js +3 -3
- package/dist/cjs/nylas-additional-participants.cjs.entry.js +6 -6
- package/dist/cjs/nylas-additional-participants.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-api-request-8ec3a89c.js +39 -0
- package/dist/cjs/nylas-api-request-8ec3a89c.js.map +1 -0
- package/dist/cjs/nylas-api-request-ab24150d.js +37 -0
- package/dist/cjs/nylas-api-request-ab24150d.js.map +1 -0
- package/dist/cjs/nylas-availability-picker.cjs.entry.js +9 -9
- package/dist/cjs/nylas-availability-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booked-event-card.cjs.entry.js +4 -4
- package/dist/cjs/nylas-booked-event-card.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +14 -14
- package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js +4 -4
- package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booking-form.cjs.entry.js +3 -3
- package/dist/cjs/nylas-booking-form.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-buffer-time.cjs.entry.js +5 -5
- package/dist/cjs/nylas-buffer-time.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-calendar-picker.cjs.entry.js +4 -4
- package/dist/cjs/nylas-calendar-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +4 -4
- package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +3 -3
- package/dist/cjs/nylas-composer.cjs.entry.js +2 -2
- package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +3 -3
- package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-date-picker.cjs.entry.js +3 -3
- package/dist/cjs/nylas-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-editor-tabs.cjs.entry.js +100 -48
- package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-event-description.cjs.entry.js +3 -3
- package/dist/cjs/nylas-event-description.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-event-duration.cjs.entry.js +4 -4
- package/dist/cjs/nylas-event-duration.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-event-info.cjs.entry.js +4 -4
- package/dist/cjs/nylas-event-info.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-event-limits.cjs.entry.js +68 -0
- package/dist/cjs/nylas-event-limits.cjs.entry.js.map +1 -0
- package/dist/cjs/nylas-event-title.cjs.entry.js +4 -4
- package/dist/cjs/nylas-event-title.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-form-card.cjs.entry.js +4 -4
- package/dist/cjs/nylas-form-card.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-if-state.cjs.entry.js +2 -2
- package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +122 -0
- package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js.map +1 -0
- package/dist/cjs/nylas-list-folders.cjs.entry.js +3 -3
- package/dist/cjs/nylas-list-threads.cjs.entry.js +3 -3
- package/dist/cjs/nylas-locale-switch.cjs.entry.js +4 -4
- package/dist/cjs/nylas-locale-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-location-component.cjs.entry.js +5 -5
- package/dist/cjs/nylas-location-component.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-login.cjs.entry.js +3 -3
- package/dist/cjs/nylas-logo.cjs.entry.js +2 -2
- package/dist/cjs/nylas-mailbox-pagination.cjs.entry.js +2 -2
- package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +3 -3
- package/dist/cjs/nylas-mailbox.cjs.entry.js +12 -13
- package/dist/cjs/nylas-mailbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +145 -0
- package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js.map +1 -0
- package/dist/cjs/nylas-notification.cjs.entry.js +2 -2
- package/dist/cjs/nylas-provider.cjs.entry.js +9 -21
- package/dist/cjs/nylas-provider.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +7257 -74
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js +17 -13
- package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-selected-event-card.cjs.entry.js +4 -4
- package/dist/cjs/nylas-selected-event-card.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +4 -4
- package/dist/cjs/nylas-threads-refresh.cjs.entry.js +4 -4
- package/dist/cjs/nylas-threads-search.cjs.entry.js +3 -3
- package/dist/cjs/nylas-time-window-picker.cjs.entry.js +4 -4
- package/dist/cjs/nylas-time-window-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-timeslot-picker.cjs.entry.js +3 -3
- package/dist/cjs/nylas-timeslot-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-view-email.cjs.entry.js +2 -2
- package/dist/cjs/nylas-view-thread.cjs.entry.js +3 -3
- package/dist/cjs/nylas-web-elements.cjs.js +2 -2
- package/dist/cjs/people-icon.cjs.entry.js +2 -2
- package/dist/cjs/play-icon.cjs.entry.js +2 -2
- package/dist/cjs/play-icon_2.cjs.entry.js +3 -3
- package/dist/cjs/refresh-icon.cjs.entry.js +2 -2
- package/dist/cjs/{register-component-cc1cf810.js → register-component-d729f3f7.js} +2 -2
- package/dist/cjs/{register-component-cc1cf810.js.map → register-component-d729f3f7.js.map} +1 -1
- package/dist/cjs/{register-component-dfbd5404.js → register-component-f1ebc65d.js} +2 -2
- package/dist/cjs/{register-component-dfbd5404.js.map → register-component-f1ebc65d.js.map} +1 -1
- package/dist/cjs/reply-all-icon.cjs.entry.js +2 -2
- package/dist/cjs/reply-icon.cjs.entry.js +2 -2
- package/dist/cjs/scheduler-config-store-31b83ad3.js +19 -0
- package/dist/cjs/scheduler-config-store-31b83ad3.js.map +1 -0
- package/dist/cjs/scheduler-config-store-9c2cc421.js +19 -0
- package/dist/cjs/scheduler-config-store-9c2cc421.js.map +1 -0
- package/dist/cjs/{scheduler-store-65f0fbe5.js → scheduler-store-4cb46b3c.js} +3 -2
- package/dist/cjs/scheduler-store-4cb46b3c.js.map +1 -0
- package/dist/cjs/{scheduler-store-41b6d179.js → scheduler-store-7320f5d0.js} +3 -2
- package/dist/cjs/scheduler-store-7320f5d0.js.map +1 -0
- package/dist/cjs/search-icon.cjs.entry.js +2 -2
- package/dist/cjs/select-dropdown.cjs.entry.js +21 -4
- package/dist/cjs/select-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/sent-icon.cjs.entry.js +2 -2
- package/dist/cjs/spam-icon.cjs.entry.js +2 -2
- package/dist/cjs/star-icon.cjs.entry.js +2 -2
- package/dist/cjs/stop-icon.cjs.entry.js +2 -2
- package/dist/cjs/time-period-selector.cjs.entry.js +104 -0
- package/dist/cjs/time-period-selector.cjs.entry.js.map +1 -0
- package/dist/cjs/tooltip-component.cjs.entry.js +2 -2
- package/dist/cjs/translate-icon.cjs.entry.js +2 -2
- package/dist/cjs/trash-icon.cjs.entry.js +2 -2
- package/dist/cjs/underline-icon.cjs.entry.js +2 -2
- package/dist/cjs/warning-icon.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +7 -0
- package/dist/collection/common/constants.js +1 -0
- package/dist/collection/common/constants.js.map +1 -1
- package/dist/collection/common/icons/add-circle.js +1 -1
- package/dist/collection/common/icons/archive.js +1 -1
- package/dist/collection/common/icons/arrow.js +1 -1
- package/dist/collection/common/icons/bold.js +1 -1
- package/dist/collection/common/icons/calendar-cancel.js +1 -1
- package/dist/collection/common/icons/calendar-check.js +1 -1
- package/dist/collection/common/icons/calendar-info.js +1 -1
- package/dist/collection/common/icons/calendar-patterns.js +1 -1
- package/dist/collection/common/icons/calendar.js +1 -1
- package/dist/collection/common/icons/checkmark-circle.js +1 -1
- package/dist/collection/common/icons/chevron.js +1 -1
- package/dist/collection/common/icons/close.js +1 -1
- package/dist/collection/common/icons/document-refresh.js +1 -1
- package/dist/collection/common/icons/flow.js +1 -1
- package/dist/collection/common/icons/folder.js +1 -1
- package/dist/collection/common/icons/forward.js +1 -1
- package/dist/collection/common/icons/globe.js +1 -1
- package/dist/collection/common/icons/google-logo.js +63 -0
- package/dist/collection/common/icons/google-logo.js.map +1 -0
- package/dist/collection/common/icons/inbox.js +1 -1
- package/dist/collection/common/icons/info.js +1 -1
- package/dist/collection/common/icons/italic.js +1 -1
- package/dist/collection/common/icons/loading.js +1 -1
- package/dist/collection/common/icons/location-off.js +1 -1
- package/dist/collection/common/icons/location.js +1 -1
- package/dist/collection/common/icons/microsoft-logo.js +63 -0
- package/dist/collection/common/icons/microsoft-logo.js.map +1 -0
- package/dist/collection/common/icons/nylas-logo.js +1 -1
- package/dist/collection/common/icons/people.js +1 -1
- package/dist/collection/common/icons/play.js +1 -1
- package/dist/collection/common/icons/refresh.js +1 -1
- package/dist/collection/common/icons/reply-all.js +1 -1
- package/dist/collection/common/icons/reply.js +1 -1
- package/dist/collection/common/icons/search.js +1 -1
- package/dist/collection/common/icons/sent.js +1 -1
- package/dist/collection/common/icons/spam.js +1 -1
- package/dist/collection/common/icons/star.js +1 -1
- package/dist/collection/common/icons/stop.js +1 -1
- package/dist/collection/common/icons/translate.js +1 -1
- package/dist/collection/common/icons/trash.js +1 -1
- package/dist/collection/common/icons/underline.js +1 -1
- package/dist/collection/common/icons/warning.js +1 -1
- package/dist/collection/common/nylas-api-request.js +34 -0
- package/dist/collection/common/nylas-api-request.js.map +1 -0
- package/dist/collection/components/design-system/button-component/button-component.css +73 -0
- package/dist/collection/components/design-system/button-component/button-component.js +193 -0
- package/dist/collection/components/design-system/button-component/button-component.js.map +1 -0
- package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
- package/dist/collection/components/design-system/select-dropdown/select-dropdown.css +6 -4
- package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +42 -2
- package/dist/collection/components/design-system/select-dropdown/select-dropdown.js.map +1 -1
- package/dist/collection/components/design-system/time-period-selector/time-period-selector.css +22 -0
- package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +200 -0
- package/dist/collection/components/design-system/time-period-selector/time-period-selector.js.map +1 -0
- package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
- package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
- package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
- package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
- package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
- package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +2 -2
- package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
- package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
- package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
- package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
- package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
- package/dist/collection/components/nylas-login/nylas-login.js +1 -1
- package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
- package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.css +4 -3
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.css +4 -0
- package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.css +1 -0
- package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
- package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
- package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.css +20 -10
- package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.css +6 -1
- package/dist/collection/components/scheduler/nylas-locale-switch/test/nylas-locale-switch.spec.js +3 -3
- package/dist/collection/components/scheduler/nylas-locale-switch/test/nylas-locale-switch.spec.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
- package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.css +7 -8
- package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.js +27 -6
- package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-scheduler/scheduler-view.js +2 -1
- package/dist/collection/components/scheduler/nylas-scheduler/scheduler-view.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-scheduler/test/nylas-scheduling.spec.js +9 -0
- package/dist/collection/components/scheduler/nylas-scheduler/test/nylas-scheduling.spec.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.css +12 -2
- package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.css +1 -1
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.css +5 -16
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +3 -3
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.css +49 -3
- package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +5 -5
- package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-availability-picker/test/nylas-availability-picker.spec.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-availability-picker/test/nylas-availability-picker.spec.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.css +6 -0
- package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.js +3 -3
- package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.css +6 -0
- package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.css +2 -2
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +90 -52
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +22 -0
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -0
- package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +2 -2
- package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.css +2 -2
- package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.css +60 -0
- package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +59 -0
- package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js.map +1 -0
- package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.css +2 -2
- package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.css +46 -0
- package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +191 -0
- package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js.map +1 -0
- package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/test/nylas-limit-future-bookings.spec.js +41 -0
- package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/test/nylas-limit-future-bookings.spec.js.map +1 -0
- package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js +3 -3
- package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.css +46 -0
- package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +214 -0
- package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js.map +1 -0
- package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/test/nylas-min-cancellation-notice.spec.js +41 -0
- package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/test/nylas-min-cancellation-notice.spec.js.map +1 -0
- package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.css +73 -1
- package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +177 -66
- package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.css +10 -2
- package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +2 -2
- package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js.map +1 -1
- package/dist/collection/connector/connector-interface.js.map +1 -1
- package/dist/collection/connector/nylas-connector/index.js +0 -12
- package/dist/collection/connector/nylas-connector/index.js.map +1 -1
- package/dist/collection/connector/nylas-scheduler-config-connector/index.js +3 -24
- package/dist/collection/connector/nylas-scheduler-config-connector/index.js.map +1 -1
- package/dist/collection/connector/shared/api/scheduler-config.js +79 -10
- package/dist/collection/connector/shared/api/scheduler-config.js.map +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/stores/auth-session-store.js +18 -0
- package/dist/collection/stores/auth-session-store.js.map +1 -0
- package/dist/collection/stores/scheduler-config-store.js +2 -0
- package/dist/collection/stores/scheduler-config-store.js.map +1 -1
- package/dist/collection/stores/scheduler-store.js +1 -0
- package/dist/collection/stores/scheduler-store.js.map +1 -1
- package/dist/components/add-circle.js +1 -1
- package/dist/components/archive.js +1 -1
- package/dist/components/arrow.js +1 -1
- package/dist/components/bold.js +1 -1
- package/dist/components/button-component.d.ts +11 -0
- package/dist/components/button-component.js +8 -0
- package/dist/components/button-component.js.map +1 -0
- package/dist/components/button-component2.js +50 -0
- package/dist/components/button-component2.js.map +1 -0
- package/dist/components/calendar-cancel.js +1 -1
- package/dist/components/calendar-check.js +1 -1
- package/dist/components/calendar-info.js +1 -1
- package/dist/components/calendar-patterns.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/checkmark-circle.js +1 -1
- package/dist/components/chevron.js +1 -1
- package/dist/components/close.js +1 -1
- package/dist/components/constants.js +1 -0
- package/dist/components/constants.js.map +1 -1
- package/dist/components/document-refresh-icon.js +1 -1
- package/dist/components/flow.js +1 -1
- package/dist/components/folder.js +1 -1
- package/dist/components/forward.js +1 -1
- package/dist/components/globe.js +1 -1
- package/dist/components/google-logo-icon.d.ts +11 -0
- package/dist/components/google-logo-icon.js +8 -0
- package/dist/components/google-logo-icon.js.map +1 -0
- package/dist/components/google-logo.js +37 -0
- package/dist/components/google-logo.js.map +1 -0
- package/dist/components/inbox.js +1 -1
- package/dist/components/index.es.js +6 -2
- package/dist/components/index.es.js.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/info.js +1 -1
- package/dist/components/italic.js +1 -1
- package/dist/components/loading.js +1 -1
- package/dist/components/location-off.js +1 -1
- package/dist/components/location.js +1 -1
- package/dist/components/mailbox-store.js +78 -2
- package/dist/components/mailbox-store.js.map +1 -1
- package/dist/components/microsoft-logo-icon.d.ts +11 -0
- package/dist/components/microsoft-logo-icon.js +8 -0
- package/dist/components/microsoft-logo-icon.js.map +1 -0
- package/dist/components/microsoft-logo.js +37 -0
- package/dist/components/microsoft-logo.js.map +1 -0
- package/dist/components/multi-select-dropdown2.js +2 -2
- package/dist/components/nylas-additional-participants.js +4 -4
- package/dist/components/nylas-additional-participants.js.map +1 -1
- package/dist/components/nylas-api-request.js +37 -0
- package/dist/components/nylas-api-request.js.map +1 -0
- package/dist/components/nylas-availability-picker2.js +6 -6
- package/dist/components/nylas-availability-picker2.js.map +1 -1
- package/dist/components/nylas-booked-event-card2.js +1 -1
- package/dist/components/nylas-booked-event-card2.js.map +1 -1
- package/dist/components/nylas-booking-calendar-picker2.js +2 -2
- package/dist/components/nylas-booking-calendar-picker2.js.map +1 -1
- package/dist/components/nylas-booking-form2.js +1 -1
- package/dist/components/nylas-booking-form2.js.map +1 -1
- package/dist/components/nylas-buffer-time2.js +3 -3
- package/dist/components/nylas-buffer-time2.js.map +1 -1
- package/dist/components/nylas-calendar-picker2.js +2 -2
- package/dist/components/nylas-calendar-picker2.js.map +1 -1
- package/dist/components/nylas-cancel-booking-form2.js +2 -2
- package/dist/components/nylas-cancel-booking-form2.js.map +1 -1
- package/dist/components/nylas-cancelled-event-card2.js +1 -1
- package/dist/components/nylas-composer2.js +1 -1
- package/dist/components/nylas-custom-booking-flow2.js +1 -1
- package/dist/components/nylas-custom-booking-flow2.js.map +1 -1
- package/dist/components/nylas-date-picker2.js +1 -1
- package/dist/components/nylas-date-picker2.js.map +1 -1
- package/dist/components/nylas-editor-tabs2.js +184 -101
- package/dist/components/nylas-editor-tabs2.js.map +1 -1
- package/dist/components/nylas-event-description2.js +1 -1
- package/dist/components/nylas-event-description2.js.map +1 -1
- package/dist/components/nylas-event-duration2.js +2 -2
- package/dist/components/nylas-event-duration2.js.map +1 -1
- package/dist/components/nylas-event-info2.js +2 -2
- package/dist/components/nylas-event-info2.js.map +1 -1
- package/dist/components/nylas-event-limits.d.ts +11 -0
- package/dist/components/nylas-event-limits.js +8 -0
- package/dist/components/nylas-event-limits.js.map +1 -0
- package/dist/components/nylas-event-limits2.js +79 -0
- package/dist/components/nylas-event-limits2.js.map +1 -0
- package/dist/components/nylas-event-title2.js +1 -1
- package/dist/components/nylas-event-title2.js.map +1 -1
- package/dist/components/nylas-form-card2.js +2 -2
- package/dist/components/nylas-form-card2.js.map +1 -1
- package/dist/components/nylas-limit-future-bookings.d.ts +11 -0
- package/dist/components/nylas-limit-future-bookings.js +8 -0
- package/dist/components/nylas-limit-future-bookings.js.map +1 -0
- package/dist/components/nylas-limit-future-bookings2.js +171 -0
- package/dist/components/nylas-limit-future-bookings2.js.map +1 -0
- package/dist/components/nylas-list-folders.js +1 -1
- package/dist/components/nylas-list-threads.js +1 -1
- package/dist/components/nylas-locale-switch2.js +1 -1
- package/dist/components/nylas-locale-switch2.js.map +1 -1
- package/dist/components/nylas-location-component2.js +3 -3
- package/dist/components/nylas-location-component2.js.map +1 -1
- package/dist/components/nylas-login.js +1 -1
- package/dist/components/nylas-logo2.js +1 -1
- package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
- package/dist/components/nylas-mailbox.js +2 -3
- package/dist/components/nylas-mailbox.js.map +1 -1
- package/dist/components/nylas-min-cancellation-notice.d.ts +11 -0
- package/dist/components/nylas-min-cancellation-notice.js +8 -0
- package/dist/components/nylas-min-cancellation-notice.js.map +1 -0
- package/dist/components/nylas-min-cancellation-notice2.js +194 -0
- package/dist/components/nylas-min-cancellation-notice2.js.map +1 -0
- package/dist/components/nylas-notification2.js +1 -1
- package/dist/components/nylas-provider.js +3 -15
- package/dist/components/nylas-provider.js.map +1 -1
- package/dist/components/nylas-scheduler-editor.js +7362 -132
- package/dist/components/nylas-scheduler-editor.js.map +1 -1
- package/dist/components/nylas-scheduling.js +14 -9
- package/dist/components/nylas-scheduling.js.map +1 -1
- package/dist/components/nylas-selected-event-card2.js +1 -1
- package/dist/components/nylas-selected-event-card2.js.map +1 -1
- package/dist/components/nylas-summarize-message-button2.js +2 -2
- package/dist/components/nylas-threads-refresh.js +2 -2
- package/dist/components/nylas-threads-search.js +1 -1
- package/dist/components/nylas-time-window-picker2.js +3 -3
- package/dist/components/nylas-time-window-picker2.js.map +1 -1
- package/dist/components/nylas-timeslot-picker2.js +1 -1
- package/dist/components/nylas-timeslot-picker2.js.map +1 -1
- package/dist/components/nylas-view-email2.js +1 -1
- package/dist/components/nylas-view-thread.js +1 -1
- package/dist/components/people-icon.js +1 -1
- package/dist/components/play.js +1 -1
- package/dist/components/refresh.js +1 -1
- package/dist/components/reply-all.js +1 -1
- package/dist/components/reply.js +1 -1
- package/dist/components/scheduler-config-store.js +3 -30
- package/dist/components/scheduler-config-store.js.map +1 -1
- package/dist/components/scheduler-store.js +1 -0
- package/dist/components/scheduler-store.js.map +1 -1
- package/dist/components/search.js +1 -1
- package/dist/components/select-dropdown2.js +25 -4
- package/dist/components/select-dropdown2.js.map +1 -1
- package/dist/components/sent.js +1 -1
- package/dist/components/spam.js +1 -1
- package/dist/components/star.js +1 -1
- package/dist/components/stop.js +1 -1
- package/dist/components/time-period-selector.d.ts +11 -0
- package/dist/components/time-period-selector.js +8 -0
- package/dist/components/time-period-selector.js.map +1 -0
- package/dist/components/time-period-selector2.js +144 -0
- package/dist/components/time-period-selector2.js.map +1 -0
- package/dist/components/toolitp-component.js +1 -1
- package/dist/components/translate.js +1 -1
- package/dist/components/trash.js +1 -1
- package/dist/components/underline.js +1 -1
- package/dist/components/warning.js +1 -1
- package/dist/esm/add-circle-icon.entry.js +2 -2
- package/dist/esm/{add-circle-icon_18.entry.js → add-circle-icon_22.entry.js} +423 -99
- package/dist/esm/add-circle-icon_22.entry.js.map +1 -0
- package/dist/esm/archive-icon.entry.js +2 -2
- package/dist/esm/archive-icon_7.entry.js +8 -8
- package/dist/esm/arrow-icon.entry.js +2 -2
- package/dist/esm/bold-icon.entry.js +2 -2
- package/dist/esm/bold-icon_3.entry.js +4 -4
- package/dist/esm/button-component.entry.js +26 -0
- package/dist/esm/button-component.entry.js.map +1 -0
- package/dist/esm/calendar-cancel-icon.entry.js +2 -2
- package/dist/esm/calendar-check-icon.entry.js +2 -2
- package/dist/esm/calendar-check-icon_2.entry.js +3 -3
- package/dist/esm/calendar-icon.entry.js +2 -2
- package/dist/esm/calendar-info-icon.entry.js +2 -2
- package/dist/esm/calendar-patterns-icon.entry.js +2 -2
- package/dist/esm/checkmark-circle-icon.entry.js +2 -2
- package/dist/esm/chevron-icon.entry.js +2 -2
- package/dist/esm/chevron-icon_3.entry.js +23 -6
- package/dist/esm/chevron-icon_3.entry.js.map +1 -1
- package/dist/esm/close-icon.entry.js +2 -2
- package/dist/{nylas-web-elements/constants-56fee505.js → esm/constants-335dffcf.js} +2 -1
- package/dist/{nylas-web-elements/constants-56fee505.js.map → esm/constants-335dffcf.js.map} +1 -1
- package/dist/esm/{constants-b6bf6671.js → constants-6ee60d6d.js} +2 -1
- package/dist/esm/{constants-b6bf6671.js.map → constants-6ee60d6d.js.map} +1 -1
- package/dist/esm/document-refresh-icon.entry.js +2 -2
- package/dist/esm/flow-icon.entry.js +2 -2
- package/dist/esm/folder-icon.entry.js +2 -2
- package/dist/esm/forward-icon.entry.js +2 -2
- package/dist/esm/forward-icon_6.entry.js +10 -10
- package/dist/esm/globe-icon.entry.js +2 -2
- package/dist/esm/google-logo-icon.entry.js +19 -0
- package/dist/esm/google-logo-icon.entry.js.map +1 -0
- package/dist/esm/google-logo-icon_3.entry.js +296 -0
- package/dist/esm/google-logo-icon_3.entry.js.map +1 -0
- package/dist/esm/inbox-icon.entry.js +2 -2
- package/dist/{nylas-web-elements/index-7b27868b.js → esm/index-11d12497.js} +2 -2
- package/dist/esm/{index-7b27868b.js.map → index-11d12497.js.map} +1 -1
- package/dist/esm/{index-10914bc1.js → index-628f294a.js} +2 -2
- package/dist/esm/{index-10914bc1.js.map → index-628f294a.js.map} +1 -1
- package/dist/esm/{index-0583f8a8.js → index-7cb0dd3d.js} +482 -21
- package/dist/esm/index-7cb0dd3d.js.map +1 -0
- package/dist/esm/{index-bda1cba1.js → index-8362ce5c.js} +34 -6
- package/dist/esm/index-8362ce5c.js.map +1 -0
- package/dist/esm/{index.es-0a5de5bf.js → index.es-2578c6a5.js} +8 -4
- package/dist/esm/index.es-2578c6a5.js.map +1 -0
- package/dist/{nylas-web-elements/index.es-a9f78dad.js → esm/index.es-bd511719.js} +7 -3
- package/dist/esm/index.es-bd511719.js.map +1 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/info-icon.entry.js +2 -2
- package/dist/esm/info-icon_2.entry.js +3 -3
- package/dist/esm/italic-icon.entry.js +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/loading-icon.entry.js +2 -2
- package/dist/esm/location-icon.entry.js +2 -2
- package/dist/esm/location-off-icon.entry.js +2 -2
- package/dist/{nylas-web-elements/mailbox-store-8a1c2d32.js → esm/mailbox-store-150cc456.js} +80 -4
- package/dist/esm/mailbox-store-150cc456.js.map +1 -0
- package/dist/esm/{mailbox-store-e721b17c.js → mailbox-store-bb21512c.js} +81 -5
- package/dist/esm/mailbox-store-bb21512c.js.map +1 -0
- package/dist/esm/microsoft-logo-icon.entry.js +19 -0
- package/dist/esm/microsoft-logo-icon.entry.js.map +1 -0
- package/dist/esm/multi-select-dropdown.entry.js +3 -3
- package/dist/esm/nylas-additional-participants.entry.js +6 -6
- package/dist/esm/nylas-additional-participants.entry.js.map +1 -1
- package/dist/esm/nylas-api-request-55446aba.js +37 -0
- package/dist/esm/nylas-api-request-55446aba.js.map +1 -0
- package/dist/esm/nylas-api-request-c97a0153.js +35 -0
- package/dist/esm/nylas-api-request-c97a0153.js.map +1 -0
- package/dist/esm/nylas-availability-picker.entry.js +9 -9
- package/dist/esm/nylas-availability-picker.entry.js.map +1 -1
- package/dist/esm/nylas-booked-event-card.entry.js +4 -4
- package/dist/esm/nylas-booked-event-card.entry.js.map +1 -1
- package/dist/esm/nylas-booked-event-card_10.entry.js +15 -15
- package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
- package/dist/esm/nylas-booking-calendar-picker.entry.js +4 -4
- package/dist/esm/nylas-booking-calendar-picker.entry.js.map +1 -1
- package/dist/esm/nylas-booking-form.entry.js +3 -3
- package/dist/esm/nylas-booking-form.entry.js.map +1 -1
- package/dist/esm/nylas-buffer-time.entry.js +5 -5
- package/dist/esm/nylas-buffer-time.entry.js.map +1 -1
- package/dist/esm/nylas-calendar-picker.entry.js +4 -4
- package/dist/esm/nylas-calendar-picker.entry.js.map +1 -1
- package/dist/esm/nylas-cancel-booking-form.entry.js +4 -4
- package/dist/esm/nylas-cancel-booking-form.entry.js.map +1 -1
- package/dist/esm/nylas-cancelled-event-card.entry.js +3 -3
- package/dist/esm/nylas-composer.entry.js +2 -2
- package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
- package/dist/esm/nylas-custom-booking-flow.entry.js.map +1 -1
- package/dist/esm/nylas-date-picker.entry.js +3 -3
- package/dist/esm/nylas-date-picker.entry.js.map +1 -1
- package/dist/esm/nylas-editor-tabs.entry.js +100 -48
- package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
- package/dist/esm/nylas-event-description.entry.js +3 -3
- package/dist/esm/nylas-event-description.entry.js.map +1 -1
- package/dist/esm/nylas-event-duration.entry.js +4 -4
- package/dist/esm/nylas-event-duration.entry.js.map +1 -1
- package/dist/esm/nylas-event-info.entry.js +4 -4
- package/dist/esm/nylas-event-info.entry.js.map +1 -1
- package/dist/esm/nylas-event-limits.entry.js +64 -0
- package/dist/esm/nylas-event-limits.entry.js.map +1 -0
- package/dist/esm/nylas-event-title.entry.js +4 -4
- package/dist/esm/nylas-event-title.entry.js.map +1 -1
- package/dist/esm/nylas-form-card.entry.js +4 -4
- package/dist/esm/nylas-form-card.entry.js.map +1 -1
- package/dist/esm/nylas-if-state.entry.js +2 -2
- package/dist/esm/nylas-limit-future-bookings.entry.js +118 -0
- package/dist/esm/nylas-limit-future-bookings.entry.js.map +1 -0
- package/dist/esm/nylas-list-folders.entry.js +3 -3
- package/dist/esm/nylas-list-threads.entry.js +3 -3
- package/dist/esm/nylas-locale-switch.entry.js +4 -4
- package/dist/esm/nylas-locale-switch.entry.js.map +1 -1
- package/dist/esm/nylas-location-component.entry.js +5 -5
- package/dist/esm/nylas-location-component.entry.js.map +1 -1
- package/dist/esm/nylas-login.entry.js +3 -3
- package/dist/esm/nylas-logo.entry.js +2 -2
- package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
- package/dist/esm/nylas-mailbox-toolbar-button.entry.js +3 -3
- package/dist/esm/nylas-mailbox.entry.js +5 -6
- package/dist/esm/nylas-mailbox.entry.js.map +1 -1
- package/dist/esm/nylas-min-cancellation-notice.entry.js +141 -0
- package/dist/esm/nylas-min-cancellation-notice.entry.js.map +1 -0
- package/dist/esm/nylas-notification.entry.js +2 -2
- package/dist/esm/nylas-provider.entry.js +7 -19
- package/dist/esm/nylas-provider.entry.js.map +1 -1
- package/dist/esm/nylas-scheduler-editor.entry.js +7257 -74
- package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
- package/dist/esm/nylas-scheduling.entry.js +17 -13
- package/dist/esm/nylas-scheduling.entry.js.map +1 -1
- package/dist/esm/nylas-selected-event-card.entry.js +4 -4
- package/dist/esm/nylas-selected-event-card.entry.js.map +1 -1
- package/dist/esm/nylas-summarize-message-button.entry.js +4 -4
- package/dist/esm/nylas-threads-refresh.entry.js +4 -4
- package/dist/esm/nylas-threads-search.entry.js +3 -3
- package/dist/esm/nylas-time-window-picker.entry.js +4 -4
- package/dist/esm/nylas-time-window-picker.entry.js.map +1 -1
- package/dist/esm/nylas-timeslot-picker.entry.js +3 -3
- package/dist/esm/nylas-timeslot-picker.entry.js.map +1 -1
- package/dist/esm/nylas-view-email.entry.js +2 -2
- package/dist/esm/nylas-view-thread.entry.js +3 -3
- package/dist/esm/nylas-web-elements.js +3 -3
- package/dist/esm/people-icon.entry.js +2 -2
- package/dist/esm/play-icon.entry.js +2 -2
- package/dist/esm/play-icon_2.entry.js +3 -3
- package/dist/esm/refresh-icon.entry.js +2 -2
- package/dist/{nylas-web-elements/register-component-93f9bcf5.js → esm/register-component-0645dce0.js} +2 -2
- package/dist/esm/{register-component-93f9bcf5.js.map → register-component-0645dce0.js.map} +1 -1
- package/dist/esm/{register-component-d056a880.js → register-component-dc659dc3.js} +3 -3
- package/dist/esm/{register-component-d056a880.js.map → register-component-dc659dc3.js.map} +1 -1
- package/dist/esm/reply-all-icon.entry.js +2 -2
- package/dist/esm/reply-icon.entry.js +2 -2
- package/dist/esm/scheduler-config-store-51ee4f42.js +17 -0
- package/dist/esm/scheduler-config-store-51ee4f42.js.map +1 -0
- package/dist/esm/scheduler-config-store-bc59545b.js +17 -0
- package/dist/esm/scheduler-config-store-bc59545b.js.map +1 -0
- package/dist/esm/{scheduler-store-f2e72da4.js → scheduler-store-4d0a4f8a.js} +3 -2
- package/dist/esm/scheduler-store-4d0a4f8a.js.map +1 -0
- package/dist/esm/{scheduler-store-0fbe642c.js → scheduler-store-72116723.js} +4 -3
- package/dist/esm/scheduler-store-72116723.js.map +1 -0
- package/dist/esm/search-icon.entry.js +2 -2
- package/dist/esm/select-dropdown.entry.js +21 -4
- package/dist/esm/select-dropdown.entry.js.map +1 -1
- package/dist/esm/sent-icon.entry.js +2 -2
- package/dist/esm/spam-icon.entry.js +2 -2
- package/dist/esm/star-icon.entry.js +2 -2
- package/dist/esm/stop-icon.entry.js +2 -2
- package/dist/esm/time-period-selector.entry.js +100 -0
- package/dist/esm/time-period-selector.entry.js.map +1 -0
- package/dist/esm/tooltip-component.entry.js +2 -2
- package/dist/esm/translate-icon.entry.js +2 -2
- package/dist/esm/trash-icon.entry.js +2 -2
- package/dist/esm/underline-icon.entry.js +2 -2
- package/dist/esm/{utils-0cd66d04.js → utils-c00bdc3c.js} +2 -2
- package/dist/esm/{utils-0cd66d04.js.map → utils-c00bdc3c.js.map} +1 -1
- package/dist/esm/warning-icon.entry.js +2 -2
- package/dist/nylas-web-elements/add-circle-icon.entry.js +2 -2
- package/dist/nylas-web-elements/archive-icon.entry.js +2 -2
- package/dist/nylas-web-elements/arrow-icon.entry.js +2 -2
- package/dist/nylas-web-elements/bold-icon.entry.js +2 -2
- package/dist/nylas-web-elements/button-component.entry.js +26 -0
- package/dist/nylas-web-elements/button-component.entry.js.map +1 -0
- package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +2 -2
- package/dist/nylas-web-elements/calendar-check-icon.entry.js +2 -2
- package/dist/nylas-web-elements/calendar-icon.entry.js +2 -2
- package/dist/nylas-web-elements/calendar-info-icon.entry.js +2 -2
- package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +2 -2
- package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +2 -2
- package/dist/nylas-web-elements/chevron-icon.entry.js +2 -2
- package/dist/nylas-web-elements/close-icon.entry.js +2 -2
- package/dist/{esm/constants-56fee505.js → nylas-web-elements/constants-335dffcf.js} +2 -1
- package/dist/{esm/constants-56fee505.js.map → nylas-web-elements/constants-335dffcf.js.map} +1 -1
- package/dist/nylas-web-elements/document-refresh-icon.entry.js +2 -2
- package/dist/nylas-web-elements/flow-icon.entry.js +2 -2
- package/dist/nylas-web-elements/folder-icon.entry.js +2 -2
- package/dist/nylas-web-elements/forward-icon.entry.js +2 -2
- package/dist/nylas-web-elements/globe-icon.entry.js +2 -2
- package/dist/nylas-web-elements/google-logo-icon.entry.js +19 -0
- package/dist/nylas-web-elements/google-logo-icon.entry.js.map +1 -0
- package/dist/nylas-web-elements/inbox-icon.entry.js +2 -2
- package/dist/{esm/index-7b27868b.js → nylas-web-elements/index-11d12497.js} +2 -2
- package/dist/nylas-web-elements/{index-7b27868b.js.map → index-11d12497.js.map} +1 -1
- package/dist/nylas-web-elements/{index-bda1cba1.js → index-8362ce5c.js} +2 -2
- package/dist/nylas-web-elements/index-8362ce5c.js.map +1 -0
- package/dist/{esm/index.es-a9f78dad.js → nylas-web-elements/index.es-bd511719.js} +7 -3
- package/dist/nylas-web-elements/index.es-bd511719.js.map +1 -0
- package/dist/nylas-web-elements/index.esm.js +3 -2
- package/dist/nylas-web-elements/index.esm.js.map +1 -1
- package/dist/nylas-web-elements/info-icon.entry.js +2 -2
- package/dist/nylas-web-elements/italic-icon.entry.js +2 -2
- package/dist/nylas-web-elements/loading-icon.entry.js +2 -2
- package/dist/nylas-web-elements/location-icon.entry.js +2 -2
- package/dist/nylas-web-elements/location-off-icon.entry.js +2 -2
- package/dist/{esm/mailbox-store-8a1c2d32.js → nylas-web-elements/mailbox-store-150cc456.js} +80 -4
- package/dist/nylas-web-elements/mailbox-store-150cc456.js.map +1 -0
- package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +19 -0
- package/dist/nylas-web-elements/microsoft-logo-icon.entry.js.map +1 -0
- package/dist/nylas-web-elements/multi-select-dropdown.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-additional-participants.entry.js +6 -6
- package/dist/nylas-web-elements/nylas-additional-participants.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-api-request-55446aba.js +37 -0
- package/dist/nylas-web-elements/nylas-api-request-55446aba.js.map +1 -0
- package/dist/nylas-web-elements/nylas-availability-picker.entry.js +9 -9
- package/dist/nylas-web-elements/nylas-availability-picker.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-booked-event-card.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-booking-form.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-booking-form.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-buffer-time.entry.js +5 -5
- package/dist/nylas-web-elements/nylas-buffer-time.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-calendar-picker.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-composer.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-date-picker.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-date-picker.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +100 -48
- package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-event-description.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-event-description.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-event-duration.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-event-duration.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-event-info.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-event-info.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-event-limits.entry.js +64 -0
- package/dist/nylas-web-elements/nylas-event-limits.entry.js.map +1 -0
- package/dist/nylas-web-elements/nylas-event-title.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-event-title.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-form-card.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-form-card.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-if-state.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +118 -0
- package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js.map +1 -0
- package/dist/nylas-web-elements/nylas-list-folders.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-list-threads.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-locale-switch.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-locale-switch.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-location-component.entry.js +5 -5
- package/dist/nylas-web-elements/nylas-location-component.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-login.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-logo.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-mailbox.entry.js +5 -6
- package/dist/nylas-web-elements/nylas-mailbox.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +141 -0
- package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js.map +1 -0
- package/dist/nylas-web-elements/nylas-notification.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-provider.entry.js +7 -19
- package/dist/nylas-web-elements/nylas-provider.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +7257 -74
- package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-scheduling.entry.js +17 -13
- package/dist/nylas-web-elements/nylas-scheduling.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-selected-event-card.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-threads-search.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-time-window-picker.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-view-email.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-view-thread.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-web-elements.esm.js +3 -3
- package/dist/nylas-web-elements/p-006ab406.entry.js +2 -0
- package/dist/nylas-web-elements/p-006ab406.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-01bf65c2.entry.js +2 -0
- package/dist/nylas-web-elements/{p-bf2887bd.js → p-1819b3d7.js} +2 -2
- package/dist/nylas-web-elements/{p-bf2887bd.js.map → p-1819b3d7.js.map} +1 -1
- package/dist/nylas-web-elements/{p-26b75895.entry.js → p-2523c292.entry.js} +2 -2
- package/dist/nylas-web-elements/p-2c5d5953.entry.js +2 -0
- package/dist/nylas-web-elements/p-2c5d5953.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-3631e6e5.entry.js +2 -0
- package/dist/nylas-web-elements/p-3631e6e5.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-374527e6.entry.js +2 -0
- package/dist/nylas-web-elements/p-374527e6.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-0195d832.entry.js → p-395f49eb.entry.js} +2 -2
- package/dist/nylas-web-elements/p-39b280e2.entry.js +2 -0
- package/dist/nylas-web-elements/p-39b280e2.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-3da66838.entry.js +2 -0
- package/dist/nylas-web-elements/p-3da66838.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-9955e9b6.js → p-408dda49.js} +2 -2
- package/dist/nylas-web-elements/{p-31f12f3f.entry.js → p-409d4410.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-3105fc0a.entry.js → p-40ed7eab.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-412215d1.entry.js → p-41c1654e.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-a959a080.entry.js → p-42a4c2fd.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-68f47a72.entry.js → p-4d9fceeb.entry.js} +2 -2
- package/dist/nylas-web-elements/p-59b6ae90.entry.js +2 -0
- package/dist/nylas-web-elements/p-59b6ae90.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-5a3809a7.entry.js +2 -0
- package/dist/nylas-web-elements/p-5a3809a7.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-c0fac9fc.entry.js → p-64364434.entry.js} +2 -2
- package/dist/nylas-web-elements/p-65fdfb60.js +2 -0
- package/dist/nylas-web-elements/p-65fdfb60.js.map +1 -0
- package/dist/nylas-web-elements/p-68c2fadf.js +3 -0
- package/dist/nylas-web-elements/{p-e4b9d6af.js.map → p-68c2fadf.js.map} +1 -1
- package/dist/nylas-web-elements/{p-67f20520.entry.js → p-7b1bb792.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-facc84f3.js → p-901f9612.js} +2 -2
- package/dist/nylas-web-elements/{p-e324add5.entry.js → p-9dac153b.entry.js} +2 -2
- package/dist/nylas-web-elements/p-9f168ff0.js +2 -0
- package/dist/nylas-web-elements/{p-ce89d941.js.map → p-9f168ff0.js.map} +1 -1
- package/dist/nylas-web-elements/p-a0c2ce03.entry.js +2 -0
- package/dist/nylas-web-elements/{p-f8e59935.entry.js → p-a1e27dc5.entry.js} +2 -2
- package/dist/nylas-web-elements/p-a3d5a1dd.entry.js +2 -0
- package/dist/nylas-web-elements/p-ad9c3cab.entry.js +2 -0
- package/dist/nylas-web-elements/p-ad9c3cab.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-5d875283.entry.js → p-ae01e1cb.entry.js} +2 -2
- package/dist/nylas-web-elements/p-af22da60.entry.js +17 -0
- package/dist/nylas-web-elements/p-af22da60.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-b54b575a.entry.js → p-b2208193.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-02435888.entry.js → p-ba3d383f.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-f826c690.entry.js → p-baa620b4.entry.js} +2 -2
- package/dist/nylas-web-elements/p-bfdc148c.entry.js +2 -0
- package/dist/nylas-web-elements/{p-65b275df.js → p-cabb2e68.js} +2 -2
- package/dist/nylas-web-elements/p-cadc9052.js +2 -0
- package/dist/nylas-web-elements/p-cadc9052.js.map +1 -0
- package/dist/nylas-web-elements/p-d224c7af.entry.js +2 -0
- package/dist/nylas-web-elements/p-d224c7af.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-d67d1c72.js +2 -0
- package/dist/nylas-web-elements/p-d67d1c72.js.map +1 -0
- package/dist/nylas-web-elements/p-d85eecf4.entry.js +2 -0
- package/dist/nylas-web-elements/p-d85eecf4.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-d92a0405.entry.js +2 -0
- package/dist/nylas-web-elements/p-dc1cee56.entry.js +2 -0
- package/dist/nylas-web-elements/p-dc1cee56.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-de63bc35.entry.js +2 -0
- package/dist/nylas-web-elements/{p-22c0a883.entry.js → p-deafc6bc.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-64be0bab.js → p-df5e9aaf.js} +2 -2
- package/dist/nylas-web-elements/p-df5e9aaf.js.map +1 -0
- package/dist/nylas-web-elements/p-f48d0571.entry.js +2 -0
- package/dist/nylas-web-elements/p-fbbca7a6.entry.js +2 -0
- package/dist/nylas-web-elements/people-icon.entry.js +2 -2
- package/dist/nylas-web-elements/play-icon.entry.js +2 -2
- package/dist/nylas-web-elements/refresh-icon.entry.js +2 -2
- package/dist/{esm/register-component-93f9bcf5.js → nylas-web-elements/register-component-0645dce0.js} +2 -2
- package/dist/nylas-web-elements/{register-component-93f9bcf5.js.map → register-component-0645dce0.js.map} +1 -1
- package/dist/nylas-web-elements/reply-all-icon.entry.js +2 -2
- package/dist/nylas-web-elements/reply-icon.entry.js +2 -2
- package/dist/nylas-web-elements/scheduler-config-store-bc59545b.js +17 -0
- package/dist/nylas-web-elements/scheduler-config-store-bc59545b.js.map +1 -0
- package/dist/nylas-web-elements/{scheduler-store-f2e72da4.js → scheduler-store-4d0a4f8a.js} +3 -2
- package/dist/nylas-web-elements/scheduler-store-4d0a4f8a.js.map +1 -0
- package/dist/nylas-web-elements/search-icon.entry.js +2 -2
- package/dist/nylas-web-elements/select-dropdown.entry.js +21 -4
- package/dist/nylas-web-elements/select-dropdown.entry.js.map +1 -1
- package/dist/nylas-web-elements/sent-icon.entry.js +2 -2
- package/dist/nylas-web-elements/spam-icon.entry.js +2 -2
- package/dist/nylas-web-elements/star-icon.entry.js +2 -2
- package/dist/nylas-web-elements/stop-icon.entry.js +2 -2
- package/dist/nylas-web-elements/time-period-selector.entry.js +100 -0
- package/dist/nylas-web-elements/time-period-selector.entry.js.map +1 -0
- package/dist/nylas-web-elements/tooltip-component.entry.js +2 -2
- package/dist/nylas-web-elements/translate-icon.entry.js +2 -2
- package/dist/nylas-web-elements/trash-icon.entry.js +2 -2
- package/dist/nylas-web-elements/underline-icon.entry.js +2 -2
- package/dist/nylas-web-elements/warning-icon.entry.js +2 -2
- package/dist/types/common/icons/google-logo.d.ts +5 -0
- package/dist/types/common/icons/microsoft-logo.d.ts +5 -0
- package/dist/types/common/nylas-api-request.d.ts +35 -0
- package/dist/types/components/design-system/button-component/button-component.d.ts +13 -0
- package/dist/types/components/design-system/select-dropdown/select-dropdown.d.ts +3 -0
- package/dist/types/components/design-system/time-period-selector/time-period-selector.d.ts +31 -0
- package/dist/types/components/scheduler/nylas-scheduler/nylas-scheduling.d.ts +1 -0
- package/dist/types/components/scheduler/nylas-scheduler/scheduler-view.d.ts +1 -0
- package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +21 -28
- package/dist/types/components/scheduler-editor/nylas-editor-tabs/tab-contents.d.ts +7 -0
- package/dist/types/components/scheduler-editor/nylas-event-limits/nylas-event-limits.d.ts +8 -0
- package/dist/types/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.d.ts +28 -0
- package/dist/types/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.d.ts +25 -0
- package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +12 -10
- package/dist/types/components.d.ts +314 -19
- package/dist/types/connector/connector-interface.d.ts +1 -1
- package/dist/types/connector/nylas-connector/index.d.ts +1 -4
- package/dist/types/connector/nylas-scheduler-config-connector/index.d.ts +5 -32
- package/dist/types/connector/shared/api/scheduler-config.d.ts +12 -11
- package/dist/types/index.d.ts +2 -0
- package/dist/types/stores/auth-session-store.d.ts +9 -0
- package/dist/types/stores/scheduler-config-store.d.ts +5 -2
- package/dist/types/stores/scheduler-store.d.ts +1 -0
- package/package.json +10 -7
- package/dist/cjs/add-circle-icon_18.cjs.entry.js.map +0 -1
- package/dist/cjs/auth-store-78906da5.js +0 -85
- package/dist/cjs/auth-store-78906da5.js.map +0 -1
- package/dist/cjs/auth-store-be4bbe89.js +0 -85
- package/dist/cjs/auth-store-be4bbe89.js.map +0 -1
- package/dist/cjs/index-37045c7b.js.map +0 -1
- package/dist/cjs/index-ec8e2a4d.js.map +0 -1
- package/dist/cjs/index.es-3c12ec8c.js.map +0 -1
- package/dist/cjs/index.es-9122f5a3.js.map +0 -1
- package/dist/cjs/mailbox-store-37622628.js.map +0 -1
- package/dist/cjs/mailbox-store-5cd5e485.js.map +0 -1
- package/dist/cjs/nylas-if-state_3.cjs.entry.js +0 -411
- package/dist/cjs/nylas-if-state_3.cjs.entry.js.map +0 -1
- package/dist/cjs/scheduler-config-store-03b22a70.js +0 -47
- package/dist/cjs/scheduler-config-store-03b22a70.js.map +0 -1
- package/dist/cjs/scheduler-config-store-9577e499.js +0 -47
- package/dist/cjs/scheduler-config-store-9577e499.js.map +0 -1
- package/dist/cjs/scheduler-store-41b6d179.js.map +0 -1
- package/dist/cjs/scheduler-store-65f0fbe5.js.map +0 -1
- package/dist/components/auth-store.js +0 -82
- package/dist/components/auth-store.js.map +0 -1
- package/dist/esm/add-circle-icon_18.entry.js.map +0 -1
- package/dist/esm/auth-store-69ac49c7.js +0 -82
- package/dist/esm/auth-store-69ac49c7.js.map +0 -1
- package/dist/esm/auth-store-f46d9222.js +0 -82
- package/dist/esm/auth-store-f46d9222.js.map +0 -1
- package/dist/esm/index-0583f8a8.js.map +0 -1
- package/dist/esm/index-bda1cba1.js.map +0 -1
- package/dist/esm/index.es-0a5de5bf.js.map +0 -1
- package/dist/esm/index.es-a9f78dad.js.map +0 -1
- package/dist/esm/mailbox-store-8a1c2d32.js.map +0 -1
- package/dist/esm/mailbox-store-e721b17c.js.map +0 -1
- package/dist/esm/nylas-if-state_3.entry.js +0 -405
- package/dist/esm/nylas-if-state_3.entry.js.map +0 -1
- package/dist/esm/scheduler-config-store-4d035001.js +0 -44
- package/dist/esm/scheduler-config-store-4d035001.js.map +0 -1
- package/dist/esm/scheduler-config-store-8f162729.js +0 -44
- package/dist/esm/scheduler-config-store-8f162729.js.map +0 -1
- package/dist/esm/scheduler-store-0fbe642c.js.map +0 -1
- package/dist/esm/scheduler-store-f2e72da4.js.map +0 -1
- package/dist/nylas-web-elements/auth-store-f46d9222.js +0 -82
- package/dist/nylas-web-elements/auth-store-f46d9222.js.map +0 -1
- package/dist/nylas-web-elements/index-bda1cba1.js.map +0 -1
- package/dist/nylas-web-elements/index.es-a9f78dad.js.map +0 -1
- package/dist/nylas-web-elements/mailbox-store-8a1c2d32.js.map +0 -1
- package/dist/nylas-web-elements/p-18c6ddfa.entry.js +0 -2
- package/dist/nylas-web-elements/p-1af51c6b.js +0 -2
- package/dist/nylas-web-elements/p-1af51c6b.js.map +0 -1
- package/dist/nylas-web-elements/p-1c3b651f.entry.js +0 -2
- package/dist/nylas-web-elements/p-1c3b651f.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-558faafb.entry.js +0 -2
- package/dist/nylas-web-elements/p-558faafb.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-5642190a.entry.js +0 -2
- package/dist/nylas-web-elements/p-5642190a.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-577ecdd4.entry.js +0 -2
- package/dist/nylas-web-elements/p-577ecdd4.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-578f4029.js +0 -2
- package/dist/nylas-web-elements/p-578f4029.js.map +0 -1
- package/dist/nylas-web-elements/p-5c72d9a4.js +0 -2
- package/dist/nylas-web-elements/p-5c72d9a4.js.map +0 -1
- package/dist/nylas-web-elements/p-5fd0eb1d.entry.js +0 -2
- package/dist/nylas-web-elements/p-64be0bab.js.map +0 -1
- package/dist/nylas-web-elements/p-6aa84fd8.entry.js +0 -2
- package/dist/nylas-web-elements/p-6c84f99e.entry.js +0 -2
- package/dist/nylas-web-elements/p-6c84f99e.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-80079122.entry.js +0 -2
- package/dist/nylas-web-elements/p-a30e3755.entry.js +0 -2
- package/dist/nylas-web-elements/p-afdac062.entry.js +0 -2
- package/dist/nylas-web-elements/p-afdac062.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-be3b6e3a.entry.js +0 -2
- package/dist/nylas-web-elements/p-be3b6e3a.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-cc6721a7.entry.js +0 -2
- package/dist/nylas-web-elements/p-ce89d941.js +0 -2
- package/dist/nylas-web-elements/p-e4b9d6af.js +0 -3
- package/dist/nylas-web-elements/p-e4ec4651.entry.js +0 -2
- package/dist/nylas-web-elements/p-e4ec4651.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-f442a2f9.entry.js +0 -2
- package/dist/nylas-web-elements/p-f78abda8.entry.js +0 -2
- package/dist/nylas-web-elements/p-f78abda8.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-f8056365.entry.js +0 -2
- package/dist/nylas-web-elements/p-fbe6262b.entry.js +0 -2
- package/dist/nylas-web-elements/p-fbe6262b.entry.js.map +0 -1
- package/dist/nylas-web-elements/scheduler-config-store-8f162729.js +0 -44
- package/dist/nylas-web-elements/scheduler-config-store-8f162729.js.map +0 -1
- package/dist/nylas-web-elements/scheduler-store-f2e72da4.js.map +0 -1
- /package/dist/nylas-web-elements/{p-5fd0eb1d.entry.js.map → p-01bf65c2.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-26b75895.entry.js.map → p-2523c292.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-0195d832.entry.js.map → p-395f49eb.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-9955e9b6.js.map → p-408dda49.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-31f12f3f.entry.js.map → p-409d4410.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3105fc0a.entry.js.map → p-40ed7eab.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-412215d1.entry.js.map → p-41c1654e.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-a959a080.entry.js.map → p-42a4c2fd.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-68f47a72.entry.js.map → p-4d9fceeb.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-c0fac9fc.entry.js.map → p-64364434.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-67f20520.entry.js.map → p-7b1bb792.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-facc84f3.js.map → p-901f9612.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-e324add5.entry.js.map → p-9dac153b.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-6aa84fd8.entry.js.map → p-a0c2ce03.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f8e59935.entry.js.map → p-a1e27dc5.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-18c6ddfa.entry.js.map → p-a3d5a1dd.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-5d875283.entry.js.map → p-ae01e1cb.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-b54b575a.entry.js.map → p-b2208193.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-02435888.entry.js.map → p-ba3d383f.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f826c690.entry.js.map → p-baa620b4.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f8056365.entry.js.map → p-bfdc148c.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-65b275df.js.map → p-cabb2e68.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-cc6721a7.entry.js.map → p-d92a0405.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-a30e3755.entry.js.map → p-de63bc35.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-22c0a883.entry.js.map → p-deafc6bc.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f442a2f9.entry.js.map → p-f48d0571.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-80079122.entry.js.map → p-fbbca7a6.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["nylasBookedEventCardCss","NylasBookedEventCardStyle0","NylasBookedEventCard","this","handleCancelBookingButtonClicked","cancelBookingButtonClicked","emit","bookingId","eventInfo","booking_id","handleRescheduleButtonClicked","errorHandler","error","rescheduleBookedEventError","rescheduleButtonClicked","getOrganizer","organizer","getPaticipantType","type","Intl","DateTimeFormat","resolvedOptions","timeZone","connectedCallback","disconnectedCallback","componentWillLoad","debug","componentDidLoad","render","h","Host","key","part","theme","color","scale","class","TIMEZONE_MAP","selectedTimezone","slot","rescheduleBookingId","name","email","bookingInfo","primaryParticipant","Date","selectedTimeslot","start_time","toLocaleDateString","undefined","dateStyle","toLocaleTimeString","timeStyle","end_time","variant","treatment","onClick","__decorate","RegisterComponent","stateToProps","Map","eventToProps","async","event","nylasSchedulerConnector","scheduler","setCancel","detail","result","setReschedule","fireRegisterEvent","nylasBookingFormCss","NylasBookingFormStyle0","emailRegex","NylasBookingForm","handleGuestChange","guestIndex","resetGuestEmailError","guests","guestEmails","handleGuestBlur","guestEmailErrors","test","addGuestButtonClickedHandler","removeGuestButtonClickHandler","e","preventDefault","splice","handleBackButtonClicked","backButtonClicked","bookButtonClickedHandler","isNameValid","validationError","bookingFormError","title","description","isEmailValid","length","hasError","forEach","i","map","trim","detailsConfirmed","additionalFields","bookingInfoChangedHandler","newValue","changeName","nameChanged","changeEmail","emailChanged","errors","onSubmit","noValidate","htmlFor","id","placeholder","value","input","onInput","target","isLoading","_event","toggleAdditionalData","setParticipantName","setParticipantEmail","nylasCancelBookingFormCss","NylasCancelBookingFormStyle0","NylasCancelBookingForm","handleGoBackClicked","goBackButtonClicked","handleSubmitCancelBooking","cancellationReason","cancellationError","cancelBookingFormError","cancelBookedEventError","cancelBookingFormSubmitted","cancelBookingId","reason","handleOnChangeCancellationReason","for","multiline","onFocus","invalid","cancelBooking","nylasCancelledEventCardCss","NylasCancelledEventCardStyle0","NylasCancelledEventCard","handleCloseClicked","closeCancelEventCardClicked","t0","t1","timeInterval","floori","offseti","count","field","interval","date","arguments","floor","ceil","round","d0","d1","offset","step","Math","range","start","stop","previous","push","filter","setTime","end","every","isFinite","d","durationSecond","durationMinute","durationHour","durationDay","timeDay","setHours","setDate","getDate","getTimezoneOffset","setUTCHours","setUTCDate","getUTCDate","nylasDatePickerCss","NylasDatePickerStyle0","NylasDatePicker","selectedDate","getDates","lastDayOfMonth","getLastDayOfMonth","month","firstDayOfMonth","getFirstDayOfMonth","getDay","selectDate","dateSelected","changeMonth","change","getFullYear","getMonth","dates","monthChanged","isSelected","selectableDates","isSameDay","isDisabled","find","year","button","disabled","day","isSameMonth","style","animationDelay","selected","nylasLocaleSwitchCss","NylasLocaleSwitchStyle0","NylasLocaleSwitch","navigator","language","changeTimezone","timezone","timezoneChanged","changeLanguage","selectedLanguage","languageChanged","selectedOptionChangedHandler","getTimezoneLabelHTML","display","alignItems","justifyContent","width","fontSize","fontWeight","timezoneOptions","Object","keys","labelHTML","label","languageOptions","LANGUAGE_MAP","options","defaultSelectedOption","op","height","lang","selectTimezone","iconCss","NylasLogoStyle0","NylasLogo","viewBox","fill","xmlns","transform","nylasNotificationCss","NylasNotificationStyle0","NylasNotification","onError","handleNotification","onWarning","onInfo","onSuccess","defaultPrevented","ttl","allowedCategories","includes","category","notifications","window","setTimeout","notif","dismissNotification","Fragment","nylasSelectedEventCardCss","NylasSelectedEventCardStyle0","NylasSelectedEventCard","handleSelectedTimeslotChange","startTime","toLocaleString","endTime","nylasTimeslotPickerCss","NylasTimeslotPickerStyle0","NylasTimeslotPicker","handleConfirmedTimeslot","timeslot","timeslotConfirmed","handleMouseEnter","index","hoveredTimeslotIndex","handleMouseLeave","availableTimes","availability","times","getTimeslotId","onClickSelectTime","selectedTimeslotIndex","timeslotSelected","getTimeSlotLabel","timeFormat","hour","minute","format","selectedDateChanged","newVal","availabilityChanged","Array","_","getTime","time","onMouseEnter","onMouseLeave","selectTime"],"sources":["src/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.scss?tag=nylas-booked-event-card&encapsulation=shadow","src/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.tsx","src/components/scheduler/nylas-booking-form/nylas-booking-form.scss?tag=nylas-booking-form&encapsulation=shadow","src/components/scheduler/nylas-booking-form/nylas-booking-form.tsx","src/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.scss?tag=nylas-cancel-booking-form&encapsulation=shadow","src/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.tsx","src/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.scss?tag=nylas-cancelled-event-card&encapsulation=shadow","src/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.tsx","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/interval.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/duration.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/day.js","src/components/scheduler/nylas-date-picker/nylas-date-picker.scss?tag=nylas-date-picker&encapsulation=shadow","src/components/scheduler/nylas-date-picker/nylas-date-picker.tsx","src/components/scheduler/nylas-locale-switch/nylas-locale-switch.scss?tag=nylas-locale-switch&encapsulation=shadow","src/components/scheduler/nylas-locale-switch/nylas-locale-switch.tsx","src/common/icons/icon.css?tag=nylas-logo&encapsulation=scoped","src/common/icons/nylas-logo.tsx","src/components/scheduler/nylas-notification/nylas-notification.scss?tag=nylas-notification&encapsulation=shadow","src/components/scheduler/nylas-notification/nylas-notification.tsx","src/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.scss?tag=nylas-selected-event-card&encapsulation=shadow","src/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.tsx","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.scss?tag=nylas-timeslot-picker&encapsulation=shadow","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.event-card-wrapper {\n display: flex;\n align-items: center;\n flex-direction: column;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n border-radius: var(--nylas-border-radius-3x);\n position: relative;\n margin-top: 1rem;\n margin-bottom: 2rem;\n width: 424px;\n @media #{$mobile} {\n width: 100%;\n border-radius: 0px;\n }\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.calendar-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n color: var(--nylas-base-700);\n}\n\n.booked-event-header {\n margin: 1.5rem 0;\n display: flex;\n align-items: center;\n flex-direction: column;\n font-size: 1rem;\n font-weight: 400;\n\n h2 {\n color: var(--nylas-base-600);\n margin-top: 1.5rem;\n margin-bottom: 0.5rem;\n font-size: 1.125rem;\n font-weight: 600;\n }\n}\n\n.booking-date-time,\n.booking-participants {\n padding: 0 1rem;\n margin-top: 1.5rem;\n margin-left: 3rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-self: flex-start;\n position: relative;\n\n svg {\n color: var(--nylas-base-700);\n position: absolute;\n left: -10px;\n }\n\n .block {\n display: block;\n }\n\n h3 {\n color: var(--nylas-base-600);\n margin: 0;\n font-size: 1rem;\n font-weight: 600;\n line-height: 1.25rem;\n text-align: justify;\n margin-bottom: 8px;\n }\n p {\n font-size: 0.875rem;\n margin: 0;\n font-weight: 400;\n text-align: justify;\n color: var(--nylas-base-800);\n }\n}\n\n.booking-participants {\n margin-bottom: 1.5rem;\n}\n\n.booked-event-timezone {\n display: flex;\n color: var(--nylas-base-600);\n margin-bottom: 1.5rem;\n gap: 4px;\n margin: 2rem;\n align-items: center;\n align-self: flex-end;\n}\n\n.footer {\n padding: 0.5rem;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 0.5rem;\n box-sizing: border-box;\n background-color: var(--nylas-base-25);\n width: 100%;\n border-radius: 0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x);\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n padding: 8px;\n font-family: var(--nylas-font-family);\n height: 48px;\n line-height: 24px;\n &.cancel {\n color: var(--nylas-error);\n &:hover,\n &:focus {\n border-color: var(--nylas-error);\n }\n &:active {\n color: var(--nylas-error-pressed);\n border-color: var(--nylas-error-pressed);\n }\n }\n &.reschedule {\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n }\n}\n\nsp-divider {\n background-color: var(--nylas-base-200);\n height: 1px;\n}\n\ncalendar-check-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { NylasSchedulerBookingData, NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduler/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { TIMEZONE_MAP } from '@/common/constants';\nimport { NylasEvent } from '@/common/types';\nimport { Event } from '@stencil/core';\nimport { NylasSchedulerErrorResponse, Timeslot } from '@nylas/core';\n\n/**\n * The `nylas-booked-event-card` component is a UI component that displays the booked event card.\n *\n * @part nbec - The booked event card host.\n * @part nbec__card - The booked event card.\n * @part nbec__title - The title of the booked event card.\n * @part nbec__description - The description of the booked event card.\n * @part nbec__button-outline - The cancel & reschedule button CTA.\n * @part nbec__cancel-cta - The cancel button CTA.\n * @part nbec__reschedule-cta - The reschedule button CTA.\n */\n@Component({\n tag: 'nylas-booked-event-card',\n styleUrl: 'nylas-booked-event-card.scss',\n shadow: true,\n})\nexport class NylasBookedEventCard {\n /**\n * The booked event.\n */\n @Prop() readonly eventInfo!: NylasEvent;\n\n /**\n * Booking flow type.\n */\n @Prop() readonly rescheduleBookingId?: string;\n\n /**\n * The booking info used to book / reschedule the event.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The selected timezone.\n */\n @Prop() readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected timeslot.\n */\n @Prop() readonly selectedTimeslot!: Timeslot;\n\n /**\n * Cancel booking button clicked event.\n */\n @Event() readonly cancelBookingButtonClicked!: EventEmitter<{ bookingId: string }>;\n\n /**\n * Reschedule button clicked event.\n * */\n @Event() readonly rescheduleButtonClicked!: EventEmitter<{ bookingId: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs while rescheduling the booking.\n */\n @Event() readonly rescheduleBookedEventError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-booked-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-booked-event-card] Component did load`);\n }\n\n private handleCancelBookingButtonClicked = () => {\n this.cancelBookingButtonClicked.emit({ bookingId: this.eventInfo.booking_id });\n };\n\n private handleRescheduleButtonClicked = () => {\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.rescheduleBookedEventError.emit(error);\n };\n this.rescheduleButtonClicked.emit({ bookingId: this.eventInfo.booking_id, errorHandler });\n };\n\n private getOrganizer = (eventInfo: NylasEvent) => {\n const organizer = eventInfo?.organizer;\n return organizer;\n };\n\n getPaticipantType = (type: string) => {\n switch (type) {\n case 'host':\n return 'Host';\n case 'you':\n return 'You';\n default:\n return '';\n }\n };\n\n @RegisterComponent<NylasBookedEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-booked-event-card',\n stateToProps: new Map([\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.rescheduleBookingId', 'rescheduleBookingId'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ]),\n eventToProps: {\n cancelBookingButtonClicked: async (event: CustomEvent<{ bookingId: string }>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setCancel(event.detail.bookingId);\n },\n rescheduleButtonClicked: async (\n event: CustomEvent<{ bookingId: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>,\n nylasSchedulerConnector: NylasSchedulerConnector,\n ) => {\n const result = await nylasSchedulerConnector.scheduler.setReschedule(event.detail.bookingId);\n const { errorHandler } = event.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nbec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"booked-event-timezone\">\n <globe-icon></globe-icon>\n {TIMEZONE_MAP[this.selectedTimezone]}\n </div>\n <div class=\"event-card-wrapper\" part=\"nbec__card\">\n <div class=\"calendar-icon\">\n <calendar-check-icon />\n </div>\n <div class=\"booked-event-header\">\n <h2 slot=\"card-title\" part=\"nbec__title\">\n Booking {!!this.rescheduleBookingId ? 'rescheduled' : 'confirmed'}!\n </h2>\n <div part=\"nbec__description\">\n {this.getOrganizer(this.eventInfo)?.name || this.getOrganizer(this.eventInfo)?.email} & \n {this.bookingInfo?.primaryParticipant?.name || this.bookingInfo?.primaryParticipant?.email}\n </div>\n </div>\n <sp-divider></sp-divider>\n <div class=\"booking-date-time\">\n <checkmark-circle-icon></checkmark-circle-icon>\n <h3>Booking date and time</h3>\n <p>\n {new Date(this.selectedTimeslot.start_time).toLocaleDateString(undefined, { dateStyle: 'full' })} <br />\n {new Date(this.selectedTimeslot.start_time).toLocaleTimeString(undefined, { timeStyle: 'short' })} -{' '}\n {new Date(this.selectedTimeslot.end_time).toLocaleTimeString(undefined, { timeStyle: 'short' })}\n </p>\n </div>\n <div class=\"booking-participants\">\n {/* <people-icon></people-icon>\n <h3>All participants</h3>\n {this.eventInfo?.participants && (\n <p>\n {this.eventInfo?.participants?.map((participant: NylasEvent['participants'][0]) => {\n return (\n <span class=\"block\">\n {participant.email} {this.getPaticipantType(participant.type) && `(${this.getPaticipantType(participant.type)})`}\n </span>\n );\n })}\n </p>\n )} */}\n </div>\n <sp-divider></sp-divider>\n <div class=\"footer\">\n <sp-button variant=\"secondary\" treatment=\"outline\" class=\"cancel\" onClick={this.handleCancelBookingButtonClicked} part=\"nbec__button-outline nbec__cancel-cta\">\n Cancel booking\n </sp-button>\n <sp-button variant=\"secondary\" treatment=\"outline\" class=\"reschedule\" onClick={this.handleRescheduleButtonClicked} part=\"nbec__button-outline nbec__reschedule-cta\">\n Reschedule\n </sp-button>\n </div>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","@import '../../../common/mixins/inputs.scss';\n@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n height: 100%;\n @include default-css-variables;\n}\n\n.nylas-booking-form {\n width: 100%;\n padding: 1.5rem;\n box-sizing: border-box;\n height: 450px;\n overflow-y: auto;\n height: 100%;\n}\n\nform {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n}\n\nsp-textfield {\n --spectrum-corner-radius-100: var(--nylas-border-radius-2x); // Set guest input radius\n --spectrum-textfield-border-color: var(--nylas-base-300);\n position: relative;\n width: 100%;\n height: 48px;\n margin-bottom: 16px;\n color: var(--nylas-base-500);\n}\n\n.cta {\n width: 100%;\n display: flex;\n flex-direction: row;\n @media #{$mobile} {\n flex-direction: column-reverse;\n }\n align-items: flex-start;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 10px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n}\n\nsp-button {\n background-color: transparent;\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n --button-width: 50%;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n font-weight: 600;\n border: none;\n height: 48px;\n padding: 14px;\n @media #{$mobile} {\n --button-width: 100%;\n }\n\n &:hover,\n &:focus {\n background-color: var(--nylas-base-100);\n color: var(--nylas-primary);\n border-radius: var(--nylas-border-radius-2x);\n }\n &:active {\n background-color: var(--nylas-base-200);\n color: var(--nylas-base-800);\n }\n\n &.back {\n width: var(--button-width);\n background-color: transparent;\n color: var(--nylas-base-700);\n outline: 1px solid var(--nylas-base-300);\n &:hover,\n &:focus {\n outline-color: var(--nylas-primary);\n }\n &:active {\n outline: 2px solid var(--nylas-base-600);\n }\n }\n\n &.book {\n width: var(--button-width);\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}\n\n.input-wrapper {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 4px;\n margin-bottom: 1rem;\n input::placeholder {\n color: var(--nylas-base-300);\n }\n label,\n input {\n font-family: var(--nylas-font-family);\n }\n .help-text {\n margin: 0;\n color: var(--nylas-error);\n }\n}\n\n.button-wrapper {\n width: 100%;\n align-items: flex-start;\n height: max-content;\n position: relative;\n}\n\nsp-infield-button {\n --spectrum-infield-button-background-color: transparent;\n --spectrum-infield-button-background-color-hover: transparent;\n --spectrum-infield-button-background-color-active: transparent;\n --spectrum-infield-button-border-color: transparent;\n --spectrum-infield-button-border-width: 1px;\n --spectrum-infield-button-border-radius: 0;\n color: var(--nylas-base-600);\n background: transparent;\n border: none;\n outline: 1px solid var(--nylas-base-300);\n border-radius: 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x) 0;\n height: 52px;\n width: 52px;\n display: flex;\n position: absolute;\n right: 0;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n sp-icon-cross300 {\n color: var(--nylas-base-600);\n }\n &.error {\n border-width: 2px;\n border-color: var(--nylas-error);\n }\n}\n\ninput[type='text'],\ninput[type='email'] {\n @include textfield;\n &.guest-email {\n color: var(--nylas-base-900);\n padding-right: 52px; // Infield button width\n }\n}\n\nlabel {\n @include input-label;\n}\n","import { Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConnector } from '../../..';\nimport type { NylasEvent, NylasSchedulerBookingData } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduler/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Notification, NylasSchedulerBookingParticipant } from '@nylas/core';\n\nconst emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n/**\n * The `nylas-booking-form` component is a UI component that allows users to book an event.\n *\n * The booking form component.\n * @part nbf - The booking form host.\n * @part nbf__input-label - The input label.\n * @part nbf__input-textfield - The input textfield.\n * @part nbf__button-ghost - The ghost button for adding guests.\n * @part nbf__button-primary - The primary button for booking.\n * @part nbf__button-outline - The outline button for canceling.\n * @slot custom-booking-form - The custom booking form.\n */\n@Component({\n tag: 'nylas-booking-form',\n styleUrl: 'nylas-booking-form.scss',\n shadow: true,\n})\nexport class NylasBookingForm {\n /**\n * The host element\n */\n @Element() readonly host!: HTMLElement;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The booked event (Used to track if a booking is created in an eventOverride).\n */\n @Prop() readonly eventInfo?: NylasEvent;\n\n /**\n * This event is fired when the name is changed.\n */\n @Event() nameChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the email is changed.\n */\n @Event() emailChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the cancel button is clicked.\n */\n @Event() backButtonClicked!: EventEmitter<boolean>;\n\n /**\n * This event is fired when the book button is clicked.\n */\n @Event() detailsConfirmed!: EventEmitter<NylasSchedulerBookingData>;\n\n /**\n * This event is fired when an error occurs in the booking form.\n */\n @Event() bookingFormError!: EventEmitter<Partial<Notification>>;\n\n /**\n * The name of the user.\n */\n @State() name: string = '';\n\n /**\n * The email address of the user.\n */\n @State() email: string = '';\n\n /**\n * The guests of the user.\n */\n @State() guestEmails: string[] = [];\n\n /**\n * Guest email input errors.\n */\n @State() guestEmailErrors: { [key: number]: string } = {};\n\n /**\n * State to check if name is valid.\n */\n @State() isNameValid: boolean = true;\n\n /**\n * State to check if email is valid.\n */\n @State() isEmailValid: boolean = true;\n\n /**\n * Error message state.\n */\n @State() validationError: { name: string; email: string } = { name: '', email: '' };\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {\n debug('nylas-booking-form', 'componentWillLoad', this.bookingInfo);\n if (this.bookingInfo) {\n this.name = this.bookingInfo.primaryParticipant?.name;\n this.email = this.bookingInfo.primaryParticipant?.email;\n }\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue.primaryParticipant) {\n this.name = newValue.primaryParticipant.name;\n this.email = newValue.primaryParticipant.email;\n }\n }\n\n /**\n * Change the name.\n * @param name The name to select.\n */\n changeName(name: string) {\n // Reset the validation error\n this.isNameValid = true;\n this.validationError.name = '';\n\n this.name = name;\n this.nameChanged.emit(name);\n }\n\n /**\n * Change the email.\n * @param email The email to select.\n */\n changeEmail(email: string) {\n // Reset the validation error\n this.isEmailValid = true;\n this.validationError.email = '';\n\n this.email = email;\n this.emailChanged.emit(email);\n }\n\n resetGuestEmailError(guestIndex: number) {\n const errors = { ...this.guestEmailErrors };\n delete errors[guestIndex];\n this.guestEmailErrors = { ...errors };\n }\n\n /**\n * Handle guest emails changed.\n */\n handleGuestChange = (guestIndex: number, email: string) => {\n // Reset the validation error\n this.resetGuestEmailError(guestIndex);\n const guests = [...this.guestEmails];\n guests[guestIndex] = email;\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle guest input blur.\n */\n handleGuestBlur = (guestIndex: number, email: string) => {\n this.resetGuestEmailError(guestIndex);\n\n if (email === '') {\n this.guestEmailErrors[guestIndex] = 'Email is required';\n return;\n }\n if (!emailRegex.test(email)) {\n this.guestEmailErrors[guestIndex] = 'Enter a valid email address';\n return;\n }\n this.handleGuestChange(guestIndex, email);\n };\n\n /**\n * Handle add guest button clicked.\n */\n addGuestButtonClickedHandler = () => {\n this.guestEmails = [...this.guestEmails, ''];\n };\n\n /**\n * Handle remove guest button clicked.\n */\n removeGuestButtonClickHandler = (e: Event, guestIndex: number) => {\n e.preventDefault();\n this.resetGuestEmailError(guestIndex);\n\n const guests = [...this.guestEmails];\n guests.splice(guestIndex, 1);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle back button clicked.\n */\n handleBackButtonClicked = () => {\n this.backButtonClicked.emit();\n };\n\n /**\n *\n * Handle book button clicked.\n */\n bookButtonClickedHandler = async (e: Event) => {\n e.preventDefault();\n debug('nylas-booking-form', 'bookButtonClickedHandler', this.bookingInfo);\n const name = this.name || this.bookingInfo?.primaryParticipant?.name;\n const email = this.email || this.bookingInfo?.primaryParticipant?.email;\n\n if (!name || name === '') {\n this.isNameValid = false;\n this.validationError.name = 'Name is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Name is required',\n });\n return;\n }\n if (!email || email === '') {\n this.isEmailValid = false;\n this.validationError.email = 'Email is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Email is required',\n });\n return;\n }\n if (!emailRegex.test(email)) {\n this.isEmailValid = false;\n this.validationError.email = 'Enter a valid email address';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Invalid email',\n });\n return;\n }\n\n let guests: NylasSchedulerBookingParticipant[] = [];\n if (this.guestEmails.length > 0) {\n let hasError = false;\n this.guestEmails.forEach((email: string, i: number) => {\n if (email === '') {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: 'Email is required' };\n } else if (!emailRegex.test(email)) {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: 'Enter a valid email address' };\n }\n });\n if (hasError) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Invalid guest email',\n });\n return;\n }\n guests = this.guestEmails.map((email: string) => ({ name: '', email: email.trim() }));\n } else if (this.bookingInfo?.guests) {\n guests = this.bookingInfo?.guests;\n }\n\n this.detailsConfirmed.emit({\n primaryParticipant: {\n name: name,\n email: email,\n },\n guests: guests,\n additionalFields: {\n ...this.bookingInfo?.additionalFields,\n },\n });\n };\n\n @RegisterComponent<NylasBookingForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-booking-form',\n stateToProps: new Map([\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.eventInfo', 'eventInfo'],\n ]),\n eventToProps: {\n backButtonClicked: async (_event: CustomEvent<boolean>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(false);\n },\n nameChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantName(event.detail);\n },\n emailChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantEmail(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <form onSubmit={e => this.bookButtonClickedHandler(e)} noValidate>\n <div class=\"nylas-booking-form\">\n <slot name=\"custom-booking-form\">\n <div class=\"input-wrapper\">\n <label htmlFor=\"name\" class={{ 'input-label': true, 'error': !this.isNameValid }} part=\"nbf__input-label\">\n Name <span class=\"required\">*</span>\n </label>\n <input\n id=\"name\"\n type=\"text\"\n placeholder=\"Enter your name\"\n value={this.name}\n class={{\n input: true,\n error: !this.isNameValid,\n }}\n part=\"nbf__input-textfield\"\n onInput={(e: Event) => this.changeName((e.target as HTMLInputElement)?.value)}\n ></input>\n <p class=\"help-text\">{this.validationError.name}</p>\n </div>\n <div class=\"input-wrapper\">\n <label htmlFor=\"email\" class={{ 'input-label': true, 'error': !this.isEmailValid }} part=\"nbf__input-label\">\n Email <span class=\"required\">*</span>\n </label>\n <input\n id=\"email\"\n type=\"email\"\n placeholder=\"Enter your email\"\n value={this.email}\n class={{\n input: true,\n error: !this.isEmailValid,\n }}\n part=\"nbf__input-textfield\"\n onInput={(e: Event) => this.changeEmail((e.target as HTMLInputElement)?.value)}\n ></input>\n <p class=\"help-text\">{this.validationError.email}</p>\n </div>\n {/* <div class=\"input-wrapper\">\n <sp-button class=\"add-guest\" variant=\"primary\" part=\"nbf__button-ghost\" onClick={this.addGuestButtonClickedHandler}>\n <add-circle-icon slot=\"icon\"></add-circle-icon>\n Add guest\n </sp-button>\n {this.guestEmails.map((email, index) => (\n <div class=\"input-wrapper button-wrapper\">\n <input\n type=\"email\"\n id={`guest-email-${index}`}\n class={{\n 'guest-email': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n placeholder=\"Enter guest email\"\n value={email}\n data-index={index}\n part=\"nbf__input-textfield\"\n onBlur={(e: Event) => this.handleGuestBlur(index, (e.target as HTMLInputElement)?.value)}\n onInput={(e: Event) => this.handleGuestChange(index, (e.target as HTMLInputElement)?.value)}\n ></input>\n <sp-infield-button\n size=\"s\"\n class={{\n 'remove-guest': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n treatment=\"outline\"\n inline=\"end\"\n onClick={(e: Event) => this.removeGuestButtonClickHandler(e, index)}\n >\n <sp-icon-cross300 size=\"s\"></sp-icon-cross300>\n </sp-infield-button>\n <p class=\"help-text\">{this.guestEmailErrors[index]}</p>\n </div>\n ))}\n </div> */}\n </slot>\n </div>\n <div class=\"cta\">\n <sp-button treatment=\"outline\" variant=\"secondary\" class={'back'} part=\"nbf__button-outline\" onClick={this.handleBackButtonClicked}>\n <slot name=\"booking-form-back-label\">Back</slot>\n </sp-button>\n <sp-button variant=\"primary\" class={'book'} part=\"nbf__button-primary\" type=\"submit\">\n {this.isLoading && <loading-icon slot=\"icon\"></loading-icon>}\n <slot name=\"booking-form-book-label\">Book now</slot>\n </sp-button>\n </div>\n </form>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n width: 400px;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.nylas-cancel-booking-form {\n display: flex;\n align-items: center;\n flex-direction: column;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.nylas-cancel-booking-form__title {\n font-size: 18px;\n font-weight: 600;\n margin-bottom: 0;\n color: var(--nylas-base-900);\n}\n\n.nylas-cancel-booking-form__description {\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 140%;\n color: var(--nylas-base-600);\n}\n\n.nylas-cancel-booking-form__calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\ncalendar-cancel-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n font-weight: 600;\n width: 100%;\n height: 48px;\n padding: 8px;\n line-height: 24px;\n font-family: var(--nylas-font-family);\n &.cancel {\n margin-top: 1.25rem;\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n &.back {\n margin-top: 0.5rem;\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n }\n}\n\nsp-field-label {\n margin-top: 1rem;\n display: flex;\n color: var(--nylas-base-800);\n &.error {\n color: var(--nylas-error);\n }\n span.required {\n color: var(--nylas-error);\n }\n}\nsp-textfield {\n --spectrum-textfield-border-color: var(--nylas-base-300);\n --spectrum-textfield-icon-color-invalid: var(--nylas-error);\n position: relative;\n width: 100%;\n height: 48px;\n margin-bottom: 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-500);\n &.error {\n --spectrum-textfield-border-color: var(--nylas-error);\n }\n}\n\nsp-help-text {\n margin: 0.25rem 0 1rem 0;\n color: var(--nylas-error);\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduler/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Notification, NylasSchedulerErrorResponse } from '@nylas/core';\n\n/**\n * The `nylas-cancel-booking-form` component is a UI component that allows users to cancel a booking.\n */\n@Component({\n tag: 'nylas-cancel-booking-form',\n styleUrl: 'nylas-cancel-booking-form.scss',\n shadow: true,\n})\nexport class NylasCancelBookingForm {\n /**\n * The booking ID to cancel.\n */\n @Prop() readonly cancelBookingId!: string;\n\n /**\n * This event is fired when the Go back button is clicked on the cancel booking form.\n */\n @Event() readonly goBackButtonClicked!: EventEmitter<void>;\n\n /**\n * This event is fired when the cancel booking form is submitted.\n */\n @Event() readonly cancelBookingFormSubmitted!: EventEmitter<{ bookingId: string; reason: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs while cancelling the booking.\n */\n @Event() readonly cancelBookedEventError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n /**\n * This event is fired when an error occurs in the booking form.\n */\n @Event() cancelBookingFormError!: EventEmitter<Partial<Notification>>;\n\n /**\n * The reason for cancellation.\n */\n @State() cancellationReason: string = '';\n\n @State() cancellationError: string = '';\n\n connectedCallback() {\n debug(`[nylas-cancel-booking-form] Component connected`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-cancel-booking-form] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-cancel-booking-form] Component did load`);\n }\n\n disconnectedCallback() {\n debug(`[nylas-cancel-booking-form] Component disconnected`);\n }\n\n private handleGoBackClicked = () => {\n this.goBackButtonClicked.emit();\n };\n\n private handleSubmitCancelBooking = (event: Event) => {\n event.preventDefault();\n if (!this.cancellationReason) {\n this.cancellationError = 'Please provide a reason for cancellation.';\n this.cancelBookingFormError.emit({ title: 'Cancel booking form error', description: 'Please provide a reason for cancellation.' });\n return;\n }\n\n debug(`[nylas-cancel-booking-form] Cancel booking form submitted with reason: ${this.cancellationReason}`);\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.cancelBookedEventError.emit(error);\n };\n this.cancelBookingFormSubmitted.emit({ bookingId: this.cancelBookingId, reason: this.cancellationReason, errorHandler });\n };\n\n private handleOnChangeCancellationReason = (event: Event) => {\n this.cancellationError = '';\n this.cancellationReason = (event.target as HTMLInputElement).value;\n };\n\n @RegisterComponent<NylasCancelBookingForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-cancel-booking-form',\n eventToProps: {\n cancelBookingFormSubmitted: async (\n event: CustomEvent<{ bookingId: string; reason: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>,\n nylasSchedulerConnector: NylasSchedulerConnector,\n ) => {\n const result = await nylasSchedulerConnector.scheduler.cancelBooking(event.detail.bookingId);\n const { errorHandler } = event.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncec\">\n <sp-theme theme=\"spectrum\" scale=\"medium\">\n <div class=\"nylas-cancel-booking-form\" part=\"ncec__card\">\n <div class=\"nylas-cancel-booking-form__calendar-icon\" part=\"ncec__icon\">\n <calendar-cancel-icon />\n </div>\n <h3 class=\"nylas-cancel-booking-form__title\" part=\"ncec__title\">\n Cancel booking?\n </h3>\n <div class=\"nylas-cancel-booking-form__description\" part=\"ncec__description\">\n Your current timeslot will become available to others.\n </div>\n <form onSubmit={this.handleSubmitCancelBooking}>\n <sp-field-label for=\"cancel-reason\" class={this.cancellationError ? 'error' : ''}>\n Reason for cancellation <span class=\"required\">*</span>\n </sp-field-label>\n <sp-textfield\n id=\"cancel-reason\"\n class={this.cancellationError ? 'error' : ''}\n part=\"ncec__reason-textarea\"\n multiline\n value={this.cancellationReason}\n onInput={this.handleOnChangeCancellationReason}\n onFocus={this.handleOnChangeCancellationReason}\n invalid={!!this.cancellationError}\n >\n <sp-help-text slot=\"negative-help-text\">{this.cancellationError}</sp-help-text>\n </sp-textfield>\n <sp-button variant=\"primary\" class=\"cancel\" type=\"submit\" part=\"ncec__button-cta\">\n Cancel booking\n </sp-button>\n <sp-button variant=\"secondary\" class=\"back\" treatment=\"outline\" part=\"ncec__button-outline\" onClick={this.handleGoBackClicked}>\n Go back\n </sp-button>\n </form>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.nylas-cancelled-event-card {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 400px;\n @media #{$mobile} {\n width: inherit;\n }\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.nylas-cancelled-event-card__title {\n font-size: 18px;\n font-weight: 600;\n line-height: 24px;\n color: var(--nylas-base-900);\n text-align: center;\n}\n\n.nylas-cancelled-event-description {\n font-size: 16px;\n font-weight: 500;\n color: var(--nylas-base-600);\n}\n\n.nylas-cancelled-event-card__calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\n.nylas-cancelled-event-card__cta {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n margin-top: 1rem;\n}\n\ncalendar-cancel-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 1rem;\n height: 48px;\n padding: 8px;\n line-height: 24px;\n width: 100%;\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { NylasEvent, NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduler/nylas-scheduling';\nimport { debug } from '@/utils/utils';\n\n/**\n * The `nylas-cancelled-event-card` component is a UI component that displays the cancelled event card.\n *\n * @part ncec - The cancelled event card host.\n * @part ncec__icon - The calendar icon.\n * @part ncec__title - The title of the cancelled event card.\n * @part ncec__description - The description of the cancelled event card.\n * @part ncec__button-outline - The close button CTA.\n * @part ncec__card - The cancelled event card.\n */\n@Component({\n tag: 'nylas-cancelled-event-card',\n styleUrl: 'nylas-cancelled-event-card.scss',\n shadow: true,\n})\nexport class NylasCancelledEventCard {\n /**\n * The participant's name who booked the event / is logged in.\n */\n @Prop() readonly cancelledEventInfo!: Partial<NylasEvent>;\n\n /**\n * This event is fired when the close button is clicked on the cancelled event card.\n */\n @Event() readonly closeCancelEventCardClicked!: EventEmitter<void>;\n\n connectedCallback() {\n debug(`[nylas-cancelled-event-card] Component connected`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-cancelled-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-cancelled-event-card] Component did load`);\n }\n\n disconnectedCallback() {\n debug(`[nylas-cancelled-event-card] Component disconnected`);\n }\n\n private handleCloseClicked = () => {\n this.closeCancelEventCardClicked.emit();\n };\n\n @RegisterComponent<NylasCancelledEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-cancelled-event-card',\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"nylas-cancelled-event-card\" part=\"ncec__card\">\n <div class=\"nylas-cancelled-event-card__calendar-icon\" part=\"ncec__icon\">\n <calendar-cancel-icon />\n </div>\n <h3 class=\"nylas-cancelled-event-card__title\" part=\"ncec__title\">\n Your booking has been cancelled successfully!\n </h3>\n <div class=\"nylas-cancelled-event-card__description\" part=\"ncec__description\">\n A cancellation email has been sent to the participants.\n </div>\n <div class=\"nylas-cancelled-event-card__cta\">\n <sp-button variant=\"secondary\" treatment=\"outline\" part=\"ncec__button-outline\" onClick={this.handleCloseClicked}>\n Close\n </sp-button>\n </div>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n min-height: 444px;\n @include default-css-variables;\n}\n\n.nylas-date-picker {\n display: flex;\n gap: 1rem;\n flex-direction: column;\n}\n\n.header {\n margin: 0 0.5rem;\n height: 48px;\n h2 {\n font-size: 1.3125rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--nylas-base-800);\n\n strong {\n font-weight: 600;\n }\n }\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n 50% {\n background-color: var(--nylas-base-100);\n }\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.dates {\n display: grid;\n justify-items: center;\n grid-template-columns: repeat(7, 1fr);\n gap: 0.5rem;\n margin-bottom: 1rem;\n\n .date {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 48px;\n width: 48px;\n min-width: 2rem;\n min-height: 2rem;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n font-size: min(max(14px, 3vw), 16px);\n font-weight: 600;\n font-family: inherit;\n @media #{$mobile} {\n width: max(min(1rem, 7vw), 75%);\n height: 2.5rem;\n min-width: 2rem;\n }\n\n color: var(--nylas-base-text);\n background-color: var(--nylas-base-100);\n cursor: pointer;\n\n &:hover:not(:disabled) {\n box-shadow: 0 0 0 2px var(--nylas-base-500) inset;\n }\n\n border: none;\n\n &.date.current-month {\n color: var(--nylas-base-800);\n }\n\n &.date.selected {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n font-weight: 700;\n }\n\n &.date.day-skeleton {\n color: var(--nylas-base-300);\n }\n\n &:disabled {\n color: var(--nylas-base-300);\n background-color: transparent;\n font-weight: 400;\n cursor: not-allowed;\n }\n }\n .day {\n font-size: 0.75rem;\n color: var(--nylas-base-800);\n font-weight: 600;\n letter-spacing: 0.5px;\n height: 32px;\n display: flex;\n align-items: center;\n }\n\n .date.day-skeleton {\n height: 48px;\n width: 48px;\n @media #{$mobile} {\n width: max(min(1rem, 7vw), 75%);\n min-width: 2rem;\n font-size: 0.825rem;\n }\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n background-color: var(--nylas-base-50);\n }\n\n .date.current-day::after {\n content: '';\n position: absolute;\n bottom: 6px;\n left: 50%;\n transform: translateX(-50%);\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--nylas-base-500);\n }\n .date.current-day.selected::after {\n background-color: var(--nylas-base-100);\n }\n}\n\n.pagination {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n min-width: 92px;\n .chevron-right {\n transform: rotate(180deg);\n }\n .button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 3vh;\n width: 3vh;\n min-width: 3em;\n min-height: 3em;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n\n background-color: transparent;\n color: var(--nylas-base-800);\n cursor: pointer;\n\n &:hover {\n background-color: var(--nylas-base-50);\n }\n\n border: none;\n\n &:active {\n background-color: var(--nylas-base-100);\n }\n\n &:disabled {\n background-color: transparent;\n color: var(--nylas-base-300);\n cursor: not-allowed;\n }\n }\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n color: var(--nylas-base-500);\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { getFirstDayOfMonth, getLastDayOfMonth, isSameDay, isSameMonth } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core';\nimport { timeDay } from 'd3-time';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduler/nylas-scheduling';\n\n/**\n * The `nylas-date-picker` component is a UI component that allows users to select a date.\n *\n * @part ndp - The date picker host.\n * @part ndp__month-header - The month header.\n * @part ndp__month-button - The month button.\n * @part ndp__day - The day.\n * @part ndp__date - The date.\n * @part ndp__date--selected - The selected date.\n * @part ndp__date--current-day - The current day.\n * @part ndp__date--current-month - The dates in the current month.\n */\n@Component({\n tag: 'nylas-date-picker',\n styleUrl: 'nylas-date-picker.scss',\n shadow: true,\n})\nexport class NylasDatePicker {\n /**\n * The dates that are selectable.\n */\n @Prop() selectableDates?: Date[];\n\n /**\n * The selected date.\n */\n @Prop() selectedDate?: Date;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The month to display.\n */\n @State() month: Date = this.selectedDate || new Date();\n\n /**\n * The dates to render.\n */\n @State() dates: Date[] = this.getDates();\n\n /**\n * This event is fired when a date is selected.\n */\n @Event() dateSelected!: EventEmitter<Date>;\n\n /**\n * This event is fired when the month is changed.\n */\n @Event() monthChanged!: EventEmitter<Date>;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n /**\n * Get the dates to render, including the days from the previous and next months.\n * @returns The dates to render.\n */\n private getDates() {\n const lastDayOfMonth = getLastDayOfMonth(this.month);\n const firstDayOfMonth = getFirstDayOfMonth(this.month);\n\n return timeDay.range(timeDay.offset(firstDayOfMonth, -firstDayOfMonth.getDay()), timeDay.offset(lastDayOfMonth, 7 - lastDayOfMonth.getDay()));\n }\n\n /**\n * Select a date.\n * @param date The date to select.\n */\n private selectDate(date?: Date) {\n this.dateSelected.emit(date);\n }\n\n /**\n * Change the month.\n * @param change The change in months.\n */\n private changeMonth(change: number) {\n this.month = new Date(this.month.getFullYear(), this.month.getMonth() + change, 1);\n this.dates = this.getDates();\n this.monthChanged.emit(this.month);\n // unset selected date when changing month\n this.selectDate();\n }\n\n private isSelected(date: Date | undefined, selectedDate: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectedDate && isSameDay(date, selectedDate) && selectableDates && selectableDates?.length > 0;\n }\n\n private isDisabled(date: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectableDates?.find(d => isSameDay(d, date)) === undefined;\n }\n\n @RegisterComponent<NylasDatePicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-date-picker',\n stateToProps: new Map([\n ['scheduler.selectableDates', 'selectableDates'],\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.isLoading', 'isLoading'],\n ]),\n eventToProps: {\n dateSelected: async (event: CustomEvent<Date>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectDate(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ndp\">\n <div class=\"nylas-date-picker\">\n <div class={'header flex-row'}>\n <h2 part={'ndp__month-header'}>\n <strong>{this.month.toLocaleDateString(undefined, { month: 'long' })}</strong>\n \n {this.month.toLocaleDateString(undefined, { year: 'numeric' })}\n </h2>\n <div class={'pagination'}>\n <button\n onClick={() => this.changeMonth(-1)}\n class={{ 'chevron-left': true, 'button': true }}\n disabled={!this.selectableDates?.length || this.month <= new Date()}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n <button onClick={() => this.changeMonth(1)} class={{ 'chevron-right': true, 'button': true }} disabled={!this.selectableDates?.length} part=\"ndp__month-button\">\n <chevron-icon />\n </button>\n </div>\n </div>\n\n <div class={'dates'}>\n {['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'].map(day => {\n return (\n <div class={'day'} part=\"ndp__day\">\n {day}\n </div>\n );\n })}\n {this.dates.map((date, i) => {\n const isDisabled = this.isDisabled(date, this.selectableDates);\n\n if (this.isLoading) {\n return (\n <button\n disabled\n class={{\n 'date day-skeleton': true,\n 'current-month': isSameMonth(date, this.month),\n }}\n style={{ animationDelay: `${i * 20}ms` }}\n part={'ndp__date'}\n >\n {date.getDate()}\n </button>\n );\n }\n return (\n <button\n class={{\n 'date': true,\n 'selected': !!(this.selectedDate && isSameDay(date, this.selectedDate) && this.selectableDates && this.selectableDates?.length > 0),\n 'current-day': isSameDay(date, new Date()),\n 'current-month': isSameMonth(date, this.month),\n }}\n aria-lang={date.toLocaleDateString(undefined, { dateStyle: 'full' })}\n disabled={isDisabled}\n onClick={() => this.selectDate(date)}\n part={`ndp__date ${this.isSelected(date, this.selectedDate, this.selectableDates) ? 'ndp__date--selected' : ''} ${isSameDay(date, new Date()) ? 'ndp__date--current-day' : ''} ${isSameMonth(date, this.month) ? 'ndp__date--current-month' : ''}`}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-locale-switch {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n height: 68px;\n border-left: none;\n border-right: none;\n color: var(--nylas-base-50);\n font-size: min(max(14px, 3vw), 16px);\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n font-family: inherit;\n}\n\n.select-wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\nselect {\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n background-color: transparent;\n margin: 0 0 1px;\n padding: 4px;\n vertical-align: middle;\n &#timezone {\n width: 140px;\n }\n &#language {\n width: 80px;\n }\n}\n\nspan.timezone-label {\n display: flex;\n width: -webkit-fill-available;\n justify-content: space-between;\n}\n","import { LANGUAGE_MAP, TIMEZONE_MAP, getTimezoneOffset } from '@/common/constants';\nimport { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, Host, Listen, Prop, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../../components';\nimport { NylasScheduling } from '../nylas-scheduler/nylas-scheduling';\n\n/**\n * The `nylas-locale-switch` component is a UI component that allows users to select a timezone and language.\n */\n@Component({\n tag: 'nylas-locale-switch',\n styleUrl: 'nylas-locale-switch.scss',\n shadow: true,\n})\nexport class NylasLocaleSwitch {\n /**\n * The selected timezone.\n */\n @Prop({ mutable: true }) selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected language.\n */\n @Prop({ mutable: true }) selectedLanguage: string = navigator.language;\n\n /**\n * This event is fired when the timezone is changed.\n */\n @Event() timezoneChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the language is changed.\n */\n @Event() languageChanged!: EventEmitter<string>;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n /**\n * Change the timezone.\n * @param timezone The timezone to select.\n */\n private changeTimezone(timezone: string) {\n this.selectedTimezone = timezone;\n this.timezoneChanged.emit(timezone);\n }\n\n /**\n * Change the language.\n * @param language The language to select.\n */\n private changeLanguage(language: string) {\n this.selectedLanguage = language;\n this.languageChanged.emit(language);\n }\n\n @Listen('selectedOptionChanged')\n selectedOptionChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.changeTimezone(value);\n } else if (name === 'language') {\n this.changeLanguage(value);\n }\n }\n\n getTimezoneLabelHTML(timezone: string) {\n const offset = getTimezoneOffset(timezone);\n return (\n <span\n class=\"timezone-label\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '-webkit-fill-available',\n }}\n >\n {TIMEZONE_MAP[timezone]}{' '}\n <span\n class=\"timezone-offset\"\n style={{\n fontSize: '14px',\n fontWeight: '400',\n color: 'var(--nylas-base-500)',\n }}\n >\n {offset}\n </span>\n </span>\n );\n }\n\n @RegisterComponent<NylasLocaleSwitch, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-locale-switch',\n stateToProps: new Map([\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ]),\n eventToProps: {\n timezoneChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectTimezone(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n labelHTML: this.getTimezoneLabelHTML(key),\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-locale-switch\">\n <div\n class={{\n 'select-wrapper': true,\n 'timezone': true,\n }}\n >\n <select-dropdown name=\"timezone\" options={timezoneOptions} defaultSelectedOption={timezoneOptions.find(op => op.value == this.selectedTimezone)}>\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div\n class={{\n 'select-wrapper': true,\n 'language': true,\n }}\n >\n <select-dropdown name=\"language\" options={languageOptions} defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}>\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'nylas-logo',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class NylasLogo {\n @Prop() width: string = '69';\n @Prop() height: string = '24';\n\n render() {\n return (\n <svg width={this.width} height={this.height} viewBox=\"0 0 69 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_455_3543)\">\n <path\n d=\"M15.8092 3.03248C14.6497 1.86996 13.1076 1.23047 11.4646 1.23047C9.82156 1.23047 8.27753 1.86996 7.11999 3.03248L0.835347 9.33381C0.686846 9.4827 0.60498 9.68123 0.60498 9.89312C0.60498 10.105 0.686846 10.3035 0.835347 10.4524C0.983848 10.6013 1.18185 10.6834 1.39318 10.6834C1.60451 10.6834 1.80251 10.6013 1.95101 10.4524L8.23374 4.15111C10.0139 2.36627 12.9134 2.36627 14.6935 4.15111C16.4736 5.93785 16.4756 8.84322 14.6935 10.6281L8.4108 16.9275C8.10428 17.2348 8.10428 17.7368 8.4108 18.0461C8.5593 18.195 8.75731 18.2771 8.96863 18.2771C9.17996 18.2771 9.37796 18.195 9.52646 18.0461L15.8092 11.7467C16.9687 10.5841 17.6064 9.03793 17.6064 7.39053C17.6064 5.74314 16.9687 4.19501 15.8092 3.03439V3.03248Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M14.9296 7.39038C14.9296 6.46074 14.5698 5.58837 13.9148 4.93361C12.5631 3.57828 10.3641 3.57828 9.01239 4.93361L0.663961 13.3023C0.51546 13.4512 0.433594 13.6497 0.433594 13.8616C0.433594 14.0735 0.51546 14.272 0.663961 14.4209C0.812462 14.5698 1.01046 14.6519 1.22179 14.6519C1.43312 14.6519 1.63112 14.5698 1.77962 14.4209L10.0367 6.1515L10.05 6.13623C10.0747 6.10759 10.1014 6.07705 10.128 6.05033C10.1585 6.01978 10.1928 5.99115 10.2251 5.96252L10.2442 5.94534C10.9886 5.31349 12.1119 5.3593 12.8011 6.05033C13.4903 6.74135 13.536 7.78171 12.9705 8.53192L12.9648 8.53955C12.9058 8.61591 12.8544 8.67699 12.8011 8.73044C12.7497 8.78198 12.6906 8.83352 12.6069 8.90033L4.45264 17.0991C4.30414 17.248 4.22227 17.4465 4.22227 17.6584C4.22227 17.8703 4.30414 18.0689 4.45264 18.2177C4.60114 18.3666 4.79914 18.4487 5.01047 18.4487C5.2218 18.4487 5.4198 18.3666 5.5683 18.2177L13.9167 9.84716C14.5698 9.1924 14.9315 8.31812 14.9315 7.39038H14.9296Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.6821 9.11238C10.4727 9.01694 10.2861 8.88904 10.1281 8.7306C9.97008 8.57216 9.84252 8.38508 9.74733 8.1751L9.69021 8.05103L0.467916 17.2978C0.287049 17.4792 0.174721 17.7082 0.149971 17.9411C0.125221 18.1778 0.19376 18.3897 0.344165 18.5405C0.471724 18.6684 0.65259 18.739 0.850592 18.739C1.11142 18.739 1.37796 18.6207 1.58358 18.4145L10.8059 9.16774L10.6821 9.11047V9.11238Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M68.401 10.6185C68.2126 10.2692 67.9593 9.97334 67.6433 9.73854C67.3235 9.49993 66.956 9.31094 66.5486 9.17541C66.1316 9.03606 65.7033 8.91771 65.2749 8.81844C64.7951 8.70582 64.3039 8.57983 63.8165 8.44811C63.3196 8.31258 62.9065 8.14269 62.5905 7.94225C62.4743 7.88689 62.3391 7.76663 62.3391 7.50129C62.3391 7.39821 62.3639 7.29704 62.4153 7.19587L62.4248 7.18059C62.5352 7.02216 62.7142 6.8828 62.975 6.75109C63.234 6.62128 63.609 6.55829 64.1231 6.55829C64.5286 6.55829 64.877 6.61365 65.1569 6.72436C65.4348 6.83508 65.6652 6.96871 65.8442 7.12524C66.0212 7.27986 66.1659 7.45357 66.2782 7.63873C66.3563 7.76854 66.4267 7.89262 66.4858 8.00525L68.2754 6.84081C68.1669 6.59456 68.0146 6.33495 67.8204 6.0677C67.6033 5.768 67.3254 5.4893 66.9922 5.23732C66.659 4.98534 66.2516 4.77345 65.7813 4.60929C65.3111 4.44512 64.7532 4.36304 64.1231 4.36304C63.3844 4.36304 62.7599 4.46421 62.2706 4.66083C61.7813 4.85935 61.3815 5.09988 61.0845 5.37667C60.7875 5.65346 60.5628 5.95125 60.4143 6.2605C60.2639 6.57547 60.1611 6.85799 60.1078 7.10233C60.0945 7.18059 60.0812 7.27031 60.0678 7.36767C60.0545 7.4593 60.0469 7.5452 60.0469 7.62537C60.0469 8.13314 60.1745 8.56074 60.4239 8.89671C60.679 9.24222 61.0045 9.53429 61.391 9.76336C61.7813 9.99624 62.2116 10.1852 62.6704 10.3227C63.1388 10.462 63.5862 10.5823 64.0012 10.6796C64.4067 10.777 64.7932 10.8782 65.1531 10.9774C65.5224 11.0786 65.8289 11.2122 66.0631 11.3745C66.2801 11.5425 66.3887 11.7448 66.3887 11.9777C66.3887 12.2278 66.2916 12.4263 66.0993 12.5695C65.9279 12.6954 65.7261 12.7985 65.4958 12.8711C65.273 12.9436 65.0407 12.9913 64.8066 13.0142C64.58 13.0352 64.3915 13.0467 64.2468 13.0467C63.8032 13.0467 63.4224 13.0028 63.1197 12.915C62.8151 12.8272 62.5638 12.7241 62.3734 12.6057C62.1811 12.4874 62.0288 12.3614 61.9222 12.2316C61.8213 12.1094 61.747 12.0082 61.7014 11.9319L61.4957 11.6303L59.708 12.7928C59.8508 13.0161 60.0298 13.2643 60.2392 13.5296C60.4772 13.8293 60.7837 14.1138 61.153 14.3734C61.5224 14.633 61.966 14.8525 62.4724 15.0243C62.9788 15.1961 63.5748 15.282 64.2468 15.282C64.797 15.282 65.2901 15.2324 65.7166 15.137C66.1412 15.0396 66.5162 14.9117 66.8285 14.7552C67.1388 14.6005 67.4015 14.4192 67.6109 14.2149C67.8223 14.0107 67.9974 13.8026 68.1326 13.6003C68.4563 13.1135 68.6409 12.5504 68.6828 11.9262C68.6828 11.4069 68.5876 10.9641 68.401 10.6166V10.6185Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M26.3585 4.27905C23.7901 4.27905 21.6997 6.37504 21.6997 8.95017V15.0701H23.9291V8.95017C23.9291 7.6082 25.0181 6.5163 26.3565 6.5163C27.695 6.5163 28.784 7.6082 28.784 8.95017V15.0701H31.0134V8.95017C31.0134 6.37504 28.9229 4.27905 26.3546 4.27905H26.3585Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M53.4522 4.27905C50.4251 4.27905 47.9634 6.74728 47.9634 9.78245C47.9634 12.8176 50.427 15.2859 53.4522 15.2859C54.5545 15.2859 55.6188 14.9594 56.5288 14.3409L56.7116 14.2169V15.0682H58.941V9.78245C58.941 6.74728 56.4793 4.27905 53.4522 4.27905ZM53.4522 13.0505C51.655 13.0505 50.1928 11.5845 50.1928 9.78245C50.1928 7.98044 51.655 6.51439 53.4522 6.51439C55.2494 6.51439 56.7116 7.98044 56.7116 9.78245C56.7116 11.5845 55.2494 13.0505 53.4522 13.0505Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M45.5795 10.6166V0.356201H43.3501V10.6166C43.3501 13.1517 45.3758 15.2228 47.8908 15.2858V13.0486C46.6057 12.9875 45.5795 11.9204 45.5795 10.6166Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M39.5428 4.4967V10.63C39.5428 11.6761 38.8669 12.621 37.9016 12.9284C37.1249 13.1746 36.3157 13.0486 35.6817 12.5829C35.0592 12.1247 34.6879 11.3917 34.6879 10.6186V4.4967H32.4585V10.5995C32.4585 12.7165 33.8388 14.57 35.8131 15.1084C37.0354 15.4424 38.2995 15.2973 39.3695 14.7037L39.5428 14.6063V14.9747C39.5428 16.2766 38.5166 17.3437 37.2315 17.4067V19.6439C39.7465 19.5809 41.7722 17.5117 41.7722 14.9747V4.4967H39.5428Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_455_3543\">\n <rect width=\"68.7123\" height=\"19.2877\" fill=\"white\" transform=\"translate(0.144043 0.356201)\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n margin-bottom: -12px; // offset for the rounded border\n width: 100%;\n z-index: 1;\n @include default-css-variables;\n}\n.notif {\n display: flex;\n @media #{$mobile} {\n width: auto;\n }\n padding: 17px;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n border-radius: var(--nylas-border-radius-2x);\n border: 1.5px solid var(--nylas-error);\n background: var(--nylas-base-0);\n .content {\n display: flex;\n flex-direction: row;\n gap: 8px;\n .message {\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-800);\n .title {\n font-size: 16px;\n font-weight: 600;\n color: var(--nylas-base-950);\n display: block;\n }\n .description {\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-800);\n display: block;\n }\n }\n .icon {\n &.error {\n color: var(--nylas-error);\n }\n }\n }\n\n &.error {\n border-color: var(--nylas-error);\n }\n &.warning {\n border-color: var(--nylas-warning);\n }\n &.info {\n border-color: var(--nylas-info);\n }\n &.success {\n border-color: var(--nylas-success);\n }\n\n .dismiss-btn {\n background: none;\n border: none;\n color: var(--nylas-base-950);\n cursor: pointer;\n }\n}\n","import { Notification } from '@nylas/core';\nimport { Component, Fragment, Host, Listen, Prop, State, h } from '@stencil/core';\nimport { debug } from '@/utils/utils';\n\n/**\n * The `nylas-notification` component is a UI component that displays notifications.\n */\n@Component({\n tag: 'nylas-notification',\n styleUrl: 'nylas-notification.scss',\n shadow: true,\n})\nexport class NylasNotification {\n /**\n * The time-to-live for notifications in milliseconds. Set to 'none' to disable auto-dismissal.\n */\n @Prop() ttl: number | 'none' = 5000;\n @Prop() allowedCategories: string[] = ['component', 'api', 'validation', 'invalid_session'];\n\n @State() notifications: Notification[] = [];\n\n @Listen('nylasSchedulerError', { target: 'body' })\n onError(event: CustomEvent<Notification>) {\n debug(`[nylas-notification] Error: ${event.detail.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerWarning', { target: 'body' })\n onWarning(event: CustomEvent<Notification>) {\n debug(`[nylas-notification] Warning: ${event.detail.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerInfo', { target: 'body' })\n onInfo(event: CustomEvent<Notification>) {\n debug(`[nylas-notification] Info: ${event.detail.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerSuccess', { target: 'body' })\n onSuccess(event: CustomEvent<Notification>) {\n debug(`[nylas-notification] Success: ${event.detail.title}`);\n this.handleNotification(event);\n }\n\n private handleNotification(event: CustomEvent<Notification>) {\n if (event.defaultPrevented) {\n debug(`[nylas-notification] Event default prevented`);\n return;\n }\n if (this.ttl === 0) {\n debug(`[nylas-notification] TTL is 0`);\n return;\n }\n if (this.allowedCategories.length > 0 && !this.allowedCategories.includes(event.detail.category)) {\n debug(`[nylas-notification] Category not allowed`);\n return;\n }\n\n this.notifications = [...this.notifications, { ...event.detail }];\n if (event.detail.ttl !== 'none') {\n const ttl = event.detail.ttl ? event.detail.ttl : (this.ttl as number);\n window.setTimeout(() => {\n this.notifications = this.notifications.filter(notif => notif.id !== event.detail.id);\n }, ttl);\n }\n }\n\n private dismissNotification(id: string) {\n this.notifications = this.notifications.filter(notif => notif.id !== id);\n }\n\n render() {\n return (\n <Host>\n <Fragment>\n {this.notifications.map(notif => (\n <div class={`notif ${notif.type}`} key={notif.id}>\n <div class=\"content\">\n <span class={`icon ${notif.type}`}>{(notif.type === 'error' || notif.type === 'warning') && <warning-icon />}</span>\n <span class=\"message\">\n <span class=\"title\">{notif.title}</span>\n {notif.description && <span class=\"description\">{notif.description}</span>}\n </span>\n </div>\n <button class=\"dismiss-btn\" onClick={() => this.dismissNotification(notif.id)}>\n <close-icon />\n </button>\n </div>\n ))}\n <slot />\n </Fragment>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n}\n\nsp-theme {\n position: relative;\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.event-card {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: calc(100% - 3rem);\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 3rem 1.5rem 1.5rem 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.nylas-selected-event-card__date {\n font-size: min(max(16px, 3vw), 18px);\n font-weight: 600;\n}\n\n.nylas-selected-event-card__time {\n font-size: min(max(14px, 3vw), 16px);\n font-weight: 500;\n}\n\n.calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\ncalendar-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\n.event-timezone {\n display: flex;\n color: var(--nylas-base-600);\n margin-bottom: 1.5rem;\n gap: 4px;\n align-items: center;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\nimport type { NylasSchedulerConnector } from '../../..';\nimport type { Timeslot } from '@nylas/core';\nimport { NylasScheduling } from '../nylas-scheduler/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { TIMEZONE_MAP } from '@/common/constants';\n\n/**\n * The `nylas-selected-event-card` component is a UI component that displays the selected event card.\n *\n * @part nsec - The selected event card component.\n * @part nsec__card - The card component.\n * @part nsec__icon - The calendar icon.\n * @part nsec__date - The date selected.\n * @part nsec__time - The timeslot selected.\n * @part nsec__timezone - The timezone selected.\n */\n@Component({\n tag: 'nylas-selected-event-card',\n styleUrl: 'nylas-selected-event-card.scss',\n shadow: true,\n})\nexport class NylasSelectedEventCard {\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date;\n\n /**\n * The selected time.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /***\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n @State() startTime: string = '';\n @State() endTime: string = '';\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-selected-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-selected-event-card] Component did load`);\n }\n\n @Watch('selectedTimeslot')\n handleSelectedTimeslotChange(selectedTimeslot: Timeslot) {\n this.startTime = new Date(selectedTimeslot?.start_time as Date).toLocaleString(undefined, { timeStyle: 'short' });\n this.endTime = new Date(selectedTimeslot?.end_time as Date).toLocaleString(undefined, { timeStyle: 'short' });\n }\n\n @RegisterComponent<NylasSelectedEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-selected-event-card',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nsec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"event-card\" part=\"nsec__card\">\n <div class=\"calendar-icon\" part=\"nsec__icon\">\n <calendar-icon />\n </div>\n <div class=\"nylas-selected-event-card__date\" part=\"nsec__date\">\n {this.selectedDate?.toLocaleDateString(undefined, { dateStyle: 'full' })}\n </div>\n <div class=\"nylas-selected-event-card__time\" part=\"nsec__time\">\n {this.startTime} - {this.endTime}\n </div>\n </div>\n <div class=\"event-timezone\" part=\"nsec__timezone\">\n <globe-icon></globe-icon>\n {TIMEZONE_MAP[this.selectedTimezone]}\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n height: calc(100% - 48px); //48px is the height of the header\n}\n\n.time-picker-wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.time-slots {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n align-items: center;\n overflow-y: scroll;\n padding: 0.5rem 1.5rem;\n flex: 1;\n}\n\n.time {\n /* Frame 12 */\n box-sizing: border-box;\n\n /* Auto layout */\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 4px 12px;\n gap: 0.5rem;\n font-size: min(max(14px, 3vw), 16px);\n font-weight: 500;\n font-family: inherit;\n\n width: 100%;\n height: 48px;\n\n color: var(--nylas-base-800);\n background: var(--nylas-base-0);\n border: none;\n outline: 1.5px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n\n flex: none;\n order: 4;\n align-self: stretch;\n flex-grow: 0;\n\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: var(--nylas-primary);\n outline-color: var(--nylas-primary);\n }\n\n &.selected {\n font-weight: 600;\n color: var(--nylas-primary);\n outline: 2px solid var(--nylas-primary);\n border-color: transparent;\n box-shadow: 0 0 0 2px var(--nylas-primary);\n }\n}\n\n.empty {\n text-align: center;\n padding: 0 1.5rem;\n color: var(--nylas-base-600);\n font-size: min(max(12px, 2vw), 14px);\n height: 450px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n 50% {\n background-color: var(--nylas-base-100);\n }\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.loading {\n padding: 0 1.5rem;\n\n .time-slot-skeleton {\n width: 100%;\n height: 4rem;\n background-color: var(--nylas-base-50);\n margin-bottom: 0.5rem;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n }\n}\n\n.footer {\n width: 100%;\n padding: 10px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n\n sp-button {\n padding: 14px;\n color: var(--nylas-base-100);\n border-radius: var(--nylas-border-radius-2x);\n width: 100%;\n height: 48px;\n font-weight: 600;\n font-size: 16px;\n background-color: var(--nylas-primary);\n border: none;\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { debug, isSameDay } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduler/nylas-scheduling';\nimport { AvailabilityTimeslot } from '@/stores/scheduler-store';\nimport type { Timeslot } from '@nylas/core';\n\n/**\n * The `nylas-timeslot-picker` component is a UI component that allows users to select a timeslot from a list of available timeslots.\n *\n * @slot timeslot-picker-cta-label - The label for the timeslot picker CTA. Default is \"Next\".\n * @part ntp - The timeslot picker component.\n * @part ntp__timeslot - The timeslot button.\n * @part ntp__timeslot--selected - The selected timeslot button.\n * @part ntp__button-primary - The timeslot picker CTA.\n */\n@Component({\n tag: 'nylas-timeslot-picker',\n styleUrl: 'nylas-timeslot-picker.scss',\n shadow: true,\n})\nexport class NylasTimeslotPicker {\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date = new Date();\n /**\n * The available timeslots.\n */\n @Prop({ attribute: 'availability' }) readonly availability?: AvailabilityTimeslot[];\n /**\n * The selected timeslot.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /**\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop({ attribute: 'loading-state' }) readonly isLoading?: boolean;\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * This event is fired when a timeslot is selected.\n */\n @Event() readonly timeslotSelected!: EventEmitter<Timeslot>;\n /**\n * This event is fired when a timeslot is confirmed. By default, this will proceed to the booking form page.\n */\n @Event() readonly timeslotConfirmed!: EventEmitter<Timeslot>;\n\n @State() times: AvailabilityTimeslot[] = [];\n @State() hoveredTimeslotIndex?: number;\n @State() selectedTimeslotIndex?: string;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n const availableTimes = this.availability?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n debug(`[nylas-timeslot-picker] Component will load`, { selectedDate: this.selectedDate, availability: this.availability, times: this.times });\n }\n\n async componentDidLoad() {\n debug(`[nylas-timeslot-picker] Component did load`);\n }\n\n private getTimeslotId(date: Date, index: number) {\n return `${date.toLocaleDateString()}-${index}`;\n }\n\n private onClickSelectTime(timeslot: Timeslot, index: number) {\n debug(`[nylas-timeslot-picker] Time selected`, timeslot, index);\n this.selectedTimeslotIndex = this.getTimeslotId(timeslot.start_time, index);\n this.timeslotSelected.emit({\n start_time: timeslot.start_time,\n end_time: timeslot.end_time,\n });\n }\n\n private handleConfirmedTimeslot = async (event: Event, timeslot: Timeslot | undefined) => {\n event.preventDefault();\n debug(`[nylas-timeslot-picker] Confirm timeslot`, timeslot);\n this.timeslotConfirmed.emit(timeslot);\n };\n\n private handleMouseEnter = (index: number) => {\n this.hoveredTimeslotIndex = index;\n };\n\n private handleMouseLeave = () => {\n this.hoveredTimeslotIndex = -1;\n };\n\n private getTimeSlotLabel(timeslot: Timeslot) {\n const timeFormat = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: 'numeric',\n timeZone: this.selectedTimezone,\n });\n return `${timeFormat.format(timeslot.start_time)} - ${timeFormat.format(timeslot.end_time)}`;\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newVal: Date | null | undefined) {\n debug(`[nylas-timeslot-picker] Selected date changed`, { newVal });\n\n if (newVal) {\n this.selectedTimeslotIndex = '';\n if (typeof newVal !== 'undefined') {\n const availableTimes = this.availability?.filter(timeslot => isSameDay(timeslot.start_time, newVal)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n }\n\n @Watch('availability')\n availabilityChanged(newVal: AvailabilityTimeslot[] | undefined) {\n debug(`[nylas-timeslot-picker] Available times changed`, { newVal, selectedDate: this.selectedDate });\n\n if (typeof newVal !== 'undefined') {\n const availableTimes = newVal?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n\n @RegisterComponent<NylasTimeslotPicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-timeslot-picker',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.availability', 'availability'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.isLoading', 'isLoading'],\n ]),\n eventToProps: {\n timeslotSelected: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectTime(event.detail);\n },\n timeslotConfirmed: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n if (event.detail) {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(true);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n if (this.isLoading) {\n return (\n <Host>\n <div class={'loading'}>\n {new Array(6).fill(0).map((_, i) => (\n <div class={'time-slot-skeleton'} style={{ animationDelay: `${i * 20}ms` }} />\n ))}\n </div>\n </Host>\n );\n }\n\n if (this.availability && this.availability.length === 0) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No dates available</span>\n </div>\n </Host>\n );\n }\n\n if ((!this.times || this.times.length === 0) && !!this.selectedDate) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No time slots available for selected date</span>\n </div>\n </Host>\n );\n }\n\n if (!this.selectedDate) return <Host></Host>;\n\n return (\n <Host part=\"ntp\">\n <div class={'time-picker-wrapper'}>\n <div class={'time-slots'}>\n {this.times.map((timeslot, index) => (\n <button\n part={`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`}\n aria-role=\"button\"\n class={{\n time: true,\n selected: typeof this.selectedTimeslot !== 'undefined' && this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime(),\n }}\n onClick={() => this.onClickSelectTime(timeslot, index)}\n onMouseEnter={() => this.handleMouseEnter(index)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n {this.hoveredTimeslotIndex == index || this.selectedTimeslotIndex == this.getTimeslotId(timeslot.start_time, index)\n ? this.getTimeSlotLabel(timeslot)\n : timeslot.start_time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', timeZone: this.selectedTimezone })}\n </button>\n ))}\n </div>\n {this.selectedTimeslot && (\n <div class={'footer'}>\n <sp-button variant=\"primary\" onClick={(event: Event) => this.handleConfirmedTimeslot(event, this.selectedTimeslot)} part=\"ntp__button-primary\">\n <slot name=\"timeslot-picker-cta-label\">Next</slot>\n </sp-button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as n,c as a,H as t,a as s}from"./p-e4b9d6af.js";import{d as i,q as l,r as o,s as r,v as d,w as c,x as f,y as b,z as p,A as h,B as y}from"./p-facc84f3.js";import{R as u}from"./p-9955e9b6.js";import{T as m,E as g}from"./p-bf2887bd.js";import{c as v}from"./p-cb65c223.js";const k=".sc-add-circle-icon-h{display:flex}";const x=k;const w=class{constructor(n){e(this,n);this.width="24";this.height="25"}render(){return n("svg",{key:"58ce81214aeed7ddc1ce5f76d674aba576422d48",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"2a47ed74601a5370f0300da06295a2b5969d7e5f",d:"M12 2.5c5.523 0 10 4.477 10 10s-4.477 10-10 10-10-4.477-10-10 4.477-10 10-10ZM12 4a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17Zm0 3.5a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 12 7.5Z",fill:"currentColor"}))}};w.style=x;const _=".sc-calendar-info-icon-h{display:flex}";const C=_;const L=class{constructor(n){e(this,n);this.width="20";this.height="20"}render(){return n("svg",{key:"4c290eae1d55ec9df96cbe6d9ba85d5d8b7ee102",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"a2a76a5d0183952d59f1d2f448dc7c460694e410",d:"M12 0C13.3807 0 14.5 1.11929 14.5 2.5V6.59971C14.1832 6.43777 13.8486 6.30564 13.5 6.20703V4H1.5V11.5C1.5 12.3284 2.17157 13 3 13H6.70703C6.80564 13.3486 6.93777 13.6832 7.09971 14H3C1.61929 14 0.5 12.8807 0.5 11.5V2.5C0.5 1.11929 1.61929 0 3 0H12ZM12 1H3C2.17157 1 1.5 1.67157 1.5 2.5V3H13.5V2.5C13.5 1.67157 12.8284 1 12 1ZM11.375 9.5C11.375 9.15482 11.6548 8.875 12 8.875C12.3452 8.875 12.625 9.15482 12.625 9.5C12.625 9.84518 12.3452 10.125 12 10.125C11.6548 10.125 11.375 9.84518 11.375 9.5ZM12.5 13.5C12.5 13.7761 12.2761 14 12 14C11.7239 14 11.5 13.7761 11.5 13.5V11.5C11.5 11.2239 11.7239 11 12 11C12.2761 11 12.5 11.2239 12.5 11.5V13.5ZM7.5 11.5C7.5 9.01472 9.51472 7 12 7C14.4853 7 16.5 9.01472 16.5 11.5C16.5 13.9853 14.4853 16 12 16C9.51472 16 7.5 13.9853 7.5 11.5ZM8.5 11.5C8.5 13.433 10.067 15 12 15C13.933 15 15.5 13.433 15.5 11.5C15.5 9.567 13.933 8 12 8C10.067 8 8.5 9.567 8.5 11.5Z",fill:"currentColor"}))}};L.style=C;const R=".sc-calendar-patterns-icon-h{display:flex}";const D=R;const H=class{constructor(n){e(this,n);this.width="20";this.height="20"}render(){return n("svg",{key:"cf8071f578ad04793f5bd5b446dccaa1f6d4c1a3",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"8e8a3c7d87bc41c6d6973a34863d05d996155c1d",d:"M3.25 0H11.75C13.2688 0 14.5 1.23122 14.5 2.75V11.25C14.5 12.7688 13.2688 14 11.75 14H3.25C1.73122 14 0.5 12.7688 0.5 11.25V2.75C0.5 1.23122 1.73122 0 3.25 0ZM2 2.75V4H13V2.75C13 2.05964 12.4404 1.5 11.75 1.5H3.25C2.55964 1.5 2 2.05964 2 2.75ZM12.2071 5L8.20711 9H10.7929L13 6.79289V5H12.2071ZM10.7929 5H8.20711L4.20711 9H6.79289L10.7929 5ZM2.79289 9L6.79289 5H4.20711L2 7.20711V9H2.79289ZM2 5.79289L2.79289 5H2V5.79289ZM12.2071 9H13V8.20711L12.2071 9Z",fill:"currentColor"}))}};H.style=D;const M=".sc-flow-icon-h{display:flex}";const O=M;const j=class{constructor(n){e(this,n);this.width="16";this.height="12"}render(){return n("svg",{key:"e0f4da46b751754406e8b0551890a1bffb1100e4",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"21997cb261d91c8589c3e87a01036dc8f91a8d9b",d:"M13 1.66211C11.8954 1.66211 11 2.55754 11 3.66211C11 4.76668 11.8954 5.66211 13 5.66211C14.1046 5.66211 15 4.76668 15 3.66211C15 2.55754 14.1046 1.66211 13 1.66211ZM10.0407 3.16678C10.2768 1.74563 11.5119 0.662109 13 0.662109C14.6569 0.662109 16 2.00526 16 3.66211C16 5.31896 14.6569 6.66211 13 6.66211C11.5162 6.66211 10.2839 5.58482 10.0428 4.16971C9.37629 4.23688 8.82682 4.7426 8.71466 5.41551L8.27173 8.07311C8.07929 9.22776 7.11428 10.087 5.9593 10.1574C5.72319 11.5786 4.48813 12.6621 3 12.6621C1.34315 12.6621 0 11.319 0 9.66211C0 8.00526 1.34315 6.66211 3 6.66211C4.48384 6.66211 5.71607 7.73939 5.95724 9.15451C6.62371 9.08734 7.17318 8.58162 7.28534 7.90871L7.72827 5.25111C7.92071 4.09646 8.88571 3.23718 10.0407 3.16678ZM3 7.66211C1.89543 7.66211 1 8.55754 1 9.66211C1 10.7667 1.89543 11.6621 3 11.6621C4.10457 11.6621 5 10.7667 5 9.66211C5 8.55754 4.10457 7.66211 3 7.66211Z",fill:"currentColor"}))}};j.style=O;const z=".sc-location-icon-h{display:flex}";const S=z;const E=class{constructor(n){e(this,n);this.width="16";this.height="18"}render(){return n("svg",{key:"5b9c42e29bed565ef37d35d8196c038d0fb12a0c",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"8be7bf4ede319cce00e35be8270c85c14bcbc4b5",d:"M10 7.66211C10 9.31896 8.65685 10.6621 7 10.6621C5.34315 10.6621 4 9.31896 4 7.66211C4 6.00526 5.34315 4.66211 7 4.66211C8.65685 4.66211 10 6.00526 10 7.66211ZM9 7.66211C9 6.55754 8.10457 5.66211 7 5.66211C5.89543 5.66211 5 6.55754 5 7.66211C5 8.76668 5.89543 9.66211 7 9.66211C8.10457 9.66211 9 8.76668 9 7.66211ZM11.9497 12.6171C14.6834 9.88221 14.6834 5.44812 11.9497 2.71326C9.21608 -0.0216067 4.78392 -0.0216067 2.05025 2.71326C-0.683418 5.44812 -0.683418 9.88221 2.05025 12.6171L3.57128 14.1159L5.61408 16.101L5.74691 16.2188C6.52168 16.8468 7.65623 16.8076 8.38611 16.1012L10.8223 13.7312L11.9497 12.6171ZM2.75499 3.4183C5.09944 1.07282 8.90055 1.07282 11.245 3.4183C13.5294 5.70364 13.5879 9.3725 11.4207 11.7288L11.245 11.912L9.92371 13.216L7.69315 15.3846L7.60016 15.4642C7.24594 15.732 6.7543 15.732 6.40012 15.4642L6.30713 15.3845L3.3263 12.4791L2.75499 11.912L2.57927 11.7288C0.412077 9.3725 0.47065 5.70364 2.75499 3.4183Z",fill:"currentColor"}))}};E.style=S;const T=".sc-location-off-icon-h{display:flex}";const I=T;const A=class{constructor(n){e(this,n);this.width="16";this.height="18"}render(){return n("svg",{key:"9f486b38064361394fa89c330d79cf275c862143",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"02ef40d3c0d44a0eb38e8018ede7d30102e5e74b",d:"M0.146447 0.808556C0.341709 0.613294 0.658291 0.613294 0.853553 0.808556L15.8536 15.8086C16.0488 16.0038 16.0488 16.3204 15.8536 16.5157C15.6583 16.7109 15.3417 16.7109 15.1464 16.5157L12.0938 13.463L11.8223 13.7312L9.38611 16.1012C8.65623 16.8076 7.52168 16.8468 6.74691 16.2188L6.61408 16.101L4.57128 14.1159L3.05025 12.6171C0.607421 10.1732 0.347525 6.37239 2.27056 3.63976L0.146447 1.51566C-0.0488155 1.3204 -0.0488155 1.00382 0.146447 0.808556ZM9.07768 10.4469C8.74346 10.576 8.38024 10.6468 8.0005 10.6468C6.34839 10.6468 5.00909 9.30689 5.00909 7.65406C5.00909 7.27461 5.07967 6.91166 5.20843 6.57763L2.98793 4.35713C1.49206 6.62038 1.68917 9.67377 3.57927 11.7288L3.75499 11.912L4.3263 12.4791L7.30713 15.3845L7.40012 15.4642C7.7543 15.732 8.24594 15.732 8.60016 15.4642L8.69315 15.3846L10.9237 13.216L11.3883 12.7575L9.07768 10.4469ZM9.85409 8.39486L10.5983 9.13904C10.8487 8.70143 10.9919 8.19447 10.9919 7.65406C10.9919 6.00122 9.65261 4.66134 8.0005 4.66134C7.45986 4.66134 6.95271 4.80482 6.51504 5.05581L7.25921 5.79998C7.48839 5.70819 7.73855 5.6577 8.0005 5.6577C9.10258 5.6577 9.99599 6.5515 9.99599 7.65406C9.99599 7.91581 9.94564 8.16581 9.85409 8.39486ZM4.35291 2.89368C6.70671 1.08827 10.0908 1.26314 12.245 3.4183C14.3986 5.57283 14.5739 8.95702 12.771 11.3118L13.4812 12.022C15.6702 9.27273 15.493 5.25762 12.9497 2.71326C10.4058 0.168159 6.39081 -0.00843871 3.64269 2.18347L4.35291 2.89368Z",fill:"currentColor"}))}};A.style=I;const W=':host{display:block;width:inherit;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.dropdown{display:inline-block;width:100%;position:relative}.dropdown .dropdown-label{display:flex;align-items:center;gap:0.25rem;color:var(--nylas-base-800)}.dropbtn{width:inherit;height:48px;color:black;padding:0.5rem;font-size:1rem;cursor:pointer;display:flex;gap:0.5rem;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn:hover,.dropbtn:active{border:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);width:100%;max-height:336px;overflow:auto;border:1px solid #ddd;z-index:1;border-radius:4px;position:absolute;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content ul li label{display:flex;align-items:center;gap:0.5rem}.dropdown-content ul li label input{margin:0}.selected-options{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0.5rem 0;margin-top:0.25rem;background:var(--nylas-base-0)}.selected-options .selected-option{display:flex;align-items:center;gap:0.5rem;padding:4px 8px;border-radius:var(--nylas-border-radius-2x);background:var(--nylas-base-100);color:var(--nylas-base-800);font-size:16px;font-weight:500;line-height:1.5rem;letter-spacing:0.5px}.selected-options .selected-option button{background:transparent;border:none;cursor:pointer;padding:0}.selected-options .selected-option button:hover{color:var(--nylas-primary)}';const N=W;const F=class{constructor(n){e(this,n);this.selectedOptionsChanged=a(this,"selectedOptionsChanged",7);this.name=undefined;this.label=undefined;this.options=[];this.availableOptions=this.options;this.isOpen=false;this.ariaActivedescendant="";this.shouldFocusFirstOption=false}componentDidRender(){i("multi-select-dropdown","componentDidRender");if(this.isOpen&&this.shouldFocusFirstOption){this.ariaActivedescendant=this.availableOptions[0].value;this.focusOption(0);this.shouldFocusFirstOption=false}}handleOutsideClick(e){const n=e.composedPath();const a=n.includes(this.el);if(!a&&this.isOpen){this.isOpen=false}}selectOption(e){this.availableOptions=this.availableOptions.map((n=>{if(n.value===e.value){n.selected=e.selected?false:true}return n}));const n=this.availableOptions.filter((e=>e.selected)).map((e=>e.value));this.selectedOptionsChanged.emit({value:n,name:this.name})}toggleDropdown(){this.isOpen=!this.isOpen;if(this.isOpen){this.shouldFocusFirstOption=true}else{this.ariaActivedescendant=""}}handleSelectButtonKeyDown(e){switch(e.key){case"ArrowDown":case"Enter":e.preventDefault();if(!this.isOpen){this.toggleDropdown()}break;case"Escape":this.isOpen=false;break}}handleListboxKeydown(e){const n=this.availableOptions;const a=n.findIndex((e=>e.value===this.ariaActivedescendant));switch(e.key){case"ArrowDown":case"Tab":if(!e.shiftKey){e.preventDefault();const t=a+1<n.length?a+1:0;this.ariaActivedescendant=n[t].value;this.focusOption(t)}else{e.preventDefault();const t=a-1>=0?a-1:n.length-1;this.ariaActivedescendant=n[t].value;this.focusOption(t)}break;case"ArrowUp":e.preventDefault();const t=a-1>=0?a-1:n.length-1;this.ariaActivedescendant=n[t].value;this.focusOption(t);break;case"Enter":e.preventDefault();if(this.ariaActivedescendant){this.selectOption(n[a])}break;case"Escape":this.isOpen=false;break}}focusOption(e){const n=this.availableOptions[e];if(!n)return;const a=n.value;const t=this.el.shadowRoot?.getElementById(a);if(t){t.focus();t.scrollIntoView({behavior:"smooth",block:"nearest"})}}getSelectedOptions(){return this.availableOptions.filter((e=>e.selected))}renderOption(e){return n("li",{key:e.value,id:e.value,role:"option",tabindex:"0","aria-selected":e.selected?"true":"false",onClick:n=>{n.stopImmediatePropagation();this.selectOption(e)},class:{selected:!!e.selected}},n("label",{htmlFor:e.value},n("input",{"aria-hidden":"true",id:e.value,type:"checkbox",checked:e.selected}),n("span",null,e.label)))}render(){return n(t,{key:"ff71916f4c5b0904c1c88acc24092685bb1a8c56"},n("div",{key:"e9ff8065a2c85506b433bd5d9a58227f92486187",class:"dropdown",part:"msd_dropdown"},n("label",{key:"10b60608219600df241af49b91ab63d1c70394a5",class:"dropdown-label"},this.label,n("slot",{key:"9a9ceafb10875657f758a4f315dbe88c7184ef15",name:"label-icon","aria-hidden":"true"})),n("button",{key:"4d004314767768524db8ab302e602e6a28929558",part:"msd_dropdown-button",class:{dropbtn:true,open:this.isOpen},onClick:()=>this.toggleDropdown(),"aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false","aria-label":this.name,onKeyDown:e=>this.handleSelectButtonKeyDown(e)},n("slot",{key:"2556aed7a1ff5a5428d5a334d80aa408a26b836a",name:"select-icon","aria-hidden":"true"}),n("span",{key:"e237a06138def9e1279231715c933c0d27f7b5ea",class:"selected-option",part:"msd_dropdown-button-selected-label"},this.getSelectedOptions().length>1?`Multiple ${this.name}s selected`:this.availableOptions.filter((e=>e.selected))[0]?.label??this.availableOptions[0]?.label),n("span",{key:"0ff8048547586614e1b14dca82e271c3e3bb49c7",class:this.isOpen?"open":"closed","aria-hidden":"true"},n("chevron-icon",{key:"aab301fdd0e369aede69e378649d2b294b049d88",width:"16",height:"16"}))),this.isOpen?null:n("div",{class:"selected-options"},this.getSelectedOptions().map((e=>n("span",{class:"selected-option"},e.label,n("button",{key:e.label,onClick:()=>this.selectOption(e)},n("close-icon",null)))))),this.isOpen?n("div",{class:"dropdown-content",part:"msd_dropdown-content"},n("ul",{tabindex:"-1",role:"listbox","aria-label":this.name,"aria-multiselectable":true,"aria-activedescendant":this.ariaActivedescendant,onKeyDown:e=>this.handleListboxKeydown(e)},this.availableOptions.map((e=>this.renderOption(e))))):null))}get el(){return s(this)}};F.style=N;const U=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:inherit}.nylas-availability-picker{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-availability-picker .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-availability-picker .header h3{margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-availability-picker .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-availability-picker .content{padding:1rem;color:var(--nylas-base-900)}.nylas-availability-picker .content .select-timezone{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--nylas-base-200);padding-bottom:1rem}.nylas-availability-picker .content .select-timezone h4{display:flex;gap:0.5rem;align-items:center;margin:0;font-size:1rem;font-weight:500;line-height:20px}.nylas-availability-picker .content .select-timezone select-dropdown{border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.nylas-availability-picker .content .availability{display:flex;flex-direction:column;gap:1rem;padding:0 0.5rem;margin:1rem 0}.nylas-availability-picker .content .availability .availability-day{display:grid;grid-template-columns:minmax(auto, 65px) 1fr minmax(auto, 40px);gap:1rem;align-items:baseline}@media screen and (max-width: 768px){.nylas-availability-picker .content .availability .availability-day{grid-template-columns:auto}}.nylas-availability-picker .content .availability .availability-day .day{display:flex;gap:0.5rem;align-items:center}.nylas-availability-picker .content .availability .availability-day .time-ranges span.unavailable{height:48px;display:flex;align-items:center}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range{display:flex;gap:1.5rem;justify-content:space-between;align-items:baseline}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range .pickers{display:flex;gap:1rem}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range .pickers span{margin-top:0.75rem}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range:not(:last-of-type){margin-bottom:1rem}.nylas-availability-picker .content .availability .availability-day .time-ranges p.error{color:var(--nylas-error)}.nylas-availability-picker .content .availability .availability-day button{border:none;background:transparent;height:40px;cursor:pointer;color:var(--nylas-base-800)}.nylas-availability-picker .content .availability .availability-day button:hover,.nylas-availability-picker .content .availability .availability-day button:active{color:var(--nylas-primary)}';const Z=U;var Y=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var $=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const V=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.openHours=undefined;this.name="availability";this.defaultTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.schedule={SUN:[],MON:[{start:"09:00am",end:"05:00pm"}],TUE:[{start:"09:00am",end:"05:00pm"}],WED:[{start:"09:00am",end:"05:00pm"}],THU:[{start:"09:00am",end:"05:00pm"}],FRI:[{start:"09:00am",end:"05:00pm"}],SAT:[]};this.timezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.overlapDays={}}elementNameChangedHandler(e){i("nylas-calendar-picker","elementNameChangedHandler",e);this.host.setAttribute("name",e)}scheduleChanged(e,n){if(e!==n){this.valueChanged.emit({value:this.scheduleToOpenHours(e,this.timezone),name:this.name});let n={};Object.keys(e).forEach((a=>{const t=e[a];if(t.length>0){const e=this.getOverlaps(t);if(e.length>0){n[a]=e}}}));this.overlapDays=n;if(typeof this.internals.setFormValue!=="function"){return}if(Object.keys(n).length>0){const e=this.host.shadowRoot?.getElementById(Object.keys(n)[0]);if(e){this.internals.setValidity({customError:true},"Overlapping time ranges found",e)}}else{this.internals.setValidity({customError:false});this.internals.setFormValue(JSON.stringify(this.scheduleToOpenHours(e,this.timezone)))}}}selectedOptionChangedHandler(e){const{name:n,value:a}=e.detail;if(n==="timezone"){this.timezone=a;if(typeof this.internals.setFormValue!=="function"){return}this.internals.setFormValue(JSON.stringify(this.scheduleToOpenHours(this.schedule,this.timezone)))}}connectedCallback(){i("nylas-availability-picker","connectedCallback")}disconnectedCallback(){i("nylas-availability-picker","disconnectedCallback")}componentWillLoad(){i("nylas-availability-picker","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-availability-picker","componentDidLoad");if(this.openHours&&this.openHours.length>0){this.updateSchedule(this.openHours)}if(typeof this.internals.setFormValue!=="function"){return}this.internals.setFormValue(JSON.stringify(this.scheduleToOpenHours(this.schedule,this.timezone)))}getOverlaps(e){let n=e.map(((e,n)=>({start:l(e.start),end:l(e.end),originalIndex:n})));n.sort(((e,n)=>e.start-n.start));let a=[];for(let e=1;e<n.length;e++){if(n[e].start<n[e-1].end){if(!a.includes(n[e].originalIndex)){a.push(n[e].originalIndex)}if(!a.includes(n[e-1].originalIndex)){a.push(n[e-1].originalIndex)}}}return a.sort(((e,n)=>e-n))}addTimeRange(e){const n=this.schedule[e];const a=0;const t=1425;if(n.length===0){this.schedule[e]=[{start:"09:00am",end:"05:00pm"}]}else{const s=n.map((e=>({start:l(e.start),end:l(e.end)}))).sort(((e,n)=>e.start-n.start));const i=s[s.length-1].end;if(i+60<=t){this.schedule[e].push({start:o(d(i)),end:o(d(i+60))})}else{let n=false;if(s[0].start>a+60){this.schedule[e].push({start:o(d(a)),end:o(d(a+60))});n=true}if(!n){for(let n=0;n<s.length-1;n++){const a=s[n].end;const t=s[n+1].start;if(t-a>=60){this.schedule[e].push({start:o(d(a)),end:o(d(a+60))});break}}}}}this.schedule[e].sort(((e,n)=>l(e.start)-l(n.start)));this.schedule={...this.schedule}}removeTimeRange(e,n){this.schedule[e].splice(n,1);this.schedule={...this.schedule}}setTime(e,n,a){const[t,s]=e.split("_");const[i,l]=t.split(":");if(s==="start"){this.schedule[i][l].start=a}else if(s==="end"){this.schedule[i][l].end=a}this.internals.setValidity({customError:false});this.schedule={...this.schedule}}setFormError(e,n,a){const[t,s]=e.split("_");const i=this.host.shadowRoot?.getElementById(e);if(i){this.internals.setValidity({customError:true},`Invalid ${s} time`,i)}}updateSchedule(e){const n={SUN:[],MON:[],TUE:[],WED:[],THU:[],FRI:[],SAT:[]};e.forEach((e=>{e.days.forEach((a=>{const t=this.getDayKey(a);const s=o(e.start);const i=o(e.end);const l={start:s,end:i};let r=false;if(n[t]){r=n[t].some((e=>e.start===l.start&&e.end===l.end))}if(!r){if(n[t]){n[t].push(l)}else{n[t]=[l]}}}))}));if(e.length===0){this.timezone=e[0].timezone}this.timezone=e[0].timezone;this.schedule=n}getDayKey(e){const n=["SUN","MON","TUE","WED","THU","FRI","SAT"];return n[e]}scheduleToOpenHours(e,n="UTC"){const a=["SUN","MON","TUE","WED","THU","FRI","SAT"];let t=new Map;a.forEach(((n,a)=>{if(e[n]){e[n].forEach((e=>{const n=r(e.start);const s=r(e.end);const i=`${n}-${s}`;if(!t.has(i)){t.set(i,{days:[a],start:n,end:s})}else{let e=t.get(i);if(e){e.days.push(a);t.set(i,e)}}}))}}));let s=[];t.forEach(((e,a)=>{s.push({days:e.days,start:e.start,end:e.end,timezone:n})}));return s}render(){const e=Object.keys(m).map((e=>({label:m[e],value:e})));return n(t,{key:"212096aa82e4abcfb7ab34a0a0921e541c4570af"},n("div",{key:"83a12b281dd08f77e2a184941f47f69c29d804ba",class:"nylas-availability-picker"},n("div",{key:"82f32b28ac7e9e13c1aa01a0cc99bd2ea68f2400",class:"header",part:"ncp__header"},n("h3",{key:"c47f420a6c0226b2d3352d178f8c739978554195"},"General availability"),n("p",{key:"badf2c5553670dc99da06815fc418dba59772f7a"},"Set your availability for scheduling meetings.")),n("div",{key:"32d90f90f5c98ec4afb71286d5963e4431b65932",class:"content"},n("div",{key:"f29ed9e09dd1c480b1cc93f6adebf0af6d7a17f9",class:"select-timezone"},n("h4",{key:"82f68bd68a4c775afb5c16641ce7c42769850722",class:"sub-header"},"Select timezone",n("span",{key:"3f6113c3d9703096321389d4f7ac6daa259f13f5",class:"icon"},n("tooltip-component",{key:"c2c8212ae124d05ccc150c14a3efd1a16e027970"},n("info-icon",{key:"f80669ec0e2200c94351a98ce3a7ba710f154df4",slot:"tooltip-icon"}),n("span",{key:"25f33c0424a8bcb48b5e09a9e1297877834f9ff2",slot:"tooltip-content"},"Select your timezone for displaying availability.")))),n("select-dropdown",{key:"fa2b1fbb694ac302e94e8b75740a26b3ec841fdc",name:"timezone",options:e,defaultSelectedOption:e.find((e=>e.value===this.defaultTimezone))},n("span",{key:"a8795a7bbf57c96e54ed30a8bf53884119f5a051",slot:"select-icon"},n("globe-icon",{key:"f041371f0d5be498ee7c474296f97d8995bcd9e4",width:"20",height:"20"})))),n("div",{key:"caa143f02b423a5bee811b944246fff8746e2229",class:"availability"},Object.keys(this.schedule).map((e=>{const a=e;const t=this.schedule[e];return n("div",{class:"availability-day"},n("div",{class:"day",part:"ndp__day"},n("input",{type:"checkbox",name:a,id:a,checked:t.length>0,onClick:()=>{if(t.length>0){this.schedule[a]=[]}else{this.schedule[a]=[{start:"09:00am",end:"05:00pm"}]}this.schedule={...this.schedule}}}),n("label",{htmlFor:a,"aria-label":"Select day"},a)),n("div",{class:"time-ranges"},t.length?null:n("span",{class:"unavailable"},"Unavailable"),t.length>0&&t.map(((t,s)=>{const i=`${e}:${s}_start`;const l=`${e}:${s}_end`;return n("div",{class:"time-range"},n("div",{class:"pickers"},n("nylas-time-window-picker",{id:i,hasError:this.overlapDays[a]?.includes(s),time:t.start,name:i,key:i,setTime:(e,n)=>this.setTime(i,e,n),setFormError:(e,n)=>this.setFormError(i,e,n)}),n("span",null," - "),n("nylas-time-window-picker",{id:l,hasError:this.overlapDays[a]?.includes(s),time:t.end,name:l,key:l,minimumStartTime:t.start,setTime:(e,n)=>this.setTime(l,e,n),setFormError:(e,n)=>this.setFormError(l,e,n)})),n("button",{onClick:()=>this.removeTimeRange(a,s)},n("close-icon",null)))})),n("p",{class:"error"},this.overlapDays[a]?"Overlapping time ranges":"")),n("div",null,t.length>0?n("button",{onClick:()=>this.addTimeRange(a)},n("add-circle-icon",null)):null))}))))))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"],schedule:["scheduleChanged"]}}};Y([u({name:"nylas-availability-picker",fireRegisterEvent:true}),$("design:type",Function),$("design:paramtypes",[]),$("design:returntype",void 0)],V.prototype,"render",null);V.style=Z;const P=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:inherit}.nylas-booking-calendar-picker{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-booking-calendar-picker .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-booking-calendar-picker .header h3{margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-booking-calendar-picker .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__loading{padding-bottom:1rem}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__loading .label{display:flex;align-items:center;gap:0.5rem;margin:1rem 1rem 0;color:var(--nylas-base-800)}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__loading .loading-button{margin:0 1rem;padding:0;width:inherit;height:48px;color:black;font-size:1rem;cursor:not-allowed;display:flex;gap:0.5rem;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__loading .loading-button span{padding:0 1rem}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown{padding:1rem}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown span.label{display:flex;align-items:center;gap:4px;color:var(--nylas-base-800)}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown span.label tooltip-component{display:flex}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown select-dropdown::part(sd_dropdown){width:100%}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown select-dropdown::part(sd_dropdown-content){width:100%;max-width:unset}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown select-dropdown::part(sd_dropdown-button){width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:1rem}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown select-dropdown::part(sd_dropdown-button-selected-label){max-width:calc(100% - 2rem);font-family:var(--nylas-font-family);font-size:16px;line-height:24px}';const B=P;var K=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var q=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const J=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.calendars=undefined;this.name="calendar";this.defaultBookingCalendar="";this.selectedCalendar=""}connectedCallback(){i("nylas-booking-calendar-picker","connectedCallback")}disconnectedCallback(){i("nylas-booking-calendar-picker","disconnectedCallback")}componentWillLoad(){i("nylas-booking-calendar-picker","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-booking-calendar-picker","componentDidLoad");if(typeof this.internals.setFormValue==="function"){this.internals.setFormValue(this.defaultBookingCalendar.toString(),"booking-calendar")}this.selectedCalendar=this.defaultBookingCalendar}componentWillUpdate(){i("nylas-booking-calendar-picker","componentWillUpdate")}componentDidUpdate(){i("nylas-booking-calendar-picker","componentDidUpdate")}componentWillRender(){i("nylas-booking-calendar-picker","componentWillRender")}componentDidRender(){i("nylas-booking-calendar-picker","componentDidRender")}elementNameChangedHandler(e){i("nylas-booking-calendar-picker","elementNameChangedHandler",e);this.host.setAttribute("name",e)}selectedOptionChangedHandler(e){i("nylas-booking-calendar-picker","selectedOptionChangedHandler",e.detail);const n=e=>{const{value:n}=e.detail;this.selectedCalendar=n;this.internals.setFormValue(n.toString(),"booking-calendar")};this.valueChanged.emit({...e.detail,valueChanged:n})}render(){const e=this.calendars?.map((e=>({value:e.id,label:e.name})))??[];return n(t,null,n("div",{class:"nylas-booking-calendar-picker"},n("div",{class:"header",part:"ncp__header"},n("h3",null,"Calendar booking"),n("p",null,"Choose calendar where you’d like the event bookings to show up.")),e.length>0?n("div",{class:"nylas-booking-calendar-picker__dropdown"},n("span",{class:"label"},"Select a calendar to book meetings on",n("tooltip-component",null,n("info-icon",{slot:"tooltip-icon"}),n("span",{slot:"tooltip-content"},"Check availability across one or multiple calendars. If multiple calendars are selected, you must be available across all of them to be considered available."))),n("select-dropdown",{name:"booking-calendar",options:e,withSearch:false,defaultSelectedOption:e.find((e=>e.value==this.defaultBookingCalendar))??e[0]})):n("div",{class:"nylas-booking-calendar-picker__loading"},n("span",{class:"label"},"Select a calendar to book meetings on ",n("info-icon",null)),n("div",{class:"loading-button"},n("span",null,"Loading...")))))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"]}}};K([u({name:"nylas-booking-calendar-picker",eventToProps:{valueChanged:async(e,n)=>{const{valueChanged:a}=e.detail;if(a){a(e)}}},fireRegisterEvent:true}),q("design:type",Function),q("design:paramtypes",[]),q("design:returntype",void 0)],J.prototype,"render",null);J.style=B;const X=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:inherit}.nylas-buffer-time{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200);text-align:left}.nylas-buffer-time .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-buffer-time .header h3{margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-buffer-time .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-buffer-time .nylas-buffer-time__body{display:grid;grid-template-columns:1fr auto}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__dropdown{padding:1rem;display:flex;flex-direction:column;gap:1rem;border-right:1px solid var(--nylas-base-200)}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__dropdown .nylas-buffer-time__row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__dropdown .nylas-buffer-time__row label{width:200px}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__dropdown .nylas-buffer-time__row .dropdown-container{display:flex;gap:1rem;align-items:center}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__preview{width:200px;padding:1rem;background:var(--nylas-base-25);border-bottom-right-radius:var(--nylas-border-radius-2x)}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__preview h4{font-size:12px;line-height:24px;color:var(--nylas-base-600);font-family:var(--nylas-font-family);font-weight:500;text-align:center}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__preview .preview-container .slot{background-color:transparent;border-top:1px solid var(--nylas-base-300)}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__preview .preview-container .slot.active{background-color:var(--nylas-base-100)}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__preview .preview-container .slot:last-of-type{border-bottom:1px solid var(--nylas-base-300)}.nylas-buffer-time .nylas-buffer-time__body .nylas-buffer-time__preview .preview-container .event-slot{background-color:var(--nylas-base-600);border-top:1px solid var(--nylas-base-300);border-bottom:1px solid var(--nylas-base-300)}.nylas-buffer-time .nylas-buffer-time__dropdown select-dropdown::part(sd_dropdown-button){width:104px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:1rem}.nylas-buffer-time .nylas-buffer-time__dropdown select-dropdown::part(sd_dropdown-content){width:100%}.nylas-buffer-time .nylas-buffer-time__dropdown select-dropdown::part(sd_dropdown-button-selected-label){max-width:calc(100% - 2rem);font-family:var(--nylas-font-family);font-size:16px;line-height:24px}';const G=X;var Q=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var ee=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const ne=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.name="buffer-time";this.buffer={before:0,after:0};this.selectedBeforeBufferTime=this.buffer.before;this.selectedAfterBufferTime=this.buffer.after}connectedCallback(){i("nylas-buffer-time","connectedCallback")}disconnectedCallback(){i("nylas-buffer-time","disconnectedCallback")}componentWillLoad(){i("nylas-buffer-time","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-buffer-time","componentDidLoad");if(typeof this.internals.setFormValue==="function"){const e={before:this.selectedBeforeBufferTime,after:this.selectedAfterBufferTime};this.internals.setFormValue(JSON.stringify(e),this.name)}this.selectedAfterBufferTime=this.buffer.after;this.selectedBeforeBufferTime=this.buffer.before}componentWillUpdate(){i("nylas-buffer-time","componentWillUpdate")}componentDidUpdate(){i("nylas-buffer-time","componentDidUpdate")}componentWillRender(){i("nylas-buffer-time","componentWillRender")}componentDidRender(){i("nylas-buffer-time","componentDidRender")}elementNameChangedHandler(e){i("nylas-buffer-time","elementNameChangedHandler",e);this.host.setAttribute("name",e)}selectedOptionChangedHandler(e){i("nylas-buffer-time","selectedOptionChangedHandler",e.detail);const n=e=>{const{value:n,name:a}=e.detail;if(a==="before-buffer-time"){this.selectedBeforeBufferTime=parseInt(n)}else if(a==="after-buffer-time"){this.selectedAfterBufferTime=parseInt(n)}const t={before:this.selectedBeforeBufferTime,after:this.selectedAfterBufferTime};this.internals.setFormValue(JSON.stringify(t),"booking-calendar")};this.valueChanged.emit({...e.detail,valueChanged:n})}renderPreview(){const e=4;const a=20;const t=a*2;const s=e=>{const n=Math.floor(e/30);const t=e%30/30*a;return{fullSlots:n,partialFillHeight:t}};const i=()=>{const{fullSlots:t,partialFillHeight:i}=s(this.selectedBeforeBufferTime);return Array.from({length:e},((s,l)=>{const o=this.selectedBeforeBufferTime>0&&l>e-t-1;const r=this.selectedBeforeBufferTime>0&&l===e-t-1&&i>0;let d={};if(o&&!r){d.backgroundColor="var(--nylas-base-100)"}else if(r){d.background=`linear-gradient(to top, var(--nylas-base-100) ${i}px, transparent 0)`}return n("div",{class:`slot ${o?"active":""}`,style:{height:`${a}px`,...d}})}))};const l=()=>{const{fullSlots:t,partialFillHeight:i}=s(this.selectedAfterBufferTime);return Array.from({length:e},((e,s)=>{const l=this.selectedAfterBufferTime>0&&s<t;const o=s===t&&i>0;let r={};if(l&&!o){r.backgroundColor="var(--nylas-base-100)"}else if(o){r.background=`linear-gradient(to bottom, var(--nylas-base-100) ${i}px, transparent 0)`}return n("div",{class:`slot ${l?"active":""}`,style:{height:`${a}px`,...r}})}))};return n("div",{class:"preview-container"},i(),n("div",{class:"event-slot",style:{height:`${t}px`}}),l())}render(){const e=Array.from({length:121},((e,n)=>({label:n.toString(),value:n})));return n(t,null,n("div",{class:"nylas-buffer-time"},n("div",{class:"header",part:"ncp__header"},n("h3",null,"Buffer time"),n("p",null,"Add buffer time before and after the event.")),n("div",{class:"nylas-buffer-time__body"},n("div",{class:"nylas-buffer-time__dropdown"},n("div",{class:"nylas-buffer-time__row"},n("label",null,"Before the event"),n("div",{class:"dropdown-container"},n("select-dropdown",{id:"before-buffer-time",name:"before-buffer-time",options:e,defaultSelectedOption:e.find((e=>e.value==this.selectedBeforeBufferTime))??e[0]}),n("span",null,"mins"))),n("div",{class:"nylas-buffer-time__row"},n("label",null,"After the event"),n("div",{class:"dropdown-container"},n("select-dropdown",{id:"after-buffer-time",name:"after-buffer-time",options:e,defaultSelectedOption:e.find((e=>e.value==this.selectedAfterBufferTime))??e[0]}),n("span",null,"mins")))),n("div",{class:"nylas-buffer-time__preview"},n("h4",null,"PREVIEW"),this.renderPreview()))))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"]}}};Q([u({name:"nylas-buffer-time",eventToProps:{valueChanged:async(e,n)=>{const{valueChanged:a}=e.detail;if(a){a(e)}}},fireRegisterEvent:true}),ee("design:type",Function),ee("design:paramtypes",[]),ee("design:returntype",void 0)],ne.prototype,"render",null);ne.style=G;const ae=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:inherit}.nylas-calendar-picker{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-calendar-picker .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-calendar-picker .header h3{margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-calendar-picker .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-calendar-picker .nylas-calendar-picker__loading{padding-bottom:1rem}.nylas-calendar-picker .nylas-calendar-picker__loading .label{display:flex;align-items:center;gap:0.5rem;margin:1rem 1rem 0;color:var(--nylas-base-800)}.nylas-calendar-picker .nylas-calendar-picker__loading .label tooltip-component{display:flex}.nylas-calendar-picker .nylas-calendar-picker__loading .loading-button{margin:0 1rem;padding:0;width:inherit;height:48px;color:black;font-size:1rem;cursor:not-allowed;display:flex;gap:0.5rem;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.nylas-calendar-picker .nylas-calendar-picker__loading .loading-button span{padding:0 1rem}.nylas-calendar-picker .nylas-calendar-picker__dropdown{padding:1rem}.nylas-calendar-picker .nylas-calendar-picker__dropdown multi-select-dropdown::part(msd_dropdown){width:100%}.nylas-calendar-picker .nylas-calendar-picker__dropdown multi-select-dropdown::part(msd_dropdown-button){width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:1rem}.nylas-calendar-picker .nylas-calendar-picker__dropdown multi-select-dropdown::part(msd_dropdown-content){width:100%;max-width:unset}.nylas-calendar-picker .nylas-calendar-picker__dropdown multi-select-dropdown::part(msd_dropdown-button-selected-label){max-width:calc(100% - 2rem);font-family:var(--nylas-font-family);font-size:16px;line-height:24px}';const te=ae;var se=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var ie=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const le=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.calendars=undefined;this.organizerEmail=undefined;this.name="calendar";this.defaultSelectedCalendars=[];this.selectedCalendars=[]}connectedCallback(){i("nylas-calendar-picker","connectedCallback")}disconnectedCallback(){i("nylas-calendar-picker","disconnectedCallback")}componentWillLoad(){i("nylas-calendar-picker","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-calendar-picker","componentDidLoad");if(typeof this.internals.setFormValue==="function"){this.internals.setFormValue(this.defaultSelectedCalendars.toString(),"calendar")}}componentWillUpdate(){i("nylas-calendar-picker","componentWillUpdate")}componentDidUpdate(){i("nylas-calendar-picker","componentDidUpdate")}componentWillRender(){i("nylas-calendar-picker","componentWillRender")}componentDidRender(){i("nylas-calendar-picker","componentDidRender")}elementNameChangedHandler(e){i("nylas-calendar-picker","elementNameChangedHandler",e);this.host.setAttribute("name",e)}selectedOptionsChangedHandler(e){i("nylas-calendar-picker","selectedOptionChangedHandler",e.detail);const n=e=>{const{value:n}=e.detail;this.selectedCalendars=[...n];this.internals.setFormValue(n.toString(),"calendar")};this.valueChanged.emit({...e.detail,name:this.name,valueChangedHandler:n})}render(){const e=this.calendars?.map((e=>({value:e.id,label:e.name,selected:this.defaultSelectedCalendars?.includes(e.id)||this.defaultSelectedCalendars?.includes("primary")&&e.id===this.organizerEmail})))??[];return n(t,null,n("div",{class:"nylas-calendar-picker"},n("div",{class:"header",part:"ncp__header"},n("h3",null,"Calendar availability"),n("p",null,"Select calendars that you’d like to use for checking your availability.")),e.length>0?n("div",{class:"nylas-calendar-picker__dropdown"},n("multi-select-dropdown",{name:"calendar",label:"Select calendars that will be checked for availability",options:e},n("span",{slot:"label-icon"},n("tooltip-component",null,n("info-icon",{slot:"tooltip-icon"}),n("span",{slot:"tooltip-content"},"Check availability across one or multiple calendars. If multiple calendars are selected, you must be available across all of them to be considered available. The default is your primary calendar if none are selected."))))):n("div",{class:"nylas-calendar-picker__loading"},n("span",{class:"label"},"Select calendars that will be checked for availability ",n("info-icon",null)),n("div",{class:"loading-button"},n("span",null,"Loading...")))))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"]}}};se([u({name:"nylas-calendar-picker",eventToProps:{valueChanged:async(e,n)=>{const{valueChangedHandler:a}=e.detail;if(a){a(e)}}},fireRegisterEvent:true}),ie("design:type",Function),ie("design:paramtypes",[]),ie("design:returntype",void 0)],le.prototype,"render",null);le.style=te;const oe=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:inherit}.nylas-custom-booking-flow{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-custom-booking-flow .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-custom-booking-flow .header h3{margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-custom-booking-flow .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-custom-booking-flow .nylas-custom-booking-flow__loading{padding-bottom:1rem}.nylas-custom-booking-flow .nylas-custom-booking-flow__loading .label{display:flex;align-items:center;gap:0.5rem;margin:1rem 1rem 0;color:var(--nylas-base-800)}.nylas-custom-booking-flow .nylas-custom-booking-flow__loading .loading-button{margin:0 1rem;padding:0;width:inherit;height:48px;color:black;font-size:1rem;cursor:not-allowed;display:flex;gap:0.5rem;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.nylas-custom-booking-flow .nylas-custom-booking-flow__loading .loading-button span{padding:0 1rem}.nylas-custom-booking-flow .nylas-custom-booking-flow__dropdown{padding:1rem}.nylas-custom-booking-flow .nylas-custom-booking-flow__dropdown span.label{display:flex;align-items:center;gap:4px;color:var(--nylas-base-800)}.nylas-custom-booking-flow .nylas-custom-booking-flow__dropdown span.label tooltip-component{display:flex}.nylas-custom-booking-flow .nylas-custom-booking-flow__dropdown select-dropdown::part(sd_dropdown){width:100%}.nylas-custom-booking-flow .nylas-custom-booking-flow__dropdown select-dropdown::part(sd_dropdown-button){width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:1rem}.nylas-custom-booking-flow .nylas-custom-booking-flow__dropdown select-dropdown::part(sd_dropdown-content){width:100%;max-width:unset}.nylas-custom-booking-flow .nylas-custom-booking-flow__dropdown select-dropdown::part(sd_dropdown-button-selected-label){max-width:calc(100% - 2rem);font-family:var(--nylas-font-family);font-size:16px;line-height:24px}';const re=oe;var de=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var ce=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const fe=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.name="booking-type";this.bookingType="";this.selectedBookingType=""}connectedCallback(){i("nylas-custom-booking-flow","connectedCallback")}disconnectedCallback(){i("nylas-custom-booking-flow","disconnectedCallback")}componentWillLoad(){i("nylas-custom-booking-flow","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-custom-booking-flow","componentDidLoad");if(typeof this.internals.setFormValue==="function"){this.internals.setFormValue(this.bookingType.toString(),"booking-calendar")}this.selectedBookingType=this.bookingType}componentWillUpdate(){i("nylas-custom-booking-flow","componentWillUpdate")}componentDidUpdate(){i("nylas-custom-booking-flow","componentDidUpdate")}componentWillRender(){i("nylas-custom-booking-flow","componentWillRender")}componentDidRender(){i("nylas-custom-booking-flow","componentDidRender")}elementNameChangedHandler(e){i("nylas-custom-booking-flow","elementNameChangedHandler",e);this.host.setAttribute("name",e)}selectedOptionChangedHandler(e){i("nylas-custom-booking-flow","selectedOptionChangedHandler",e.detail);const n=e=>{const{value:n}=e.detail;this.selectedBookingType=n;this.internals.setFormValue(n.toString(),"booking-calendar")};this.valueChanged.emit({...e.detail,valueChanged:n})}render(){const e=[{label:"Automatically accept bookings",value:"booking"},{label:"Manually confirm/decline bookings",value:"pre-booking"}];return n(t,{key:"8caff7b115db52f355185615eab1e5c0c3fe32db"},n("div",{key:"9c43d51b15ceefa958560b8fbb0a684f77e58eb0",class:"nylas-custom-booking-flow"},n("div",{key:"2d25054eef5b8208ad0e1b9ac165e023061cb85c",class:"header",part:"ncp__header"},n("h3",{key:"63f570c5f8e6423123eaec621dacda10be0a33e6"},"Customize booking flow"),n("p",{key:"cf6b5cb225510a9bb6ba9cee1fa850caa331c9ea"},"Customize how new bookings are handled when a booking is completed.")),e.length>0?n("div",{class:"nylas-custom-booking-flow__dropdown"},n("span",{class:"label"},"After a booking is confirmed",n("tooltip-component",null,n("info-icon",{slot:"tooltip-icon"}),n("span",{slot:"tooltip-content"},"Choose how you’d like to handle new bookings. If you choose to manually confirm/decline bookings, you will be able to review and accept or decline each booking request."))),n("select-dropdown",{name:"booking-type",options:e,withSearch:false,defaultSelectedOption:e.find((e=>e.value==this.bookingType))??e[0]})):n("div",{class:"nylas-custom-booking-flow__loading"},n("span",{class:"label"},"Select a calendar to book meetings on ",n("info-icon",null)),n("div",{class:"loading-button"},n("span",null,"Loading...")))))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"]}}};de([u({name:"nylas-custom-booking-flow",eventToProps:{valueChanged:async(e,n)=>{const{valueChanged:a}=e.detail;if(a){a(e)}}},fireRegisterEvent:true}),ce("design:type",Function),ce("design:paramtypes",[]),ce("design:returntype",void 0)],fe.prototype,"render",null);fe.style=re;const be=':host{--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-event-description{display:flex;flex-direction:column;gap:4px}.nylas-event-description label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:14px;font-style:normal;font-weight:400;line-height:150%;}.nylas-event-description label span.label-icon{margin-left:4px}.nylas-event-description label span.label-icon tooltip-component{display:flex}.nylas-event-description textarea{padding:12px 16px;border-width:1;resize:vertical;border-radius:8px;font-family:var(--nylas-font-family);font-size:16px;line-height:24px;border:1px solid var(--nylas-base-200)}.nylas-event-description textarea::-webkit-resizer{display:none}';const pe=be;var he=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var ye=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const ue=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.eventDescription=undefined;this.description=this.eventDescription??"";this.name="description"}elementNameChangedHandler(e){i("nylas-event-description","elementNameChangedHandler",e);this.host.setAttribute("name",e)}connectedCallback(){i("nylas-event-description","connectedCallback")}componentWillLoad(){i("nylas-event-description","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-event-description","componentDidLoad")}disconnectedCallback(){i("nylas-event-description","disconnectedCallback")}handleChange(e){this.description=e.target.value;this.internals.setFormValue(e.target.value,"description");this.valueChanged.emit({value:e.target.value,name:this.name})}render(){return n(t,{key:"d9ddc56b47dc13868d46d5ecccaf573125d9d930"},n("div",{key:"e266bc83de28714a40934cd97d3d7faa9b579612",class:"nylas-event-description"},n("label",{key:"15dea6c63596093c5dbc2f1abb8c414af6a7d059",htmlFor:"description"},"Event description",n("span",{key:"615987a7b3b7595fed47462d9337f3731449586d",class:"label-icon"},n("tooltip-component",{key:"ea67b662376df9d50b6dd51892ae5ed241e0c911"},n("info-icon",{key:"2e6dafef89f8d1575c583b7bcb7da7486687439b",slot:"tooltip-icon"}),n("span",{key:"b435c40a6abfef7114f04f752e97a20eade17ae5",slot:"tooltip-content"},"Provide any additional details for your event.")))),n("textarea",{key:"35d614a13f24213668c504ee427956e81d18185d",id:"description",name:"description",value:this.description,maxlength:"8192",onInput:e=>this.handleChange(e)})))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"]}}};he([u({name:"nylas-event-description",eventToProps:{},fireRegisterEvent:true}),ye("design:type",Function),ye("design:paramtypes",[]),ye("design:returntype",void 0)],ue.prototype,"render",null);ue.style=pe;const me=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-event-duration{display:flex;flex-direction:column;gap:4px}.nylas-event-duration label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:14px;font-style:normal;font-weight:400;line-height:150%;}.nylas-event-duration label span.required{color:var(--nylas-error, #cc4841)}.nylas-event-duration label span.label-icon{margin-left:4px}.nylas-event-duration label span.label-icon tooltip-component{display:flex}.nylas-event-duration__wrapper{display:flex;align-items:center;gap:0.5rem}.nylas-event-duration__wrapper input{padding:12px 16px;border-width:1;border-radius:8px;border:1px solid var(--nylas-base-200);font-family:var(--nylas-font-family);font-size:16px;line-height:24px;width:48px}.nylas-event-duration__wrapper select-dropdown::part(sd_dropdown-button){border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:12px 16px}.nylas-event-duration__wrapper select-dropdown::part(sd_dropdown-button-selected-label){font-family:var(--nylas-font-family);font-size:16px;line-height:24px}';const ge=me;var ve=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var ke=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const xe=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.name="duration";this.eventDurationMinutes=undefined;this.duration=this.eventDurationMinutes?this.eventDurationMinutes>=60?this.eventDurationMinutes/60:this.eventDurationMinutes:5;this.durationMinutes=this.eventDurationMinutes??5;this.durationIncrement=this.eventDurationMinutes?this.eventDurationMinutes>=60?60:1:1}elementNameChangedHandler(e){i("nylas-event-duration","elementNameChangedHandler",e);this.host.setAttribute("name",e)}durationMinutesChangedHandler(e,n){i("nylas-event-duration","durationMinutesChangedHandler",e);if(e===n){return}this.valueChanged.emit({value:e.toString(),name:this.name})}connectedCallback(){i("nylas-event-duration","connectedCallback")}componentWillLoad(){i("nylas-event-duration","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-event-duration","componentDidLoad");this.internals.setFormValue(this.durationMinutes.toString(),"duration")}disconnectedCallback(){i("nylas-event-duration","disconnectedCallback")}handleChange(e){this.duration=e.target.value;this.durationMinutes=this.duration*this.durationIncrement;this.internals.setFormValue(this.durationMinutes.toString(),"duration")}handleBlur(){if((this.duration===null||this.duration===undefined)&&this.durationIncrement===1){this.duration=5}if((this.duration<=0||this.duration===null||this.duration===undefined)&&this.durationIncrement===60){this.duration=1}if(this.duration<5&&this.durationIncrement===1){this.duration=5}if(this.duration>720&&this.durationIncrement===1){this.duration=720}if(this.duration>12&&this.durationIncrement===60){this.duration=12}this.durationMinutes=this.duration*this.durationIncrement;this.internals.setFormValue(this.durationMinutes.toString(),"duration")}selectedOptionChangedHandler(e){i("nylas-calendar-picker","selectedOptionChangedHandler",e.detail);const{value:n}=e.detail;this.durationIncrement=parseInt(n);if(this.durationIncrement===1){this.duration=5}else{this.duration=1}this.durationMinutes=this.duration*this.durationIncrement;this.internals.setFormValue(this.durationMinutes.toString(),"duration")}render(){const e=[{value:1,label:"minutes"},{value:60,label:"hours"}];return n(t,{key:"75a6d393097f97adeee60d72fb29054876965598"},n("div",{key:"e9f8bb8666505fde3ed1979cca7288c3eef13e20",class:"nylas-event-duration"},n("label",{key:"37701c923fff3654317cfcc36e2300f20d4c4925",htmlFor:"duration"},"Event duration",n("span",{key:"7f39f7f4fb8ffdc0fd7900edee0ac3ec330a88b0",class:"required"},"*"),n("span",{key:"410df0fe6b679346d2347e2df08aa17a29b21b98",class:"label-icon"},n("tooltip-component",{key:"42883303ef733e39e110568d556c3d9f943a8292"},n("info-icon",{key:"feda0379b69dbe55563959d5f7bc10b8230c2ad9",slot:"tooltip-icon"}),n("span",{key:"44f88a269e336398bb5c48dca1e529aac07a5ddb",slot:"tooltip-content"},"Set the duration of your event.")))),n("div",{key:"84b6c6aa9b431ef3e300e26b8ea81b49e975a003",class:"nylas-event-duration__wrapper"},n("input",{key:"599e0d424d7366cce3723fe9d30c45d52ec75958",type:"number",id:"duration",name:"duration",value:this.duration,onBlur:()=>this.handleBlur(),onInput:e=>this.handleChange(e),min:5}),n("select-dropdown",{key:"f699922c7ac3854c22356bfaefced2834fc0ca7b",name:"event-duration",options:e,defaultSelectedOption:e.find((e=>e.value==this.durationIncrement))??e[0],withSearch:false}))))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"],durationMinutes:["durationMinutesChangedHandler"]}}};ve([u({name:"nylas-event-duration",eventToProps:{},fireRegisterEvent:true}),ke("design:type",Function),ke("design:paramtypes",[]),ke("design:returntype",void 0)],xe.prototype,"render",null);xe.style=ge;const we=':host{display:block;margin:1rem;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-event-info__title{color:var(--nylas-base-nylas-base-900-aaa, #101323);font-size:16px;font-style:normal;font-weight:600;line-height:20px;margin:0;text-align:left}.nylas-event-info__subtitle{color:var(--nylas-base-nylas-base-600-aaa, #3e4784);font-size:14px;font-style:normal;font-weight:400;line-height:20px;margin:0.25rem 0px 0px;text-align:left}.nylas-event-info__content{padding:1rem;display:flex;flex-direction:column;gap:1rem}.nylas-event-info__block{display:flex;justify-content:space-between;gap:0.5rem}';const _e=we;var Ce=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var Le=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const Re=class{constructor(n){e(this,n);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}}connectedCallback(){i("nylas-event-info","connectedCallback")}componentWillLoad(){i("nylas-event-info","componentWillLoad")}componentDidLoad(){i("nylas-event-info","componentDidLoad")}disconnectedCallback(){i("nylas-event-info","disconnectedCallback")}render(){return n(t,{key:"0bb711d5c047feb6eabe91f0067fa12080ff1e05"},n("nylas-form-card",{key:"c01cb8fc177acda4a20b0327f3567cd98ff4d1c1"},n("h1",{key:"b6bb50950769c270a06b6af0e3af527cac3202d4",slot:"header-title",class:"nylas-event-info__title"},"Event information"),n("h3",{key:"e02f8407c1737626118e4bf85c81ae9cfbf11167",slot:"header-subtitle",class:"nylas-event-info__subtitle"},"Enter all event information."),n("div",{key:"a2e3467a533b29de82a30ee540f1cd7249cefaf4",slot:"content",class:"nylas-event-info__content"},n("slot",{key:"90659526ed86eba38a7d1974bd14e16994fb61dd",name:"inputs"}))))}static get formAssociated(){return true}};Ce([u({name:"nylas-event-info",eventToProps:{},fireRegisterEvent:true}),Le("design:type",Function),Le("design:paramtypes",[]),Le("design:returntype",void 0)],Re.prototype,"render",null);Re.style=_e;const De=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-event-title{display:flex;flex-direction:column;gap:4px;position:relative;text-align:left}.nylas-event-title div.title{padding:12px 16px;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);overflow:scroll;white-space:nowrap;scrollbar-width:thin}.nylas-event-title div.title::-webkit-scrollbar{width:6px;height:6px}.nylas-event-title input{padding:12px 16px;border-width:1;border-radius:8px;border:1px solid var(--nylas-base-200)}.nylas-event-title span.help-text{color:var(--nylas-base-800);font-size:14px;font-style:normal;font-weight:400;line-height:21px}.nylas-event-title label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:14px;font-style:normal;font-weight:400;line-height:150%;}.nylas-event-title label span.required{color:var(--nylas-error, #cc4841)}.nylas-event-title label span.label-icon{margin-left:4px}.nylas-event-title label span.label-icon tooltip-component{display:flex}.highlighted-tag{background-color:var(--nylas-base-200);border-radius:var(--nylas-border-radius);padding:5px;margin-left:4px}.token-options{display:block;background-color:var(--nylas-base-0);width:100%;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;top:80px;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843)}@media screen and (max-width: 768px){.token-options{right:0;width:325px;max-width:unset}}.token-options ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px;margin:0}.token-options ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.token-options ul li .token-label{display:flex;flex-direction:column;font-weight:400}.token-options ul li .token-label .token{color:var(--nylas-abse-900);font-size:16px;line-height:24px}.token-options ul li .token-label .description{color:var(--nylas-base-600);font-size:14px;line-height:21px}.token-options ul li:hover,.token-options ul li:focus,.token-options ul li:active,.token-options ul li.active{background-color:var(--nylas-base-100)}.token-options ul li:hover .token-label .token,.token-options ul li:focus .token-label .token,.token-options ul li:active .token-label .token,.token-options ul li.active .token-label .token{color:var(--nylas-primary)}.token-options .selected{background-color:var(--nylas-base-100)}';const He=De;var Me=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var Oe=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const je=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.eventTitle=undefined;this.name="title";this.showTokens=false;this.availableTokens=g.map((e=>({label:e.token,value:e.value,labelHTML:e})));this.filteredTokens=this.availableTokens;this.ariaActivedescendant="";this.currentWord={$value:"",fullText:"",index:-1,focusOffset:-1}}elementNameChangedHandler(e){i("nylas-event-title","elementNameChangedHandler",e);this.host.setAttribute("name",e)}ariaActivedescendantChangedHandler(e){i("nylas-event-title","ariaActivedescendantChangedHandler",e);if(e!==""){const n=this.host.shadowRoot?.getElementById(e);n?.classList.add("active")}else{const e=this.host.shadowRoot?.querySelectorAll(".token-options li.active");e?.forEach((e=>e.classList.remove("active")))}}connectedCallback(){i("nylas-event-title","connectedCallback")}componentWillLoad(){i("nylas-event-title","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-event-title","componentDidLoad");this.updateEventTitleFromProp(this.eventTitle||"")}disconnectedCallback(){i("nylas-event-title","disconnectedCallback")}updateEventTitleFromProp(e){i("nylas-event-title","eventTitleChangedHandler",e);this.titleRef.innerHTML=this.highlightTokens();this.titleRef.focus()}highlightTokens(){let e=this.eventTitle||"";g.forEach((n=>{const a=n.value;const t=new RegExp(`(\\${a})(?!\\w)`,"g");e=e.replace(t,'<span class="highlighted-tag">$1</span>')}));return e}getCurrentSelectionForBrowser(){const e=(e,n,a)=>{const t=e.replace(/[\u200B-\u200D\uFEFF]/g,"");const s=t.lastIndexOf("$");const i=t.substring(s).split(" ")[0];return{focusOffset:n,dollarIndex:s,lastWord:i,currentText:t,node:a}};const n=c();console.log("currentBrowser",n);switch(n){case"Chrome":const n=this.host.shadowRoot?.getSelection();const a=n?.focusNode;const t=a?.nodeValue||"";return e(t,n?.focusOffset||-1,a);case"Firefox":const s=document.getSelection();const i=s?.anchorNode?.nodeValue||"";return e(i,s?.focusOffset||-1,s?.anchorNode);case"Safari":const l=window.getSelection();const o=l?.getComposedRanges(this.host.shadowRoot)[0];const r=o?.startContainer?.nodeValue||"";return e(r,o?.endOffset||-1,o?.startContainer);default:console.warn("Browser not supported");return null}}handleChange(e){const n=e.target.textContent||"";const a=this.getCurrentSelectionForBrowser();if(!a){this.updateEventTitle(n);this.resetDropdown();return}const{focusOffset:t,dollarIndex:s,lastWord:i,currentText:l}=a;if(s===-1||t<s){this.updateEventTitle(n);this.resetDropdown();return}if(i.startsWith("$")){this.showTokens=true;this.currentWord={$value:i,fullText:l,index:s,focusOffset:t};this.populateSuggestionsDropdown(i)}else{this.resetDropdown()}this.updateEventTitle(n)}handleInputKeyDown(e){if(e.key==="Enter"){e.preventDefault();const n=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(n){n.click();this.ariaActivedescendant=""}}else if(e.key==="ArrowDown"){e.preventDefault();const n=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(n){const e=n.nextElementSibling;if(e){this.ariaActivedescendant=e.id}else{this.ariaActivedescendant=this.filteredTokens[0].label}}else{this.ariaActivedescendant=this.filteredTokens[0].label}}else if(e.key==="ArrowUp"){e.preventDefault();const n=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(n){const e=n.previousElementSibling;if(e){this.ariaActivedescendant=e.id}else{this.ariaActivedescendant=this.filteredTokens[this.filteredTokens.length-1].label}}else{this.ariaActivedescendant=this.filteredTokens[this.filteredTokens.length-1].label}}else if(e.key==="Escape"){e.preventDefault();this.resetDropdown()}else if(e.key==="Backspace"||e.key==="Delete"){const e=this.getCurrentSelectionForBrowser();if(e?.currentText.startsWith("${")){e?.node?.parentNode&&e.node.parentNode.removeChild(e.node)}}}selectOption(e,n){e.preventDefault();const a=this.currentWord.fullText;const t=this.currentWord.$value;let s=this.titleRef.firstChild;let i=null;while(s){if(s.nodeType===3){const e=s.textContent?.replace(/[\u200B-\u200D\uFEFF]/g,"")||"";const n=a.replace(/[\u200B-\u200D\uFEFF]/g,"");if(e.includes(n)){i=s;break}}s=s.nextSibling}if(!i){return}const l=i.textContent||"";const o=l.indexOf(t);const r=l.substring(0,o);const d=l.substring(o+t.length);const c=document.createTextNode(r);const f=document.createRange();const b=document.createElement("span");b.classList.add("highlighted-tag");b.textContent=`${n.value}`;const p=document.createTextNode(d);if(d!==""){i.replaceWith(c,b,p);f.setStart(p,0)}else{const e=document.createTextNode("");i.replaceWith(c,b,e);f.setStart(e,0)}this.resetDropdown();this.titleRef.focus();const h=window.getSelection();f.collapse(true);h?.removeAllRanges();h?.addRange(f);this.updateEventTitle(this.titleRef.textContent||"")}populateSuggestionsDropdown(e=""){this.filteredTokens=this.availableTokens.filter((n=>n.label.startsWith(e.toString())||n.value.startsWith(e.toString())));if(this.filteredTokens.length>0){this.ariaActivedescendant=this.filteredTokens[0].label}}updateEventTitle(e){const n=e.replace(/ +/g," ");this.valueChanged.emit({value:n,name:this.name})}resetDropdown(){this.showTokens=false;this.ariaActivedescendant=""}getLabelHTML(e){return n("div",{class:"token-label"},n("span",{class:"token"},e.token),n("span",{class:"description"},e.description))}render(){return n(t,{key:"3a7d0d3f26d3a8e3b5aa8c05f50f6d29c174b842"},n("div",{key:"23a7a97be25be6c4a3e9f6cba2da58221bfa577f",class:"nylas-event-title"},n("label",{key:"43c64b93196da3ead8579832d41ce441b585ee47",htmlFor:"title"},"Event title",n("span",{key:"92948ef95c675e976bc390947ae7f59368ded040",class:"required"},"*"),n("span",{key:"e4d974e193065f9ddd27c3a1c6cbdfa4b887d555",class:"label-icon"},n("tooltip-component",{key:"5a22f040163c9a437d0be6850ece29f2e0a48985"},n("info-icon",{key:"4f065a1ff2a00f9d1974915a52722cfc38a30d7a",slot:"tooltip-icon"}),n("span",{key:"5517a19abdcfe5cec829140dea3cd810a3575a27",slot:"tooltip-content"},"Enter a title for your event.")))),n("div",{key:"de04b5e1505e50f61bbf43430db853b04149be3e",class:"title",ref:e=>this.titleRef=e,contentEditable:"true",onInput:e=>this.handleChange(e),onKeyDown:e=>this.handleInputKeyDown(e)}),this.showTokens&&this.filteredTokens?.length>0&&n("div",{class:"token-options"},n("ul",{tabindex:"-1",role:"listbox","aria-label":this.name,"aria-activedescendant":this.ariaActivedescendant},this.filteredTokens.map((e=>n("li",{tabindex:"0",key:e.label,id:e.label,class:{active:this.ariaActivedescendant===e.label},onClick:n=>this.selectOption(n,e),role:"option"},this.getLabelHTML(e.labelHTML)))))),n("span",{key:"c3b75b0038f5cc22c7c9a4db0aaa0c9f5d61036a",class:"help-text"},"Create a dynamic templated event title by typing $. Learn more")))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"],ariaActivedescendant:["ariaActivedescendantChangedHandler"]}}};Me([u({name:"nylas-event-title",eventToProps:{},fireRegisterEvent:true}),Oe("design:type",Function),Oe("design:paramtypes",[]),Oe("design:returntype",void 0)],je.prototype,"render",null);je.style=He;const ze=':host{--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-event-location{display:flex;flex-direction:column;gap:4px;font-family:var(--nylas-font-family)}.nylas-event-location label{display:flex;align-items:center;color:var(--nylas-base-nylas-base-800);font-size:14px;font-style:normal;font-weight:400;line-height:150%;}.nylas-event-location label span.label-icon{margin-left:4px}.nylas-event-location label span.label-icon tooltip-component{display:flex}.nylas-event-location span[slot=select-icon]{border-right:1px solid var(--nylas-base-200);padding:16px 0.75rem 16px 0.5rem;border-radius:var(--nylas-border-radius-2x);border-bottom-right-radius:0;border-top-right-radius:0;height:20px}.nylas-event-location div.location-input{display:grid;grid-template-columns:auto 1fr;width:100%;gap:0.5rem}.nylas-event-location div.location-input input{border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:12px 16px;font-family:var(--nylas-font-family);font-size:16px;line-height:24px}.nylas-event-location select-dropdown{width:208px}@media screen and (max-width: 768px){.nylas-event-location select-dropdown{width:100%}}.nylas-event-location select-dropdown::part(sd_dropdown){width:100%}.nylas-event-location select-dropdown::part(sd_dropdown-content){left:calc(35px + 0.5rem)}.nylas-event-location select-dropdown::part(sd_dropdown-button){display:flex;justify-content:space-between;width:100%;border:1px solid var(--nylas-base-200);padding:0 0.5rem}.nylas-event-location select-dropdown::part(sd_dropdown-button-selected-label){display:inline-flex;align-self:center;padding:14px 0;font-family:var(--nylas-font-family);font-size:16px;line-height:24px}';const Se=ze;var Ee=undefined&&undefined.__decorate||function(e,n,a,t){var s=arguments.length,i=s<3?n:t===null?t=Object.getOwnPropertyDescriptor(n,a):t,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,n,a,t);else for(var o=e.length-1;o>=0;o--)if(l=e[o])i=(s<3?l(i):s>3?l(n,a,i):l(n,a))||i;return s>3&&i&&Object.defineProperty(n,a,i),i};var Te=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const Ie=class{constructor(n){e(this,n);this.valueChanged=a(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.eventLocation=undefined;this.location=this.eventLocation??"";this.selectedLocationOption=this.eventLocation?"custom":"none";this.name="location"}elementNameChangedHandler(e){i("nylas-location-component","elementNameChangedHandler",e);this.host.setAttribute("name",e)}eventLocationChangedHandler(e,n){i("nylas-location-component","eventLocationChangedHandler",e);if(e===n){return}this.selectedLocationOption=e?"custom":"none"}connectedCallback(){i("nylas-location-component","connectedCallback")}componentWillLoad(){i("nylas-location-component","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){i("nylas-location-component","componentDidLoad")}disconnectedCallback(){i("nylas-location-component","disconnectedCallback")}selectedOptionChangedHandler(e){this.selectedLocationOption=e.detail.value;if(this.selectedLocationOption==="none"){this.location="";this.setFormValue("","location");this.valueChanged.emit({value:"",name:this.name})}}setFormValue(e,n){if(typeof this.internals.setFormValue==="function"){this.internals.setFormValue(e,n)}}handleChange(e){this.location=e.target.value;this.setFormValue(e.target.value,"location");this.valueChanged.emit({value:e.target.value,name:this.name})}render(){const e=[{value:"none",label:"None"},{value:"custom",label:"Custom location"}];const a={none:n("location-off-icon",{key:"021fd97ea9f51cc9ef6edab397e12181f24bddb2"}),custom:n("location-icon",{key:"24a170f7a38501da4f46eef8da5231f9002347b1"})};return n(t,{key:"8b520fcbc5f57bf6ab51d6cb83fd58eb452f702a"},n("div",{key:"6e7b240c7b5603cea809a8e83f003ffc48db183b",class:"nylas-event-location"},n("label",{key:"e6979aeff1965f62540bc274818cbb7b46f454d6",htmlFor:"location"},"Location type",n("span",{key:"0334a62e0b8d15d07f35722561743d9654364176",class:"label-icon"},n("tooltip-component",{key:"a1267dbc795c9abc4faa08ee4bd28d5fbb0dcc8f"},n("info-icon",{key:"ad03af910d69f86b5459e8e3d9129a6532b67b27",slot:"tooltip-icon"}),n("span",{key:"8bec251481f72beea08ed8649b628a6d9604ef39",slot:"tooltip-content"},"Choose how you’ll meet with the participants at the scheduled time. Pick from available conferencing options or add a custom location.")))),n("div",{key:"4cddd535ae80ee17f25566fff3c79cb92fe5ed73",class:"location-input"},n("select-dropdown",{key:"efe580f62aa4ea955cefff02a9e133a1eb66057d",withSearch:false,name:"location",options:e,defaultSelectedOption:e.find((e=>e.value==this.selectedLocationOption))},n("span",{key:"58faabe958e2faf6cc518d3a02ff7dee5586f48d",slot:"select-icon"},a[this.selectedLocationOption])),this.selectedLocationOption==="custom"&&n("input",{type:"text",id:"location",name:"location",maxlength:"1024",value:this.location,onInput:e=>this.handleChange(e)}))))}static get formAssociated(){return true}get host(){return s(this)}static get watchers(){return{name:["elementNameChangedHandler"],eventLocation:["eventLocationChangedHandler"]}}};Ee([u({name:"nylas-location-component",eventToProps:{},fireRegisterEvent:true}),Te("design:type",Function),Te("design:paramtypes",[]),Te("design:returntype",void 0)],Ie.prototype,"render",null);Ie.style=Se;var Ae={exports:{}};(function(e,n){!function(n,a){e.exports=a()}(v,(function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d\d/,t=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,i={},l=function(e){return(e=+e)+(e>68?1900:2e3)};var o=function(e){return function(n){this[e]=+n}},r=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var n=e.match(/([+-]|\d\d)/g),a=60*n[1]+(+n[2]||0);return 0===a?0:"+"===n[0]?-a:a}(e)}],d=function(e){var n=i[e];return n&&(n.indexOf?n:n.s.concat(n.f))},c=function(e,n){var a,t=i.meridiem;if(t){for(var s=1;s<=24;s+=1)if(e.indexOf(t(s,0,n))>-1){a=s>12;break}}else a=e===(n?"pm":"PM");return a},f={A:[s,function(e){this.afternoon=c(e,!1)}],a:[s,function(e){this.afternoon=c(e,!0)}],S:[/\d/,function(e){this.milliseconds=100*+e}],SS:[a,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[t,o("seconds")],ss:[t,o("seconds")],m:[t,o("minutes")],mm:[t,o("minutes")],H:[t,o("hours")],h:[t,o("hours")],HH:[t,o("hours")],hh:[t,o("hours")],D:[t,o("day")],DD:[a,o("day")],Do:[s,function(e){var n=i.ordinal,a=e.match(/\d+/);if(this.day=a[0],n)for(var t=1;t<=31;t+=1)n(t).replace(/\[|\]/g,"")===e&&(this.day=t)}],M:[t,o("month")],MM:[a,o("month")],MMM:[s,function(e){var n=d("months"),a=(d("monthsShort")||n.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(a<1)throw new Error;this.month=a%12||a}],MMMM:[s,function(e){var n=d("months").indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],Y:[/[+-]?\d+/,o("year")],YY:[a,function(e){this.year=l(e)}],YYYY:[/\d{4}/,o("year")],Z:r,ZZ:r};function b(a){var t,s;t=a,s=i&&i.formats;for(var l=(a=t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(n,a,t){var i=t&&t.toUpperCase();return a||s[t]||e[t]||s[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,n,a){return n||a.slice(1)}))}))).match(n),o=l.length,r=0;r<o;r+=1){var d=l[r],c=f[d],b=c&&c[0],p=c&&c[1];l[r]=p?{regex:b,parser:p}:d.replace(/^\[|\]$/g,"")}return function(e){for(var n={},a=0,t=0;a<o;a+=1){var s=l[a];if("string"==typeof s)t+=s.length;else{var i=s.regex,r=s.parser,d=e.slice(t),c=i.exec(d)[0];r.call(n,c),e=e.replace(c,"")}}return function(e){var n=e.afternoon;if(void 0!==n){var a=e.hours;n?a<12&&(e.hours+=12):12===a&&(e.hours=0),delete e.afternoon}}(n),n}}return function(e,n,a){a.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(l=e.parseTwoDigitYear);var t=n.prototype,s=t.parse;t.parse=function(e){var n=e.date,t=e.utc,l=e.args;this.$u=t;var o=l[1];if("string"==typeof o){var r=!0===l[2],d=!0===l[3],c=r||d,f=l[2];d&&(f=l[2]),i=this.$locale(),!r&&f&&(i=a.Ls[f]),this.$d=function(e,n,a){try{if(["x","X"].indexOf(n)>-1)return new Date(("X"===n?1e3:1)*e);var t=b(n)(e),s=t.year,i=t.month,l=t.day,o=t.hours,r=t.minutes,d=t.seconds,c=t.milliseconds,f=t.zone,p=new Date,h=l||(s||i?1:p.getDate()),y=s||p.getFullYear(),u=0;s&&!i||(u=i>0?i-1:p.getMonth());var m=o||0,g=r||0,v=d||0,k=c||0;return f?new Date(Date.UTC(y,u,h,m,g,v,k+60*f.offset*1e3)):a?new Date(Date.UTC(y,u,h,m,g,v,k)):new Date(y,u,h,m,g,v,k)}catch(e){return new Date("")}}(n,o,t),this.init(),f&&!0!==f&&(this.$L=this.locale(f).$L),c&&n!=this.format(o)&&(this.$d=new Date("")),i={}}else if(o instanceof Array)for(var p=o.length,h=1;h<=p;h+=1){l[1]=o[h-1];var y=a.apply(this,l);if(y.isValid()){this.$d=y.$d,this.$L=y.$L,this.init();break}h===p&&(this.$d=new Date(""))}else s.call(this,e)}}}))})(Ae);const We=Ae.exports;const Ne=':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.time-picker{display:inline-block;width:150px;position:relative}@media screen and (max-width: 768px){.time-picker{width:auto}}.time-picker input{width:150px;height:48px;text-align:center;font-size:1rem;cursor:pointer;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}@media screen and (max-width: 768px){.time-picker input{width:98px}}.time-picker input.focus{background:transparent}.time-picker input:hover,.time-picker input:active{border:1px solid var(--nylas-primary)}.time-picker input:active{outline:2px solid var(--nylas-primary)}.time-picker input span.open{transform:rotate(90deg)}.time-picker input span.closed{transform:rotate(270deg)}.time-picker input.error{border:1px solid var(--nylas-error)}.time-picker p.error{color:var(--nylas-error);font-size:0.875rem;margin:0}.times{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);width:100%;max-height:336px;overflow:auto;border:1px solid #ddd;z-index:1;border-radius:4px;position:absolute;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843)}.times ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.times ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:center;cursor:pointer}.times ul li.focused{background-color:var(--nylas-base-100)}.times ul li:hover,.times ul li:focus{background-color:var(--nylas-base-100)}.times ul li label{display:flex;align-items:center;gap:0.5rem}.times ul li label input{margin:0}';const Fe=Ne;f.extend(We);const Ue=class{constructor(n){e(this,n);this.timeChange=a(this,"timeChange",7);this.time=undefined;this.minimumStartTime=null;this.placeholder="hh:mmam/pm";this.setTime=undefined;this.name=undefined;this.hasError=false;this.setFormError=undefined;this.err="";this.showTimes=false;this.ariaActivedescendant="";this.times=this.generateTimes();this.shouldAutoScroll=false}handleOutsideClick(e){const n=e.composedPath();const a=n.includes(this.el);if(!a&&this.showTimes){this.showTimes=false}}minimumStartTimeChangedHandler(){if(this.minimumStartTime){let e=f().hour(parseInt(this.minimumStartTime)).minute(parseInt(this.minimumStartTime.slice(-4,-2)));if(this.minimumStartTime.slice(-2).toLowerCase()==="pm"&&parseInt(this.minimumStartTime)!==12){e=e.add(12,"hour")}else if(this.minimumStartTime.slice(-2).toLowerCase()==="am"&&parseInt(this.minimumStartTime)===12){e=e.subtract(12,"hour")}this.times=this.generateTimes();const n=f(this.times[0].value,"hh:mma");let a=f(this.time,"hh:mma");if(a.isBefore(n)){this.err="Invalid";this.setFormError(null,"Invalid")}}}componentDidRender(){if(this.showTimes&&this.shouldAutoScroll){const e=b(this.time);const n=this.times.findIndex((n=>n.value===e));if(n>-1){this.shouldAutoScroll=false;this.scrollToViewWithinParent(n)}return}}handleTimeChange(e,n){const a=n.split(":");if(a[0]==="00"&&a[1].slice(-2)=="pm"){this.err="Invalid";this.setFormError(e,"Invalid")}if(!p(n)){this.err="Invalid";this.setFormError(e,"Invalid")}else{this.err="";this.setFormError(null)}this.setTime(e,n);this.timeChange.emit(n)}handleTimeAutocomplete(e){const n=e.target?.value;if(!p(n)){this.err="Invalid";this.setFormError(e,"Invalid");return}if(n===""){const n=h().format("hh:mma");this.setTime(e,n);return}if(!y(n)){const e=b(n);this.setTime(e);return}this.setTime(e,n)}handleOnInput(e){const n=e.target?.value;if(!p(n)){return}if(n===""){const e=h().format("hh:mma");const n=this.times.findIndex((n=>n.value===e));if(n>-1){this.scrollToViewWithinParent(n)}return}if(!y(n)){const e=b(n);const a=this.times.findIndex((n=>n.value===e));if(a>-1){this.scrollToViewWithinParent(a)}return}}generateTimes(){const e=[];let n=f().set("hour",0).set("minute",0).set("second",0);if(this.minimumStartTime){n=f(this.minimumStartTime,"hh:mma")}const a=n.endOf("day").diff(n,"minutes");const t=Math.round(a/15);for(let a=0;a<t+1;a++){const s=n.add(a*15,"minute");if(a==t&&s.format("hh:mma").includes("am")){break}e.push({id:a,value:s.format("hh:mma")})}return e}handleComboboxKeyDown(e){if(e.key==="ArrowDown"){e.preventDefault();if(!this.showTimes){this.showTimes=true;this.shouldAutoScroll=true;return}if(this.ariaActivedescendant===""){this.ariaActivedescendant=this.times[0].id.toString();this.focusOption(0)}else{const e=this.times.findIndex((e=>e.id.toString()===this.ariaActivedescendant));const n=e+1<this.times.length?e+1:0;this.ariaActivedescendant=this.times[n].id.toString();this.focusOption(n)}}else if(e.key==="ArrowUp"){e.preventDefault();if(this.ariaActivedescendant===""){this.ariaActivedescendant=this.times[this.times.length-1].id.toString();this.focusOption(this.times.length-1)}else{const e=this.times.findIndex((e=>e.id.toString()===this.ariaActivedescendant));const n=e-1>=0?e-1:this.times.length-1;this.ariaActivedescendant=this.times[n].id.toString();this.focusOption(n)}}else if(e.key==="Escape"){this.showTimes=false;this.timeInput.focus()}}handleListboxKeydown(e){const n=this.times;const a=n.findIndex((e=>e.id.toString()===this.ariaActivedescendant));if(e.key==="ArrowDown"||e.key==="Tab"&&!e.shiftKey){e.preventDefault();const t=a+1<n.length?a+1:0;this.ariaActivedescendant=n[t].id.toString();this.focusOption(t)}else if(e.key==="ArrowUp"||e.key==="Tab"&&e.shiftKey){e.preventDefault();const t=a-1>=0?a-1:n.length-1;this.ariaActivedescendant=n[t].id.toString();this.focusOption(t)}else if(e.key==="Enter"){e.preventDefault();if(this.ariaActivedescendant){const t=n[a];this.handleTimeChange(e,t.value);this.showTimes=false;this.ariaActivedescendant="";this.timeInput.focus()}}else if(e.key==="Escape"){this.showTimes=false;this.timeInput.focus()}}scrollToViewWithinParent(e){const n=this.times[e];const a=this.el.shadowRoot?.getElementById(n.id.toString());const t=this.timeMenu;this.ariaActivedescendant=n.id.toString();const s=a.getBoundingClientRect();const i=t.getBoundingClientRect();if(s.top<i.top){t.scrollTop-=i.top-s.top}else if(s.bottom>i.bottom){t.scrollTop+=s.bottom-i.bottom}if(s.left<i.left){t.scrollLeft-=i.left-s.left}else if(s.right>i.right){t.scrollLeft+=s.right-i.right}}focusOption(e){const n=this.times[e];if(!n)return;const a=n.id.toString();const t=this.el.shadowRoot?.getElementById(a);if(t){t.focus();t.scrollIntoView({behavior:"smooth",block:"nearest"})}}render(){return n(t,{key:"ae06613962a37471cde869695544eff5897956e7"},n("div",{key:"26062a373ad43bd0392e6c68cb8924719110912e",class:"time-picker"},n("input",{key:"6bbb11bd7e469ced0d09df07f8f60878337699c2",type:"text",name:this.name,id:this.name,class:{"time-input":true,error:!!this.err||this.hasError},ref:e=>this.timeInput=e,value:this.time,onClick:()=>{this.showTimes=true;this.shouldAutoScroll=true},"aria-haspopup":"listbox","aria-label":this.name,"aria-expanded":this.showTimes?"true":"false",placeholder:this.placeholder,onKeyDown:e=>this.handleComboboxKeyDown(e),onInput:e=>this.handleOnInput(e),onBlur:e=>this.handleTimeAutocomplete(e)}),this.err&&n("div",{class:"invalid-time-icon"}),this.showTimes&&n("div",{class:"times",ref:e=>this.timeMenu=e},n("ul",{tabindex:"-1",role:"listbox","aria-label":this.name,"aria-activedescendant":this.ariaActivedescendant,onKeyDown:e=>this.handleListboxKeydown(e)},this.times.map((e=>n("li",{tabindex:"0",key:e.id,id:e.id.toString(),class:{focused:this.ariaActivedescendant===e.id.toString()},onClick:n=>{this.handleTimeChange(n,e.value);this.showTimes=false;this.timeInput.focus()},role:"option"},`${e.value}`))))),!this.showTimes&&this.err&&n("p",{class:"error",id:"email-error"},this.err)))}get el(){return s(this)}static get watchers(){return{minimumStartTime:["minimumStartTimeChangedHandler"]}}};Ue.style=Fe;export{w as add_circle_icon,L as calendar_info_icon,H as calendar_patterns_icon,j as flow_icon,E as location_icon,A as location_off_icon,F as multi_select_dropdown,V as nylas_availability_picker,J as nylas_booking_calendar_picker,ne as nylas_buffer_time,le as nylas_calendar_picker,fe as nylas_custom_booking_flow,ue as nylas_event_description,xe as nylas_event_duration,Re as nylas_event_info,je as nylas_event_title,Ie as nylas_location_component,Ue as nylas_time_window_picker};
|
|
2
|
-
//# sourceMappingURL=p-577ecdd4.entry.js.map
|