@nylas/web-elements 1.1.0-canary.15 → 1.1.0-canary.16
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_2.cjs.entry.js +10 -17
- package/dist/cjs/add-circle-icon_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{calendar-info-icon_25.cjs.entry.js → calendar-info-icon_27.cjs.entry.js} +161 -27
- package/dist/cjs/calendar-info-icon_27.cjs.entry.js.map +1 -0
- package/dist/cjs/google-logo-icon_4.cjs.entry.js +12 -7
- package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
- package/dist/cjs/index-7af03e3f.js +8 -16
- package/dist/cjs/index-c14ea8f5.js +12 -12
- package/dist/cjs/input-dropdown.cjs.entry.js +9 -2
- package/dist/cjs/input-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/input-dropdown_2.cjs.entry.js +9 -2
- package/dist/cjs/input-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nylas-additional-participants.cjs.entry.js +34 -14
- package/dist/cjs/nylas-additional-participants.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +2 -2
- package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booking-form.cjs.entry.js +2 -2
- package/dist/cjs/nylas-booking-form.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-cancellation-policy.cjs.entry.js +1 -1
- package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +1 -1
- package/dist/cjs/nylas-customize-booking-settings.cjs.entry.js +4 -4
- package/dist/cjs/nylas-customize-booking-settings.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-editor-tabs.cjs.entry.js +12 -7
- package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-event-info.cjs.entry.js +1 -1
- package/dist/cjs/nylas-event-limits.cjs.entry.js +1 -1
- package/dist/cjs/nylas-event-location.cjs.entry.js +3 -3
- package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
- package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +1 -1
- package/dist/cjs/nylas-min-booking-notice.cjs.entry.js +1 -1
- package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +1 -1
- package/dist/cjs/nylas-provider.cjs.entry.js +1 -1
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +4 -2
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js +1 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-time-window-picker.cjs.entry.js +1 -1
- package/dist/cjs/nylas-timeslot-interval.cjs.entry.js +2 -2
- package/dist/cjs/nylas-web-elements.cjs.js +1 -1
- package/dist/cjs/{scheduler-config-store-a5b7c08b.js → scheduler-config-store-0266631b.js} +2 -1
- package/dist/cjs/scheduler-config-store-0266631b.js.map +1 -0
- package/dist/cjs/{scheduler-config-store-918c20d5.js → scheduler-config-store-9f19c7a9.js} +2 -1
- package/dist/cjs/scheduler-config-store-9f19c7a9.js.map +1 -0
- package/dist/cjs/scheduler-store-0f7328f1.js.map +1 -1
- package/dist/cjs/scheduler-store-743ed238.js.map +1 -1
- package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +10 -1
- package/dist/collection/components/design-system/input-dropdown/input-dropdown.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +2 -2
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
- 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.js +1 -1
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.css +1 -0
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.css +20 -1
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +62 -13
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +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-customize-booking-settings/nylas-customize-booking-settings.js +5 -5
- package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +9 -7
- 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 +2 -0
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -1
- 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.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +3 -3
- 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.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +25 -2
- 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.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +2 -2
- package/dist/collection/stores/scheduler-config-store.js +1 -0
- package/dist/collection/stores/scheduler-config-store.js.map +1 -1
- package/dist/collection/stores/scheduler-store.js.map +1 -1
- package/dist/components/input-dropdown2.js +11 -3
- package/dist/components/input-dropdown2.js.map +1 -1
- package/dist/components/nylas-additional-participants.js +1 -127
- package/dist/components/nylas-additional-participants.js.map +1 -1
- package/dist/components/nylas-additional-participants2.js +164 -0
- package/dist/components/nylas-additional-participants2.js.map +1 -0
- package/dist/components/nylas-booking-form2.js +2 -2
- package/dist/components/nylas-booking-form2.js.map +1 -1
- package/dist/components/nylas-cancellation-policy2.js +1 -1
- package/dist/components/nylas-custom-booking-flow.js +1 -1
- package/dist/components/nylas-customize-booking-settings2.js +4 -4
- package/dist/components/nylas-customize-booking-settings2.js.map +1 -1
- package/dist/components/nylas-editor-tabs2.js +90 -73
- package/dist/components/nylas-editor-tabs2.js.map +1 -1
- package/dist/components/nylas-event-info2.js +1 -1
- package/dist/components/nylas-event-limits2.js +1 -1
- package/dist/components/nylas-event-location2.js +3 -3
- package/dist/components/nylas-form-card2.js +1 -1
- package/dist/components/nylas-limit-future-bookings2.js +1 -1
- package/dist/components/nylas-min-booking-notice2.js +1 -1
- package/dist/components/nylas-min-cancellation-notice2.js +1 -1
- package/dist/components/nylas-scheduler-editor.js +92 -77
- package/dist/components/nylas-scheduler-editor.js.map +1 -1
- package/dist/components/nylas-scheduling.js +1 -1
- package/dist/components/nylas-scheduling.js.map +1 -1
- package/dist/components/nylas-time-window-picker2.js +1 -1
- package/dist/components/nylas-timeslot-interval2.js +2 -2
- package/dist/components/people-icon.js +1 -32
- package/dist/components/people-icon.js.map +1 -1
- package/dist/components/people.js +36 -0
- package/dist/components/people.js.map +1 -0
- package/dist/components/scheduler-config-store.js +1 -0
- package/dist/components/scheduler-config-store.js.map +1 -1
- package/dist/components/scheduler-store.js.map +1 -1
- package/dist/esm/add-circle-icon.entry.js +1 -1
- package/dist/esm/add-circle-icon_2.entry.js +10 -17
- package/dist/esm/add-circle-icon_2.entry.js.map +1 -1
- package/dist/esm/archive-icon.entry.js +1 -1
- package/dist/esm/arrow-icon.entry.js +1 -1
- package/dist/esm/bold-icon.entry.js +1 -1
- package/dist/esm/button-component.entry.js +1 -1
- package/dist/esm/calendar-cancel-icon.entry.js +1 -1
- package/dist/esm/calendar-check-icon.entry.js +1 -1
- package/dist/esm/calendar-icon.entry.js +1 -1
- package/dist/esm/calendar-info-icon.entry.js +1 -1
- package/dist/esm/{calendar-info-icon_25.entry.js → calendar-info-icon_27.entry.js} +160 -28
- package/dist/esm/calendar-info-icon_27.entry.js.map +1 -0
- package/dist/esm/calendar-patterns-icon.entry.js +1 -1
- package/dist/esm/checkbox-component.entry.js +1 -1
- package/dist/esm/checkmark-circle-icon.entry.js +1 -1
- package/dist/esm/chevron-icon.entry.js +1 -1
- package/dist/esm/clock-icon.entry.js +1 -1
- package/dist/esm/close-icon.entry.js +1 -1
- package/dist/esm/document-refresh-icon.entry.js +1 -1
- package/dist/esm/flow-icon.entry.js +1 -1
- package/dist/esm/folder-icon.entry.js +1 -1
- package/dist/esm/forward-icon.entry.js +1 -1
- package/dist/esm/globe-icon.entry.js +1 -1
- package/dist/esm/google-logo-icon.entry.js +1 -1
- package/dist/esm/google-logo-icon_4.entry.js +12 -7
- package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
- package/dist/esm/inbox-icon.entry.js +1 -1
- package/dist/esm/{index-11d12497.js → index-2c7e4f4b.js} +2 -2
- package/dist/esm/{index-11d12497.js.map → index-2c7e4f4b.js.map} +1 -1
- package/dist/esm/{index-8362ce5c.js → index-582cfc93.js} +14 -14
- package/dist/esm/{index-8362ce5c.js.map → index-582cfc93.js.map} +1 -1
- package/dist/esm/index-7cb0dd3d.js +8 -16
- package/dist/esm/index.js +2 -2
- package/dist/esm/info-icon.entry.js +1 -1
- package/dist/esm/input-component.entry.js +1 -1
- package/dist/esm/input-dropdown.entry.js +10 -3
- package/dist/esm/input-dropdown.entry.js.map +1 -1
- package/dist/esm/input-dropdown_2.entry.js +9 -2
- package/dist/esm/input-dropdown_2.entry.js.map +1 -1
- package/dist/esm/italic-icon.entry.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/loading-icon.entry.js +1 -1
- package/dist/esm/location-icon.entry.js +1 -1
- package/dist/esm/location-off-icon.entry.js +1 -1
- package/dist/esm/{mailbox-store-11fa8387.js → mailbox-store-c9b2a4fd.js} +2 -2
- package/dist/esm/{mailbox-store-11fa8387.js.map → mailbox-store-c9b2a4fd.js.map} +1 -1
- package/dist/esm/microsoft-logo-icon.entry.js +1 -1
- package/dist/esm/multi-select-dropdown.entry.js +1 -1
- package/dist/esm/nylas-additional-participants.entry.js +36 -16
- package/dist/esm/nylas-additional-participants.entry.js.map +1 -1
- package/dist/esm/nylas-availability-picker.entry.js +2 -2
- package/dist/esm/nylas-booked-event-card.entry.js +2 -2
- package/dist/esm/nylas-booked-event-card_10.entry.js +2 -2
- package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
- package/dist/esm/nylas-booking-calendar-picker.entry.js +2 -2
- package/dist/esm/nylas-booking-form.entry.js +4 -4
- package/dist/esm/nylas-booking-form.entry.js.map +1 -1
- package/dist/esm/nylas-buffer-time.entry.js +2 -2
- package/dist/esm/nylas-calendar-picker.entry.js +2 -2
- package/dist/esm/nylas-cancel-booking-form.entry.js +2 -2
- package/dist/esm/nylas-cancellation-policy.entry.js +3 -3
- package/dist/esm/nylas-cancelled-event-card.entry.js +2 -2
- package/dist/esm/nylas-composer.entry.js +1 -1
- package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
- package/dist/esm/nylas-customize-booking-settings.entry.js +6 -6
- package/dist/esm/nylas-customize-booking-settings.entry.js.map +1 -1
- package/dist/esm/nylas-date-picker.entry.js +2 -2
- package/dist/esm/nylas-editor-tabs.entry.js +14 -9
- package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
- package/dist/esm/nylas-event-description.entry.js +2 -2
- package/dist/esm/nylas-event-duration.entry.js +2 -2
- package/dist/esm/nylas-event-info.entry.js +3 -3
- package/dist/esm/nylas-event-limits.entry.js +3 -3
- package/dist/esm/nylas-event-location.entry.js +5 -5
- package/dist/esm/nylas-event-title.entry.js +2 -2
- package/dist/esm/nylas-form-card.entry.js +3 -3
- package/dist/esm/nylas-if-state.entry.js +2 -2
- package/dist/esm/nylas-limit-future-bookings.entry.js +3 -3
- package/dist/esm/nylas-list-configurations.entry.js +2 -2
- package/dist/esm/nylas-list-folders.entry.js +2 -2
- package/dist/esm/nylas-list-threads.entry.js +2 -2
- package/dist/esm/nylas-locale-switch.entry.js +2 -2
- package/dist/esm/nylas-login.entry.js +2 -2
- package/dist/esm/nylas-logo.entry.js +1 -1
- package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
- package/dist/esm/nylas-mailbox-toolbar-button.entry.js +2 -2
- package/dist/esm/nylas-mailbox.entry.js +3 -3
- package/dist/esm/nylas-min-booking-notice.entry.js +3 -3
- package/dist/esm/nylas-min-cancellation-notice.entry.js +3 -3
- package/dist/esm/nylas-notification.entry.js +1 -1
- package/dist/esm/nylas-provider.entry.js +5 -5
- package/dist/esm/nylas-scheduler-editor.entry.js +6 -4
- package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
- package/dist/esm/nylas-scheduling.entry.js +4 -4
- package/dist/esm/nylas-scheduling.entry.js.map +1 -1
- package/dist/esm/nylas-selected-event-card.entry.js +2 -2
- package/dist/esm/nylas-summarize-message-button.entry.js +2 -2
- package/dist/esm/nylas-threads-refresh.entry.js +2 -2
- package/dist/esm/nylas-threads-search.entry.js +2 -2
- package/dist/esm/nylas-time-window-picker.entry.js +2 -2
- package/dist/esm/nylas-timeslot-interval.entry.js +4 -4
- package/dist/esm/nylas-timeslot-picker.entry.js +2 -2
- package/dist/esm/nylas-view-email.entry.js +1 -1
- package/dist/esm/nylas-view-thread.entry.js +2 -2
- package/dist/esm/nylas-web-elements.js +3 -3
- package/dist/esm/people-icon.entry.js +1 -1
- package/dist/esm/person-icon.entry.js +1 -1
- package/dist/esm/play-icon.entry.js +1 -1
- package/dist/esm/radio-button-group.entry.js +1 -1
- package/dist/esm/refresh-icon.entry.js +1 -1
- package/dist/esm/{register-component-8e4e394f.js → register-component-6ae95538.js} +2 -2
- package/dist/esm/{register-component-8e4e394f.js.map → register-component-6ae95538.js.map} +1 -1
- package/dist/esm/reply-all-icon.entry.js +1 -1
- package/dist/esm/reply-icon.entry.js +1 -1
- package/dist/esm/{scheduler-config-store-ec3b6190.js → scheduler-config-store-4a50a03d.js} +2 -1
- package/dist/esm/scheduler-config-store-4a50a03d.js.map +1 -0
- package/dist/{nylas-web-elements/scheduler-config-store-8ccc8dc7.js → esm/scheduler-config-store-f20845ad.js} +3 -2
- package/dist/esm/scheduler-config-store-f20845ad.js.map +1 -0
- package/dist/{nylas-web-elements/scheduler-store-c3af2560.js → esm/scheduler-store-17f7f1c8.js} +2 -2
- package/dist/esm/{scheduler-store-c3af2560.js.map → scheduler-store-17f7f1c8.js.map} +1 -1
- package/dist/esm/scheduler-store-f02ce045.js.map +1 -1
- package/dist/esm/search-icon.entry.js +1 -1
- package/dist/esm/select-dropdown.entry.js +1 -1
- package/dist/esm/sent-icon.entry.js +1 -1
- package/dist/esm/spam-icon.entry.js +1 -1
- package/dist/esm/star-icon.entry.js +1 -1
- package/dist/esm/stop-icon.entry.js +1 -1
- package/dist/esm/textarea-component.entry.js +1 -1
- package/dist/esm/time-period-selector.entry.js +1 -1
- package/dist/esm/toggle-switch.entry.js +1 -1
- package/dist/esm/tooltip-component.entry.js +1 -1
- package/dist/esm/translate-icon.entry.js +1 -1
- package/dist/esm/trash-icon.entry.js +1 -1
- package/dist/esm/underline-icon.entry.js +1 -1
- package/dist/esm/warning-icon.entry.js +1 -1
- package/dist/nylas-web-elements/add-circle-icon.entry.js +1 -1
- package/dist/nylas-web-elements/archive-icon.entry.js +1 -1
- package/dist/nylas-web-elements/arrow-icon.entry.js +1 -1
- package/dist/nylas-web-elements/bold-icon.entry.js +1 -1
- package/dist/nylas-web-elements/button-component.entry.js +1 -1
- package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +1 -1
- package/dist/nylas-web-elements/calendar-check-icon.entry.js +1 -1
- package/dist/nylas-web-elements/calendar-icon.entry.js +1 -1
- package/dist/nylas-web-elements/calendar-info-icon.entry.js +1 -1
- package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +1 -1
- package/dist/nylas-web-elements/checkbox-component.entry.js +1 -1
- package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +1 -1
- package/dist/nylas-web-elements/chevron-icon.entry.js +1 -1
- package/dist/nylas-web-elements/clock-icon.entry.js +1 -1
- package/dist/nylas-web-elements/close-icon.entry.js +1 -1
- package/dist/nylas-web-elements/document-refresh-icon.entry.js +1 -1
- package/dist/nylas-web-elements/flow-icon.entry.js +1 -1
- package/dist/nylas-web-elements/folder-icon.entry.js +1 -1
- package/dist/nylas-web-elements/forward-icon.entry.js +1 -1
- package/dist/nylas-web-elements/globe-icon.entry.js +1 -1
- package/dist/nylas-web-elements/google-logo-icon.entry.js +1 -1
- package/dist/nylas-web-elements/inbox-icon.entry.js +1 -1
- package/dist/nylas-web-elements/{index-11d12497.js → index-2c7e4f4b.js} +2 -2
- package/dist/nylas-web-elements/{index-11d12497.js.map → index-2c7e4f4b.js.map} +1 -1
- package/dist/nylas-web-elements/{index-8362ce5c.js → index-582cfc93.js} +2 -2
- package/dist/nylas-web-elements/{index-8362ce5c.js.map → index-582cfc93.js.map} +1 -1
- package/dist/nylas-web-elements/index.esm.js +2 -2
- package/dist/nylas-web-elements/info-icon.entry.js +1 -1
- package/dist/nylas-web-elements/input-component.entry.js +1 -1
- package/dist/nylas-web-elements/input-dropdown.entry.js +10 -3
- package/dist/nylas-web-elements/input-dropdown.entry.js.map +1 -1
- package/dist/nylas-web-elements/italic-icon.entry.js +1 -1
- package/dist/nylas-web-elements/loading-icon.entry.js +1 -1
- package/dist/nylas-web-elements/location-icon.entry.js +1 -1
- package/dist/nylas-web-elements/location-off-icon.entry.js +1 -1
- package/dist/nylas-web-elements/{mailbox-store-11fa8387.js → mailbox-store-c9b2a4fd.js} +2 -2
- package/dist/nylas-web-elements/{mailbox-store-11fa8387.js.map → mailbox-store-c9b2a4fd.js.map} +1 -1
- package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +1 -1
- package/dist/nylas-web-elements/multi-select-dropdown.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-additional-participants.entry.js +36 -16
- package/dist/nylas-web-elements/nylas-additional-participants.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-availability-picker.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-booking-form.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-booking-form.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-buffer-time.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-cancellation-policy.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-composer.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js +6 -6
- package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-date-picker.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +14 -9
- package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-event-description.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-event-duration.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-event-info.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-event-limits.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-event-location.entry.js +5 -5
- package/dist/nylas-web-elements/nylas-event-title.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-form-card.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-if-state.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-list-configurations.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-list-folders.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-list-threads.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-locale-switch.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-login.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-logo.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-mailbox.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-min-booking-notice.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-notification.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-provider.entry.js +5 -5
- package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +6 -4
- package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-scheduling.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-scheduling.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-threads-search.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-timeslot-interval.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-view-email.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-view-thread.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-web-elements.esm.js +3 -3
- package/dist/nylas-web-elements/p-05833164.entry.js +2 -0
- package/dist/nylas-web-elements/p-05833164.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-a804616a.entry.js → p-09fec39c.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-df2b34ee.entry.js → p-13b003b5.entry.js} +2 -2
- package/dist/nylas-web-elements/p-29938263.js +2 -0
- package/dist/nylas-web-elements/p-29938263.js.map +1 -0
- package/dist/nylas-web-elements/{p-afd34a25.entry.js → p-2f656fb3.entry.js} +3 -3
- package/dist/nylas-web-elements/p-2f656fb3.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-427548f5.entry.js +2 -0
- package/dist/nylas-web-elements/p-427548f5.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-470536e0.entry.js +2 -0
- package/dist/nylas-web-elements/p-470536e0.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-4f548e66.entry.js +2 -0
- package/dist/nylas-web-elements/p-4f548e66.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-823c8aa2.js.map +1 -1
- package/dist/nylas-web-elements/p-96418bc6.entry.js +2 -0
- package/dist/nylas-web-elements/p-96418bc6.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-9acfea5f.entry.js +2 -0
- package/dist/nylas-web-elements/p-9acfea5f.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-84529d9b.entry.js → p-b27e34a9.entry.js} +2 -2
- package/dist/nylas-web-elements/p-efd5b80a.entry.js +2 -0
- package/dist/nylas-web-elements/p-efd5b80a.entry.js.map +1 -0
- package/dist/nylas-web-elements/people-icon.entry.js +1 -1
- package/dist/nylas-web-elements/person-icon.entry.js +1 -1
- package/dist/nylas-web-elements/play-icon.entry.js +1 -1
- package/dist/nylas-web-elements/radio-button-group.entry.js +1 -1
- package/dist/nylas-web-elements/refresh-icon.entry.js +1 -1
- package/dist/nylas-web-elements/{register-component-8e4e394f.js → register-component-6ae95538.js} +2 -2
- package/dist/nylas-web-elements/{register-component-8e4e394f.js.map → register-component-6ae95538.js.map} +1 -1
- package/dist/nylas-web-elements/reply-all-icon.entry.js +1 -1
- package/dist/nylas-web-elements/reply-icon.entry.js +1 -1
- package/dist/{esm/scheduler-config-store-8ccc8dc7.js → nylas-web-elements/scheduler-config-store-f20845ad.js} +3 -2
- package/dist/nylas-web-elements/scheduler-config-store-f20845ad.js.map +1 -0
- package/dist/{esm/scheduler-store-c3af2560.js → nylas-web-elements/scheduler-store-17f7f1c8.js} +2 -2
- package/dist/nylas-web-elements/{scheduler-store-c3af2560.js.map → scheduler-store-17f7f1c8.js.map} +1 -1
- package/dist/nylas-web-elements/search-icon.entry.js +1 -1
- package/dist/nylas-web-elements/select-dropdown.entry.js +1 -1
- package/dist/nylas-web-elements/sent-icon.entry.js +1 -1
- package/dist/nylas-web-elements/spam-icon.entry.js +1 -1
- package/dist/nylas-web-elements/star-icon.entry.js +1 -1
- package/dist/nylas-web-elements/stop-icon.entry.js +1 -1
- package/dist/nylas-web-elements/textarea-component.entry.js +1 -1
- package/dist/nylas-web-elements/time-period-selector.entry.js +1 -1
- package/dist/nylas-web-elements/toggle-switch.entry.js +1 -1
- package/dist/nylas-web-elements/tooltip-component.entry.js +1 -1
- package/dist/nylas-web-elements/translate-icon.entry.js +1 -1
- package/dist/nylas-web-elements/trash-icon.entry.js +1 -1
- package/dist/nylas-web-elements/underline-icon.entry.js +1 -1
- package/dist/nylas-web-elements/warning-icon.entry.js +1 -1
- package/dist/types/components/design-system/input-dropdown/input-dropdown.d.ts +1 -0
- package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +11 -1
- package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +2 -0
- package/dist/types/components.d.ts +12 -2
- package/dist/types/stores/scheduler-config-store.d.ts +2 -1
- package/dist/types/stores/scheduler-store.d.ts +1 -1
- package/package.json +2 -2
- package/dist/cjs/calendar-info-icon_25.cjs.entry.js.map +0 -1
- package/dist/cjs/scheduler-config-store-918c20d5.js.map +0 -1
- package/dist/cjs/scheduler-config-store-a5b7c08b.js.map +0 -1
- package/dist/esm/calendar-info-icon_25.entry.js.map +0 -1
- package/dist/esm/scheduler-config-store-8ccc8dc7.js.map +0 -1
- package/dist/esm/scheduler-config-store-ec3b6190.js.map +0 -1
- package/dist/nylas-web-elements/p-155942d0.entry.js +0 -2
- package/dist/nylas-web-elements/p-155942d0.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-237d2b4e.entry.js +0 -2
- package/dist/nylas-web-elements/p-237d2b4e.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-2e813dd0.entry.js +0 -2
- package/dist/nylas-web-elements/p-2e813dd0.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-35b66ab6.entry.js +0 -2
- package/dist/nylas-web-elements/p-35b66ab6.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-6239608c.entry.js +0 -2
- package/dist/nylas-web-elements/p-6239608c.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-86895fc4.entry.js +0 -2
- package/dist/nylas-web-elements/p-86895fc4.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-afd34a25.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-b406bf70.entry.js +0 -2
- package/dist/nylas-web-elements/p-b406bf70.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-ee91a2a0.js +0 -2
- package/dist/nylas-web-elements/p-ee91a2a0.js.map +0 -1
- package/dist/nylas-web-elements/p-f1bd124d.entry.js +0 -2
- package/dist/nylas-web-elements/p-f1bd124d.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-fac4d89e.entry.js +0 -2
- package/dist/nylas-web-elements/p-fac4d89e.entry.js.map +0 -1
- package/dist/nylas-web-elements/scheduler-config-store-8ccc8dc7.js.map +0 -1
- /package/dist/nylas-web-elements/{p-a804616a.entry.js.map → p-09fec39c.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-df2b34ee.entry.js.map → p-13b003b5.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-84529d9b.entry.js.map → p-b27e34a9.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["iconCss","GoogleLogoIconStyle0","GoogleLogoIcon","render","h","key","width","this","height","viewBox","fill","xmlns","d","id","MicrosoftLogoIconStyle0","MicrosoftLogoIcon","TabContents","formState","activeTab","calendars","eventTitle","title","eventDescription","description","eventDuration","parseInt","duration","location","slot","name","exportparts","eventDurationMinutes","eventLocation","openHours","availability","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","organizer","participants","find","p","is_organizer","organizerEmail","email","selectedCalendars","calendarIds","length","bookingCalendar","defaultBookingCalendar","defaultSelectedCalendars","defaultTimezone","buffer","minBookingNotice","availableDaysInFuture","minCancellationNotice","cancellationPolicy","eventParticipants","nylasEditorTabsCss","NylasEditorTabsStyle0","NylasEditorTabs","setError","error","message","formSubmissionHandler","async","event","preventDefault","formSubmitted","emit","valid","formRef","checkValidity","isLoading","hasUnsavedChanges","updateFormState","bookingType","timeslotInterval","additionalGuestsHidden","hideCancellationOptions","hideReschedulingOptions","selectedConfiguration","durationMinutes","configObject","version","duration_minutes","interval_minutes","interval","round_to","roundTo","availability_rules","availability_method","before","after","default_open_hours","DEFAULT_OPEN_HOURS","round_robin_group_id","currentUser","calendar_ids","open_hours","booking","calendar_id","event_booking","toString","booking_type","scheduler","cancellation_policy","available_days_in_future","min_cancellation_notice","min_booking_notice","hide_additional_guests","hide_cancellation_options","hide_rescheduling_options","configObjectWithDeveloperSettings","mergeDeep","finalConfig","action","resetLoadingState","_e","changesSaved","setTimeout","schedulerConfigChanged","config","configChangedHandler","newConfig","debug","getFormStateFromConfig","connectedCallback","componentWillLoad","componentDidLoad","disconnectedCallback","handleValueChanged","value","detail","organizerParticipant","formData","FormData","forEach","JSON","parse","split","settings","setActiveTab","e","tabName","showParticipantsTab","localStorage","getItem","Host","onSubmit","class","ref","el","noValidate","mode","tab","active","onClick","schedulerPreviewLink","type","disabled","clickHandler","previewEvent","previewButtonClicked","host","defaultPrevented","window","open","parsePreviewLink","variant","cancelButtonClick","__decorate","RegisterComponent","stateToProps","Map","eventToProps","nylasSchedulerConfigConnector","checkForErrors","response","data","schedulerConfig","updateConfiguration","createConfiguration","_","schedulerConfigStore","state","localPropsToProp","fireRegisterEvent","nylasListConfigurationsCss","NylasListConfigurationsStyle0","NylasListConfigurations","configurations","initListConfigurations","getState","setState","getDurationString","hours","Math","floor","minutes","createButtonClick","hide","colSpan","map","i","link","navigator","clipboard","writeText","copiedButtonIndex","editButtonClick","configuration","deleteButtonClick","connector","getConfigurations","resetSelectedConfiguration","deleteConfiguration"],"sources":["src/common/icons/icon.css?tag=google-logo-icon&encapsulation=scoped","src/common/icons/google-logo.tsx","src/common/icons/icon.css?tag=microsoft-logo-icon&encapsulation=scoped","src/common/icons/microsoft-logo.tsx","src/components/scheduler-editor/nylas-editor-tabs/tab-contents.tsx","src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.scss?tag=nylas-editor-tabs&encapsulation=scoped","src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.tsx","src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.scss?tag=nylas-list-configurations&encapsulation=shadow","src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'google-logo-icon',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class GoogleLogoIcon {\n @Prop() width: string = '24';\n @Prop() height: string = '24';\n\n render() {\n // Spam icon svg\n return (\n <svg width={this.width} height={this.height} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_959_12452)\">\n <path\n d=\"M23.745 12.27C23.745 11.48 23.675 10.73 23.555 10H12.255V14.51H18.725C18.435 15.99 17.585 17.24 16.325 18.09V21.09H20.185C22.445 19 23.745 15.92 23.745 12.27Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M12.255 24C15.495 24 18.205 22.92 20.185 21.09L16.325 18.09C15.245 18.81 13.875 19.25 12.255 19.25C9.12504 19.25 6.47505 17.14 5.52505 14.29H1.54504V17.38C3.51504 21.3 7.56504 24 12.255 24Z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M5.52501 14.2901C5.27501 13.5701 5.145 12.8001 5.145 12.0001C5.145 11.2001 5.28501 10.4301 5.52501 9.71012V6.62012H1.545C0.725004 8.24012 0.255005 10.0601 0.255005 12.0001C0.255005 13.9401 0.725004 15.7601 1.545 17.3801L5.52501 14.2901Z\"\n fill=\"#FBBC05\"\n />\n <path\n d=\"M12.255 4.75C14.025 4.75 15.605 5.36 16.855 6.55L20.275 3.13C18.205 1.19 15.495 0 12.255 0C7.56504 0 3.51504 2.7 1.54504 6.62L5.52505 9.71C6.47505 6.86 9.12504 4.75 12.255 4.75Z\"\n fill=\"#EA4335\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_959_12452\">\n <rect width={24} height={24} fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n}\n",":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'microsoft-logo-icon',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class MicrosoftLogoIcon {\n @Prop() width: string = '22';\n @Prop() height: string = '22';\n\n render() {\n // Spam icon svg\n return (\n <svg width={this.width} height={this.height} viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0.043457 0.043457H10.4782V10.4782H0.043457V0.043457Z\" fill=\"#F35325\" />\n <path d=\"M11.5217 0.043457H21.9565V10.4782H11.5217V0.043457Z\" fill=\"#81BC06\" />\n <path d=\"M0.043457 11.5217H10.4782V21.9565H0.043457V11.5217Z\" fill=\"#05A6F0\" />\n <path d=\"M11.5217 11.5217H21.9565V21.9565H11.5217V11.5217Z\" fill=\"#FFBA08\" />\n </svg>\n );\n }\n}\n","import { h } from '@stencil/core';\n\nexport type TabContentsProps = {\n id: string;\n formState: any;\n activeTab: string;\n calendars?: any[];\n};\n\nexport default function TabContents({ id, formState, activeTab, calendars }: TabContentsProps) {\n switch (activeTab) {\n case 'eventInfo':\n const eventTitle = formState.title;\n const eventDescription = formState.description;\n const eventDuration = parseInt(formState.duration);\n const location = formState.location;\n\n return (\n <div key={id}>\n <nylas-event-info>\n <div slot=\"inputs\">\n <nylas-event-title name=\"title\" eventTitle={eventTitle} exportparts=\"net, net__title, net__dropdown-content\" />\n <nylas-event-duration\n name=\"duration\"\n eventDurationMinutes={eventDuration}\n exportparts=\"ned, ned__dropdown, ned__dropdown-button, ned__dropdown-content, ned__input_dropdown, ned__input_dropdown-input, ned__input_dropdown-content\"\n />\n <nylas-event-location name=\"location\" eventLocation={location} exportparts=\"nel, nel__location, nel__dropdown, nel__dropdown-button, nel__dropdown-content\" />\n <nylas-event-description name=\"description\" eventDescription={eventDescription} exportparts=\"nedesc, nedesc__textarea\" />\n </div>\n </nylas-event-info>\n </div>\n );\n case 'availability':\n const openHours = formState.availability.openHours;\n const timezone = formState.availability.timezone ? formState.availability.timezone : Intl.DateTimeFormat().resolvedOptions().timeZone;\n const organizer = formState.participants?.find(p => p.is_organizer);\n const organizerEmail = organizer?.email ?? 'primary';\n const selectedCalendars = formState.calendarIds.length > 0 ? formState.calendarIds : [organizerEmail];\n const bookingCalendar = formState.bookingCalendar == 'primary' ? organizerEmail : formState.bookingCalendar;\n return (\n <div key={id}>\n <nylas-booking-calendar-picker\n name=\"booking-calendar\"\n calendars={calendars ?? []}\n defaultBookingCalendar={bookingCalendar}\n exportparts={'nbcp, nbcp__header, nbcp__input-label, nbcp__dropdown, nbcp__dropdown-button, nbcp__dropdown-content'}\n />\n <nylas-calendar-picker\n name=\"calendars\"\n calendars={calendars ?? []}\n defaultSelectedCalendars={selectedCalendars}\n exportparts={'ncp ncp__header, ncp__dropdown, ncp__dropdown-button, ncp__dropdown-content'}\n />\n <nylas-availability-picker\n name=\"availability\"\n openHours={openHours}\n defaultTimezone={timezone}\n exportparts={\n 'nap__header, nap__select-timezone, nap__select-timezone-button, nap__select-timezone-dropdown-content, nap__availability, nap__day, nap__time-ranges, nap__time-range, nap__add-time-range, nap__time-picker-container, nap__time-picker-input, nap__time-picker-times'\n }\n />\n </div>\n );\n case 'bookingOptions':\n return (\n <div key={id}>\n <nylas-buffer-time\n name=\"buffer-time\"\n buffer={formState.buffer}\n exportparts={\n 'nbt, nbt__header, nbt__body, nbt__dropdown-before, nbt__dropdown-button-before, nbt__dropdown-content-before, nbt__dropdown-after, nbt__dropdown-button-after, nbt__dropdown-content-after, nbt__preview'\n }\n />\n {/* <nylas-custom-booking-flow\n name=\"booking-type\"\n bookingType={formState.bookingType}\n exportparts={'ncbf, ncbf__header, ncbf__dropdown, ncbf__dropdown-button, ncbf__dropdown-content'}\n /> */}\n <nylas-event-limits>\n <div slot=\"inputs\">\n <nylas-min-booking-notice\n name=\"min-booking-notice\"\n minBookingNotice={formState.minBookingNotice}\n exportparts=\"nmbn, nmbn__number-dropdown, nmbn__number-dropdown-button, nmbn__number-dropdown-content, nmbn__period-dropdown, nmbn__period-dropdown-button, nmbn__period-dropdown-content\"\n />\n <nylas-limit-future-bookings\n name=\"limit-future-bookings\"\n availableDaysInFuture={formState.availableDaysInFuture}\n exportparts=\"nlfb, nlfb__number-dropdown, nlfb__number-dropdown-button, nlfb__number-dropdown-content, nlfb__period-dropdown, nlfb__period-dropdown-button, nlfb__period-dropdown-content\"\n />\n <nylas-min-cancellation-notice\n name=\"min-cancellation-notice\"\n minCancellationNotice={formState.minCancellationNotice}\n exportparts=\"nmcn, nmcn__number-dropdown, nmcn__number-dropdown-button, nmcn__number-dropdown-content, nmcn__period-dropdown, nmcn__period-dropdown-button, nmcn__period-dropdown-content\"\n />\n <nylas-cancellation-policy name=\"cancellation-policy\" cancellationPolicy={formState.cancellationPolicy} exportparts=\"ncpolicy, ncpolicy__textarea\" />\n </div>\n </nylas-event-limits>\n <nylas-timeslot-interval\n name=\"timeslot-interval\"\n eventDurationMinutes={parseInt(formState.duration)}\n exportparts=\"nti, nti__header, nti__input-label, nti__dropdown, nti__dropdown-button, nti__dropdown-content\"\n />\n <nylas-customize-booking-settings\n name=\"customize-booking-settings\"\n exportparts=\"ncbs, ncbs__header, ncbs__settings, ncbs__settings-div, ncbs__additional_guests, ncbs__cancellation_options, ncbs__rescheduling_options\"\n />\n </div>\n );\n case 'participants':\n return (\n <div key={id}>\n <nylas-additional-participants\n name=\"participants\"\n eventParticipants={formState.participants}\n exportparts=\"nap__title, nap__subtitle, nap__content, nap__input_group, nap__input_wrapper, nap__input, nap__remove-participant\"\n />\n </div>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n@import '../../../common/mixins/buttons.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.scheduler-editor {\n display: flex;\n flex-direction: column;\n .form-contents {\n height: 554px;\n display: grid;\n grid-template-columns: minmax(224px, 25%) 1fr;\n @media #{$mobile} {\n display: table-column-group;\n height: auto;\n }\n .tabs {\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--nylas-base-200);\n background-color: var(--nylas-base-25);\n .tab {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.5rem 1rem;\n color: var(--nylas-base-900);\n background: var(--nylas-base-0);\n border: none;\n height: 56px;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n font-weight: 500;\n line-height: 24px;\n cursor: pointer;\n &:not(:first-of-type) {\n margin-top: 0.25rem;\n }\n &.active {\n font-weight: 600;\n background: var(--nylas-base-0);\n color: var(--nylas-primary);\n border-left: 4px solid var(--nylas-primary);\n box-shadow: 0px 1px 2px 0px #0000000f;\n box-shadow: 0px 1px 3px 0px #0000001a;\n }\n }\n }\n .tab-content {\n max-width: 692px;\n overflow-y: auto;\n nylas-event-info,\n nylas-event-limits {\n width: inherit;\n div[slot='inputs'] {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n }\n }\n }\n}\n\n.footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 80px;\n padding: 0 1rem;\n border-top: 1px solid var(--nylas-base-200);\n @media #{$mobile} {\n flex-direction: column;\n height: auto;\n }\n .preview {\n @media #{$mobile} {\n margin-top: 1rem;\n width: 100%;\n }\n }\n .buttons {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n justify-self: flex-end;\n gap: 1rem;\n @media #{$mobile} {\n flex-direction: column-reverse;\n width: 100%;\n }\n p {\n max-width: 524px;\n &.unsaved-changes {\n color: var(--nylas-base-600);\n }\n &.saved-changes {\n color: var(--nylas-success);\n }\n &.error {\n color: var(--nylas-error);\n }\n &.error-full-width {\n max-width: 660px;\n }\n }\n\n button-component {\n @media #{$mobile} {\n width: 100%;\n }\n }\n button {\n @include primary-button;\n width: 148px;\n span {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n }\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, mergeDeep, parsePreviewLink } from '@/utils/utils';\nimport { BookingType, Calendar, Configuration, OpenHours } from '@nylas/core';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport TabContents from './tab-contents';\nimport { User } from '@/common/nylas-api-request';\nimport { DEFAULT_OPEN_HOURS } from '@/common/constants';\nimport { DataResponseReturnType } from '@/common/types';\n\ntype SchedulerEventDetail = {\n config: Partial<Configuration>;\n action: 'create' | 'edit';\n resetLoadingState?: (e: CustomEvent) => void;\n setError?: (error: Error) => void;\n};\n\n/**\n * The `nylas-editor-tabs` component is a UI component that displays the editor tabs for the scheduler editor.\n * @part nap__title - [nylas-additional-participants] The title of the component.\n * @part nap__subtitle - [nylas-additional-participants] The subtitle of the component.\n * @part nap__content - [nylas-additional-participants] The content of the component.\n * @part nap__input - [nylas-additional-participants] The input of the component.\n * @part nap__remove-participant - [nylas-additional-participants] The remove participant button of the component.\n * @part nap__add-participant - [nylas-additional-participants] The add participant button of the component.\n * @part nap__header - [nylas-availability-picker] The header of the availability picker\n * @part nap__select-timezone - [nylas-availability-picker] The timezone selection container\n * @part nap__select-timezone-button -[nylas-availability-picker] The timezone selection button\n * @part nap__select-timezone-dropdown-content -[nylas-availability-picker] The timezone selection dropdown content\n * @part nap__availability - [nylas-availability-picker] The availability container\n * @part nap__day - [nylas-availability-picker] The day container\n * @part nap__time-ranges - [nylas-availability-picker] The time ranges container\n * @part nap__time-range - [nylas-availability-picker] The time range container\n * @part nap__add-time-range - [nylas-availability-picker] The add time range button\n * @part nap__time-picker-container -[nylas-availability-picker] The time picker container\n * @part nap__time-picker-input - [nylas-availability-picker] The time picker input\n * @part nap__time-picker-times - [nylas-availability-picker] The time picker times\n * @part nbcp - [nylas-booking-calendar-picker] The booking calendar picker container\n * @part nbcp__header - [nylas-booking-calendar-picker] The header of the booking calendar picker\n * @part nbcp__input-label - [nylas-booking-calendar-picker] The input label of the booking calendar picker\n * @part nbcp__dropdown - [nylas-booking-calendar-picker] The dropdown container\n * @part nbcp__dropdown-button - [nylas-booking-calendar-picker] The dropdown button\n * @part nbcp__dropdown-content - [nylas-booking-calendar-picker] The dropdown content\n * @part nbt - [nylas-buffer-time] The buffer time container\n * @part nbt__header - [nylas-buffer-time] The header of the buffer time\n * @part nbt__body - [nylas-buffer-time] The body of the buffer time\n * @part nbt__dropdown-before - [nylas-buffer-time] The before buffer dropdown container\n * @part nbt__dropdown-button-before - [nylas-buffer-time] The before buffer dropdown button\n * @part nbt__dropdown-content-before - [nylas-buffer-time] The before buffer dropdown content\n * @part nbt__dropdown-after - [nylas-buffer-time] The after buffer dropdown container\n * @part nbt__dropdown-button-after - [nylas-buffer-time] The after buffer dropdown button\n * @part nbt__dropdown-content-after - [nylas-buffer-time] The after buffer dropdown content\n * @part nbt__preview - [nylas-buffer-time] The buffer time preview\n * @part ncp - [nylas-calendar-picker] The calendar picker container\n * @part ncp__header - [nylas-calendar-picker] The header of the calendar picker\n * @part ncp__dropdown - [nylas-calendar-picker] The dropdown container\n * @part ncp__dropdown-button - [nylas-calendar-picker] The dropdown button\n * @part ncp__dropdown-content - [nylas-calendar-picker] The dropdown content\n * @part ncbf - [nylas-custom-booking-flow] The custom booking flow container\n * @part ncbf__header - [nylas-custom-booking-flow] The header of the custom booking flow\n * @part ncbf__dropdown - [nylas-custom-booking-flow] The dropdown container\n * @part ncbf__dropdown-button - [nylas-custom-booking-flow] The dropdown button\n * @part ncbf__dropdown-content - [nylas-custom-booking-flow] The dropdown content\n * @part nedesc - [nylas-event-description] The event description container\n * @part nedesc__textarea - [nylas-event-description] The event description textarea\n * @part ned - [nylas-event-duration] The event duration container\n * @part ned__dropdown - [nylas-event-duration] The dropdown container for the duration increment\n * @part ned__dropdown-button - [nylas-event-duration] The dropdown button for the duration increment\n * @part ned__dropdown-content - [nylas-event-duration] The dropdown content for the duration increment\n * @part ned__input_dropdown - [nylas-event-duration] The input dropdown container for the duration minutes\n * @part ned__input_dropdown-input - [nylas-event-duration] The input for the duration minutes\n * @part ned__input_dropdown-content - [nylas-event-duration] The dropdown content for the input duration minutes\n * @part net - [nylas-event-title] The event title container\n * @part net__title - [nylas-event-title] The event title input\n * @part net__dropdown-content - [nylas-event-title] The token options container\n * @part nlfb - [nylas-limit-future-bookings] The limit future bookings container\n * @part nlfb__number-dropdown - [nylas-limit-future-bookings] The number dropdown container\n * @part nlfb__number-dropdown-button - [nylas-limit-future-bookings] The number dropdown button\n * @part nlfb__number-dropdown-content - [nylas-limit-future-bookings] The number dropdown content\n * @part nlfb__period-dropdown - [nylas-limit-future-bookings] The period dropdown container\n * @part nlfb__period-dropdown-button - [nylas-limit-future-bookings] The period dropdown button\n * @part nlfb__period-dropdown-content - [nylas-limit-future-bookings] The period dropdown content\n * @part nel - [nylas-event-location] The event location container\n * @part nel__location - [nylas-event-location] The event location input\n * @part nel__dropdown - [nylas-event-location] The dropdown container\n * @part nel__dropdown-button - [nylas-event-location] The dropdown button\n * @part nel__dropdown-content - [nylas-event-location] The dropdown content\n * @part nmbn - [nylas-min-booking-notice] The minimum booking notice container\n * @part nmbn__number-dropdown - [nylas-min-booking-notice] The number dropdown container\n * @part nmbn__number-dropdown-button - [nylas-min-booking-notice] The number dropdown button\n * @part nmbn__number-dropdown-content -[nylas-min-booking-notice] The number dropdown content\n * @part nmbn__period-dropdown - [nylas-min-booking-notice] The period dropdown container\n * @part nmbn__period-dropdown-button - [nylas-min-booking-notice] The period dropdown button\n * @part nmbn__period-dropdown-content - [nylas-min-booking-notice] The period dropdown content\n * @part nmcn - [nylas-min-cancellation-notice] The minimum cancellation notice container\n * @part nmcn__number-dropdown - [nylas-min-cancellation-notice] The number dropdown container\n * @part nmcn__number-dropdown-button - [nylas-min-cancellation-notice] The number dropdown button\n * @part nmcn__number-dropdown-content - [nylas-min-cancellation-notice] The number dropdown content\n * @part nmcn__period-dropdown - [nylas-min-cancellation-notice] The period dropdown container\n * @part nmcn__period-dropdown-button - [nylas-min-cancellation-notice] The period dropdown button\n * @part nmcn__period-dropdown-content - [nylas-min-cancellation-notice] The period dropdown content\n * @part ncpolicy - [nylas-cancellation-policy] The cancellation policy container\n * @part ncpolicy__textarea - [nylas-cancellation-policy] The cancellation policy textarea\n * @part nti - [nylas-timeslot-interval] The timeslot interval container\n * @part nti__header - [nylas-timeslot-interval] The header of the timeslot interval picker\n * @part nti__input-label - [nylas-timeslot-interval] The input label of the timeslot interval picker\n * @part nti__dropdown - [nylas-timeslot-interval] The dropdown container\n * @part nti__dropdown-button - [nylas-timeslot-interval] The dropdown button\n * @part nti__dropdown-content - [nylas-timeslot-interval] The dropdown content\n * @part ncbs - [nylas-customize-booking-settings] The booking calendar picker container\n * @part ncbs__header - [nylas-customize-booking-settings] The header of the booking calendar picker\n * @part ncbs__settings - [nylas-customize-booking-settings] The settings container\n * @part ncbs__settings-div - [nylas-customize-booking-settings] The div inside the settings container that contains the checkbox and tooltip for each setting\n * @part ncbs__additional_guests - [nylas-customize-booking-settings] The additional guests setting\n * @part ncbs__cancellation_options - [nylas-customize-booking-settings] The cancellation options setting\n * @part ncbs__rescheduling_options - [nylas-customize-booking-settings] The rescheduling options setting\n */\n@Component({\n tag: 'nylas-editor-tabs',\n styleUrl: 'nylas-editor-tabs.scss',\n scoped: true,\n})\nexport class NylasEditorTabs {\n /**\n * The form reference to access the form data.\n */\n private formRef!: HTMLFormElement;\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasEditorTabsElement;\n /**\n * The list of calendars to use in the editor when configuring availability.\n */\n @Prop() calendars?: Calendar[];\n /**\n * The selected configuration to use in the editor when editing an existing configuration or creating a new one.\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * The current logged in user.\n */\n @Prop() currentUser?: User;\n /**\n * The scheduler preview link to use when the user clicks on the preview button.\n * You can use a placeholder `{config.id}` to replace the configuration id anywhere in the link.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n /**\n * The mode of the editor.\n * - `app`: The editor is used as a standalone app.\n * - `composable`: The editor is used as a composable component.\n */\n @Prop() mode?: 'app' | 'composable' = 'app';\n /**\n * The action to perform in the editor.\n * - `create`: Create a new configuration.\n * - `edit`: Edit an existing configuration.\n */\n @State() action: 'create' | 'edit' = 'create';\n /**\n * The active tab in the editor.\n */\n @State() activeTab: string = 'eventInfo';\n /**\n * The loading state of the editor.\n */\n @State() isLoading: boolean = false;\n /**\n * The unsaved changes state of the editor.\n */\n @State() hasUnsavedChanges: boolean = false;\n /**\n * The changes saved state of the editor.\n */\n @State() changesSaved: boolean = false;\n /**\n * The form state of the editor.\n */\n @State() formState: Partial<{\n title: string;\n description: string;\n duration: string;\n availability?: {\n timezone: string;\n openHours?: OpenHours[];\n };\n calendarIds: string[];\n participants?: any[];\n bookingCalendar?: string;\n location?: string;\n bookingType?: string;\n buffer?: { before: number; after: number };\n cancellationPolicy?: string;\n availableDaysInFuture?: number;\n minCancellationNotice?: number;\n minBookingNotice?: number;\n timeslotInterval?: {\n interval: number;\n roundTo?: number;\n };\n additionalGuestsHidden?: boolean;\n hideCancellationOptions?: boolean;\n hideReschedulingOptions?: boolean;\n }> = {};\n /**\n * The error state of the editor.\n */\n @State() error?: string = '';\n /**\n * Event emitted when the configuration is changed. This fires for both create and edit actions.\n */\n @Event() schedulerConfigChanged!: EventEmitter<SchedulerEventDetail>;\n /**\n * Event emitted when the user clicks the cancel button.\n */\n @Event() cancelButtonClick!: EventEmitter<void>;\n /**\n * Event emitted on form submission.\n */\n @Event() formSubmitted!: EventEmitter<void>;\n /**\n * Event emitted when the user clicks the preview button.\n */\n @Event() previewButtonClicked!: EventEmitter<HTMLNylasEditorTabsElement>;\n\n @Watch('selectedConfiguration')\n configChangedHandler(newConfig: Configuration) {\n debug('[nylas-editor-tabs]', 'configChangedHandler', newConfig, this.selectedConfiguration);\n this.formState = {\n ...this.getFormStateFromConfig(newConfig),\n };\n\n if (newConfig.id) {\n this.action = 'edit';\n } else {\n this.action = 'create';\n }\n }\n\n connectedCallback() {\n debug('[nylas-editor-tabs]', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('[nylas-editor-tabs]', 'componentWillLoad');\n this.formState = this.getFormStateFromConfig(this.selectedConfiguration);\n }\n\n componentDidLoad() {\n debug('[nylas-editor-tabs]', 'componentDidLoad');\n }\n\n disconnectedCallback() {\n debug('[nylas-editor-tabs]', 'disconnectedCallback');\n }\n\n @Listen('valueChanged')\n handleValueChanged(event: CustomEvent) {\n debug('[nylas-editor-tabs]', 'handleValueChanged', event);\n const { name, value } = event.detail;\n this.formState = { ...this.formState, [name]: value };\n this.hasUnsavedChanges = true;\n this.error = '';\n }\n\n getFormStateFromConfig(config?: Configuration) {\n const organizerParticipant = config?.participants?.find(p => p.is_organizer);\n return {\n title: config?.event_booking?.title ?? '',\n description: config?.event_booking?.description ?? '',\n duration: config?.availability?.duration_minutes?.toString() ?? '30',\n availability: {\n timezone: config?.event_booking?.timezone ?? Intl.DateTimeFormat().resolvedOptions().timeZone,\n openHours: organizerParticipant?.availability?.open_hours,\n },\n calendarIds: organizerParticipant?.availability?.calendar_ids ?? [],\n participants: config?.participants ?? [],\n bookingCalendar: organizerParticipant?.booking?.calendar_id ?? organizerParticipant?.email ?? '',\n location: config?.event_booking?.location ?? '',\n bookingType: config?.event_booking?.booking_type ?? 'booking',\n buffer: config?.availability?.availability_rules?.buffer ?? { before: 0, after: 0 },\n cancellationPolicy: config?.scheduler?.cancellation_policy ?? '',\n availableDaysInFuture: config?.scheduler?.available_days_in_future ?? 30,\n minCancellationNotice: config?.scheduler?.min_cancellation_notice ?? 0,\n minBookingNotice: config?.scheduler?.min_booking_notice ?? 60,\n timeslotInterval: {\n interval: config?.availability?.interval_minutes ?? config?.availability?.duration_minutes ?? 10,\n roundTo: config?.availability?.round_to,\n },\n additionalGuestsHidden: config?.scheduler?.hide_additional_guests ?? false,\n hideCancellationOptions: config?.scheduler?.hide_cancellation_options ?? false,\n hideReschedulingOptions: config?.scheduler?.hide_rescheduling_options ?? false,\n };\n }\n\n updateFormState() {\n const formData = new FormData(this.formRef);\n formData.forEach((value, key) => {\n switch (key) {\n case 'title':\n this.formState.title = value.toString();\n break;\n case 'description':\n this.formState.description = value.toString();\n break;\n case 'duration':\n this.formState.duration = value.toString();\n break;\n case 'availability':\n this.formState.availability = JSON.parse(value.toString());\n break;\n case 'participants':\n this.formState.participants = JSON.parse(value.toString());\n break;\n case 'calendars':\n this.formState.calendarIds = value.toString().split(',');\n break;\n case 'booking-calendar':\n this.formState.bookingCalendar = value.toString();\n break;\n case 'location':\n this.formState.location = value.toString();\n break;\n case 'booking-type':\n this.formState.bookingType = value.toString();\n break;\n case 'buffer-time':\n this.formState.buffer = JSON.parse(value.toString());\n break;\n case 'limit-future-bookings':\n this.formState.availableDaysInFuture = parseInt(value.toString());\n break;\n case 'min-cancellation-notice':\n this.formState.minCancellationNotice = parseInt(value.toString());\n break;\n case 'min-booking-notice':\n this.formState.minBookingNotice = parseInt(value.toString());\n break;\n case 'cancellation-policy':\n this.formState.cancellationPolicy = value.toString();\n break;\n case 'timeslot-interval':\n this.formState.timeslotInterval = JSON.parse(value.toString());\n break;\n case 'customize-booking-settings':\n const settings = JSON.parse(value.toString());\n this.formState.additionalGuestsHidden = settings.additionalGuestsHidden;\n this.formState.hideCancellationOptions = settings.hideCancellationOptions;\n this.formState.hideReschedulingOptions = settings.hideReschedulingOptions;\n break;\n }\n });\n\n this.formState = { ...this.formState };\n return this.formState;\n }\n\n setActiveTab(e: Event, tabName: string) {\n e.preventDefault();\n this.updateFormState();\n this.activeTab = tabName;\n }\n\n setError = (error: Error) => {\n this.error = error.message;\n };\n\n formSubmissionHandler = async (event: Event) => {\n event.preventDefault();\n this.formSubmitted.emit();\n const valid = this.formRef.checkValidity();\n if (!valid) {\n return;\n }\n this.isLoading = true;\n this.hasUnsavedChanges = false;\n const formState = this.updateFormState();\n const {\n title,\n description,\n duration,\n availability,\n calendarIds,\n bookingCalendar,\n location,\n bookingType,\n buffer,\n availableDaysInFuture,\n minCancellationNotice,\n minBookingNotice,\n cancellationPolicy,\n timeslotInterval,\n additionalGuestsHidden,\n hideCancellationOptions,\n hideReschedulingOptions,\n participants,\n } = formState;\n const organizer = this.selectedConfiguration?.participants?.find(p => p.is_organizer);\n const durationMinutes = duration ? parseInt(duration) : 30;\n const configObject: Partial<Configuration> = {\n ...(this.selectedConfiguration?.id && { id: this.selectedConfiguration.id }),\n version: this.selectedConfiguration?.version ?? '1.0.0',\n availability: {\n duration_minutes: durationMinutes,\n interval_minutes: timeslotInterval?.interval ?? durationMinutes,\n round_to: timeslotInterval?.roundTo,\n availability_rules: {\n availability_method: this.selectedConfiguration?.availability?.availability_rules?.availability_method ?? 'collective',\n buffer: buffer || { before: 0, after: 0 },\n default_open_hours: this.selectedConfiguration?.availability?.availability_rules?.default_open_hours ?? DEFAULT_OPEN_HOURS,\n round_robin_group_id: this.selectedConfiguration?.availability?.availability_rules?.round_robin_group_id ?? '',\n },\n },\n participants: [\n {\n name: organizer?.name ?? organizer?.email ?? this.currentUser?.name ?? this.currentUser?.email ?? '',\n email: organizer?.email ?? this.currentUser?.email ?? '',\n is_organizer: true,\n availability: {\n calendar_ids: calendarIds?.length ? calendarIds : ['primary'],\n open_hours: availability?.openHours ?? [],\n },\n booking: {\n calendar_id: bookingCalendar && bookingCalendar !== '' ? bookingCalendar : 'primary',\n },\n },\n ...(participants ?? []),\n ],\n event_booking: {\n title: title?.toString() ?? '',\n description: description?.toString() ?? '',\n location: location?.toString() ?? '',\n booking_type: (bookingType?.toString() as BookingType) ?? 'booking',\n timezone: availability?.timezone ?? Intl.DateTimeFormat().resolvedOptions().timeZone,\n },\n scheduler: {\n cancellation_policy: cancellationPolicy ?? '',\n available_days_in_future: availableDaysInFuture ?? 30,\n min_cancellation_notice: minCancellationNotice ?? 0,\n min_booking_notice: minBookingNotice ?? 60,\n hide_additional_guests: additionalGuestsHidden ?? false,\n hide_cancellation_options: hideCancellationOptions ?? false,\n hide_rescheduling_options: hideReschedulingOptions ?? false,\n },\n };\n\n const configObjectWithDeveloperSettings = mergeDeep(configObject, this.selectedConfiguration);\n\n const finalConfig = this.action === 'create' ? configObjectWithDeveloperSettings : configObject;\n\n const resetLoadingState = (_e: CustomEvent) => {\n this.isLoading = false;\n this.changesSaved = true;\n setTimeout(() => {\n this.changesSaved = false;\n }, 5000);\n };\n this.schedulerConfigChanged.emit({ config: finalConfig, resetLoadingState, setError: this.setError, action: this.action });\n };\n\n @RegisterComponent<NylasEditorTabs, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-editor-tabs',\n stateToProps: new Map([\n ['schedulerConfig.calendars', 'calendars'],\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.currentUser', 'currentUser'],\n ]),\n eventToProps: {\n schedulerConfigChanged: async (event: CustomEvent<SchedulerEventDetail>, nylasSchedulerConfigConnector: NylasSchedulerConfigConnector) => {\n const { resetLoadingState, setError, action, config } = event.detail;\n const checkForErrors = (response: DataResponseReturnType) => {\n const [data, error] = response;\n if (!data && error && setError) {\n setError(error as Error);\n }\n if (resetLoadingState) {\n resetLoadingState(event);\n }\n };\n\n // If we have an ID, we are updating an existing configuration\n if (action === 'edit') {\n const response = await nylasSchedulerConfigConnector.schedulerConfig.updateConfiguration(config);\n checkForErrors(response);\n } else {\n const response = await nylasSchedulerConfigConnector.schedulerConfig.createConfiguration(config);\n checkForErrors(response);\n }\n },\n cancelButtonClick: async (_, nylasSchedulerConfigConnector) => {\n nylasSchedulerConfigConnector.schedulerConfigStore.state.action = null;\n },\n previewButtonClicked: async (_, nylasSchedulerConfigConnector) => {\n debug('[nylas-editor-tabs]', 'previewButtonClicked', nylasSchedulerConfigConnector);\n },\n formSubmitted: async (_, nylasSchedulerConfigConnector) => {\n debug('[nylas-editor-tabs]', 'formSubmitted', nylasSchedulerConfigConnector);\n },\n },\n localPropsToProp: new Map([['schedulerPreviewLink', 'schedulerPreviewLink']]),\n fireRegisterEvent: true,\n })\n render() {\n debug('[nylas-editor-tabs]', 'render', this.formState);\n // TODO: Remove this check when the feature is ready to be released\n const showParticipantsTab = localStorage.getItem('nylas') === 'Nylas Developer';\n return (\n <Host>\n <form onSubmit={this.formSubmissionHandler} class=\"scheduler-editor\" ref={el => (this.formRef = el as HTMLFormElement)} noValidate>\n {this.mode === 'app' ? (\n <div class=\"form-contents\">\n <div class=\"tabs\">\n <button class={{ tab: true, active: this.activeTab == 'eventInfo' }} onClick={e => this.setActiveTab(e, 'eventInfo')}>\n <calendar-info-icon width=\"16\" height=\"16\" />\n Event Info\n </button>\n <button class={{ tab: true, active: this.activeTab == 'availability' }} onClick={e => this.setActiveTab(e, 'availability')}>\n <calendar-patterns-icon width=\"16\" height=\"16\" />\n Availability\n </button>\n <button class={{ tab: true, active: this.activeTab == 'bookingOptions' }} onClick={e => this.setActiveTab(e, 'bookingOptions')}>\n <flow-icon width=\"16\" height=\"16\" />\n Booking Options\n </button>\n {showParticipantsTab && (\n <button class={{ tab: true, active: this.activeTab == 'participants' }} onClick={e => this.setActiveTab(e, 'participants')}>\n <people-icon width=\"16\" height=\"16\" />\n Participants\n </button>\n )}\n </div>\n <div class=\"tab-content\">\n <TabContents formState={this.formState} activeTab={this.activeTab} calendars={this.calendars} id={this.selectedConfiguration?.id ?? 'new'} />\n </div>\n </div>\n ) : (\n <slot></slot>\n )}\n\n <div class=\"footer\">\n <div class=\"preview\">\n {this.schedulerPreviewLink !== '' && this.action === 'edit' && (\n <button-component\n type=\"button\"\n disabled={this.isLoading}\n clickHandler={event => {\n event.preventDefault();\n const previewEvent = this.previewButtonClicked.emit(this.host);\n if (!previewEvent.defaultPrevented) {\n window.open(parsePreviewLink(this.schedulerPreviewLink, this.selectedConfiguration), '_blank');\n }\n }}\n variant={'basic'}\n >\n Preview\n </button-component>\n )}\n </div>\n <div class=\"buttons\">\n <p\n class={{\n 'unsaved-changes': this.hasUnsavedChanges && !this.changesSaved,\n 'saved-changes': this.changesSaved,\n 'error': this.error !== '',\n 'error-full-width': this.error !== '' && this.action === 'create',\n }}\n >\n {this.error !== '' ? this.error : ''}\n {this.error == '' && this.hasUnsavedChanges && !this.changesSaved ? 'Unsaved changes' : this.error == '' && this.changesSaved ? 'Changes saved!' : ''}\n </p>\n <button-component\n type=\"button\"\n disabled={this.isLoading}\n clickHandler={event => {\n event.preventDefault();\n this.cancelButtonClick.emit();\n this.error = '';\n }}\n variant={'basic'}\n >\n Cancel\n </button-component>\n <button-component type=\"submit\" disabled={this.isLoading}>\n {this.isLoading ? (\n <span>\n Saving\n <loading-icon />{' '}\n </span>\n ) : this.action == 'create' ? (\n 'Create'\n ) : (\n 'Save changes'\n )}\n </button-component>\n </div>\n </div>\n </form>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n@import '../../../common/mixins/buttons.scss';\n\n:host {\n display: grid;\n grid-auto-flow: row;\n width: 100%;\n font-family: inherit;\n font-optical-sizing: auto;\n @include default-css-variables;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n gap: 1rem;\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n align-items: unset;\n }\n h2 {\n margin: 0;\n font-size: 1.25rem;\n color: var(--nylas-base-900);\n font-weight: 600;\n }\n\n p {\n margin: 0;\n font-size: 1rem;\n color: var(--nylas-base-700);\n }\n\n .actions {\n justify-self: end;\n\n @media #{$mobile} {\n width: 100%;\n }\n }\n}\n\n.configurations {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n background: var(--nylas-base-0);\n height: 100%;\n display: flex;\n overflow-y: auto;\n table {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n font-family: inherit;\n height: max-content;\n\n &.no-configurations {\n height: 100%;\n }\n\n tr {\n color: var(--nylas-base-800);\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: inherit;\n &:last-of-type {\n border-bottom: 0;\n }\n\n &.hide {\n display: none;\n }\n }\n\n th {\n font-weight: 600;\n text-transform: uppercase;\n font-size: 14px;\n line-height: 20px;\n &.actions-header {\n text-align: right;\n }\n }\n\n tr.no-configurations {\n td {\n > div {\n display: flex;\n height: 100%;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n padding: var(--nylas-border-radius-3x);\n\n h3 {\n margin: 0 0 1rem 0;\n color: var(--nylas-base-700);\n }\n\n p {\n margin: 0 0 1rem 0;\n color: var(--nylas-base-600);\n }\n\n calendar-icon {\n margin-bottom: 1rem;\n color: var(--nylas-base-200);\n }\n }\n }\n }\n\n th,\n td {\n text-align: left;\n padding: 1rem;\n font-family: inherit;\n }\n\n .actions {\n text-align: right;\n }\n\n .actions {\n display: flex;\n justify-content: flex-end;\n gap: 1rem;\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n }\n }\n\n .title {\n display: flex;\n flex-direction: column;\n\n .config-event-title {\n font-weight: 600;\n }\n\n .config-event-description {\n font-size: 0.75rem;\n }\n }\n }\n}\n\n.error-container {\n margin-top: 1.5rem;\n .error {\n color: var(--nylas-error);\n padding: 0.5rem 0;\n margin: 1rem 0 0;\n }\n}\n\nbutton-component#copy {\n button {\n width: 108px;\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, parsePreviewLink } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\n/**\n * The `nylas-list-configurations` component displays a list of scheduling pages.\n */\n@Component({\n tag: 'nylas-list-configurations',\n styleUrl: 'nylas-list-configurations.scss',\n shadow: true,\n})\nexport class NylasListConfigurations {\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasListConfigurationsElement;\n\n /**\n * The list of configurations to display.\n */\n @Prop() configurations: Configuration[] = [];\n\n /**\n * The scheduler preview link to use when the user clicks on the preview button.\n * You can use a placeholder `{config.id}` to replace the configuration id anywhere in the link.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n\n /**\n * Event emitted when the component is initialized.\n */\n @Event() initListConfigurations!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the create event button.\n */\n @Event() createButtonClick!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the edit event button.\n */\n @Event() editButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration;\n }>;\n\n /**\n * Event emitted when the user clicks the delete event button.\n */\n @Event() deleteButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration;\n }>;\n\n /**\n * The current state of the component.\n */\n @State() private state: 'loading' | 'loaded' | 'error' = 'loading';\n\n /**\n * The error message to display.\n */\n @State() private error: string = '';\n\n /**\n * The copy link button label.\n */\n @State() private copiedButtonIndex: number = -1;\n\n connectedCallback() {\n debug('[nylas-list-configurations]', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('[nylas-list-configurations]', 'componentWillLoad');\n\n // If we have configurations, we will set the state to loaded.\n if (this.configurations && this.configurations.length > 0) {\n this.state = 'loaded';\n }\n }\n\n componentDidLoad() {\n debug('[nylas-list-configurations]', 'componentDidLoad');\n\n // Fire the init event. By default, we will fetch the configurations.\n // This is defined in the eventToProps object in the RegisterComponent decorator.\n this.initListConfigurations.emit(this.host);\n }\n\n disconnectedCallback() {\n debug('[nylas-list-configurations]', 'disconnectedCallback');\n }\n\n @Method()\n async getState() {\n return this.state;\n }\n\n @Method()\n async setState(state: 'loading' | 'loaded' | 'error') {\n this.state = state;\n }\n\n @Method()\n async setError(error: string) {\n this.error = error;\n }\n\n private getDurationString(duration: number) {\n const hours = Math.floor(duration / 60);\n const minutes = duration % 60;\n return `${hours ? hours : ''} ${hours ? `${hours > 1 ? 'hours' : 'hour'}` : ''} ${minutes ? minutes : ''} ${minutes ? `${minutes > 1 ? 'mins' : 'min'}` : ''}`;\n }\n\n @RegisterComponent<NylasListConfigurations, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-list-configurations',\n stateToProps: new Map([['schedulerConfig.configurations', 'configurations']]),\n localPropsToProp: new Map([['schedulerPreviewLink', 'schedulerPreviewLink']]),\n eventToProps: {\n initListConfigurations: async (event, connector) => {\n const host = event.detail;\n await host.setState('loading');\n const [data, error] = await connector.schedulerConfig.getConfigurations();\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError(error.message);\n return;\n }\n await host.setState('loaded');\n },\n createButtonClick: async (_, connector) => {\n connector.schedulerConfigStore.resetSelectedConfiguration();\n connector.schedulerConfigStore.state.action = 'create';\n },\n deleteButtonClick: async (event, connector) => {\n const { host, configuration } = event.detail;\n const [data, error] = await connector.schedulerConfig.deleteConfiguration(configuration.id);\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError(error.message);\n }\n },\n editButtonClick: async (event, connector) => {\n const { configuration } = event.detail;\n connector.schedulerConfigStore.state.selectedConfiguration = configuration;\n connector.schedulerConfigStore.state.action = 'edit';\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"header\">\n <div class=\"description\">\n <h2>All scheduling pages</h2>\n <p>Create, edit and manage all your scheduling pages.</p>\n </div>\n {this.configurations && this.configurations.length > 0 && (\n <div class=\"actions\">\n <button-component\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n Create new\n </button-component>\n </div>\n )}\n </div>\n <div class=\"configurations\">\n <table\n class={{\n 'no-configurations': this.state !== 'loading' && (!this.configurations || this.configurations.length === 0),\n }}\n >\n <tr\n class={{\n hide: this.state === 'loading' || (this.configurations && this.configurations.length === 0),\n }}\n >\n <th>Scheduling page title</th>\n <th>Duration</th>\n <th class=\"actions-header\">Actions</th>\n </tr>\n {this.state === 'loading' && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <h3>Loading...</h3>\n <p>Please wait while we fetch the scheduling pages</p>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' && (!this.configurations || this.configurations.length === 0) && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <calendar-icon width=\"48\" height=\"48\"></calendar-icon>\n <h3>No scheduling pages found</h3>\n <p>Get started with creating your first scheduling page</p>\n <button-component\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n Create new\n </button-component>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' &&\n this.configurations.map((config, i) => {\n return (\n <tr key={config.id}>\n <td>\n <div class=\"title\">\n <span class={'config-event-title'}>{config.event_booking.title}</span>\n <span class={'config-event-description'}>{config.event_booking.description}</span>\n </div>\n </td>\n <td>\n <div>{this.getDurationString(config.availability.duration_minutes)}</div>\n </td>\n <td>\n <div class=\"actions\">\n <button-component\n variant={'basic'}\n id=\"copy\"\n key={`copy-${i}`}\n clickHandler={async event => {\n event.preventDefault();\n const link = parsePreviewLink(this.schedulerPreviewLink, config);\n await navigator.clipboard.writeText(link);\n this.copiedButtonIndex = i;\n setTimeout(() => {\n this.copiedButtonIndex = -1;\n }, 3000);\n }}\n >\n {this.copiedButtonIndex === i ? 'Copied!' : 'Copy link'}\n </button-component>\n <button-component\n variant={'basic'}\n key={`edit-${i}`}\n clickHandler={event => {\n event.preventDefault();\n this.editButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n Edit\n </button-component>\n <button-component\n variant={'basic'}\n key={`delete-${i}`}\n clickHandler={event => {\n event.preventDefault();\n this.deleteButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n Delete\n </button-component>\n </div>\n </td>\n </tr>\n );\n })}\n </table>\n </div>\n {this.state === 'error' && (\n <div class=\"error-container\">\n <p class={'error'}>{this.error}</p>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as t,h as a,H as n,a as s,F as i}from"./p-68c2fadf.js";import{R as r}from"./p-795b324a.js";import{a as o,h as l,r as c,s as d,v as b,w as f,x as p}from"./p-6c11737d.js";import{T as h,g as y,L as u}from"./p-49f716ed.js";import{s as m}from"./p-cb9f8627.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";import"./p-1ffbe196.js";const g=':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}sp-theme{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family)}.event-card-wrapper{display:flex;align-items:center;flex-direction:column;background-color:var(--nylas-base-0);color:var(--nylas-base-900);border-radius:var(--nylas-border-radius-3x);position:relative;margin-top:1rem;margin-bottom:2rem;width:424px;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.event-card-wrapper{width:100%;border-radius:0px}}.calendar-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200);color:var(--nylas-base-700)}.booked-event-header{margin:1.5rem 4rem;overflow-wrap:anywhere;display:flex;align-items:center;flex-direction:column;font-size:1rem;font-weight:400}.booked-event-header h2{color:var(--nylas-base-600);margin-top:1.5rem;margin-bottom:0.25rem;font-size:1.125rem;font-weight:600}.booking-date-time,.booking-participants{padding:0 1rem;margin-top:1.5rem;margin-left:3rem;display:flex;flex-direction:column;justify-content:space-between;align-self:flex-start;position:relative}.booking-date-time svg,.booking-participants svg{color:var(--nylas-base-700);position:absolute;left:-10px}.booking-date-time .block,.booking-participants .block{display:block}.booking-date-time h3,.booking-participants h3{color:var(--nylas-base-600);margin:0;font-size:16px;font-weight:600;line-height:1.25rem;text-align:justify;margin-bottom:4px}.booking-date-time p,.booking-participants p{font-size:16px;margin:0;font-weight:400;text-align:justify;color:var(--nylas-base-800)}.booking-participants{margin-bottom:1.5rem}.booked-event-timezone{display:flex;color:var(--nylas-base-600);margin-bottom:1.5rem;gap:4px;margin:2rem;align-items:center;align-self:flex-end}.footer{padding:0.5rem;display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;box-sizing:border-box;background-color:var(--nylas-base-25);width:100%;border-radius:0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x)}.footer.no-template-cols{grid-template-columns:1fr}.footer.no-footer{display:none}sp-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:16px;padding:8px;font-family:var(--nylas-font-family);font-weight:600;height:48px;line-height:24px}sp-button.cancel{color:var(--nylas-error)}sp-button.cancel:hover,sp-button.cancel:focus{border-color:var(--nylas-error)}sp-button.cancel:active{color:var(--nylas-error-pressed);border-color:var(--nylas-error-pressed)}sp-button.reschedule:hover,sp-button.reschedule:focus{border-color:var(--nylas-primary)}sp-button.reschedule:active{border-color:var(--nylas-base-600)}sp-divider{background-color:var(--nylas-base-200);height:1px}calendar-check-icon{display:flex;align-items:center;justify-content:center;height:100%}';const v=g;var k=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var x=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const w=class{constructor(a){e(this,a);this.cancelBookingButtonClicked=t(this,"cancelBookingButtonClicked",7);this.rescheduleButtonClicked=t(this,"rescheduleButtonClicked",7);this.rescheduleBookedEventError=t(this,"rescheduleBookedEventError",7);this.cancelBookedEventValidationError=t(this,"cancelBookedEventValidationError",7);this.handleCancelBookingButtonClicked=()=>{const e=new Date(this.selectedTimeslot.start_time);const t=this.configSettings?.scheduler.min_cancellation_notice;const a=e.getTime()-t*60*1e3;if(e.getTime()<a){this.cancelBookedEventValidationError.emit({error:{title:"Cancellation Error",message:`You cannot cancel the booking within ${t} minutes of the event.`}})}else{this.cancelBookingButtonClicked.emit({bookingId:this.eventInfo.booking_id})}};this.handleRescheduleButtonClicked=()=>{const e=e=>{this.rescheduleBookedEventError.emit(e)};this.rescheduleButtonClicked.emit({bookingId:this.eventInfo.booking_id,errorHandler:e})};this.getOrganizer=e=>{const t=e?.organizer;return t};this.getPaticipantType=e=>{switch(e){case"host":return"Host";case"you":return"You";default:return""}};this.eventInfo=undefined;this.rescheduleBookingId=undefined;this.bookingInfo=undefined;this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.selectedTimeslot=undefined;this.configSettings=undefined}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){o(`[nylas-booked-event-card] Component will load`)}async componentDidLoad(){o(`[nylas-booked-event-card] Component did load`);if(!this.eventInfo){console.warn('[nylas-booked-event-card] "eventInfo" prop missing. Please provide the event info to display the event details in the booked event card component.')}if(!this.bookingInfo){console.warn('[nylas-booked-event-card] "bookingInfo" prop missing. Please provide the booking info to display the guest details in the booked event card component.')}}render(){return a(n,{key:"25f461e554d352c8b62341f77c84d61521a40472",part:"nbec"},a("sp-theme",{key:"fa7ae9d97b3c334d71a64076bd6c5787b48b124b",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"731d9d89bfc2f63b8a1095ea671f39d1a99dc4a4",class:"booked-event-timezone"},a("globe-icon",{key:"e7a7d73d7c9461f34145ddf3e99bf5640b39ab56"}),h[this.selectedTimezone]),a("div",{key:"dbb07cac45a1528a2633119af6050a630f8df173",class:"event-card-wrapper",part:"nbec__card"},a("div",{key:"79b6b636707f8e867358da1b4340e6f0bfeb386e",class:"calendar-icon"},a("calendar-check-icon",{key:"a268b01ecbf64976dc61c9e3c66a67cade9d2227"})),a("div",{key:"52c4c97407582b05bfb87e1379930f7cf149c013",class:"booked-event-header"},a("h2",{key:"ed4631c601b4920b20c27d158063dcbef92084d4",slot:"card-title",part:"nbec__title"},"Booking ",!!this.rescheduleBookingId?"rescheduled":"confirmed","!"),a("div",{key:"f5e93f73c4828764cb7e27cc3d5ab2b761e66fdc",part:"nbec__description"},this.getOrganizer(this.eventInfo)?.name||this.getOrganizer(this.eventInfo)?.email," & ",this.bookingInfo?.primaryParticipant?.name||this.bookingInfo?.primaryParticipant?.email)),a("sp-divider",{key:"d9f14eeb24c4935f131edebb3102ffd69d2bde43"}),a("div",{key:"57f6f7877162eb8de8898d6523dac452b3c841e9",class:"booking-date-time"},a("checkmark-circle-icon",{key:"5bd672ae7c70b0102d6a14e2761b8ecc222ce488"}),a("h3",{key:"5e8ca582a26a51f790ca111648381a10f8ef917c"},"Booking date and time"),a("p",{key:"0b98f73c94add678003f63cd1e59352f7acd29b3"},new Date(this.selectedTimeslot?.start_time).toLocaleDateString(undefined,{dateStyle:"full"})," ",a("br",{key:"cc2a50917760651ca2e015fa22f264740b545a58"}),new Date(this.selectedTimeslot?.start_time).toLocaleTimeString(undefined,{timeStyle:"short"})," -"," ",new Date(this.selectedTimeslot?.end_time).toLocaleTimeString(undefined,{timeStyle:"short"}))),a("div",{key:"5ccf1dbc6002c9eaf60b3bd9211e590ab9135d68",class:"booking-participants"}),a("sp-divider",{key:"7ff9b9f4fa4bfc19da47d358ddda325b13b1a465"}),a("div",{key:"2c3d69854b255864cca3782a9ad87175a18d8cf9",class:{footer:true,"no-footer":this.configSettings?.scheduler?.hide_cancellation_options&&this.configSettings?.scheduler?.hide_rescheduling_options,"no-template-cols":this.configSettings?.scheduler?.hide_cancellation_options||this.configSettings?.scheduler?.hide_rescheduling_options}},!this.configSettings?.scheduler?.hide_cancellation_options&&a("sp-button",{variant:"secondary",treatment:"outline",class:"cancel",onClick:this.handleCancelBookingButtonClicked,part:"nbec__button-outline nbec__cancel-cta"},"Cancel booking"),!this.configSettings?.scheduler?.hide_rescheduling_options&&a("sp-button",{variant:"secondary",treatment:"outline",class:"reschedule",onClick:this.handleRescheduleButtonClicked,part:"nbec__button-outline nbec__reschedule-cta"},"Reschedule")))))}};k([r({name:"nylas-booked-event-card",stateToProps:new Map([["scheduler.bookingInfo","bookingInfo"],["scheduler.rescheduleBookingId","rescheduleBookingId"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.configSettings","configSettings"]]),eventToProps:{cancelBookingButtonClicked:async(e,t)=>{t.scheduler.setCancel(e.detail.bookingId)},rescheduleButtonClicked:async(e,t)=>{const a=await t.scheduler.setReschedule(e.detail.bookingId);const{errorHandler:n}=e.detail;if(n&&(!a||"error"in a)){n(a)}}},fireRegisterEvent:true}),x("design:type",Function),x("design:paramtypes",[]),x("design:returntype",void 0)],w.prototype,"render",null);w.style=v;const C=':host{display:block;height:100%;--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-booking-form{width:100%;padding:1.5rem;box-sizing:border-box;height:450px;overflow-y:auto;height:100%}form{height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center}sp-textfield{--spectrum-corner-radius-100:var(--nylas-border-radius-2x);--spectrum-textfield-border-color:var(--nylas-base-300);position:relative;width:100%;height:48px;margin-bottom:16px;color:var(--nylas-base-500)}.cta{width:100%;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:0.5rem;padding:14px;box-sizing:border-box;border-top:1px solid var(--nylas-base-200)}@media screen and (max-width: 768px){.cta{flex-direction:column-reverse}}sp-button{background-color:transparent;color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);--button-width:50%;font-family:var(--nylas-font-family);font-size:16px;font-weight:600;border:none;height:48px;padding:14px}@media screen and (max-width: 768px){sp-button{--button-width:100%}}sp-button:hover,sp-button:focus{background-color:var(--nylas-base-100);color:var(--nylas-primary);border-radius:var(--nylas-border-radius-2x)}sp-button:active{background-color:var(--nylas-base-200);color:var(--nylas-base-800)}sp-button.back{width:var(--button-width);background-color:transparent;color:var(--nylas-base-700);outline:1px solid var(--nylas-base-300)}sp-button.back:hover,sp-button.back:focus{outline-color:var(--nylas-primary)}sp-button.back:active{outline:2px solid var(--nylas-base-600)}sp-button.book{width:var(--button-width);background-color:var(--nylas-primary);color:var(--nylas-base-0)}sp-button.book:hover,sp-button.book:focus{background-color:var(--nylas-base-600)}sp-button.book:active{background-color:var(--nylas-base-800)}.input-wrapper{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:1rem}.input-wrapper input::placeholder{color:var(--nylas-base-300)}.input-wrapper label,.input-wrapper input{font-family:var(--nylas-font-family);font-size:16px}.input-wrapper .help-text{margin:0;color:var(--nylas-error)}.button-wrapper{width:100%;align-items:flex-start;height:max-content;position:relative}.button-content{display:flex;gap:4px;align-items:center}sp-infield-button{--spectrum-infield-button-background-color:transparent;--spectrum-infield-button-background-color-hover:transparent;--spectrum-infield-button-background-color-active:transparent;--spectrum-infield-button-border-color:transparent;--spectrum-infield-button-border-width:1px;--spectrum-infield-button-border-radius:0;color:var(--nylas-base-600);background:transparent;border:none;outline:1px solid var(--nylas-base-300);border-radius:0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x) 0;height:52px;width:52px;display:flex;position:absolute;right:0;align-items:center;justify-content:center;cursor:pointer}sp-infield-button sp-icon-cross300{color:var(--nylas-base-600)}sp-infield-button.error{border-width:2px;border-color:var(--nylas-error)}input[type=text],input[type=email]{display:flex;height:48px;padding-left:16px;align-items:center;gap:8px;align-self:stretch;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:400;line-height:150%}input[type=text]:focus,input[type=email]:focus{outline-color:var(--nylas-primary)}input[type=text].error,input[type=email].error{border-radius:var(--nylas-border-radius-2x);font-weight:600;border-color:var(--nylas-error);border-width:2px}input[type=text].error::placeholder,input[type=email].error::placeholder{font-weight:400}input[type=text]::placeholder,input[type=email]::placeholder{color:var(--nylas-base-300)}input[type=text].guest-email,input[type=email].guest-email{color:var(--nylas-base-900);padding-right:52px}label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%}label.error{color:var(--nylas-error)}label span.required{color:var(--nylas-error);padding:0 0.25rem}button-component.remove-guest{position:absolute;height:51px;right:0}button-component.remove-guest.error button{border-color:var(--nylas-error)}button-component.remove-guest button{height:inherit;border-top-left-radius:initial;border-bottom-left-radius:initial;border:none !important;border-left:1px solid var(--nylas-base-300) !important}button-component.remove-guest button:hover,button-component.remove-guest button:focus{outline:1px solid var(--nylas-primary) !important;color:var(--nylas-primary)}.guest-email-input{position:relative;display:flex;width:100%}';const _=C;var z=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var j=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const R=/^[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])?)*$/;const D=class{constructor(a){e(this,a);this.nameChanged=t(this,"nameChanged",7);this.emailChanged=t(this,"emailChanged",7);this.backButtonClicked=t(this,"backButtonClicked",7);this.detailsConfirmed=t(this,"detailsConfirmed",7);this.bookingFormError=t(this,"bookingFormError",7);this.bookingFormSubmitted=t(this,"bookingFormSubmitted",7);this.handleGuestChange=(e,t)=>{this.resetGuestEmailError(e);const a=[...this.guestEmails];a[e]=m(t);this.guestEmails=[...a]};this.handleGuestBlur=(e,t)=>{this.resetGuestEmailError(e);if(t===""){this.guestEmailErrors[e]="Email is required";return}if(!R.test(t)){this.guestEmailErrors[e]="Enter a valid email address";return}this.handleGuestChange(e,t)};this.addGuestButtonClickedHandler=e=>{e.preventDefault();this.guestEmails=[...this.guestEmails,""]};this.removeGuestButtonClickHandler=(e,t)=>{e.preventDefault();this.resetGuestEmailError(t);const a=[...this.guestEmails];a.splice(t,1);this.guestEmails=[...a]};this.handleBackButtonClicked=()=>{this.backButtonClicked.emit()};this.bookButtonClickedHandler=async e=>{e.preventDefault();const t=this.bookingFormSubmitted.emit();if(t.defaultPrevented){return}o("nylas-booking-form","bookButtonClickedHandler",this.bookingInfo);const a=this.name||this.bookingInfo?.primaryParticipant?.name;const n=this.email||this.bookingInfo?.primaryParticipant?.email;if(!a||a===""){this.isNameValid=false;this.validationError.name="Name is required";this.bookingFormError.emit({title:"Booking form error",description:"Name is required"});return}if(!n||n===""){this.isEmailValid=false;this.validationError.email="Email is required";this.bookingFormError.emit({title:"Booking form error",description:"Email is required"});return}if(!R.test(n)){this.isEmailValid=false;this.validationError.email="Enter a valid email address";this.bookingFormError.emit({title:"Booking form error",description:"Invalid email"});return}let s=[];if(this.guestEmails.length>0){let e=false;this.guestEmails.forEach(((t,a)=>{if(t===""){e=true;this.guestEmailErrors={...this.guestEmailErrors,[a]:"Email is required"}}else if(!R.test(t)){e=true;this.guestEmailErrors={...this.guestEmailErrors,[a]:"Enter a valid email address"}}}));if(e){this.bookingFormError.emit({title:"Booking form error",description:"Invalid guest email"});return}s=this.guestEmails.map((e=>({name:e.trim(),email:e.trim()})))}else if(this.bookingInfo?.guests){s=this.bookingInfo?.guests}const i=this.bookingInfo?.additionalFields||[];this.detailsConfirmed.emit({primaryParticipant:{name:a,email:n},guests:s,additionalFields:[...i,...this.additionalFields]})};this.updateAdditionalFields=(e,t,a)=>{const n=this.additionalFields.findIndex((t=>t.name===e));if(n>-1){this.additionalFields[n].value=t}else{this.additionalFields.push({name:e,value:t,type:a||"text"})}};this.isLoading=undefined;this.bookingInfo=undefined;this.eventInfo=undefined;this.configSettings=undefined;this.name="";this.email="";this.guestEmails=[];this.guestEmailErrors={};this.isNameValid=true;this.isEmailValid=true;this.additionalFields=[];this.validationError={name:"",email:""}}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){o("nylas-booking-form","componentWillLoad",this.bookingInfo);if(this.bookingInfo&&this.bookingInfo?.primaryParticipant){this.name=this.bookingInfo.primaryParticipant?.name;this.email=this.bookingInfo.primaryParticipant?.email}}bookingInfoChangedHandler(e){if(e&&e.primaryParticipant){this.name=e.primaryParticipant.name;this.email=e.primaryParticipant.email}}changeName(e){this.isNameValid=true;this.validationError.name="";this.name=m(e);this.nameChanged.emit(e)}changeEmail(e){this.isEmailValid=true;this.validationError.email="";this.email=m(e);this.emailChanged.emit(e)}resetGuestEmailError(e){const t={...this.guestEmailErrors};delete t[e];this.guestEmailErrors={...t}}nylasFormInputChangedHandler(e){switch(e.detail.name){case"name":this.changeName(e.detail.value);break;case"email":this.changeEmail(e.detail.value);break;default:if(e.detail.error){this.bookingFormError.emit({title:"Booking form error",description:e.detail.error});return}this.updateAdditionalFields(e.detail.label,e.detail.value,e.detail.type);break}if(e.detail.name==="name"){this.changeName(e.detail.value)}else if(e.detail.name==="email"){this.changeEmail(e.detail.value)}}selectOptionChangedHandler(e){if(e.detail.error){this.bookingFormError.emit({title:"Booking form error",description:e.detail.error});return}this.updateAdditionalFields(e.detail.label,e.detail.value,"dropdown")}switchToggledHandler(e){this.updateAdditionalFields(e.detail.label,e.detail.checked?"true":"false","checkbox")}checkboxToggledHandler(e){this.updateAdditionalFields(e.detail.label,e.detail.checked?"true":"false","checkbox")}render(){return a(n,{key:"5a4ca2feb2f89ada6abada8dd3f6dc4909cb3500"},a("form",{key:"1df9fb2f5a519f4e3ed189f9a11623caa86f3dee",onSubmit:e=>this.bookButtonClickedHandler(e),noValidate:true},a("div",{key:"86a4548532291a4aec3f004eeeb6edde6064248b",class:"nylas-booking-form"},a("div",{key:"7749795a2086658ef53cbe1e6dfa073b29b8b880",class:"input-wrapper"},a("input-component",{key:"b2fd6473fa91b144cb2a23d1db9059f7aafce20b",label:"Name",name:"name",id:"name",defaultValue:this.bookingInfo?.primaryParticipant?.name||this.name,placeholder:"Enter your name",type:"text",required:true,part:"nbf__input-textfield"})),a("div",{key:"cf6fca8e8ced455047b555905e5b21ad7307505d",class:"input-wrapper"},a("input-component",{key:"0a5639811623911f7ed59fa12bd45ceb76ae0373",label:"Email",name:"email",id:"email",pattern:R,defaultValue:this.bookingInfo?.primaryParticipant?.email||this.email,placeholder:"Enter your email",type:"email",required:true,part:"nbf__input-textfield"})),this.configSettings?.scheduler?.hide_additional_guests!==true&&a("div",{class:"input-wrapper"},this.guestEmails.map(((e,t)=>a("div",{class:"input-wrapper button-wrapper"},a("label",{class:{error:!!this.guestEmailErrors[t]}},"Guest email"),a("div",{class:"guest-email-input"},a("input",{type:"email",id:`guest-email-${t}`,maxLength:100,class:{"guest-email":true,error:!!this.guestEmailErrors[t]},placeholder:"Enter guest email",value:e,"data-index":t,part:"nbf__input-textfield",onBlur:e=>this.handleGuestBlur(t,e.target?.value),onInput:e=>this.handleGuestChange(t,e.target?.value)}),a("button-component",{variant:"basic",onClick:e=>this.removeGuestButtonClickHandler(e,t),class:{"remove-guest":true,error:!!this.guestEmailErrors[t]}},a("close-icon",null))),a("p",{class:"help-text"},this.guestEmailErrors[t])))),a("button-component",{class:"add-guest",variant:"invisible",part:"nbf__button-ghost",onClick:e=>this.addGuestButtonClickedHandler(e)},a("div",{class:"button-content"},a("add-circle-icon",{slot:"icon"}),"Add ",this.guestEmails.length>0?"another ":"","guest"))),a("slot",{key:"d853e1e084cb8c769fa0eb0b1e94b09473f6e670",name:"custom-booking-form"})),a("div",{key:"5239eabf55e8be79d1c17b71c6d7f392f563d54d",class:"cta"},a("sp-button",{key:"7b11d64985c876327144ef026934357b37b09cb2",treatment:"outline",variant:"secondary",class:"back",part:"nbf__button-outline",onClick:this.handleBackButtonClicked},a("slot",{key:"160c368859256544a236a6a010f06eab039dc2ce",name:"booking-form-back-label"},"Back")),a("sp-button",{key:"6f6c79cf9d8bef6178af788e427f62262d873738",variant:"primary",class:"book",part:"nbf__button-primary",type:"submit"},this.isLoading&&a("loading-icon",{slot:"icon"}),a("slot",{key:"6fedba0ecc756ceb8941158b6620cdf1df6fe3c0",name:"booking-form-book-label"},"Book now")))))}get host(){return s(this)}static get watchers(){return{bookingInfo:["bookingInfoChangedHandler"]}}};z([r({name:"nylas-booking-form",stateToProps:new Map([["scheduler.isLoading","isLoading"],["scheduler.bookingInfo","bookingInfo"],["scheduler.eventInfo","eventInfo"],["scheduler.configSettings","configSettings"]]),eventToProps:{backButtonClicked:async(e,t)=>{t.scheduler.toggleAdditionalData(false)},nameChanged:async(e,t)=>{t.scheduler.setParticipantName(e.detail)},emailChanged:async(e,t)=>{t.scheduler.setParticipantEmail(e.detail)}},fireRegisterEvent:true}),j("design:type",Function),j("design:paramtypes",[]),j("design:returntype",void 0)],D.prototype,"render",null);D.style=_;const L=':host{display:block;width:400px;--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}sp-theme{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family)}.nylas-cancel-booking-form{display:flex;align-items:center;flex-direction:column;background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:1.5rem;position:relative;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}.nylas-cancel-booking-form__title{font-size:18px;font-weight:600;margin-bottom:0;color:var(--nylas-base-900)}.nylas-cancel-booking-form__description{font-size:1rem;font-style:normal;font-weight:400;line-height:140%;color:var(--nylas-base-600)}.nylas-cancel-booking-form__calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}calendar-cancel-icon{display:flex;align-items:center;justify-content:center;height:100%}sp-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:16px;font-weight:600;width:100%;height:48px;padding:8px;line-height:24px;font-family:var(--nylas-font-family)}sp-button.cancel{margin-top:1.25rem;background-color:var(--nylas-primary);color:var(--nylas-base-0)}sp-button.cancel:hover,sp-button.cancel:focus{background-color:var(--nylas-base-600)}sp-button.cancel:active{background-color:var(--nylas-base-800)}sp-button.back{margin-top:0.5rem}sp-button.back:hover,sp-button.back:focus{border-color:var(--nylas-primary)}sp-button.back:active{border-color:var(--nylas-base-600)}sp-field-label{margin-top:1rem;display:flex;color:var(--nylas-base-800);font-size:14px}sp-field-label.error{color:var(--nylas-error)}sp-field-label span.required{color:var(--nylas-error)}sp-textfield{--spectrum-textfield-border-color:var(--nylas-base-300);--spectrum-textfield-icon-color-invalid:var(--nylas-error);position:relative;width:100%;height:48px;margin-bottom:16px;background-color:var(--nylas-base-0);color:var(--nylas-base-500)}sp-textfield.error{--spectrum-textfield-border-color:var(--nylas-error)}sp-help-text{margin:0.25rem 0 1rem 0;color:var(--nylas-error)}';const T=L;var S=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var E=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const I=class{constructor(a){e(this,a);this.goBackButtonClicked=t(this,"goBackButtonClicked",7);this.cancelBookingFormSubmitted=t(this,"cancelBookingFormSubmitted",7);this.cancelBookedEventError=t(this,"cancelBookedEventError",7);this.cancelBookingFormError=t(this,"cancelBookingFormError",7);this.handleGoBackClicked=()=>{this.goBackButtonClicked.emit()};this.handleSubmitCancelBooking=e=>{e.preventDefault();if(!this.cancellationReason){this.cancellationError="Please provide a reason for cancellation.";this.cancelBookingFormError.emit({title:"Cancel booking form error",description:"Please provide a reason for cancellation."});return}o(`[nylas-cancel-booking-form] Cancel booking form submitted with reason: ${this.cancellationReason}`);const t=e=>{this.cancelBookedEventError.emit(e)};this.cancelBookingFormSubmitted.emit({bookingId:this.cancelBookingId,reason:this.cancellationReason,errorHandler:t})};this.handleOnChangeCancellationReason=e=>{this.cancellationError="";this.cancellationReason=e.target.value};this.cancelBookingId=undefined;this.configSettings=undefined;this.cancellationReason="";this.cancellationError="";this.cancellationPolicy=this.configSettings?.scheduler?.cancellation_policy||"Your current timeslot will become available to others."}configSettingsChangedHandler(e){this.cancellationPolicy=e?.scheduler?.cancellation_policy||"Your current timeslot will become available to others."}connectedCallback(){o(`[nylas-cancel-booking-form] Component connected`)}async componentWillLoad(){o(`[nylas-cancel-booking-form] Component will load`)}async componentDidLoad(){o(`[nylas-cancel-booking-form] Component did load`);if(!this.cancelBookingId){console.warn(`[nylas-cancel-booking-form] No booking ID provided, "cancelBookingId" prop is required.`)}}disconnectedCallback(){o(`[nylas-cancel-booking-form] Component disconnected`)}render(){return a(n,{key:"073a93d34ef7f08acaa827d0e5f391481572c447",part:"ncec"},a("sp-theme",{key:"b2183d3473931a5d1dd18dfdbe32fed0128d5dc1",theme:"spectrum",scale:"medium"},a("div",{key:"f9147a9d4041b5848bd11f06da7c96e98af3d9bd",class:"nylas-cancel-booking-form",part:"ncec__card"},a("div",{key:"15da6ffbfe870b80bd057415469a4c94c1b3a243",class:"nylas-cancel-booking-form__calendar-icon",part:"ncec__icon"},a("calendar-cancel-icon",{key:"f3f36d408dbbe9717ff2ca13981714c36a4ba160"})),a("h3",{key:"56cd0d658ba9a1c63cd0017514a190c42796dbf4",class:"nylas-cancel-booking-form__title",part:"ncec__title"},"Cancel booking?"),a("div",{key:"db6672c70cc566544ec748f9c7a7426000e0c619",class:"nylas-cancel-booking-form__description",part:"ncec__description"},this.cancellationPolicy),a("form",{key:"d227b962561915e823a151a289b135c1d9065510",onSubmit:this.handleSubmitCancelBooking},a("sp-field-label",{key:"42eea73d2ffb041b90fbdffdc0c7e16603eee949",for:"cancel-reason",class:this.cancellationError?"error":""},"Reason for cancellation ",a("span",{key:"57978569e7bd5828b9dfaee053de9a8fae0892d5",class:"required"},"*")),a("sp-textfield",{key:"08eb8ef56d7536053939086f5da1d5137e43b201",id:"cancel-reason",class:this.cancellationError?"error":"",part:"ncec__reason-textarea",multiline:true,value:this.cancellationReason,onInput:this.handleOnChangeCancellationReason,onFocus:this.handleOnChangeCancellationReason,invalid:!!this.cancellationError},a("sp-help-text",{key:"dd985c41efd6427e1cec09874caee5c5d345c1cb",slot:"negative-help-text"},this.cancellationError)),a("sp-button",{key:"97705e808b56f0d373dc1fa705fd61b912ed643e",variant:"primary",class:"cancel",type:"submit",part:"ncec__button-cta"},"Cancel booking"),a("sp-button",{key:"21ae78e3492ad79cbee485709bb863c29f4b041f",variant:"secondary",class:"back",treatment:"outline",part:"ncec__button-outline",onClick:this.handleGoBackClicked},"Go back")))))}static get watchers(){return{configSettings:["configSettingsChangedHandler"]}}};S([r({name:"nylas-cancel-booking-form",stateToProps:new Map([["scheduler.configSettings","configSettings"]]),eventToProps:{cancelBookingFormSubmitted:async(e,t)=>{const a=await t.scheduler.cancelBooking(e.detail.bookingId,e.detail.reason);const{errorHandler:n}=e.detail;if(n&&(!a||"error"in a)){n(a)}}},fireRegisterEvent:true}),E("design:type",Function),E("design:paramtypes",[]),E("design:returntype",void 0)],I.prototype,"render",null);I.style=T;const B=':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}sp-theme{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family)}.nylas-cancelled-event-card{display:flex;align-items:center;flex-direction:column;width:400px;background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:1.5rem;position:relative;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.nylas-cancelled-event-card{width:inherit}}.nylas-cancelled-event-card__title{font-size:18px;font-weight:600;line-height:24px;color:var(--nylas-base-900);text-align:center}.nylas-cancelled-event-description{font-size:16px;font-weight:500;color:var(--nylas-base-600)}.nylas-cancelled-event-card__calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}.nylas-cancelled-event-card__cta{width:100%;display:flex;flex-direction:row;align-items:flex-start;margin-top:1rem}calendar-cancel-icon{display:flex;align-items:center;justify-content:center;height:100%}sp-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:1rem;height:48px;padding:8px;line-height:24px;width:100%}sp-button:hover,sp-button:focus{border-color:var(--nylas-primary)}sp-button:active{border-color:var(--nylas-base-600)}';const H=B;var M=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var V=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const O=class{constructor(a){e(this,a);this.closeCancelEventCardClicked=t(this,"closeCancelEventCardClicked",7);this.cancelledEventCardError=t(this,"cancelledEventCardError",7);this.handleCloseClicked=()=>{this.isClosing=true;const e=e=>{this.cancelledEventCardError.emit(e);this.isClosing=false};this.closeCancelEventCardClicked.emit({errorHandler:e})};this.cancelledEventInfo=undefined;this.isClosing=false;this.configSettings=undefined}connectedCallback(){o(`[nylas-cancelled-event-card] Component connected`)}async componentWillLoad(){o(`[nylas-cancelled-event-card] Component will load`)}async componentDidLoad(){o(`[nylas-cancelled-event-card] Component did load`);if(!this.cancelledEventInfo){console.warn(`[nylas-cancelled-event-card] No cancelled event info provided, "cancelledEventInfo" prop is required.`)}}disconnectedCallback(){o(`[nylas-cancelled-event-card] Component disconnected`)}render(){return a(n,{key:"11c4720a791169b5d562f484fecc2e5586bbdeaf",part:"ncec"},a("sp-theme",{key:"ccd04e6a1a895ad4be18bdb14d27a1c7403a0568",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"a0360afadc55f58d20e651cb33036aa364a3740e",class:"nylas-cancelled-event-card",part:"ncec__card"},a("div",{key:"727eba1d97de774c9a51909bec714688d9e60c1c",class:"nylas-cancelled-event-card__calendar-icon",part:"ncec__icon"},a("calendar-cancel-icon",{key:"bd96caf7b68ee65a470e5949d6622de0893c112d"})),a("h3",{key:"9bcb27d08117825255c2a5625e7b8f630e35b1e5",class:"nylas-cancelled-event-card__title",part:"ncec__title"},"Your booking has been cancelled successfully!"),a("div",{key:"f356c2776a296b89efe9ff9b02dd0f928ea1c0c8",class:"nylas-cancelled-event-card__description",part:"ncec__description"},"A cancellation email has been sent to ",this.configSettings?.organizer?.name||"the participants","."),a("div",{key:"50130b11b9806a5c6adfd67f436d273fbec91774",class:"nylas-cancelled-event-card__cta"},a("sp-button",{key:"77e8e62722ac4ace0a667b45feed6684b3bb6056",variant:"secondary",treatment:"outline",disabled:this.isClosing,part:"ncec__button-outline",onClick:this.handleCloseClicked},this.isClosing?"Closing...":"Close")))))}};M([r({name:"nylas-cancelled-event-card",stateToProps:new Map([["scheduler.configSettings","configSettings"]]),eventToProps:{closeCancelEventCardClicked:async(e,t)=>{const a=await t.scheduler.resetCancel();const{errorHandler:n}=e.detail;if(n&&(!a||"error"in a)){n(a)}}},fireRegisterEvent:true}),V("design:type",Function),V("design:paramtypes",[]),V("design:returntype",void 0)],O.prototype,"render",null);O.style=H;const P=new Date,$=new Date;function F(e,t,a,n){function s(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}s.floor=t=>(e(t=new Date(+t)),t);s.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a);s.round=e=>{const t=s(e),a=s.ceil(e);return e-t<a-e?t:a};s.offset=(e,a)=>(t(e=new Date(+e),a==null?1:Math.floor(a)),e);s.range=(a,n,i)=>{const r=[];a=s.ceil(a);i=i==null?1:Math.floor(i);if(!(a<n)||!(i>0))return r;let o;do{r.push(o=new Date(+a)),t(a,i),e(a)}while(o<a&&a<n);return r};s.filter=a=>F((t=>{if(t>=t)while(e(t),!a(t))t.setTime(t-1)}),((e,n)=>{if(e>=e){if(n<0)while(++n<=0){while(t(e,-1),!a(e)){}}else while(--n>=0){while(t(e,+1),!a(e)){}}}}));if(a){s.count=(t,n)=>{P.setTime(+t),$.setTime(+n);e(P),e($);return Math.floor(a(P,$))};s.every=e=>{e=Math.floor(e);return!isFinite(e)||!(e>0)?null:!(e>1)?s:s.filter(n?t=>n(t)%e===0:t=>s.count(0,t)%e===0)}}return s}const Z=1e3;const q=Z*60;const N=q*60;const W=N*24;const A=F((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*q)/W),(e=>e.getDate()-1));F((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/W),(e=>e.getUTCDate()-1));F((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/W),(e=>Math.floor(e/W)));const X=':host{display:block;min-height:444px;--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}@media screen and (max-width: 768px){:host{min-height:auto}}.nylas-date-picker{display:flex;gap:1rem;flex-direction:column}.header{margin:0 0.5rem;height:48px}.header h2{font-size:1.3125rem;font-weight:400;line-height:1rem;color:var(--nylas-base-800)}.header h2 strong{font-weight:600}.title{margin:0 -1.25rem;display:flex;flex-direction:column;padding:0 1.5rem;gap:0.5rem;border-bottom:1px solid var(--nylas-base-200);font-family:var(--nylas-font-family)}.title h1{margin-bottom:0;font-size:18px;line-height:20px;font-weight:600;display:flex;gap:0.5rem;align-items:center}.title p{margin-top:0;font-size:16px;display:flex;gap:0.5rem;align-items:center}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.dates{display:grid;justify-items:center;grid-template-columns:repeat(7, 1fr);gap:0.5rem;margin-bottom:24px}.dates .date{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;height:48px;width:48px;min-width:2rem;min-height:2rem;cursor:pointer;border-radius:var(--nylas-border-radius-2x);font-size:16px;font-weight:600;font-family:inherit;color:var(--nylas-base-text);background-color:var(--nylas-base-100);cursor:pointer;border:none}@media screen and (max-width: 412px){.dates .date{width:38px;height:38px;min-width:none}}.dates .date:hover:not(:disabled){box-shadow:0 0 0 2px var(--nylas-base-500) inset}.dates .date.date.current-month{color:var(--nylas-base-800)}.dates .date.date.selected{background-color:var(--nylas-primary);color:var(--nylas-base-0);font-weight:700}.dates .date.date.day-skeleton{color:var(--nylas-base-300)}.dates .date:disabled{color:var(--nylas-base-300);background-color:transparent;font-weight:400;cursor:not-allowed}.dates .day{font-size:12px;color:var(--nylas-base-800);font-weight:600;letter-spacing:0.5px;height:32px;display:flex;align-items:center}@media screen and (max-width: 768px){.dates .day{font-size:14px}}.dates .date.day-skeleton{height:48px;width:48px;border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite ease-in-out;background-color:var(--nylas-base-50)}@media screen and (max-width: 412px){.dates .date.day-skeleton{width:38px;height:38px;min-width:none}}.dates .date.current-day::after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background-color:var(--nylas-base-500)}.dates .date.current-day.selected::after{background-color:var(--nylas-base-100)}.pagination{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-width:92px}.pagination .chevron-right{transform:rotate(180deg)}.pagination .button{display:flex;flex-direction:row;justify-content:center;align-items:center;height:3vh;width:3vh;min-width:3em;min-height:3em;cursor:pointer;border-radius:var(--nylas-border-radius-2x);background-color:transparent;color:var(--nylas-base-800);cursor:pointer;border:none}.pagination .button:hover{background-color:var(--nylas-base-50)}.pagination .button:active{background-color:var(--nylas-base-100)}.pagination .button:disabled{background-color:transparent;color:var(--nylas-base-300);cursor:not-allowed}.flex-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:var(--nylas-base-500)}';const Y=X;var U=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var G=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const J=class{constructor(a){e(this,a);this.dateSelected=t(this,"dateSelected",7);this.monthChanged=t(this,"monthChanged",7);this.selectableDates=undefined;this.selectedDate=undefined;this.configSettings=undefined;this.isLoading=undefined;this.eventDuration=undefined;this.month=this.selectedDate||new Date;this.dates=this.getDates();this.disableNextMonthButton=false}configSettingsChanged(e){const t=new Date(this.month.getFullYear(),this.month.getMonth()+1,1);const a=e?.scheduler?.available_days_in_future;if(a===undefined){return}const n=l(new Date,a);if(n.getTime()<t.getTime()){this.disableNextMonthButton=true}else{this.disableNextMonthButton=false}}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}getDates(){const e=c(this.month);const t=d(this.month);return A.range(A.offset(t,-t.getDay()),A.offset(e,7-e.getDay()))}selectDate(e){this.dateSelected.emit(e)}changeMonth(e){this.month=new Date(this.month.getFullYear(),this.month.getMonth()+e,1);const t=new Date(this.month.getFullYear(),this.month.getMonth()+1,1);const a=this.configSettings?.scheduler?.available_days_in_future;const n=l(new Date,a);if(n.getTime()<t.getTime()){this.disableNextMonthButton=true}else{this.disableNextMonthButton=false}this.dates=this.getDates();this.monthChanged.emit(this.month);this.selectDate()}isSelected(e,t,a){return e&&t&&b(e,t)&&a&&a?.length>0}isDisabled(e,t){return e&&t?.find((t=>b(t,e)))===undefined}render(){return a(n,{key:"bc2d37f59dc4cc59c9659a15ce640d3f3c738239",part:"ndp"},a("div",{key:"7b39c6ff3b5c820d6ee4cc3419a80f9803011deb",class:"nylas-date-picker"},a("div",{key:"e7e08bbe189da82d187241b1025633f9ea690bbe",class:"title",part:"'ndp__title"},a("h1",{key:"6619e950e5b31181663916bb95eb72efcda2031b"},a("person-icon",{key:"3db3207dea880167c6f7f4058887b51620da58f9"}),this.configSettings?.organizer?.name||this.configSettings?.organizer.email),a("p",{key:"8a1ec0fe12579b46279b1c95af1928740b9fffb4"},a("clock-icon",{key:"677dc941e4bba5387a16af1f47eb52ed0daf37ab"}),this.eventDuration?f(this.eventDuration):`- minutes`)),a("div",{key:"55ceabd5fe27d3261d8a1c320cc9d612829c50b5",class:"header flex-row"},a("h2",{key:"0fb27b957ac9315139b1cc6ead9504d3b35549cd",part:"ndp__month-header"},a("strong",{key:"c916747bc9714fa1e0743674aa8845f0bb3bc8c6"},this.month.toLocaleDateString(undefined,{month:"long"}))," ",this.month.toLocaleDateString(undefined,{year:"numeric"})),a("div",{key:"f730a61b661c581d623eca6d56f809d40c0a775b",class:"pagination"},a("button",{key:"69555f5b4de9306dedd29bdeeb90effbda01c521",onClick:()=>this.changeMonth(-1),class:{"chevron-left":true,button:true},disabled:!this.selectableDates?.length||this.month<=new Date,part:"ndp__month-button"},a("chevron-icon",{key:"ea5c5492aa75cbb1c94af57d01c091a353b7ee2a"})),a("button",{key:"9313976fea433d8babf3ce5a63891492e93c22bc",onClick:()=>this.changeMonth(1),class:{"chevron-right":true,button:true},disabled:this.disableNextMonthButton,part:"ndp__month-button"},a("chevron-icon",{key:"81f86816719358949d8eef1e346702da314de68f"})))),a("div",{key:"32e3e0cf78205054739acc6ae3a3363b7d10c926",class:"dates"},["SUN","MON","TUE","WED","THU","FRI","SAT"].map((e=>a("div",{class:"day",part:"ndp__day"},e))),this.dates.map(((e,t)=>{const n=this.isDisabled(e,this.selectableDates);if(this.isLoading){return a("button",{disabled:true,class:{"date day-skeleton":true,"current-month":p(e,this.month)},style:{animationDelay:`${t*20}ms`},part:"ndp__date"},e.getDate())}return a("button",{class:{date:true,selected:!!(this.selectedDate&&b(e,this.selectedDate)&&this.selectableDates&&this.selectableDates?.length>0),"current-day":b(e,new Date),"current-month":p(e,this.month)},"aria-lang":e.toLocaleDateString(undefined,{dateStyle:"full"}),disabled:n,onClick:()=>this.selectDate(e),part:`ndp__date ${this.isSelected(e,this.selectedDate,this.selectableDates)?"ndp__date--selected":""} ${b(e,new Date)?"ndp__date--current-day":""} ${p(e,this.month)?"ndp__date--current-month":""}`},e.getDate())})))))}static get watchers(){return{configSettings:["configSettingsChanged"]}}};U([r({name:"nylas-date-picker",stateToProps:new Map([["scheduler.selectableDates","selectableDates"],["scheduler.selectedDate","selectedDate"],["scheduler.isLoading","isLoading"],["scheduler.configSettings","configSettings"],["scheduler.eventDuration","eventDuration"]]),eventToProps:{dateSelected:async(e,t)=>{t.scheduler.selectDate(e.detail)}},fireRegisterEvent:true}),G("design:type",Function),G("design:paramtypes",[]),G("design:returntype",void 0)],J.prototype,"render",null);J.style=Y;const K=':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-locale-switch{display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-left:none;border-right:none;color:var(--nylas-base-50);font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease-in-out;font-family:inherit}@media screen and (max-width: 768px){.nylas-locale-switch{font-size:16px}}.select-wrapper{display:flex;align-items:center;gap:0.5rem}select{border:none;background:transparent;cursor:pointer;outline:none;background-color:transparent;margin:0 0 1px;padding:4px;vertical-align:middle}select#timezone{width:140px}select#language{width:80px}span.timezone-label{display:flex;width:-webkit-fill-available;justify-content:space-between}select-dropdown{width:auto}select-dropdown::part(sd_dropdown-button){border:none;padding:10px}select-dropdown::part(sd_dropdown-content){max-width:306px}';const Q=K;var ee=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var te=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const ae=class{constructor(a){e(this,a);this.timezoneChanged=t(this,"timezoneChanged",7);this.languageChanged=t(this,"languageChanged",7);this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.selectedLanguage=navigator.language}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}changeTimezone(e){this.selectedTimezone=e;this.timezoneChanged.emit(e)}changeLanguage(e){this.selectedLanguage=e;this.languageChanged.emit(e)}nylasFormDropdownChangedHandler(e){const{name:t,value:a}=e.detail;if(t==="timezone"){this.changeTimezone(a)}else if(t==="language"){this.changeLanguage(a)}}getTimezoneLabelHTML(e){const t=y(e);return a("span",{class:"timezone-label",style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"-webkit-fill-available"}},h[e]," ",a("span",{class:"timezone-offset",style:{fontSize:"14px",fontWeight:"400",color:"var(--nylas-base-500)"}},t))}render(){const e=Object.keys(h).map((e=>({labelHTML:this.getTimezoneLabelHTML(e),label:h[e],value:e})));const t=Object.keys(u).map((e=>({label:u[e],value:e})));return a(n,{key:"b568b75977c586e88d88d69ce6a4b7651fd6123b"},a("div",{key:"95b12f2d96e46b31ed606c85c4fe3151861d188c",class:"nylas-locale-switch"},a("div",{key:"d44690dae20a0068ffe55ab87024c8e283acaa6c",class:{"select-wrapper":true,timezone:true}},a("select-dropdown",{key:"09b895b074f36381567d439869b68d8e10869b2a",name:"timezone",options:e,defaultSelectedOption:e.find((e=>e.value==this.selectedTimezone))},a("span",{key:"72a40810ca3d7a59b0e8d76be62c63f70c1cf183",slot:"select-icon"},a("globe-icon",{key:"01dedea1be14b299cf447085b5778663015b2e2d",width:"20",height:"20"})))),a("div",{key:"2b4078132bc366f7784648cce51fe0ee33467d06",class:{"select-wrapper":true,language:true}},a("select-dropdown",{key:"eb73c3eb853aba5c0acde42bf49dd09c19f1d43b",name:"language",options:t,defaultSelectedOption:t.find((e=>e.value==this.selectedLanguage))},a("span",{key:"b2b1b5e1d8d2b85e67615c6f63a69ac955e3fc16",slot:"select-icon"},a("translate-icon",{key:"161bb7dad0a08d8362c5c3cdd85238d732e5888c",width:"20",height:"20"}))))))}};ee([r({name:"nylas-locale-switch",stateToProps:new Map([["scheduler.selectedLanguage","selectedLanguage"],["scheduler.selectedTimezone","selectedTimezone"]]),eventToProps:{timezoneChanged:async(e,t)=>{t.scheduler.selectTimezone(e.detail)}},fireRegisterEvent:true}),te("design:type",Function),te("design:paramtypes",[]),te("design:returntype",void 0)],ae.prototype,"render",null);ae.style=Q;const ne=".sc-nylas-logo-h{display:flex}";const se=ne;const ie=class{constructor(t){e(this,t);this.width="69";this.height="24"}render(){return a("svg",{key:"cc4e67942af5cfd37cdad41f7f8dc87652109481",width:this.width,height:this.height,viewBox:"0 0 69 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a("g",{key:"5f5e9fd7f9ce51ec576b6004828e0c323dcb1701","clip-path":"url(#clip0_455_3543)"},a("path",{key:"0390e7e1cc90e26d025adccbb77df76b7c779b9e",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",fill:"currentColor"}),a("path",{key:"08783eb775743742f7520a632016676f156469d3",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",fill:"currentColor"}),a("path",{key:"e9c104e64b877dce04ae82221cd976688e97968f",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",fill:"currentColor"}),a("path",{key:"144a43759016fd4da29dd3f0493d9221e666c89f",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",fill:"currentColor"}),a("path",{key:"9f11d314804629377158c00854f3849d1033c601",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",fill:"currentColor"}),a("path",{key:"f6591deaa756e6e18c08a65a9eefc453965296da",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",fill:"currentColor"}),a("path",{key:"ee90a807361a94004319eb9c5f89082558211d05",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",fill:"currentColor"}),a("path",{key:"ac09ff51d464eba8732f1c61f18eafd587227b93",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",fill:"currentColor"})),a("defs",{key:"c0e42870fa615d20b75bb38e4ec4047f2aba08cc"},a("clipPath",{key:"e19ed121d42704ac0bf568a704679ca03dd70ed7",id:"clip0_455_3543"},a("rect",{key:"2848bbbc3c36ecb6bdbc7336e8ac07c966baca5b",width:"68.7123",height:"19.2877",fill:"white",transform:"translate(0.144043 0.356201)"}))))}};ie.style=se;const re=':host{display:block;margin-bottom:-12px;width:100%;z-index:1;--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}.notif{display:flex;padding:17px;align-items:flex-start;justify-content:space-between;gap:16px;border-radius:var(--nylas-border-radius-2x);border:1.5px solid var(--nylas-error);background:var(--nylas-base-0)}@media screen and (max-width: 768px){.notif{width:auto}}.notif .content{display:flex;flex-direction:row;gap:8px}.notif .content .message{font-size:14px;font-weight:400;color:var(--nylas-base-800)}.notif .content .message .title{font-size:16px;font-weight:600;color:var(--nylas-base-950);display:block}.notif .content .message .description{font-size:14px;font-weight:400;color:var(--nylas-base-800);display:block}.notif .content .icon.error{color:var(--nylas-error)}.notif.error{border-color:var(--nylas-error);background:rgb(255, 248, 248)}.notif.warning{border-color:var(--nylas-warning)}.notif.info{border-color:var(--nylas-info)}.notif.success{border-color:var(--nylas-success)}.notif .dismiss-btn{background:none;border:none;color:var(--nylas-base-950);cursor:pointer}';const oe=re;const le=class{constructor(t){e(this,t);this.ttl=5e3;this.allowedCategories=["component","api","validation","invalid_session"];this.notifications=[]}onError(e){o(`[nylas-notification] Error: ${e.detail.title}`);this.handleNotification(e)}onWarning(e){o(`[nylas-notification] Warning: ${e.detail.title}`);this.handleNotification(e)}onInfo(e){o(`[nylas-notification] Info: ${e.detail.title}`);this.handleNotification(e)}onSuccess(e){o(`[nylas-notification] Success: ${e.detail.title}`);this.handleNotification(e)}handleNotification(e){if(e.defaultPrevented){o(`[nylas-notification] Event default prevented`);return}if(this.ttl===0){o(`[nylas-notification] TTL is 0`);return}if(this.allowedCategories.length>0&&!this.allowedCategories.includes(e.detail.category)){o(`[nylas-notification] Category not allowed`);return}this.notifications=[...this.notifications,{...e.detail}];if(e.detail.ttl!=="none"){const t=e.detail.ttl?e.detail.ttl:this.ttl;window.setTimeout((()=>{this.notifications=this.notifications.filter((t=>t.id!==e.detail.id))}),t)}}dismissNotification(e){this.notifications=this.notifications.filter((t=>t.id!==e))}render(){return a(n,{key:"ab83962fa679505585445e3baab12b31bf1abd00"},a(i,{key:"3f4c77b79718eb71600129910be78980a70c3022"},this.notifications.map((e=>a("div",{class:`notif ${e.type}`,key:e.id},a("div",{class:"content"},a("span",{class:`icon ${e.type}`},(e.type==="error"||e.type==="warning")&&a("warning-icon",null)),a("span",{class:"message"},a("span",{class:"title"},e.title),e.description&&a("span",{class:"description"},e.description))),a("button",{class:"dismiss-btn",onClick:()=>this.dismissNotification(e.id)},a("close-icon",null))))),a("slot",{key:"45286b7e48b19c7b76089ef2d661e9cd176b4a8f"})))}};le.style=oe;const ce=":host{display:block}sp-theme{position:relative;height:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--nylas-font-family)}.event-card{display:flex;align-items:center;flex-direction:column;width:calc(100% - 3rem);background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:3rem 1.5rem 1.5rem 1.5rem;position:relative;box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.event-card{margin-bottom:2rem}}.nylas-selected-event-card__date{font-size:min(max(16px, 3vw), 18px);font-weight:600}.nylas-selected-event-card__time{font-size:16px;font-weight:500}.calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}calendar-icon{display:flex;align-items:center;justify-content:center;height:100%}.event-timezone{display:flex;color:var(--nylas-base-600);margin-bottom:8px;gap:4px;align-items:center}@media screen and (max-width: 768px){.event-timezone{margin-bottom:16px}}";const de=ce;var be=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var fe=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const pe=class{constructor(t){e(this,t);this.selectedDate=undefined;this.selectedTimeslot=undefined;this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.startTime="";this.endTime=""}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){o(`[nylas-selected-event-card] Component will load`)}async componentDidLoad(){o(`[nylas-selected-event-card] Component did load`);if(!this.selectedDate){console.warn('[nylas-selected-event-card] "selectedDate" prop is not provided.')}if(!this.selectedTimeslot){console.warn('[nylas-selected-event-card] "selectedTimeslot" prop is not provided.')}}handleSelectedTimeslotChange(e){this.startTime=new Date(e?.start_time).toLocaleString(undefined,{timeStyle:"short"});this.endTime=new Date(e?.end_time).toLocaleString(undefined,{timeStyle:"short"})}render(){return a(n,{key:"27aa2e0c4ea3a4ac04c24c3e7049360ab1da450c",part:"nsec"},a("sp-theme",{key:"06a93ef1f378da9bf9c8eeb8cbb3b7ab912cbe39",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"cbeab1951966e48db4e7c0e652946099377abfaa",class:"event-card",part:"nsec__card"},a("div",{key:"014aed3ae5739ec763f3fe0ff7b94f859a35090c",class:"calendar-icon",part:"nsec__icon"},a("calendar-icon",{key:"b19e2752e3b87c07f14c23651416de2a1fa78ca5"})),a("div",{key:"d4adee688565fcec2e217cc2b3ae8bb2d2572630",class:"nylas-selected-event-card__date",part:"nsec__date"},this.selectedDate?.toLocaleDateString(undefined,{dateStyle:"full"})),a("div",{key:"c9f15e73f1cf65d6df1739fe348abd9fe50c34d9",class:"nylas-selected-event-card__time",part:"nsec__time"},this.startTime," - ",this.endTime)),a("div",{key:"531c381692eefac442a0646d4584f9cf2a51808e",class:"event-timezone",part:"nsec__timezone"},a("globe-icon",{key:"d6d7225298063ab5d5005f2c0a8d2a57de0d1a27"}),h[this.selectedTimezone])))}static get watchers(){return{selectedTimeslot:["handleSelectedTimeslotChange"]}}};be([r({name:"nylas-selected-event-card",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"]]),eventToProps:{},fireRegisterEvent:true}),fe("design:type",Function),fe("design:paramtypes",[]),fe("design:returntype",void 0)],pe.prototype,"render",null);pe.style=de;const he=":host{display:block;height:calc(100% - 48px)}.time-picker-wrapper{display:flex;flex-direction:column;height:100%}.time-slots{position:relative;display:flex;flex-direction:column;gap:0.75rem;align-items:center;overflow-y:scroll;padding:0.5rem 1.5rem 1.5rem;flex:1}.time{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4px 12px;gap:0.5rem;font-size:16px;font-weight:500;font-family:inherit;width:100%;height:48px;color:var(--nylas-base-800);background:var(--nylas-base-0);border:none;outline:1.5px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);flex:none;order:4;align-self:stretch;flex-grow:0;cursor:pointer}.time:hover,.time:focus{color:var(--nylas-primary);outline-color:var(--nylas-primary)}.time.selected{font-weight:600;color:var(--nylas-primary);outline:2px solid var(--nylas-primary);border-color:transparent;box-shadow:0 0 0 2px var(--nylas-primary)}.empty{text-align:center;padding:0 1.5rem;color:var(--nylas-base-600);font-size:min(max(12px, 2vw), 14px);height:450px;display:flex;align-items:center;justify-content:center}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.loading{padding:0 1.5rem}.loading .time-slot-skeleton{width:100%;height:4rem;background-color:var(--nylas-base-50);margin-bottom:0.5rem;border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite ease-in-out}.footer{width:100%;padding:14px;box-sizing:border-box;border-top:1px solid var(--nylas-base-200)}.footer sp-button{padding:14px;color:var(--nylas-base-100);border-radius:var(--nylas-border-radius-2x);width:100%;height:48px;font-weight:600;font-size:16px;background-color:var(--nylas-primary);border:none}.footer sp-button:hover,.footer sp-button:focus{background-color:var(--nylas-base-600)}.footer sp-button:active{background-color:var(--nylas-base-800)}";const ye=he;var ue=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var me=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const ge=class{constructor(a){e(this,a);this.timeslotSelected=t(this,"timeslotSelected",7);this.timeslotConfirmed=t(this,"timeslotConfirmed",7);this.handleConfirmedTimeslot=async(e,t)=>{e.preventDefault();o(`[nylas-timeslot-picker] Confirm timeslot`,t);this.timeslotConfirmed.emit(t)};this.handleMouseEnter=e=>{this.hoveredTimeslotIndex=e};this.handleMouseLeave=()=>{this.hoveredTimeslotIndex=-1};this.selectedDate=new Date;this.availability=undefined;this.selectedTimeslot=undefined;this.isLoading=undefined;this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.times=[];this.hoveredTimeslotIndex=undefined;this.selectedTimeslotIndex=undefined}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){const e=this.availability?.filter((e=>this.selectedDate&&b(e.start_time,this.selectedDate))).map((e=>e));this.times=e||[];o(`[nylas-timeslot-picker] Component will load`,{selectedDate:this.selectedDate,availability:this.availability,times:this.times})}async componentDidLoad(){o(`[nylas-timeslot-picker] Component did load`)}getTimeslotId(e,t){return`${e.toLocaleDateString()}-${t}`}onClickSelectTime(e,t){o(`[nylas-timeslot-picker] Time selected`,e,t);this.selectedTimeslotIndex=this.getTimeslotId(e.start_time,t);this.timeslotSelected.emit({start_time:e.start_time,end_time:e.end_time})}getTimeSlotLabel(e){const t=new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"numeric",timeZone:this.selectedTimezone});return`${t.format(e.start_time)} - ${t.format(e.end_time)}`}selectedDateChanged(e){o(`[nylas-timeslot-picker] Selected date changed`,{newVal:e});if(e){this.selectedTimeslotIndex="";if(typeof e!=="undefined"){const t=this.availability?.filter((t=>b(t.start_time,e))).map((e=>e));this.times=t||[]}}}availabilityChanged(e){o(`[nylas-timeslot-picker] Available times changed`,{newVal:e,selectedDate:this.selectedDate});if(typeof e!=="undefined"){const t=e?.filter((e=>this.selectedDate&&b(e.start_time,this.selectedDate))).map((e=>e));this.times=t||[]}}render(){if(this.isLoading){return a(n,null,a("div",{class:"loading"},new Array(6).fill(0).map(((e,t)=>a("div",{class:"time-slot-skeleton",style:{animationDelay:`${t*20}ms`}})))))}if(this.availability&&this.availability.length===0){return a(n,null,a("div",{class:"empty"},a("span",null,"No dates available")))}if((!this.times||this.times.length===0)&&!!this.selectedDate){return a(n,null,a("div",{class:"empty"},a("span",null,"No time slots available for selected date")))}if(!this.selectedDate)return a(n,null);return a(n,{part:"ntp"},a("div",{class:"time-picker-wrapper"},a("div",{class:"time-slots"},this.times.map(((e,t)=>a("button",{part:`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime()===e.start_time.getTime()?"ntp__timeslot--selected":""}`,"aria-role":"button",class:{time:true,selected:typeof this.selectedTimeslot!=="undefined"&&this.selectedTimeslot?.start_time?.getTime()===e.start_time.getTime()},onClick:()=>this.onClickSelectTime(e,t),onMouseEnter:()=>this.handleMouseEnter(t),onMouseLeave:()=>this.handleMouseLeave()},this.hoveredTimeslotIndex==t||this.selectedTimeslotIndex==this.getTimeslotId(e.start_time,t)?this.getTimeSlotLabel(e):e.start_time.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",timeZone:this.selectedTimezone}))))),this.selectedTimeslot&&a("div",{class:"footer"},a("sp-button",{variant:"primary",onClick:e=>this.handleConfirmedTimeslot(e,this.selectedTimeslot),part:"ntp__button-primary"},a("slot",{name:"timeslot-picker-cta-label"},"Next")))))}static get watchers(){return{selectedDate:["selectedDateChanged"],availability:["availabilityChanged"]}}};ue([r({name:"nylas-timeslot-picker",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.availability","availability"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.isLoading","isLoading"]]),eventToProps:{timeslotSelected:async(e,t)=>{t.scheduler.selectTime(e.detail)},timeslotConfirmed:async(e,t)=>{if(e.detail){t.scheduler.toggleAdditionalData(true)}}},fireRegisterEvent:true}),me("design:type",Function),me("design:paramtypes",[]),me("design:returntype",void 0)],ge.prototype,"render",null);ge.style=ye;export{w as nylas_booked_event_card,D as nylas_booking_form,I as nylas_cancel_booking_form,O as nylas_cancelled_event_card,J as nylas_date_picker,ae as nylas_locale_switch,ie as nylas_logo,le as nylas_notification,pe as nylas_selected_event_card,ge as nylas_timeslot_picker};
|
|
2
|
+
//# sourceMappingURL=p-470536e0.entry.js.map
|