@nylas/web-elements 1.1.0-canary.21 → 1.1.0-canary.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/add-circle-icon.cjs.entry.js +1 -1
- package/dist/cjs/add-circle-icon_2.cjs.entry.js +2 -2
- package/dist/cjs/archive-icon.cjs.entry.js +1 -1
- package/dist/cjs/archive-icon_7.cjs.entry.js +7 -7
- package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
- package/dist/cjs/bold-icon.cjs.entry.js +1 -1
- package/dist/cjs/bold-icon_3.cjs.entry.js +3 -3
- package/dist/cjs/button-component.cjs.entry.js +1 -1
- package/dist/cjs/calendar-agenda-fill-icon.cjs.entry.js +1 -1
- package/dist/cjs/calendar-agenda-fill-icon_40.cjs.entry.js +47 -47
- package/dist/cjs/calendar-agenda-icon.cjs.entry.js +1 -1
- package/dist/cjs/calendar-cancel-icon.cjs.entry.js +1 -1
- package/dist/cjs/calendar-check-icon.cjs.entry.js +1 -1
- package/dist/cjs/calendar-check-icon_2.cjs.entry.js +2 -2
- package/dist/cjs/calendar-icon.cjs.entry.js +1 -1
- package/dist/cjs/calendar-info-icon.cjs.entry.js +1 -1
- package/dist/cjs/calendar-patterns-icon.cjs.entry.js +1 -1
- package/dist/cjs/checkbox-component.cjs.entry.js +1 -1
- package/dist/cjs/checkbox-component_2.cjs.entry.js +2 -2
- package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
- package/dist/cjs/checkmark-icon.cjs.entry.js +1 -1
- package/dist/cjs/chevron-icon.cjs.entry.js +1 -1
- package/dist/cjs/chevron-icon_3.cjs.entry.js +3 -3
- package/dist/cjs/clock-icon.cjs.entry.js +1 -1
- package/dist/cjs/clock-icon_4.cjs.entry.js +4 -4
- package/dist/cjs/close-icon.cjs.entry.js +1 -1
- package/dist/cjs/copy-icon.cjs.entry.js +1 -1
- package/dist/cjs/copy-icon_3.cjs.entry.js +3 -3
- package/dist/cjs/delete-icon.cjs.entry.js +1 -1
- package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
- package/dist/cjs/dragable-icon.cjs.entry.js +1 -1
- package/dist/cjs/edit-icon.cjs.entry.js +1 -1
- package/dist/cjs/envelope-fill-icon.cjs.entry.js +1 -1
- package/dist/cjs/envelope-icon.cjs.entry.js +1 -1
- package/dist/cjs/eye-icon.cjs.entry.js +1 -1
- package/dist/cjs/flow-icon.cjs.entry.js +1 -1
- package/dist/cjs/folder-icon.cjs.entry.js +1 -1
- package/dist/cjs/forward-icon.cjs.entry.js +1 -1
- package/dist/cjs/forward-icon_6.cjs.entry.js +7 -7
- package/dist/cjs/globe-icon.cjs.entry.js +1 -1
- package/dist/cjs/google-logo-icon.cjs.entry.js +1 -1
- package/dist/cjs/google-logo-icon_4.cjs.entry.js +6 -6
- package/dist/cjs/google-meet-icon.cjs.entry.js +1 -1
- package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
- package/dist/cjs/info-icon.cjs.entry.js +1 -1
- package/dist/cjs/info-icon_2.cjs.entry.js +2 -2
- package/dist/cjs/input-component.cjs.entry.js +1 -1
- package/dist/cjs/input-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/italic-icon.cjs.entry.js +1 -1
- package/dist/cjs/loading-icon.cjs.entry.js +1 -1
- package/dist/cjs/location-icon.cjs.entry.js +1 -1
- package/dist/cjs/location-off-icon.cjs.entry.js +1 -1
- package/dist/cjs/microsoft-logo-icon.cjs.entry.js +1 -1
- package/dist/cjs/microsoft-teams-icon.cjs.entry.js +1 -1
- package/dist/cjs/multi-select-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/nylas-additional-participants.cjs.entry.js +2 -2
- package/dist/cjs/nylas-availability-picker.cjs.entry.js +1 -1
- package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +19 -18
- package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-booking-form-config.cjs.entry.js +1 -1
- package/dist/cjs/nylas-booking-form.cjs.entry.js +13 -12
- package/dist/cjs/nylas-booking-form.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +1 -1
- package/dist/cjs/nylas-cancellation-policy.cjs.entry.js +1 -1
- package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +1 -1
- package/dist/cjs/nylas-composer.cjs.entry.js +1 -1
- package/dist/cjs/nylas-confirmation-email.cjs.entry.js +1 -1
- package/dist/cjs/nylas-connected-calendars.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 +1 -1
- package/dist/cjs/nylas-editor-tabs.cjs.entry.js +4 -4
- package/dist/cjs/nylas-event-description.cjs.entry.js +1 -1
- package/dist/cjs/nylas-event-duration.cjs.entry.js +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 +6 -6
- package/dist/cjs/nylas-event-title.cjs.entry.js +2 -2
- package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
- package/dist/cjs/nylas-if-state.cjs.entry.js +1 -1
- package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +1 -1
- package/dist/cjs/nylas-list-folders.cjs.entry.js +1 -1
- package/dist/cjs/nylas-list-threads.cjs.entry.js +1 -1
- package/dist/cjs/nylas-login.cjs.entry.js +1 -1
- package/dist/cjs/nylas-logo.cjs.entry.js +1 -1
- package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +1 -1
- package/dist/cjs/nylas-mailbox.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-notification.cjs.entry.js +1 -1
- package/dist/cjs/nylas-participant-booking-calendars.cjs.entry.js +1 -1
- package/dist/cjs/nylas-participants-custom-availability.cjs.entry.js +1 -1
- package/dist/cjs/nylas-provider.cjs.entry.js +1 -1
- package/dist/cjs/nylas-reminder-emails.cjs.entry.js +3 -3
- package/dist/cjs/nylas-reminder-time.cjs.entry.js +1 -1
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +1 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js +1 -2
- package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-selected-event-card.cjs.entry.js +2 -2
- package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +2 -2
- package/dist/cjs/nylas-threads-refresh.cjs.entry.js +2 -2
- package/dist/cjs/nylas-threads-search.cjs.entry.js +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-view-email.cjs.entry.js +1 -1
- package/dist/cjs/nylas-view-thread.cjs.entry.js +1 -1
- package/dist/cjs/people-icon.cjs.entry.js +1 -1
- package/dist/cjs/person-clipboard-icon.cjs.entry.js +1 -1
- package/dist/cjs/person-icon.cjs.entry.js +1 -1
- package/dist/cjs/play-icon.cjs.entry.js +1 -1
- package/dist/cjs/play-icon_2.cjs.entry.js +2 -2
- package/dist/cjs/plus-icon.cjs.entry.js +1 -1
- package/dist/cjs/radio-button-group.cjs.entry.js +1 -1
- package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
- package/dist/cjs/reply-all-icon.cjs.entry.js +1 -1
- package/dist/cjs/reply-icon.cjs.entry.js +1 -1
- package/dist/cjs/search-icon.cjs.entry.js +1 -1
- package/dist/cjs/select-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/sent-icon.cjs.entry.js +1 -1
- package/dist/cjs/spam-icon.cjs.entry.js +1 -1
- package/dist/cjs/star-icon.cjs.entry.js +1 -1
- package/dist/cjs/stop-icon.cjs.entry.js +1 -1
- package/dist/cjs/textarea-component.cjs.entry.js +1 -1
- package/dist/cjs/time-period-selector.cjs.entry.js +1 -1
- package/dist/cjs/toggle-switch.cjs.entry.js +1 -1
- package/dist/cjs/tooltip-component.cjs.entry.js +1 -1
- package/dist/cjs/translate-icon.cjs.entry.js +1 -1
- package/dist/cjs/trash-fill-icon.cjs.entry.js +1 -1
- package/dist/cjs/trash-icon.cjs.entry.js +1 -1
- package/dist/cjs/underline-icon.cjs.entry.js +1 -1
- package/dist/cjs/warning-icon.cjs.entry.js +1 -1
- package/dist/cjs/zoom-icon.cjs.entry.js +1 -1
- package/dist/collection/common/icons/add-circle.js +1 -1
- package/dist/collection/common/icons/archive.js +1 -1
- package/dist/collection/common/icons/arrow.js +1 -1
- package/dist/collection/common/icons/bold.js +1 -1
- package/dist/collection/common/icons/calendar-agenda-fill.js +1 -1
- package/dist/collection/common/icons/calendar-agenda.js +1 -1
- package/dist/collection/common/icons/calendar-cancel.js +1 -1
- package/dist/collection/common/icons/calendar-check.js +1 -1
- package/dist/collection/common/icons/calendar-info.js +1 -1
- package/dist/collection/common/icons/calendar-patterns.js +1 -1
- package/dist/collection/common/icons/calendar.js +1 -1
- package/dist/collection/common/icons/checkmark-circle.js +1 -1
- package/dist/collection/common/icons/checkmark.js +1 -1
- package/dist/collection/common/icons/chevron.js +1 -1
- package/dist/collection/common/icons/clock.js +1 -1
- package/dist/collection/common/icons/close.js +1 -1
- package/dist/collection/common/icons/copy.js +1 -1
- package/dist/collection/common/icons/delete.js +1 -1
- package/dist/collection/common/icons/document-refresh.js +1 -1
- package/dist/collection/common/icons/dragable.js +1 -1
- package/dist/collection/common/icons/edit.js +1 -1
- package/dist/collection/common/icons/envelope-fill.js +1 -1
- package/dist/collection/common/icons/envelope.js +1 -1
- package/dist/collection/common/icons/eye.js +1 -1
- package/dist/collection/common/icons/flow.js +1 -1
- package/dist/collection/common/icons/folder.js +1 -1
- package/dist/collection/common/icons/forward.js +1 -1
- package/dist/collection/common/icons/globe.js +1 -1
- package/dist/collection/common/icons/google-logo.js +1 -1
- package/dist/collection/common/icons/google-meet.js +1 -1
- package/dist/collection/common/icons/inbox.js +1 -1
- package/dist/collection/common/icons/info.js +1 -1
- package/dist/collection/common/icons/italic.js +1 -1
- package/dist/collection/common/icons/loading.js +1 -1
- package/dist/collection/common/icons/location-off.js +1 -1
- package/dist/collection/common/icons/location.js +1 -1
- package/dist/collection/common/icons/microsof-teams.js +1 -1
- package/dist/collection/common/icons/microsoft-logo.js +1 -1
- package/dist/collection/common/icons/nylas-logo.js +1 -1
- package/dist/collection/common/icons/people.js +1 -1
- package/dist/collection/common/icons/person-clipboard.js +1 -1
- package/dist/collection/common/icons/person.js +1 -1
- package/dist/collection/common/icons/play.js +1 -1
- package/dist/collection/common/icons/plus.js +1 -1
- package/dist/collection/common/icons/refresh.js +1 -1
- package/dist/collection/common/icons/reply-all.js +1 -1
- package/dist/collection/common/icons/reply.js +1 -1
- package/dist/collection/common/icons/search.js +1 -1
- package/dist/collection/common/icons/sent.js +1 -1
- package/dist/collection/common/icons/spam.js +1 -1
- package/dist/collection/common/icons/star.js +1 -1
- package/dist/collection/common/icons/stop.js +1 -1
- package/dist/collection/common/icons/translate.js +1 -1
- package/dist/collection/common/icons/trash-fill.js +1 -1
- package/dist/collection/common/icons/trash.js +1 -1
- package/dist/collection/common/icons/underline.js +1 -1
- package/dist/collection/common/icons/warning.js +1 -1
- package/dist/collection/common/icons/zoom.js +1 -1
- package/dist/collection/components/design-system/button-component/button-component.js +1 -1
- package/dist/collection/components/design-system/checkbox-component/checkbox-component.js +1 -1
- package/dist/collection/components/design-system/input-component/input-component.js +1 -1
- package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +1 -1
- package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +1 -1
- package/dist/collection/components/design-system/radio-button-group/radio-button-group.js +1 -1
- package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +1 -1
- package/dist/collection/components/design-system/textarea-component/textarea-component.js +1 -1
- package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
- package/dist/collection/components/design-system/toggle-switch/toggle-switch.js +1 -1
- package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
- package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
- package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
- package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
- package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
- package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +1 -1
- package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
- package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
- package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
- package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
- package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
- package/dist/collection/components/nylas-if-state/nylas-if-state.js +1 -1
- package/dist/collection/components/nylas-login/nylas-login.js +1 -1
- package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +13 -12
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-booking-form/test/nylas-booking-form.spec.js +97 -0
- package/dist/collection/components/scheduler/nylas-booking-form/test/nylas-booking-form.spec.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-notification/nylas-notification.js +1 -1
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +1 -2
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-scheduling/test/nylas-scheduling.spec.js +0 -12
- package/dist/collection/components/scheduler/nylas-scheduling/test/nylas-scheduling.spec.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +2 -2
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +2 -2
- package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-confirmation-email/nylas-confirmation-email.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.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 +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +4 -4
- package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +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 +6 -6
- package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +2 -2
- package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.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-participant-booking-calendars/nylas-participant-booking-calendars.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.js +3 -3
- package/dist/collection/components/scheduler-editor/nylas-reminder-time/nylas-reminder-time.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +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/components/add-circle.js +1 -1
- package/dist/components/archive.js +1 -1
- package/dist/components/arrow.js +1 -1
- package/dist/components/bold.js +1 -1
- package/dist/components/button-component2.js +1 -1
- package/dist/components/calendar-agenda-fill.js +1 -1
- package/dist/components/calendar-agenda.js +1 -1
- package/dist/components/calendar-cancel.js +1 -1
- package/dist/components/calendar-check.js +1 -1
- package/dist/components/calendar-info.js +1 -1
- package/dist/components/calendar-patterns.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/checkbox-component2.js +1 -1
- package/dist/components/checkmark-circle.js +1 -1
- package/dist/components/checkmark-icon.js +1 -1
- package/dist/components/chevron.js +1 -1
- package/dist/components/clock.js +1 -1
- package/dist/components/close.js +1 -1
- package/dist/components/copy.js +1 -1
- package/dist/components/delete.js +1 -1
- package/dist/components/document-refresh-icon.js +1 -1
- package/dist/components/dragable.js +1 -1
- package/dist/components/edit.js +1 -1
- package/dist/components/envelope-fill.js +1 -1
- package/dist/components/envelope.js +1 -1
- package/dist/components/eye.js +1 -1
- package/dist/components/flow.js +1 -1
- package/dist/components/folder.js +1 -1
- package/dist/components/forward.js +1 -1
- package/dist/components/globe.js +1 -1
- package/dist/components/google-logo.js +1 -1
- package/dist/components/google-meet.js +1 -1
- package/dist/components/inbox.js +1 -1
- package/dist/components/info.js +1 -1
- package/dist/components/input-component2.js +1 -1
- package/dist/components/input-dropdown2.js +1 -1
- package/dist/components/italic.js +1 -1
- package/dist/components/loading.js +1 -1
- package/dist/components/location-off.js +1 -1
- package/dist/components/location.js +1 -1
- package/dist/components/microsof-teams.js +1 -1
- package/dist/components/microsoft-logo.js +1 -1
- package/dist/components/multi-select-dropdown2.js +1 -1
- package/dist/components/nylas-additional-participants2.js +2 -2
- package/dist/components/nylas-availability-picker2.js +1 -1
- package/dist/components/nylas-booking-form-config2.js +1 -1
- package/dist/components/nylas-booking-form2.js +13 -12
- package/dist/components/nylas-booking-form2.js.map +1 -1
- package/dist/components/nylas-cancel-booking-form2.js +1 -1
- package/dist/components/nylas-cancellation-policy2.js +1 -1
- package/dist/components/nylas-cancelled-event-card2.js +1 -1
- package/dist/components/nylas-composer2.js +1 -1
- package/dist/components/nylas-confirmation-email2.js +1 -1
- package/dist/components/nylas-connected-calendars2.js +1 -1
- package/dist/components/nylas-custom-booking-flow.js +1 -1
- package/dist/components/nylas-customize-booking-settings2.js +1 -1
- package/dist/components/nylas-editor-tabs2.js +4 -4
- package/dist/components/nylas-event-description2.js +1 -1
- package/dist/components/nylas-event-duration2.js +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 +6 -6
- package/dist/components/nylas-event-title2.js +2 -2
- package/dist/components/nylas-form-card2.js +1 -1
- package/dist/components/nylas-if-state.js +1 -1
- package/dist/components/nylas-limit-future-bookings2.js +1 -1
- package/dist/components/nylas-list-folders.js +1 -1
- package/dist/components/nylas-list-threads.js +1 -1
- package/dist/components/nylas-login.js +1 -1
- package/dist/components/nylas-logo2.js +1 -1
- package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
- package/dist/components/nylas-mailbox.js +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-notification2.js +1 -1
- package/dist/components/nylas-participant-booking-calendars2.js +1 -1
- package/dist/components/nylas-participants-custom-availability2.js +1 -1
- package/dist/components/nylas-provider.js +1 -1
- package/dist/components/nylas-reminder-emails2.js +3 -3
- package/dist/components/nylas-reminder-time2.js +1 -1
- package/dist/components/nylas-scheduler-editor.js +1 -1
- package/dist/components/nylas-scheduling.js +1 -2
- package/dist/components/nylas-scheduling.js.map +1 -1
- package/dist/components/nylas-selected-event-card2.js +2 -2
- package/dist/components/nylas-summarize-message-button2.js +2 -2
- package/dist/components/nylas-threads-refresh.js +2 -2
- package/dist/components/nylas-threads-search.js +1 -1
- package/dist/components/nylas-time-window-picker2.js +1 -1
- package/dist/components/nylas-timeslot-interval2.js +2 -2
- package/dist/components/nylas-view-email2.js +1 -1
- package/dist/components/nylas-view-thread.js +1 -1
- package/dist/components/people.js +1 -1
- package/dist/components/person-clipboard.js +1 -1
- package/dist/components/person.js +1 -1
- package/dist/components/play.js +1 -1
- package/dist/components/plus.js +1 -1
- package/dist/components/radio-button-group2.js +1 -1
- package/dist/components/refresh.js +1 -1
- package/dist/components/reply-all.js +1 -1
- package/dist/components/reply.js +1 -1
- package/dist/components/search.js +1 -1
- package/dist/components/select-dropdown2.js +1 -1
- package/dist/components/sent.js +1 -1
- package/dist/components/spam.js +1 -1
- package/dist/components/star.js +1 -1
- package/dist/components/stop.js +1 -1
- package/dist/components/textarea-component2.js +1 -1
- package/dist/components/time-period-selector2.js +1 -1
- package/dist/components/toggle-switch2.js +1 -1
- package/dist/components/toolitp-component.js +1 -1
- package/dist/components/translate.js +1 -1
- package/dist/components/trash-fill.js +1 -1
- package/dist/components/trash.js +1 -1
- package/dist/components/underline.js +1 -1
- package/dist/components/warning.js +1 -1
- package/dist/components/zoom.js +1 -1
- package/dist/esm/add-circle-icon.entry.js +1 -1
- package/dist/esm/add-circle-icon_2.entry.js +2 -2
- package/dist/esm/archive-icon.entry.js +1 -1
- package/dist/esm/archive-icon_7.entry.js +7 -7
- package/dist/esm/arrow-icon.entry.js +1 -1
- package/dist/esm/bold-icon.entry.js +1 -1
- package/dist/esm/bold-icon_3.entry.js +3 -3
- package/dist/esm/button-component.entry.js +1 -1
- package/dist/esm/calendar-agenda-fill-icon.entry.js +1 -1
- package/dist/esm/calendar-agenda-fill-icon_40.entry.js +47 -47
- package/dist/esm/calendar-agenda-icon.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-check-icon_2.entry.js +2 -2
- package/dist/esm/calendar-icon.entry.js +1 -1
- package/dist/esm/calendar-info-icon.entry.js +1 -1
- package/dist/esm/calendar-patterns-icon.entry.js +1 -1
- package/dist/esm/checkbox-component.entry.js +1 -1
- package/dist/esm/checkbox-component_2.entry.js +2 -2
- package/dist/esm/checkmark-circle-icon.entry.js +1 -1
- package/dist/esm/checkmark-icon.entry.js +1 -1
- package/dist/esm/chevron-icon.entry.js +1 -1
- package/dist/esm/chevron-icon_3.entry.js +3 -3
- package/dist/esm/clock-icon.entry.js +1 -1
- package/dist/esm/clock-icon_4.entry.js +4 -4
- package/dist/esm/close-icon.entry.js +1 -1
- package/dist/esm/copy-icon.entry.js +1 -1
- package/dist/esm/copy-icon_3.entry.js +3 -3
- package/dist/esm/delete-icon.entry.js +1 -1
- package/dist/esm/document-refresh-icon.entry.js +1 -1
- package/dist/esm/dragable-icon.entry.js +1 -1
- package/dist/esm/edit-icon.entry.js +1 -1
- package/dist/esm/envelope-fill-icon.entry.js +1 -1
- package/dist/esm/envelope-icon.entry.js +1 -1
- package/dist/esm/eye-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/forward-icon_6.entry.js +7 -7
- 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 +6 -6
- package/dist/esm/google-meet-icon.entry.js +1 -1
- package/dist/esm/inbox-icon.entry.js +1 -1
- package/dist/esm/info-icon.entry.js +1 -1
- package/dist/esm/info-icon_2.entry.js +2 -2
- package/dist/esm/input-component.entry.js +1 -1
- package/dist/esm/input-dropdown.entry.js +1 -1
- package/dist/esm/italic-icon.entry.js +1 -1
- 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/microsoft-logo-icon.entry.js +1 -1
- package/dist/esm/microsoft-teams-icon.entry.js +1 -1
- package/dist/esm/multi-select-dropdown.entry.js +1 -1
- package/dist/esm/nylas-additional-participants.entry.js +2 -2
- package/dist/esm/nylas-availability-picker.entry.js +1 -1
- package/dist/esm/nylas-booked-event-card_10.entry.js +19 -18
- package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
- package/dist/esm/nylas-booking-form-config.entry.js +1 -1
- package/dist/esm/nylas-booking-form.entry.js +13 -12
- package/dist/esm/nylas-booking-form.entry.js.map +1 -1
- package/dist/esm/nylas-cancel-booking-form.entry.js +1 -1
- package/dist/esm/nylas-cancellation-policy.entry.js +1 -1
- package/dist/esm/nylas-cancelled-event-card.entry.js +1 -1
- package/dist/esm/nylas-composer.entry.js +1 -1
- package/dist/esm/nylas-confirmation-email.entry.js +1 -1
- package/dist/esm/nylas-connected-calendars.entry.js +1 -1
- package/dist/esm/nylas-custom-booking-flow.entry.js +1 -1
- package/dist/esm/nylas-customize-booking-settings.entry.js +1 -1
- package/dist/esm/nylas-editor-tabs.entry.js +4 -4
- package/dist/esm/nylas-event-description.entry.js +1 -1
- package/dist/esm/nylas-event-duration.entry.js +1 -1
- package/dist/esm/nylas-event-info.entry.js +1 -1
- package/dist/esm/nylas-event-limits.entry.js +1 -1
- package/dist/esm/nylas-event-location.entry.js +6 -6
- package/dist/esm/nylas-event-title.entry.js +2 -2
- package/dist/esm/nylas-form-card.entry.js +1 -1
- package/dist/esm/nylas-if-state.entry.js +1 -1
- package/dist/esm/nylas-limit-future-bookings.entry.js +1 -1
- package/dist/esm/nylas-list-folders.entry.js +1 -1
- package/dist/esm/nylas-list-threads.entry.js +1 -1
- package/dist/esm/nylas-login.entry.js +1 -1
- package/dist/esm/nylas-logo.entry.js +1 -1
- package/dist/esm/nylas-mailbox-toolbar-button.entry.js +1 -1
- package/dist/esm/nylas-mailbox.entry.js +1 -1
- package/dist/esm/nylas-min-booking-notice.entry.js +1 -1
- package/dist/esm/nylas-min-cancellation-notice.entry.js +1 -1
- package/dist/esm/nylas-notification.entry.js +1 -1
- package/dist/esm/nylas-participant-booking-calendars.entry.js +1 -1
- package/dist/esm/nylas-participants-custom-availability.entry.js +1 -1
- package/dist/esm/nylas-provider.entry.js +1 -1
- package/dist/esm/nylas-reminder-emails.entry.js +3 -3
- package/dist/esm/nylas-reminder-time.entry.js +1 -1
- package/dist/esm/nylas-scheduler-editor.entry.js +1 -1
- package/dist/esm/nylas-scheduling.entry.js +1 -2
- 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 +1 -1
- package/dist/esm/nylas-time-window-picker.entry.js +1 -1
- package/dist/esm/nylas-timeslot-interval.entry.js +2 -2
- package/dist/esm/nylas-view-email.entry.js +1 -1
- package/dist/esm/nylas-view-thread.entry.js +1 -1
- package/dist/esm/people-icon.entry.js +1 -1
- package/dist/esm/person-clipboard-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/play-icon_2.entry.js +2 -2
- package/dist/esm/plus-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/reply-all-icon.entry.js +1 -1
- package/dist/esm/reply-icon.entry.js +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-fill-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/esm/zoom-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-agenda-fill-icon.entry.js +1 -1
- package/dist/nylas-web-elements/calendar-agenda-icon.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/checkmark-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/copy-icon.entry.js +1 -1
- package/dist/nylas-web-elements/delete-icon.entry.js +1 -1
- package/dist/nylas-web-elements/document-refresh-icon.entry.js +1 -1
- package/dist/nylas-web-elements/dragable-icon.entry.js +1 -1
- package/dist/nylas-web-elements/edit-icon.entry.js +1 -1
- package/dist/nylas-web-elements/envelope-fill-icon.entry.js +1 -1
- package/dist/nylas-web-elements/envelope-icon.entry.js +1 -1
- package/dist/nylas-web-elements/eye-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/google-meet-icon.entry.js +1 -1
- package/dist/nylas-web-elements/inbox-icon.entry.js +1 -1
- 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 +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/microsoft-logo-icon.entry.js +1 -1
- package/dist/nylas-web-elements/microsoft-teams-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 +2 -2
- package/dist/nylas-web-elements/nylas-availability-picker.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-booking-form-config.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-booking-form.entry.js +13 -12
- package/dist/nylas-web-elements/nylas-booking-form.entry.js.map +1 -1
- package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-cancellation-policy.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-composer.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-confirmation-email.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-connected-calendars.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +4 -4
- package/dist/nylas-web-elements/nylas-event-description.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-event-duration.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-event-info.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-event-limits.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-event-location.entry.js +6 -6
- package/dist/nylas-web-elements/nylas-event-title.entry.js +2 -2
- package/dist/nylas-web-elements/nylas-form-card.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-if-state.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-list-folders.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-list-threads.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-login.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-logo.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-mailbox.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-min-booking-notice.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-notification.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-participant-booking-calendars.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-participants-custom-availability.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-provider.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-reminder-emails.entry.js +3 -3
- package/dist/nylas-web-elements/nylas-reminder-time.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-scheduling.entry.js +1 -2
- 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 +1 -1
- package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +1 -1
- package/dist/nylas-web-elements/nylas-timeslot-interval.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 +1 -1
- package/dist/nylas-web-elements/p-05e39cc3.entry.js +2 -0
- package/dist/nylas-web-elements/p-05e39cc3.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-267298be.entry.js → p-1376856a.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-3fcbf72c.entry.js → p-21b11e12.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-65a72779.entry.js → p-21c22d6b.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-6b436dc0.entry.js → p-25bfc579.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-5a74c002.entry.js → p-3c20895b.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-aad0a4e0.entry.js → p-3e440355.entry.js} +2 -2
- package/dist/nylas-web-elements/p-40afc7f8.entry.js +2 -0
- package/dist/nylas-web-elements/{p-3b8efec1.entry.js → p-41e8c881.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-d3d9c339.entry.js → p-45f5ed7b.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-22216c9c.entry.js → p-49116da4.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-aeb1c91c.entry.js → p-4caadf7d.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-5f2fd4c8.entry.js → p-4da8b3e6.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-58b793cc.entry.js → p-52ca89b1.entry.js} +2 -2
- package/dist/nylas-web-elements/p-54440d49.entry.js +2 -0
- package/dist/nylas-web-elements/{p-db61ce3f.entry.js → p-573b8b1c.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-d8d5ce83.entry.js → p-59ddd93e.entry.js} +2 -2
- package/dist/nylas-web-elements/p-6cdcb5c5.entry.js +2 -0
- package/dist/nylas-web-elements/{p-0b146757.entry.js → p-73cd5b64.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-7b159320.entry.js → p-75e3d536.entry.js} +2 -2
- package/dist/nylas-web-elements/p-75e3d536.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-cffd8f8a.entry.js → p-7823abda.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-0dccf179.entry.js → p-8b0d995a.entry.js} +2 -2
- package/dist/nylas-web-elements/p-8b3c038d.entry.js +2 -0
- package/dist/nylas-web-elements/{p-22589c52.entry.js.map → p-8b3c038d.entry.js.map} +1 -1
- package/dist/nylas-web-elements/{p-fc81327c.entry.js → p-8c6189fe.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-73da3bba.entry.js → p-933a3100.entry.js} +2 -2
- package/dist/nylas-web-elements/p-96de6e60.entry.js +2 -0
- package/dist/nylas-web-elements/{p-3f26a5a9.entry.js → p-9be6a822.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-71cac380.entry.js → p-9d448cd8.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-166264ec.entry.js → p-a448a489.entry.js} +2 -2
- package/dist/nylas-web-elements/p-a623d19d.entry.js +2 -0
- package/dist/nylas-web-elements/{p-3b281401.entry.js → p-ace74b9d.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-3f435fab.entry.js → p-b0290025.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-48ea33c2.entry.js → p-b0eead31.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-d4ac4479.entry.js → p-b3703373.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-02dc4d26.entry.js → p-b60d1957.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-43a90942.entry.js → p-ba22f183.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-82176388.entry.js → p-bbfd0f84.entry.js} +2 -2
- package/dist/nylas-web-elements/p-c08d3e18.entry.js +2 -0
- package/dist/nylas-web-elements/{p-c9c0016c.entry.js → p-c6b5a68e.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-3aac9127.entry.js → p-c76721e7.entry.js} +2 -2
- package/dist/nylas-web-elements/p-c8f29351.entry.js +2 -0
- package/dist/nylas-web-elements/{p-e66bdd53.entry.js → p-d876a7db.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-3175cae0.entry.js → p-ea7d26ba.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-c58f8acf.entry.js → p-f3002df2.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-280fc86a.entry.js → p-f62ed669.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-89c7feab.entry.js → p-fb20f8a1.entry.js} +2 -2
- package/dist/nylas-web-elements/people-icon.entry.js +1 -1
- package/dist/nylas-web-elements/person-clipboard-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/plus-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/reply-all-icon.entry.js +1 -1
- package/dist/nylas-web-elements/reply-icon.entry.js +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-fill-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/nylas-web-elements/zoom-icon.entry.js +1 -1
- package/dist/types/components.d.ts +8 -0
- package/package.json +2 -2
- package/dist/nylas-web-elements/p-000e308f.entry.js +0 -2
- package/dist/nylas-web-elements/p-000e308f.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-22589c52.entry.js +0 -2
- package/dist/nylas-web-elements/p-3d2df022.entry.js +0 -2
- package/dist/nylas-web-elements/p-5ce76be4.entry.js +0 -2
- package/dist/nylas-web-elements/p-7b159320.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-8a9579b5.entry.js +0 -2
- package/dist/nylas-web-elements/p-9068fc82.entry.js +0 -2
- package/dist/nylas-web-elements/p-90817d1f.entry.js +0 -2
- package/dist/nylas-web-elements/p-fb5f1ec6.entry.js +0 -2
- package/dist/nylas-web-elements/p-fe270fee.entry.js +0 -2
- /package/dist/nylas-web-elements/{p-267298be.entry.js.map → p-1376856a.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3fcbf72c.entry.js.map → p-21b11e12.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-65a72779.entry.js.map → p-21c22d6b.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-6b436dc0.entry.js.map → p-25bfc579.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-5a74c002.entry.js.map → p-3c20895b.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-aad0a4e0.entry.js.map → p-3e440355.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-5ce76be4.entry.js.map → p-40afc7f8.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3b8efec1.entry.js.map → p-41e8c881.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-d3d9c339.entry.js.map → p-45f5ed7b.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-22216c9c.entry.js.map → p-49116da4.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-aeb1c91c.entry.js.map → p-4caadf7d.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-5f2fd4c8.entry.js.map → p-4da8b3e6.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-58b793cc.entry.js.map → p-52ca89b1.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-fe270fee.entry.js.map → p-54440d49.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-db61ce3f.entry.js.map → p-573b8b1c.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-d8d5ce83.entry.js.map → p-59ddd93e.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-90817d1f.entry.js.map → p-6cdcb5c5.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-0b146757.entry.js.map → p-73cd5b64.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-cffd8f8a.entry.js.map → p-7823abda.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-0dccf179.entry.js.map → p-8b0d995a.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-fc81327c.entry.js.map → p-8c6189fe.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-73da3bba.entry.js.map → p-933a3100.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-fb5f1ec6.entry.js.map → p-96de6e60.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3f26a5a9.entry.js.map → p-9be6a822.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-71cac380.entry.js.map → p-9d448cd8.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-166264ec.entry.js.map → p-a448a489.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-8a9579b5.entry.js.map → p-a623d19d.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3b281401.entry.js.map → p-ace74b9d.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3f435fab.entry.js.map → p-b0290025.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-48ea33c2.entry.js.map → p-b0eead31.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-d4ac4479.entry.js.map → p-b3703373.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-02dc4d26.entry.js.map → p-b60d1957.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-43a90942.entry.js.map → p-ba22f183.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-82176388.entry.js.map → p-bbfd0f84.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-9068fc82.entry.js.map → p-c08d3e18.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-c9c0016c.entry.js.map → p-c6b5a68e.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3aac9127.entry.js.map → p-c76721e7.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3d2df022.entry.js.map → p-c8f29351.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-e66bdd53.entry.js.map → p-d876a7db.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3175cae0.entry.js.map → p-ea7d26ba.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-c58f8acf.entry.js.map → p-f3002df2.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-280fc86a.entry.js.map → p-f62ed669.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-89c7feab.entry.js.map → p-fb20f8a1.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nylasBookedEventCardCss","NylasBookedEventCardStyle0","NylasBookedEventCard","this","handleCancelBookingButtonClicked","startTime","Date","selectedTimeslot","start_time","minCancellationNotice","configSettings","scheduler","min_cancellation_notice","dateTillCancellation","getTime","cancelBookedEventValidationError","emit","error","title","message","cancelBookingButtonClicked","bookingId","eventInfo","booking_id","handleRescheduleButtonClicked","errorHandler","rescheduleBookedEventError","rescheduleButtonClicked","getOrganizer","organizer","getPaticipantType","type","Intl","DateTimeFormat","resolvedOptions","timeZone","navigator","language","connectedCallback","disconnectedCallback","componentWillLoad","debug","componentDidLoad","console","warn","bookingInfo","render","h","Host","key","part","theme","color","scale","class","TIMEZONE_MAP","selectedTimezone","slot","rescheduleBookingId","isLoading","i18next","t","name","email","primaryParticipant","capitalizeFirstLetter","toLocaleDateString","LANGUAGE_CODE_MAP","selectedLanguage","dateStyle","toLocaleTimeString","undefined","timeStyle","end_time","footer","hide_cancellation_options","hide_rescheduling_options","variant","treatment","onClick","__decorate","RegisterComponent","stateToProps","Map","eventToProps","async","event","nylasSchedulerConnector","setCancel","detail","result","setReschedule","fireRegisterEvent","nylasBookingFormCss","NylasBookingFormStyle0","emailRegex","NylasBookingForm","handleGuestChange","guestIndex","resetGuestEmailError","guests","guestEmails","sanitizeHtml","handleGuestBlur","guestEmailErrors","field","test","addGuestButtonClickedHandler","e","preventDefault","removeGuestButtonClickHandler","splice","handleBackButtonClicked","backButtonClicked","bookButtonClickedHandler","formSubmittedEvent","bookingFormSubmitted","defaultPrevented","isNameValid","validationError","bookingFormError","description","isEmailValid","length","hasError","forEach","i","map","trim","bookingInfoAdditionalFields","additionalFields","detailsConfirmed","updateAdditionalFields","value","bookingInfoChangedHandler","newValue","changeName","nameChanged","changeEmail","emailChanged","errors","nylasFormInputChangedHandler","selectOptionChangedHandler","switchToggledHandler","checked","checkboxToggledHandler","radioChangedHandler","onSubmit","noValidate","label","id","defaultValue","placeholder","required","requiredError","patternError","pattern","hide_additional_guests","index","maxLength","onBlur","target","onInput","Object","entries","additional_fields","sort","a","b","order","x","withSearch","options","option","_event","toggleAdditionalData","setParticipantName","setParticipantEmail","nylasCancelBookingFormCss","NylasCancelBookingFormStyle0","NylasCancelBookingForm","handleGoBackClicked","goBackButtonClicked","handleSubmitCancelBooking","cancellationReason","cancellationError","cancelBookingFormError","cancelBookedEventError","cancelBookingFormSubmitted","cancelBookingId","reason","handleOnChangeCancellationReason","cancellation_policy","configSettingsChangedHandler","cancellationPolicy","for","multiline","onFocus","invalid","cancelBooking","nylasCancelledEventCardCss","NylasCancelledEventCardStyle0","NylasCancelledEventCard","handleCloseClicked","isClosing","cancelledEventCardError","closeCancelEventCardClicked","cancelledEventInfo","disabled","_","nylasschedulerconnector","resetCancel","t0","t1","timeInterval","floori","offseti","count","interval","date","arguments","floor","ceil","round","d0","d1","offset","step","Math","range","start","stop","previous","push","filter","setTime","end","every","isFinite","d","durationSecond","durationMinute","durationHour","durationDay","timeDay","setHours","setDate","getDate","getTimezoneOffset","setUTCHours","setUTCDate","getUTCDate","nylasDatePickerCss","NylasDatePickerStyle0","NylasDatePicker","selectedDate","getDates","configSettingsChanged","newConfigSettings","nextMonth","month","getFullYear","getMonth","availableDaysInFuture","available_days_in_future","endDate","addDaysToCurrentDate","disableNextMonthButton","selectedLanguageChanged","newLanguage","changeLanguage","lastDayOfMonth","getLastDayOfMonth","firstDayOfMonth","getFirstDayOfMonth","getDay","selectDate","dateSelected","changeMonth","change","dates","monthChanged","isSelected","selectableDates","isSameDay","isDisabled","find","eventDuration","convertMinutesToHoursAndMinutes","translateMonth","toLocaleLowerCase","year","button","day","isSameMonth","style","animationDelay","selected","nylasLocaleSwitchCss","NylasLocaleSwitchStyle0","NylasLocaleSwitch","changeTimezone","timezone","timezoneChanged","languageChanged","nylasFormDropdownChangedHandler","getTimezoneLabelHTML","display","alignItems","justifyContent","width","fontSize","fontWeight","timezoneOptions","keys","labelHTML","languageOptions","LANGUAGE_MAP","defaultSelectedOption","op","height","lang","selectTimezone","selectLanguage","iconCss","NylasLogoStyle0","NylasLogo","viewBox","fill","xmlns","transform","nylasNotificationCss","NylasNotificationStyle0","NylasNotification","onError","notification","handleNotification","onWarning","onInfo","onSuccess","isChildOf","parentHost","parent","host","parentNode","ShadowRoot","ttl","allowedCategories","includes","category","notifications","window","setTimeout","notif","dismissNotification","Fragment","nylasSelectedEventCardCss","NylasSelectedEventCardStyle0","NylasSelectedEventCard","handleSelectedTimeslotChange","toLocaleString","endTime","nylasTimeslotPickerCss","NylasTimeslotPickerStyle0","NylasTimeslotPicker","handleConfirmedTimeslot","timeslot","timeslotConfirmed","handleMouseEnter","hoveredTimeslotIndex","handleMouseLeave","selectedDateChanged","newVal","selectedTimeslotIndex","availableTimes","availability","times","availabilityChanged","getTimeslotId","onClickSelectTime","timeslotSelected","emails","getTimeSlotLabel","timeFormat","hour","minute","format","Array","time","onMouseEnter","onMouseLeave","selectTime"],"sources":["src/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.scss?tag=nylas-booked-event-card&encapsulation=shadow","src/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.tsx","src/components/scheduler/nylas-booking-form/nylas-booking-form.scss?tag=nylas-booking-form&encapsulation=shadow","src/components/scheduler/nylas-booking-form/nylas-booking-form.tsx","src/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.scss?tag=nylas-cancel-booking-form&encapsulation=shadow","src/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.tsx","src/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.scss?tag=nylas-cancelled-event-card&encapsulation=shadow","src/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.tsx","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/interval.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/duration.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/day.js","src/components/scheduler/nylas-date-picker/nylas-date-picker.scss?tag=nylas-date-picker&encapsulation=shadow","src/components/scheduler/nylas-date-picker/nylas-date-picker.tsx","src/components/scheduler/nylas-locale-switch/nylas-locale-switch.scss?tag=nylas-locale-switch&encapsulation=shadow","src/components/scheduler/nylas-locale-switch/nylas-locale-switch.tsx","src/common/icons/icon.css?tag=nylas-logo&encapsulation=scoped","src/common/icons/nylas-logo.tsx","src/components/scheduler/nylas-notification/nylas-notification.scss?tag=nylas-notification&encapsulation=shadow","src/components/scheduler/nylas-notification/nylas-notification.tsx","src/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.scss?tag=nylas-selected-event-card&encapsulation=shadow","src/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.tsx","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.scss?tag=nylas-timeslot-picker&encapsulation=shadow","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.event-card-wrapper {\n display: flex;\n align-items: center;\n flex-direction: column;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n border-radius: var(--nylas-border-radius-3x);\n position: relative;\n margin-top: 1rem;\n margin-bottom: 2rem;\n width: 424px;\n @media #{$mobile} {\n width: 100%;\n border-radius: 0px;\n }\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.calendar-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n color: var(--nylas-base-700);\n}\n\n.booked-event-header {\n margin: 1.5rem 4rem;\n overflow-wrap: anywhere;\n display: flex;\n align-items: center;\n flex-direction: column;\n font-size: 1rem;\n font-weight: 400;\n\n h2 {\n color: var(--nylas-base-600);\n margin-top: 1.5rem;\n margin-bottom: 0.25rem;\n font-size: 1.125rem;\n font-weight: 600;\n }\n}\n\n.booking-date-time,\n.booking-participants {\n padding: 0 1rem;\n margin-top: 1.5rem;\n margin-left: 3rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-self: flex-start;\n position: relative;\n\n svg {\n color: var(--nylas-base-700);\n position: absolute;\n left: -10px;\n }\n\n .block {\n display: block;\n }\n\n h3 {\n color: var(--nylas-base-600);\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 1.25rem;\n text-align: justify;\n margin-bottom: 4px;\n }\n p {\n font-size: 16px;\n margin: 0;\n font-weight: 400;\n text-align: justify;\n color: var(--nylas-base-800);\n }\n}\n\n.booking-participants {\n margin-bottom: 1.5rem;\n}\n\n.booked-event-timezone {\n display: flex;\n color: var(--nylas-base-600);\n margin-bottom: 1.5rem;\n gap: 4px;\n margin: 2rem;\n align-items: center;\n align-self: flex-end;\n}\n\n.footer {\n padding: 0.5rem;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 0.5rem;\n box-sizing: border-box;\n background-color: var(--nylas-base-25);\n width: 100%;\n border-radius: 0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x);\n &.no-template-cols {\n grid-template-columns: 1fr;\n }\n &.no-footer {\n display: none;\n }\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n padding: 8px;\n font-family: var(--nylas-font-family);\n font-weight: 600;\n height: 48px;\n line-height: 24px;\n &.cancel {\n color: var(--nylas-error);\n &:hover,\n &:focus {\n border-color: var(--nylas-error);\n }\n &:active {\n color: var(--nylas-error-pressed);\n border-color: var(--nylas-error-pressed);\n }\n }\n &.reschedule {\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n }\n}\n\nsp-divider {\n background-color: var(--nylas-base-200);\n height: 1px;\n}\n\ncalendar-check-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { ConfigSettings, NylasSchedulerBookingData, NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { capitalizeFirstLetter, debug } from '@/utils/utils';\nimport { LANGUAGE_CODE_MAP, TIMEZONE_MAP } from '@/common/constants';\nimport { NylasEvent } from '@/common/types';\nimport { Event } from '@stencil/core';\nimport { NylasSchedulerErrorResponse, Timeslot } from '@nylas/core';\nimport i18next from '@/utils/i18n';\n\n/**\n * The `nylas-booked-event-card` component is a UI component that displays the booked event card.\n *\n * @part nbec - The booked event card host.\n * @part nbec__card - The booked event card.\n * @part nbec__title - The title of the booked event card.\n * @part nbec__description - The description of the booked event card.\n * @part nbec__button-outline - The cancel & reschedule button CTA.\n * @part nbec__cancel-cta - The cancel button CTA.\n * @part nbec__reschedule-cta - The reschedule button CTA.\n */\n@Component({\n tag: 'nylas-booked-event-card',\n styleUrl: 'nylas-booked-event-card.scss',\n shadow: true,\n})\nexport class NylasBookedEventCard {\n /**\n * The booked event.\n */\n @Prop() readonly eventInfo!: NylasEvent;\n\n /**\n * Booking flow type.\n */\n @Prop() readonly rescheduleBookingId?: string;\n\n /**\n * The booking info used to book / reschedule the event.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The selected timezone.\n */\n @Prop() readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected timeslot.\n */\n @Prop() readonly selectedTimeslot!: Timeslot;\n\n /**\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The selected language.\n */\n @Prop({ attribute: 'selected-language' }) readonly selectedLanguage: string = navigator.language;\n\n /**\n * Cancel booking button clicked event.\n */\n @Event() readonly cancelBookingButtonClicked!: EventEmitter<{ bookingId: string }>;\n\n /**\n * Reschedule button clicked event.\n * */\n @Event() readonly rescheduleButtonClicked!: EventEmitter<{ bookingId: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs while rescheduling the booking.\n */\n @Event() readonly rescheduleBookedEventError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n /**\n * This event is fired when an error occurs while cancelling the booking.\n */\n @Event() readonly cancelBookedEventValidationError!: EventEmitter<{\n error: {\n title: string;\n message: string;\n };\n }>;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-booked-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-booked-event-card] Component did load`);\n if (!this.eventInfo) {\n 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.');\n }\n if (!this.bookingInfo) {\n 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.');\n }\n }\n\n private handleCancelBookingButtonClicked = () => {\n const startTime = new Date(this.selectedTimeslot.start_time);\n const minCancellationNotice = this.configSettings?.scheduler?.min_cancellation_notice;\n const dateTillCancellation = startTime.getTime() - minCancellationNotice * 60 * 1000;\n if (dateTillCancellation < new Date().getTime()) {\n this.cancelBookedEventValidationError.emit({\n error: {\n title: 'Cancellation Error',\n message: `You cannot cancel the booking within ${minCancellationNotice} minutes of the event.`,\n },\n });\n } else {\n this.cancelBookingButtonClicked.emit({ bookingId: this.eventInfo.booking_id });\n }\n };\n\n private handleRescheduleButtonClicked = () => {\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.rescheduleBookedEventError.emit(error);\n };\n this.rescheduleButtonClicked.emit({ bookingId: this.eventInfo.booking_id, errorHandler });\n };\n\n private getOrganizer = (eventInfo: NylasEvent) => {\n const organizer = eventInfo?.organizer;\n return organizer;\n };\n\n getPaticipantType = (type: string) => {\n switch (type) {\n case 'host':\n return 'Host';\n case 'you':\n return 'You';\n default:\n return '';\n }\n };\n\n @RegisterComponent<NylasBookedEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-booked-event-card',\n stateToProps: new Map([\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.rescheduleBookingId', 'rescheduleBookingId'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.configSettings', 'configSettings'],\n ]),\n eventToProps: {\n cancelBookingButtonClicked: async (event: CustomEvent<{ bookingId: string }>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setCancel(event.detail.bookingId);\n },\n rescheduleButtonClicked: async (\n event: CustomEvent<{ bookingId: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>,\n nylasSchedulerConnector: NylasSchedulerConnector,\n ) => {\n const result = await nylasSchedulerConnector.scheduler.setReschedule(event.detail.bookingId);\n const { errorHandler } = event.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nbec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"booked-event-timezone\">\n <globe-icon></globe-icon>\n {TIMEZONE_MAP[this.selectedTimezone]}\n </div>\n <div class=\"event-card-wrapper\" part=\"nbec__card\">\n <div class=\"calendar-icon\">\n <calendar-check-icon />\n </div>\n <div class=\"booked-event-header\">\n <h2 slot=\"card-title\" part=\"nbec__title\">\n {!!this.rescheduleBookingId && !this.isLoading ? `${i18next.t('bookingRescheduled')}` : `${i18next.t('bookingConfirmed')}`}!\n </h2>\n <div part=\"nbec__description\">\n {this.getOrganizer(this.eventInfo)?.name || this.getOrganizer(this.eventInfo)?.email} & \n {this.bookingInfo?.primaryParticipant?.name || this.bookingInfo?.primaryParticipant?.email}\n </div>\n </div>\n <sp-divider></sp-divider>\n <div class=\"booking-date-time\">\n <checkmark-circle-icon></checkmark-circle-icon>\n <h3>{i18next.t('bookingDateAndTimeHeader')}</h3>\n <p>\n {this.selectedTimeslot?.start_time\n ? capitalizeFirstLetter(new Date(this.selectedTimeslot?.start_time).toLocaleDateString(LANGUAGE_CODE_MAP[this.selectedLanguage], { dateStyle: 'full' }))\n : '-'}{' '}\n <br />\n {new Date(this.selectedTimeslot?.start_time).toLocaleTimeString(undefined, { timeStyle: 'short' })} -{' '}\n {new Date(this.selectedTimeslot?.end_time).toLocaleTimeString(undefined, { timeStyle: 'short' })}\n </p>\n </div>\n <div class=\"booking-participants\">\n {/* <people-icon></people-icon>\n <h3>All participants</h3>\n {this.eventInfo?.participants && (\n <p>\n {this.eventInfo?.participants?.map((participant: NylasEvent['participants'][0]) => {\n return (\n <span class=\"block\">\n {participant.email} {this.getPaticipantType(participant.type) && `(${this.getPaticipantType(participant.type)})`}\n </span>\n );\n })}\n </p>\n )} */}\n </div>\n <sp-divider></sp-divider>\n <div\n class={{\n 'footer': true,\n 'no-footer': this.configSettings?.scheduler?.hide_cancellation_options && this.configSettings?.scheduler?.hide_rescheduling_options,\n 'no-template-cols': this.configSettings?.scheduler?.hide_cancellation_options || this.configSettings?.scheduler?.hide_rescheduling_options,\n }}\n >\n {!this.configSettings?.scheduler?.hide_cancellation_options && (\n <sp-button variant=\"secondary\" treatment=\"outline\" class=\"cancel\" onClick={this.handleCancelBookingButtonClicked} part=\"nbec__button-outline nbec__cancel-cta\">\n {`${i18next.t('cancelBookingButton')}`}\n </sp-button>\n )}\n {!this.configSettings?.scheduler?.hide_rescheduling_options && (\n <sp-button variant=\"secondary\" treatment=\"outline\" class=\"reschedule\" onClick={this.handleRescheduleButtonClicked} part=\"nbec__button-outline nbec__reschedule-cta\">\n {`${i18next.t('rescheduleBookingButton')}`}\n </sp-button>\n )}\n </div>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","@import '../../../common/mixins/inputs.scss';\n@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n height: 100%;\n @include default-css-variables;\n}\n\n.nylas-booking-form {\n width: 100%;\n padding: 1.5rem;\n box-sizing: border-box;\n height: 450px;\n overflow-y: auto;\n height: 100%;\n}\n\nform {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n}\n\nsp-textfield {\n --spectrum-corner-radius-100: var(--nylas-border-radius-2x); // Set guest input radius\n --spectrum-textfield-border-color: var(--nylas-base-300);\n position: relative;\n width: 100%;\n height: 48px;\n margin-bottom: 16px;\n color: var(--nylas-base-500);\n}\n\n.cta {\n width: 100%;\n display: flex;\n flex-direction: row;\n @media #{$mobile} {\n flex-direction: column-reverse;\n }\n align-items: flex-start;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n}\n\nsp-button {\n background-color: transparent;\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n --button-width: 50%;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n font-weight: 600;\n border: none;\n height: 48px;\n padding: 14px;\n @media #{$mobile} {\n --button-width: 100%;\n }\n\n &:hover,\n &:focus {\n background-color: var(--nylas-base-100);\n color: var(--nylas-primary);\n border-radius: var(--nylas-border-radius-2x);\n }\n &:active {\n background-color: var(--nylas-base-200);\n color: var(--nylas-base-800);\n }\n\n &.back {\n width: var(--button-width);\n background-color: transparent;\n color: var(--nylas-base-700);\n outline: 1px solid var(--nylas-base-300);\n &:hover,\n &:focus {\n outline-color: var(--nylas-primary);\n }\n &:active {\n outline: 2px solid var(--nylas-base-600);\n }\n }\n\n &.book {\n width: var(--button-width);\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}\n\n.input-wrapper {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 4px;\n margin-bottom: 1rem;\n input::placeholder {\n color: var(--nylas-base-300);\n }\n label,\n input {\n font-family: var(--nylas-font-family);\n font-size: 16px;\n }\n .help-text {\n margin: 0;\n color: var(--nylas-error);\n }\n}\n\n.button-wrapper {\n width: 100%;\n align-items: flex-start;\n height: max-content;\n position: relative;\n}\n\n.button-content {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n\nsp-infield-button {\n --spectrum-infield-button-background-color: transparent;\n --spectrum-infield-button-background-color-hover: transparent;\n --spectrum-infield-button-background-color-active: transparent;\n --spectrum-infield-button-border-color: transparent;\n --spectrum-infield-button-border-width: 1px;\n --spectrum-infield-button-border-radius: 0;\n color: var(--nylas-base-600);\n background: transparent;\n border: none;\n outline: 1px solid var(--nylas-base-300);\n border-radius: 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x) 0;\n height: 52px;\n width: 52px;\n display: flex;\n position: absolute;\n right: 0;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n sp-icon-cross300 {\n color: var(--nylas-base-600);\n }\n &.error {\n border-width: 2px;\n border-color: var(--nylas-error);\n }\n}\n\ninput[type='text'],\ninput[type='email'] {\n @include textfield;\n &.guest-email {\n color: var(--nylas-base-900);\n padding-right: 52px; // Infield button width\n }\n}\n\nlabel {\n @include input-label;\n}\n\nbutton-component.remove-guest {\n position: absolute;\n height: 51px;\n right: 0;\n &.error {\n button {\n border-color: var(--nylas-error);\n }\n }\n button {\n height: inherit;\n border-top-left-radius: initial;\n border-bottom-left-radius: initial;\n border: none !important;\n border-left: 1px solid var(--nylas-base-300) !important;\n &:hover,\n &:focus {\n outline: 1px solid var(--nylas-primary) !important;\n color: var(--nylas-primary);\n }\n }\n}\n\n.guest-email-input {\n position: relative;\n display: flex;\n width: 100%;\n}\n","import { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { RegisterComponent } from '@/common/register-component';\nimport { ConfigSettings, NylasSchedulerConnector } from '../../..';\nimport type { NylasEvent, NylasSchedulerBookingData } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Notification, NylasSchedulerBookingParticipant } from '@nylas/core';\nimport sanitizeHtml from 'sanitize-html';\nimport i18next from '@/utils/i18n';\n\nconst emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n/**\n * The `nylas-booking-form` component is a UI component that allows users to book an event.\n *\n * The booking form component.\n * @part nbf - The booking form host.\n * @part nbf__input-label - The input label.\n * @part nbf__input-textfield - The input textfield.\n * @part nbf__button-ghost - The ghost button for adding guests.\n * @part nbf__button-primary - The primary button for booking.\n * @part nbf__button-outline - The outline button for canceling.\n * @slot @deprecated custom-booking-form - The custom booking form. Deprecated in favor of using the additional fields defined in the config settings.\n */\n@Component({\n tag: 'nylas-booking-form',\n styleUrl: 'nylas-booking-form.scss',\n shadow: true,\n})\nexport class NylasBookingForm {\n /**\n * The host element\n */\n @Element() readonly host!: HTMLElement;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The booked event (Used to track if a booking is created in an eventOverride).\n */\n @Prop() readonly eventInfo?: NylasEvent;\n\n /**\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * This event is fired when the name is changed.\n */\n @Event() nameChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the email is changed.\n */\n @Event() emailChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the cancel button is clicked.\n */\n @Event() backButtonClicked!: EventEmitter<boolean>;\n\n /**\n * This event is fired when the book button is clicked and the form is valid.\n */\n @Event() detailsConfirmed!: EventEmitter<NylasSchedulerBookingData>;\n\n /**\n * This event is fired when an error occurs in the booking form.\n */\n @Event() bookingFormError!: EventEmitter<Partial<Notification>>;\n\n /**\n * This event is fired when the booking form is submitted.\n */\n @Event() bookingFormSubmitted!: EventEmitter<void>;\n\n /**\n * The name of the user.\n */\n @State() name: string = '';\n\n /**\n * The email address of the user.\n */\n @State() email: string = '';\n\n /**\n * The guests of the user.\n */\n @State() guestEmails: string[] = [];\n\n /**\n * Guest email input errors.\n */\n @State() guestEmailErrors: { [key: number]: string } = {};\n\n /**\n * State to check if name is valid.\n */\n @State() isNameValid: boolean = true;\n\n /**\n * State to check if email is valid.\n */\n @State() isEmailValid: boolean = true;\n\n @State() additionalFields?: Record<string, string> = {};\n\n /**\n * Error message state.\n */\n @State() validationError: { name: string; email: string } = { name: '', email: '' };\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {\n debug('nylas-booking-form', 'componentWillLoad', this.bookingInfo);\n if (this.bookingInfo && this.bookingInfo?.primaryParticipant) {\n this.name = this.bookingInfo.primaryParticipant?.name;\n this.email = this.bookingInfo.primaryParticipant?.email;\n }\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue.primaryParticipant) {\n this.name = newValue.primaryParticipant.name;\n this.email = newValue.primaryParticipant.email;\n }\n }\n\n /**\n * Change the name.\n * @param name The name to select.\n */\n changeName(name: string) {\n // Reset the validation error\n this.isNameValid = true;\n this.validationError.name = '';\n\n this.name = sanitizeHtml(name);\n this.nameChanged.emit(name);\n }\n\n /**\n * Change the email.\n * @param email The email to select.\n */\n changeEmail(email: string) {\n // Reset the validation error\n this.isEmailValid = true;\n this.validationError.email = '';\n\n this.email = sanitizeHtml(email);\n this.emailChanged.emit(email);\n }\n\n resetGuestEmailError(guestIndex: number) {\n const errors = { ...this.guestEmailErrors };\n delete errors[guestIndex];\n this.guestEmailErrors = { ...errors };\n }\n\n /**\n * Handle guest emails changed.\n */\n handleGuestChange = (guestIndex: number, email: string) => {\n // Reset the validation error\n this.resetGuestEmailError(guestIndex);\n const guests = [...this.guestEmails];\n guests[guestIndex] = sanitizeHtml(email);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle guest input blur.\n */\n handleGuestBlur = (guestIndex: number, email: string) => {\n this.resetGuestEmailError(guestIndex);\n\n if (email === '') {\n this.guestEmailErrors[guestIndex] = i18next.t('fieldRequired', { field: i18next.t('email') });\n return;\n }\n if (!emailRegex.test(email)) {\n this.guestEmailErrors[guestIndex] = i18next.t('invalidInputFormat', { field: i18next.t('email') });\n return;\n }\n this.handleGuestChange(guestIndex, email);\n };\n\n /**\n * Handle add guest button clicked.\n */\n addGuestButtonClickedHandler = e => {\n e.preventDefault();\n this.guestEmails = [...this.guestEmails, ''];\n };\n\n /**\n * Handle remove guest button clicked.\n */\n removeGuestButtonClickHandler = (e: Event, guestIndex: number) => {\n e.preventDefault();\n this.resetGuestEmailError(guestIndex);\n\n const guests = [...this.guestEmails];\n guests.splice(guestIndex, 1);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle back button clicked.\n */\n handleBackButtonClicked = () => {\n this.backButtonClicked.emit();\n };\n\n /**\n * Handle book button clicked.\n */\n bookButtonClickedHandler = async (e: Event) => {\n e.preventDefault();\n const formSubmittedEvent = this.bookingFormSubmitted.emit();\n if (formSubmittedEvent.defaultPrevented) {\n return;\n }\n\n debug('nylas-booking-form', 'bookButtonClickedHandler', this.bookingInfo);\n const name = this.name || this.bookingInfo?.primaryParticipant?.name;\n const email = this.email || this.bookingInfo?.primaryParticipant?.email;\n\n if (!name || name === '') {\n this.isNameValid = false;\n this.validationError.name = i18next.t('fieldRequired', { field: i18next.t('name') }) || 'Name is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Name is required',\n });\n return;\n }\n if (!email || email === '') {\n this.isEmailValid = false;\n this.validationError.email = i18next.t('fieldRequired', { field: i18next.t('email') }) || 'Email is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Email is required',\n });\n return;\n }\n if (!emailRegex.test(email)) {\n this.isEmailValid = false;\n this.validationError.email = i18next.t('invalidInputFormat', { field: i18next.t('email') });\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: i18next.t('invalidInputFormat', { field: i18next.t('email') }) || 'Invalid email',\n });\n return;\n }\n\n let guests: NylasSchedulerBookingParticipant[] = [];\n if (this.guestEmails.length > 0) {\n let hasError = false;\n this.guestEmails.forEach((email: string, i: number) => {\n if (email === '') {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: i18next.t('fieldRequired', { field: i18next.t('email') }) };\n } else if (!emailRegex.test(email)) {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: i18next.t('invalidInputFormat', { field: i18next.t('email') }) };\n }\n });\n if (hasError) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: i18next.t('invalidInputFormat', { field: i18next.t('guestEmail') }) || 'Invalid guest email',\n });\n return;\n }\n guests = this.guestEmails.map((email: string) => ({ name: email.trim(), email: email.trim() }));\n } else if (this.bookingInfo?.guests) {\n guests = this.bookingInfo?.guests;\n }\n\n const bookingInfoAdditionalFields = this.bookingInfo?.additionalFields || [];\n this.detailsConfirmed.emit({\n primaryParticipant: {\n name: name,\n email: email,\n },\n guests: guests,\n additionalFields: { ...bookingInfoAdditionalFields, ...this.additionalFields },\n });\n };\n\n updateAdditionalFields = (name: string, value: string) => {\n if (this.additionalFields) {\n this.additionalFields[name] = value;\n }\n };\n\n @Listen('nylasFormInputChanged')\n nylasFormInputChangedHandler(event: CustomEvent<{ value: string; name: string; error: string; label: string; type?: string }>) {\n switch (event.detail.name) {\n case 'name':\n this.changeName(event.detail.value);\n break;\n case 'email':\n this.changeEmail(event.detail.value);\n break;\n default:\n if (event.detail.error) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: event.detail.error,\n });\n return;\n }\n this.updateAdditionalFields(event.detail.name, event.detail.value);\n break;\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n selectOptionChangedHandler(event: CustomEvent<{ value: string; name: string; label: string; error?: string }>) {\n if (event.detail.error) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: event.detail.error,\n });\n return;\n }\n this.updateAdditionalFields(event.detail.name, event.detail.value);\n }\n\n @Listen('nylasFormSwitchToggled')\n switchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.name, event.detail.checked ? 'true' : 'false');\n }\n\n @Listen('nylasFormCheckboxToggled')\n checkboxToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.name, event.detail.checked ? 'true' : 'false');\n }\n\n @Listen('nylasFormRadioChanged')\n radioChangedHandler(event: CustomEvent<{ value: string; name: string; label: string; type: string }>) {\n this.updateAdditionalFields(event.detail.name, event.detail.value);\n }\n\n @RegisterComponent<NylasBookingForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-booking-form',\n stateToProps: new Map([\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.eventInfo', 'eventInfo'],\n ['scheduler.configSettings', 'configSettings'],\n ]),\n eventToProps: {\n backButtonClicked: async (_event: CustomEvent<boolean>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(false);\n },\n nameChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantName(event.detail);\n },\n emailChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantEmail(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <form onSubmit={e => this.bookButtonClickedHandler(e)} noValidate>\n <div class=\"nylas-booking-form\">\n <div class=\"input-wrapper\">\n <input-component\n label={i18next.t('name')}\n name=\"name\"\n id=\"name\"\n defaultValue={this.bookingInfo?.primaryParticipant?.name || this.name}\n placeholder={i18next.t('namePlaceholder')}\n type=\"text\"\n required={true}\n requiredError={i18next.t('fieldRequired', { field: i18next.t('name') })}\n patternError={i18next.t('invalidInputFormat', { field: i18next.t('name') })}\n part=\"nbf__input-textfield\"\n />\n </div>\n <div class=\"input-wrapper\">\n <input-component\n label={i18next.t('email')}\n name=\"email\"\n id=\"email\"\n pattern={emailRegex}\n defaultValue={this.bookingInfo?.primaryParticipant?.email || this.email}\n placeholder={i18next.t('emailPlaceholder')}\n type=\"email\"\n required={true}\n requiredError={i18next.t('fieldRequired', { field: i18next.t('email') })}\n patternError={i18next.t('invalidInputFormat', { field: i18next.t('email') })}\n part=\"nbf__input-textfield\"\n />\n </div>\n {this.configSettings?.scheduler?.hide_additional_guests !== true && (\n <div class=\"input-wrapper\">\n {this.guestEmails.map((email, index) => (\n <div class=\"input-wrapper button-wrapper\">\n <label\n class={{\n error: !!this.guestEmailErrors[index],\n }}\n >\n {i18next.t('guestEmail')}\n </label>\n <div class=\"guest-email-input\">\n <input\n type=\"email\"\n id={`guest-email-${index}`}\n maxLength={100}\n class={{\n 'guest-email': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n placeholder={i18next.t('guestEmailPlaceholder')}\n value={email}\n data-index={index}\n part=\"nbf__input-textfield\"\n onBlur={(e: Event) => this.handleGuestBlur(index, (e.target as HTMLInputElement)?.value)}\n onInput={(e: Event) => this.handleGuestChange(index, (e.target as HTMLInputElement)?.value)}\n ></input>\n <button-component\n variant=\"basic\"\n onClick={(e: Event) => this.removeGuestButtonClickHandler(e, index)}\n class={{\n 'remove-guest': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n >\n <close-icon />\n </button-component>\n </div>\n <p class=\"help-text\">{this.guestEmailErrors[index]}</p>\n </div>\n ))}\n <button-component class=\"add-guest\" variant=\"invisible\" part=\"nbf__button-ghost\" onClick={e => this.addGuestButtonClickedHandler(e)}>\n <div class=\"button-content\">\n <add-circle-icon slot=\"icon\"></add-circle-icon>\n {this.guestEmails.length > 0 ? `${i18next.t('addAnotherGuest')}` : `${i18next.t('addGuest')}`}\n </div>\n </button-component>\n </div>\n )}\n {Object.entries(\n (this.configSettings?.scheduler?.additional_fields || {}) as Record<\n string,\n {\n required: boolean;\n type: 'email' | 'text' | 'phone_number' | 'dropdown' | 'checkbox' | 'radio_button' | 'multi_line_text';\n order: number;\n options?: string[];\n label: string;\n }\n >,\n )\n ?.sort((a, b) => a[1].order - b[1].order)\n .map(x => {\n const field = x[1];\n const label = field.label;\n const key = x[0];\n switch (field.type) {\n case 'dropdown':\n return (\n <div class=\"input-wrapper\">\n <select-dropdown\n label={label}\n name={key}\n id={key}\n withSearch={false}\n options={field.options?.map(option => ({ value: option, label: option }))}\n required={field.required}\n part=\"nbf__input-textfield\"\n />\n </div>\n );\n case 'checkbox':\n return (\n <div class=\"input-wrapper\">\n <checkbox-component label={label} name={key} id={key} required={field.required} part=\"nbf__input-textfield\" />\n </div>\n );\n case 'radio_button':\n return (\n <div class=\"input-wrapper\">\n <radio-button-group\n label={label}\n name={key}\n id={key}\n options={field.options?.map(option => ({ value: option, label: option }))}\n required={field.required}\n part=\"nbf__input-textfield\"\n />\n </div>\n );\n case 'multi_line_text':\n return (\n <div class=\"input-wrapper\">\n <textarea-component label={label} name={key} id={key} required={field.required} part=\"nbf__input-textfield\" />\n </div>\n );\n default:\n return (\n <div class=\"input-wrapper\">\n <input-component\n label={label}\n name={key}\n id={key}\n type={field.type}\n requiredError={i18next.t('fieldRequired', { field: label })}\n required={field.required}\n part=\"nbf__input-textfield\"\n />\n </div>\n );\n }\n })}\n {/* <slot name=\"custom-booking-form\"></slot> */}\n </div>\n <div class=\"cta\">\n <sp-button treatment=\"outline\" variant=\"secondary\" class={'back'} part=\"nbf__button-outline\" onClick={this.handleBackButtonClicked}>\n <slot name=\"booking-form-back-label\">{`${i18next.t('backButton')}`}</slot>\n </sp-button>\n <sp-button variant=\"primary\" class={'book'} part=\"nbf__button-primary\" type=\"submit\">\n {this.isLoading && <loading-icon slot=\"icon\"></loading-icon>}\n <slot name=\"booking-form-book-label\">{`${i18next.t('bookNowButton')}`}</slot>\n </sp-button>\n </div>\n </form>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n width: 400px;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.nylas-cancel-booking-form {\n display: flex;\n align-items: center;\n flex-direction: column;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.nylas-cancel-booking-form__title {\n font-size: 18px;\n font-weight: 600;\n margin-bottom: 0;\n color: var(--nylas-base-900);\n}\n\n.nylas-cancel-booking-form__description {\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 140%;\n color: var(--nylas-base-600);\n}\n\n.nylas-cancel-booking-form__calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\ncalendar-cancel-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n font-weight: 600;\n width: 100%;\n height: 48px;\n padding: 8px;\n line-height: 24px;\n font-family: var(--nylas-font-family);\n &.cancel {\n margin-top: 1.25rem;\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n &.back {\n margin-top: 0.5rem;\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n }\n}\n\nsp-field-label {\n margin-top: 1rem;\n display: flex;\n color: var(--nylas-base-800);\n font-size: 14px;\n &.error {\n color: var(--nylas-error);\n }\n span.required {\n color: var(--nylas-error);\n }\n}\nsp-textfield {\n --spectrum-textfield-border-color: var(--nylas-base-300);\n --spectrum-textfield-icon-color-invalid: var(--nylas-error);\n position: relative;\n width: 100%;\n height: 48px;\n margin-bottom: 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-500);\n &.error {\n --spectrum-textfield-border-color: var(--nylas-error);\n }\n}\n\nsp-help-text {\n margin: 0.25rem 0 1rem 0;\n color: var(--nylas-error);\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Notification, NylasSchedulerErrorResponse, Timeslot } from '@nylas/core';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\n\n/**\n * The `nylas-cancel-booking-form` component is a UI component that allows users to cancel a booking.\n */\n@Component({\n tag: 'nylas-cancel-booking-form',\n styleUrl: 'nylas-cancel-booking-form.scss',\n shadow: true,\n})\nexport class NylasCancelBookingForm {\n /**\n * The booking ID to cancel.\n */\n @Prop() readonly cancelBookingId!: string;\n\n /**\n * The config settings.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * The selected timeslot.\n */\n @Prop() readonly selectedTimeslot!: Timeslot;\n\n /**\n * This event is fired when the Go back button is clicked on the cancel booking form.\n */\n @Event() readonly goBackButtonClicked!: EventEmitter<void>;\n\n /**\n * This event is fired when the cancel booking form is submitted.\n */\n @Event() readonly cancelBookingFormSubmitted!: EventEmitter<{ bookingId: string; reason: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs while cancelling the booking.\n */\n @Event() readonly cancelBookedEventError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n /**\n * This event is fired when an error occurs in the booking form.\n */\n @Event() cancelBookingFormError!: EventEmitter<Partial<Notification>>;\n\n /**\n * The reason for cancellation.\n */\n @State() cancellationReason: string = '';\n\n @State() cancellationError: string = '';\n\n @State() cancellationPolicy: string = this.configSettings?.scheduler?.cancellation_policy || 'Your current timeslot will become available to others.';\n\n @Watch('configSettings')\n configSettingsChangedHandler(newValue: ConfigSettings) {\n this.cancellationPolicy = newValue?.scheduler?.cancellation_policy || 'Your current timeslot will become available to others.';\n }\n\n connectedCallback() {\n debug(`[nylas-cancel-booking-form] Component connected`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-cancel-booking-form] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-cancel-booking-form] Component did load`);\n if (!this.cancelBookingId) {\n console.warn(`[nylas-cancel-booking-form] No booking ID provided, \"cancelBookingId\" prop is required.`);\n }\n }\n\n disconnectedCallback() {\n debug(`[nylas-cancel-booking-form] Component disconnected`);\n }\n\n private handleGoBackClicked = () => {\n this.goBackButtonClicked.emit();\n };\n\n private handleSubmitCancelBooking = (event: Event) => {\n event.preventDefault();\n if (!this.cancellationReason) {\n this.cancellationError = i18next.t('cancellationErrorMessage');\n this.cancelBookingFormError.emit({ title: i18next.t('cancelBokingFormError'), description: i18next.t('cancellationErrorMessage') });\n return;\n }\n\n const minCancellationNotice = this.configSettings?.scheduler?.min_cancellation_notice;\n\n if (this.selectedTimeslot && minCancellationNotice) {\n const startTime = new Date(this.selectedTimeslot?.start_time);\n const dateTillCancellation = startTime.getTime() - minCancellationNotice * 60 * 1000;\n\n if (dateTillCancellation < new Date().getTime()) {\n this.cancelBookedEventError.emit({\n error: {\n title: i18next.t('cancellationErrorTitle'),\n message: i18next.t('minimumCancellationNoticeErrorMessage', { minCancellationNotice }),\n },\n });\n return;\n }\n }\n\n debug(`[nylas-cancel-booking-form] Cancel booking form submitted with reason: ${this.cancellationReason}`);\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.cancelBookedEventError.emit(error);\n };\n this.cancelBookingFormSubmitted.emit({ bookingId: this.cancelBookingId, reason: this.cancellationReason, errorHandler });\n };\n\n private handleOnChangeCancellationReason = (event: Event) => {\n this.cancellationError = '';\n this.cancellationReason = (event.target as HTMLInputElement).value;\n };\n\n @RegisterComponent<NylasCancelBookingForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-cancel-booking-form',\n stateToProps: new Map([\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ]),\n eventToProps: {\n cancelBookingFormSubmitted: async (\n event: CustomEvent<{ bookingId: string; reason: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>,\n nylasSchedulerConnector: NylasSchedulerConnector,\n ) => {\n const result = await nylasSchedulerConnector.scheduler.cancelBooking(event.detail.bookingId, event.detail.reason);\n const { errorHandler } = event.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncec\">\n <sp-theme theme=\"spectrum\" scale=\"medium\">\n <div class=\"nylas-cancel-booking-form\" part=\"ncec__card\">\n <div class=\"nylas-cancel-booking-form__calendar-icon\" part=\"ncec__icon\">\n <calendar-cancel-icon />\n </div>\n <h3 class=\"nylas-cancel-booking-form__title\" part=\"ncec__title\">\n {i18next.t('cancelBookingTitle')}\n </h3>\n <div class=\"nylas-cancel-booking-form__description\" part=\"ncec__description\">\n {!this.configSettings?.scheduler?.cancellation_policy ? `${i18next.t('cancelBookingMessage')}` : this.cancellationPolicy}\n </div>\n <form onSubmit={this.handleSubmitCancelBooking}>\n <sp-field-label for=\"cancel-reason\" class={this.cancellationError ? 'error' : ''}>\n {i18next.t('reasonForCancellation')} <span class=\"required\">*</span>\n </sp-field-label>\n <sp-textfield\n id=\"cancel-reason\"\n class={this.cancellationError ? 'error' : ''}\n part=\"ncec__reason-textarea\"\n multiline\n value={this.cancellationReason}\n onInput={this.handleOnChangeCancellationReason}\n onFocus={this.handleOnChangeCancellationReason}\n invalid={!!this.cancellationError}\n >\n <sp-help-text slot=\"negative-help-text\">{this.cancellationError}</sp-help-text>\n </sp-textfield>\n <sp-button variant=\"primary\" class=\"cancel\" type=\"submit\" part=\"ncec__button-cta\">\n {i18next.t('cancelBookingButton')}\n </sp-button>\n <sp-button variant=\"secondary\" class=\"back\" treatment=\"outline\" part=\"ncec__button-outline\" onClick={this.handleGoBackClicked}>\n {i18next.t('goBackButton')}\n </sp-button>\n </form>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.nylas-cancelled-event-card {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 400px;\n @media #{$mobile} {\n width: inherit;\n }\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.nylas-cancelled-event-card__title {\n font-size: 18px;\n font-weight: 600;\n line-height: 24px;\n color: var(--nylas-base-900);\n text-align: center;\n}\n\n.nylas-cancelled-event-description {\n font-size: 16px;\n font-weight: 500;\n color: var(--nylas-base-600);\n}\n\n.nylas-cancelled-event-card__calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\n.nylas-cancelled-event-card__cta {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n margin-top: 1rem;\n}\n\ncalendar-cancel-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 1rem;\n height: 48px;\n padding: 8px;\n line-height: 24px;\n width: 100%;\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport { NylasEvent, NylasSchedulerConnector, NylasSchedulerErrorResponse } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\n\n/**\n * The `nylas-cancelled-event-card` component is a UI component that displays the cancelled event card.\n *\n * @part ncec - The cancelled event card host.\n * @part ncec__icon - The calendar icon.\n * @part ncec__title - The title of the cancelled event card.\n * @part ncec__description - The description of the cancelled event card.\n * @part ncec__button-outline - The close button CTA.\n * @part ncec__card - The cancelled event card.\n */\n@Component({\n tag: 'nylas-cancelled-event-card',\n styleUrl: 'nylas-cancelled-event-card.scss',\n shadow: true,\n})\nexport class NylasCancelledEventCard {\n /**\n * The participant's name who booked the event / is logged in.\n */\n @Prop() readonly cancelledEventInfo!: Partial<NylasEvent>;\n\n /**\n * Closing state of the cancelled event card button.\n */\n @State() isClosing: boolean = false;\n\n /**\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * This event is fired when the close button is clicked on the cancelled event card.\n */\n @Event() readonly closeCancelEventCardClicked!: EventEmitter<{ errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs.\n */\n @Event() readonly cancelledEventCardError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n connectedCallback() {\n debug(`[nylas-cancelled-event-card] Component connected`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-cancelled-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-cancelled-event-card] Component did load`);\n if (!this.cancelledEventInfo) {\n console.warn(`[nylas-cancelled-event-card] No cancelled event info provided, \"cancelledEventInfo\" prop is required.`);\n }\n }\n\n disconnectedCallback() {\n debug(`[nylas-cancelled-event-card] Component disconnected`);\n }\n\n private handleCloseClicked = () => {\n this.isClosing = true;\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.cancelledEventCardError.emit(error);\n this.isClosing = false;\n };\n this.closeCancelEventCardClicked.emit({ errorHandler });\n };\n\n @RegisterComponent<NylasCancelledEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-cancelled-event-card',\n stateToProps: new Map([['scheduler.configSettings', 'configSettings']]),\n eventToProps: {\n closeCancelEventCardClicked: async (_: CustomEvent<{ errorHandler?: (error: NylasSchedulerErrorResponse) => void }>, nylasschedulerconnector: NylasSchedulerConnector) => {\n const result = await nylasschedulerconnector.scheduler.resetCancel();\n\n const { errorHandler } = _.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"nylas-cancelled-event-card\" part=\"ncec__card\">\n <div class=\"nylas-cancelled-event-card__calendar-icon\" part=\"ncec__icon\">\n <calendar-cancel-icon />\n </div>\n <h3 class=\"nylas-cancelled-event-card__title\" part=\"ncec__title\">\n {i18next.t('bookingCancelledTitle')}!\n </h3>\n <div class=\"nylas-cancelled-event-card__description\" part=\"ncec__description\">\n {i18next.t('bookingCancelledMessage')} {this.configSettings?.organizer?.name || 'the participants'}.\n </div>\n <div class=\"nylas-cancelled-event-card__cta\">\n <sp-button variant=\"secondary\" treatment=\"outline\" disabled={this.isClosing} part=\"ncec__button-outline\" onClick={this.handleCloseClicked}>\n {this.isClosing ? `${i18next.t('closingButton')}...` : `${i18next.t('closeButton')}`}\n </sp-button>\n </div>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n min-height: 444px;\n @media #{$mobile} {\n min-height: auto;\n }\n @include default-css-variables;\n}\n\n.nylas-date-picker {\n display: flex;\n gap: 1rem;\n flex-direction: column;\n}\n\n.header {\n margin: 0 0.5rem;\n height: 48px;\n h2 {\n font-size: 1.3125rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--nylas-base-800);\n\n strong {\n font-weight: 600;\n }\n }\n}\n\n.title {\n margin: 0 -1.25rem;\n display: flex;\n flex-direction: column;\n padding: 0 1.5rem;\n gap: 0.5rem;\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n h1 {\n margin-bottom: 0;\n font-size: 18px;\n line-height: 20px;\n font-weight: 600;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n p {\n margin-top: 0;\n font-size: 16px;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n 50% {\n background-color: var(--nylas-base-100);\n }\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.dates {\n display: grid;\n justify-items: center;\n grid-template-columns: repeat(7, 1fr);\n gap: 0.5rem;\n margin-bottom: 24px;\n\n .date {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 48px;\n width: 48px;\n min-width: 2rem;\n min-height: 2rem;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n font-weight: 600;\n font-family: inherit;\n @media #{$x-small-mobile} {\n width: 38px;\n height: 38px;\n min-width: none;\n }\n\n color: var(--nylas-base-text);\n background-color: var(--nylas-base-100);\n cursor: pointer;\n\n &:hover:not(:disabled) {\n box-shadow: 0 0 0 2px var(--nylas-base-500) inset;\n }\n\n border: none;\n\n &.date.current-month {\n color: var(--nylas-base-800);\n }\n\n &.date.selected {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n font-weight: 700;\n }\n\n &.date.day-skeleton {\n color: var(--nylas-base-300);\n }\n\n &:disabled {\n color: var(--nylas-base-300);\n background-color: transparent;\n font-weight: 400;\n cursor: not-allowed;\n }\n }\n .day {\n font-size: 12px;\n color: var(--nylas-base-800);\n font-weight: 600;\n letter-spacing: 0.5px;\n height: 32px;\n display: flex;\n align-items: center;\n @media #{$mobile} {\n font-size: 14px;\n }\n }\n\n .date.day-skeleton {\n height: 48px;\n width: 48px;\n @media #{$x-small-mobile} {\n width: 38px;\n height: 38px;\n min-width: none;\n }\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n background-color: var(--nylas-base-50);\n }\n\n .date.current-day::after {\n content: '';\n position: absolute;\n bottom: 6px;\n left: 50%;\n transform: translateX(-50%);\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--nylas-base-500);\n }\n .date.current-day.selected::after {\n background-color: var(--nylas-base-100);\n }\n}\n\n.pagination {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n min-width: 92px;\n .chevron-right {\n transform: rotate(180deg);\n }\n .button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 3vh;\n width: 3vh;\n min-width: 3em;\n min-height: 3em;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n\n background-color: transparent;\n color: var(--nylas-base-800);\n cursor: pointer;\n\n &:hover {\n background-color: var(--nylas-base-50);\n }\n\n border: none;\n\n &:active {\n background-color: var(--nylas-base-100);\n }\n\n &:disabled {\n background-color: transparent;\n color: var(--nylas-base-300);\n cursor: not-allowed;\n }\n }\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n color: var(--nylas-base-500);\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { addDaysToCurrentDate, convertMinutesToHoursAndMinutes, getFirstDayOfMonth, getLastDayOfMonth, isSameDay, isSameMonth, translateMonth } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { timeDay } from 'd3-time';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\nimport { debug } from '@/utils/utils';\n\n/**\n * The `nylas-date-picker` component is a UI component that allows users to select a date.\n *\n * @part ndp - The date picker host.\n * @part ndp__month-header - The month header.\n * @part ndp__month-button - The month button.\n * @part ndp__day - The day.\n * @part ndp__date - The date.\n * @part ndp__date--selected - The selected date.\n * @part ndp__date--current-day - The current day.\n * @part ndp__date--current-month - The dates in the current month.\n */\n@Component({\n tag: 'nylas-date-picker',\n styleUrl: 'nylas-date-picker.scss',\n shadow: true,\n})\nexport class NylasDatePicker {\n /**\n * The dates that are selectable.\n */\n @Prop() selectableDates?: Date[];\n\n /**\n * The selected date.\n */\n @Prop() selectedDate?: Date;\n\n /**\n * The config settings.\n */\n @Prop() configSettings?: ConfigSettings;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: string;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The event duration.\n */\n @Prop() readonly eventDuration?: number;\n\n /**\n * The month to display.\n */\n @State() month: Date = this.selectedDate || new Date();\n\n /**\n * The dates to render.\n */\n @State() dates: Date[] = this.getDates();\n\n /**\n * The state to disable the next month button.\n */\n @State() disableNextMonthButton: boolean = false;\n\n /**\n * This event is fired when a date is selected.\n */\n @Event() dateSelected!: EventEmitter<Date>;\n\n /**\n * This event is fired when the month is changed.\n */\n @Event() monthChanged!: EventEmitter<Date>;\n\n @Watch('configSettings')\n configSettingsChanged(newConfigSettings: ConfigSettings) {\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = newConfigSettings?.scheduler?.available_days_in_future;\n if (availableDaysInFuture === undefined) {\n return;\n }\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: string) {\n i18next.changeLanguage(newLanguage);\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n /**\n * Get the dates to render, including the days from the previous and next months.\n * @returns The dates to render.\n */\n private getDates() {\n const lastDayOfMonth = getLastDayOfMonth(this.month);\n const firstDayOfMonth = getFirstDayOfMonth(this.month);\n\n return timeDay.range(timeDay.offset(firstDayOfMonth, -firstDayOfMonth.getDay()), timeDay.offset(lastDayOfMonth, 7 - lastDayOfMonth.getDay()));\n }\n\n /**\n * Select a date.\n * @param date The date to select.\n */\n private selectDate(date?: Date) {\n this.dateSelected.emit(date);\n }\n\n /**\n * Change the month.\n * @param change The change in months.\n */\n private changeMonth(change: number) {\n this.month = new Date(this.month.getFullYear(), this.month.getMonth() + change, 1);\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = this.configSettings?.scheduler?.available_days_in_future;\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n this.dates = this.getDates();\n this.monthChanged.emit(this.month);\n }\n\n private isSelected(date: Date | undefined, selectedDate: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectedDate && isSameDay(date, selectedDate) && selectableDates && selectableDates?.length > 0;\n }\n\n private isDisabled(date: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectableDates?.find(d => isSameDay(d, date)) === undefined;\n }\n\n @RegisterComponent<NylasDatePicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-date-picker',\n stateToProps: new Map([\n ['scheduler.selectableDates', 'selectableDates'],\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.eventDuration', 'eventDuration'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ]),\n eventToProps: {\n dateSelected: async (event: CustomEvent<Date>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'dateSelected', event.detail);\n nylasSchedulerConnector.scheduler.selectDate(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ndp\">\n <div class=\"nylas-date-picker\">\n <div class=\"title\" part=\"'ndp__title\">\n {this.configSettings?.organizer?.name && (\n <h1>\n <person-icon />\n {this.configSettings?.organizer?.name || 'Organizer'}\n </h1>\n )}\n <p>\n <clock-icon />\n {this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration) : `- ${i18next.t('time.minutes')}`}\n </p>\n </div>\n <div class={'header flex-row'}>\n <h2 part={'ndp__month-header'}>\n <strong>{translateMonth(this.month.toLocaleDateString(undefined, { month: 'long' }).toLocaleLowerCase())}</strong>\n \n {this.month.toLocaleDateString(undefined, { year: 'numeric' })}\n </h2>\n <div class={'pagination'}>\n <button\n onClick={() => this.changeMonth(-1)}\n class={{ 'chevron-left': true, 'button': true }}\n disabled={!this.selectableDates?.length || this.month <= new Date()}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n <button onClick={() => this.changeMonth(1)} class={{ 'chevron-right': true, 'button': true }} disabled={this.disableNextMonthButton} part=\"ndp__month-button\">\n <chevron-icon />\n </button>\n </div>\n </div>\n\n <div class={'dates'}>\n {[\n i18next.t('days.sunday'),\n i18next.t('days.monday'),\n i18next.t('days.tuesday'),\n i18next.t('days.wednesday'),\n i18next.t('days.thursday'),\n i18next.t('days.friday'),\n i18next.t('days.saturday'),\n ].map(day => {\n return (\n <div class={'day'} part=\"ndp__day\">\n {day}\n </div>\n );\n })}\n {this.dates.map((date, i) => {\n const isDisabled = this.isDisabled(date, this.selectableDates);\n\n if (this.isLoading) {\n return (\n <button\n disabled\n class={{\n 'date day-skeleton': true,\n 'current-month': isSameMonth(date, this.month),\n }}\n style={{ animationDelay: `${i * 20}ms` }}\n part={'ndp__date'}\n >\n {date.getDate()}\n </button>\n );\n }\n return (\n <button\n class={{\n 'date': true,\n 'selected': !!(this.selectedDate && isSameDay(date, this.selectedDate) && this.selectableDates && this.selectableDates?.length > 0),\n 'current-day': isSameDay(date, new Date()),\n 'current-month': isSameMonth(date, this.month),\n }}\n aria-lang={date.toLocaleDateString(undefined, { dateStyle: 'full' })}\n disabled={isDisabled}\n onClick={() => this.selectDate(date)}\n part={`ndp__date ${this.isSelected(date, this.selectedDate, this.selectableDates) ? 'ndp__date--selected' : ''} ${isSameDay(date, new Date()) ? 'ndp__date--current-day' : ''} ${isSameMonth(date, this.month) ? 'ndp__date--current-month' : ''}`}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-locale-switch {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-left: none;\n border-right: none;\n color: var(--nylas-base-50);\n font-size: 14px;\n @media #{$mobile} {\n font-size: 16px;\n }\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n font-family: inherit;\n}\n\n.select-wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\nselect {\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n background-color: transparent;\n margin: 0 0 1px;\n padding: 4px;\n vertical-align: middle;\n &#timezone {\n width: 140px;\n }\n &#language {\n width: 80px;\n }\n}\n\nspan.timezone-label {\n display: flex;\n width: -webkit-fill-available;\n justify-content: space-between;\n}\n\nselect-dropdown {\n width: auto;\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n border: none;\n padding: 10px;\n}\n\nselect-dropdown::part(sd_dropdown-content) {\n max-width: 306px;\n}\n","import { LANGUAGE_MAP, TIMEZONE_MAP, getTimezoneOffset } from '@/common/constants';\nimport { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, Host, Listen, Prop, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../../components';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\n\n/**\n * The `nylas-locale-switch` component is a UI component that allows users to select a timezone and language.\n */\n@Component({\n tag: 'nylas-locale-switch',\n styleUrl: 'nylas-locale-switch.scss',\n shadow: true,\n})\nexport class NylasLocaleSwitch {\n /**\n * The selected timezone.\n */\n @Prop({ mutable: true }) selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected language.\n */\n @Prop({ mutable: true }) selectedLanguage: string = navigator.language;\n\n /**\n * This event is fired when the timezone is changed.\n */\n @Event() timezoneChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the language is changed.\n */\n @Event() languageChanged!: EventEmitter<string>;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n /**\n * Change the timezone.\n * @param timezone The timezone to select.\n */\n private changeTimezone(timezone: string) {\n this.selectedTimezone = timezone;\n this.timezoneChanged.emit(timezone);\n }\n\n /**\n * Change the language.\n * @param language The language to select.\n */\n private changeLanguage(language: string) {\n this.selectedLanguage = language;\n this.languageChanged.emit(language);\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.changeTimezone(value);\n } else if (name === 'language') {\n this.changeLanguage(value);\n }\n }\n\n getTimezoneLabelHTML(timezone: string) {\n const offset = getTimezoneOffset(timezone);\n return (\n <span\n class=\"timezone-label\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '-webkit-fill-available',\n }}\n >\n {TIMEZONE_MAP[timezone]}{' '}\n <span\n class=\"timezone-offset\"\n style={{\n fontSize: '14px',\n fontWeight: '400',\n color: 'var(--nylas-base-500)',\n }}\n >\n {offset}\n </span>\n </span>\n );\n }\n\n @RegisterComponent<NylasLocaleSwitch, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-locale-switch',\n stateToProps: new Map([\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ]),\n eventToProps: {\n timezoneChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectTimezone(event.detail);\n },\n languageChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectLanguage(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n labelHTML: this.getTimezoneLabelHTML(key),\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-locale-switch\">\n <div\n class={{\n 'select-wrapper': true,\n 'timezone': true,\n }}\n >\n <select-dropdown name=\"timezone\" options={timezoneOptions} defaultSelectedOption={timezoneOptions.find(op => op.value == this.selectedTimezone)}>\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div\n class={{\n 'select-wrapper': true,\n 'language': true,\n }}\n >\n <select-dropdown name=\"language\" options={languageOptions} defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}>\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'nylas-logo',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class NylasLogo {\n @Prop() width: string = '69';\n @Prop() height: string = '24';\n\n render() {\n return (\n <svg width={this.width} height={this.height} viewBox=\"0 0 69 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_455_3543)\">\n <path\n d=\"M15.8092 3.03248C14.6497 1.86996 13.1076 1.23047 11.4646 1.23047C9.82156 1.23047 8.27753 1.86996 7.11999 3.03248L0.835347 9.33381C0.686846 9.4827 0.60498 9.68123 0.60498 9.89312C0.60498 10.105 0.686846 10.3035 0.835347 10.4524C0.983848 10.6013 1.18185 10.6834 1.39318 10.6834C1.60451 10.6834 1.80251 10.6013 1.95101 10.4524L8.23374 4.15111C10.0139 2.36627 12.9134 2.36627 14.6935 4.15111C16.4736 5.93785 16.4756 8.84322 14.6935 10.6281L8.4108 16.9275C8.10428 17.2348 8.10428 17.7368 8.4108 18.0461C8.5593 18.195 8.75731 18.2771 8.96863 18.2771C9.17996 18.2771 9.37796 18.195 9.52646 18.0461L15.8092 11.7467C16.9687 10.5841 17.6064 9.03793 17.6064 7.39053C17.6064 5.74314 16.9687 4.19501 15.8092 3.03439V3.03248Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M14.9296 7.39038C14.9296 6.46074 14.5698 5.58837 13.9148 4.93361C12.5631 3.57828 10.3641 3.57828 9.01239 4.93361L0.663961 13.3023C0.51546 13.4512 0.433594 13.6497 0.433594 13.8616C0.433594 14.0735 0.51546 14.272 0.663961 14.4209C0.812462 14.5698 1.01046 14.6519 1.22179 14.6519C1.43312 14.6519 1.63112 14.5698 1.77962 14.4209L10.0367 6.1515L10.05 6.13623C10.0747 6.10759 10.1014 6.07705 10.128 6.05033C10.1585 6.01978 10.1928 5.99115 10.2251 5.96252L10.2442 5.94534C10.9886 5.31349 12.1119 5.3593 12.8011 6.05033C13.4903 6.74135 13.536 7.78171 12.9705 8.53192L12.9648 8.53955C12.9058 8.61591 12.8544 8.67699 12.8011 8.73044C12.7497 8.78198 12.6906 8.83352 12.6069 8.90033L4.45264 17.0991C4.30414 17.248 4.22227 17.4465 4.22227 17.6584C4.22227 17.8703 4.30414 18.0689 4.45264 18.2177C4.60114 18.3666 4.79914 18.4487 5.01047 18.4487C5.2218 18.4487 5.4198 18.3666 5.5683 18.2177L13.9167 9.84716C14.5698 9.1924 14.9315 8.31812 14.9315 7.39038H14.9296Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.6821 9.11238C10.4727 9.01694 10.2861 8.88904 10.1281 8.7306C9.97008 8.57216 9.84252 8.38508 9.74733 8.1751L9.69021 8.05103L0.467916 17.2978C0.287049 17.4792 0.174721 17.7082 0.149971 17.9411C0.125221 18.1778 0.19376 18.3897 0.344165 18.5405C0.471724 18.6684 0.65259 18.739 0.850592 18.739C1.11142 18.739 1.37796 18.6207 1.58358 18.4145L10.8059 9.16774L10.6821 9.11047V9.11238Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M68.401 10.6185C68.2126 10.2692 67.9593 9.97334 67.6433 9.73854C67.3235 9.49993 66.956 9.31094 66.5486 9.17541C66.1316 9.03606 65.7033 8.91771 65.2749 8.81844C64.7951 8.70582 64.3039 8.57983 63.8165 8.44811C63.3196 8.31258 62.9065 8.14269 62.5905 7.94225C62.4743 7.88689 62.3391 7.76663 62.3391 7.50129C62.3391 7.39821 62.3639 7.29704 62.4153 7.19587L62.4248 7.18059C62.5352 7.02216 62.7142 6.8828 62.975 6.75109C63.234 6.62128 63.609 6.55829 64.1231 6.55829C64.5286 6.55829 64.877 6.61365 65.1569 6.72436C65.4348 6.83508 65.6652 6.96871 65.8442 7.12524C66.0212 7.27986 66.1659 7.45357 66.2782 7.63873C66.3563 7.76854 66.4267 7.89262 66.4858 8.00525L68.2754 6.84081C68.1669 6.59456 68.0146 6.33495 67.8204 6.0677C67.6033 5.768 67.3254 5.4893 66.9922 5.23732C66.659 4.98534 66.2516 4.77345 65.7813 4.60929C65.3111 4.44512 64.7532 4.36304 64.1231 4.36304C63.3844 4.36304 62.7599 4.46421 62.2706 4.66083C61.7813 4.85935 61.3815 5.09988 61.0845 5.37667C60.7875 5.65346 60.5628 5.95125 60.4143 6.2605C60.2639 6.57547 60.1611 6.85799 60.1078 7.10233C60.0945 7.18059 60.0812 7.27031 60.0678 7.36767C60.0545 7.4593 60.0469 7.5452 60.0469 7.62537C60.0469 8.13314 60.1745 8.56074 60.4239 8.89671C60.679 9.24222 61.0045 9.53429 61.391 9.76336C61.7813 9.99624 62.2116 10.1852 62.6704 10.3227C63.1388 10.462 63.5862 10.5823 64.0012 10.6796C64.4067 10.777 64.7932 10.8782 65.1531 10.9774C65.5224 11.0786 65.8289 11.2122 66.0631 11.3745C66.2801 11.5425 66.3887 11.7448 66.3887 11.9777C66.3887 12.2278 66.2916 12.4263 66.0993 12.5695C65.9279 12.6954 65.7261 12.7985 65.4958 12.8711C65.273 12.9436 65.0407 12.9913 64.8066 13.0142C64.58 13.0352 64.3915 13.0467 64.2468 13.0467C63.8032 13.0467 63.4224 13.0028 63.1197 12.915C62.8151 12.8272 62.5638 12.7241 62.3734 12.6057C62.1811 12.4874 62.0288 12.3614 61.9222 12.2316C61.8213 12.1094 61.747 12.0082 61.7014 11.9319L61.4957 11.6303L59.708 12.7928C59.8508 13.0161 60.0298 13.2643 60.2392 13.5296C60.4772 13.8293 60.7837 14.1138 61.153 14.3734C61.5224 14.633 61.966 14.8525 62.4724 15.0243C62.9788 15.1961 63.5748 15.282 64.2468 15.282C64.797 15.282 65.2901 15.2324 65.7166 15.137C66.1412 15.0396 66.5162 14.9117 66.8285 14.7552C67.1388 14.6005 67.4015 14.4192 67.6109 14.2149C67.8223 14.0107 67.9974 13.8026 68.1326 13.6003C68.4563 13.1135 68.6409 12.5504 68.6828 11.9262C68.6828 11.4069 68.5876 10.9641 68.401 10.6166V10.6185Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M26.3585 4.27905C23.7901 4.27905 21.6997 6.37504 21.6997 8.95017V15.0701H23.9291V8.95017C23.9291 7.6082 25.0181 6.5163 26.3565 6.5163C27.695 6.5163 28.784 7.6082 28.784 8.95017V15.0701H31.0134V8.95017C31.0134 6.37504 28.9229 4.27905 26.3546 4.27905H26.3585Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M53.4522 4.27905C50.4251 4.27905 47.9634 6.74728 47.9634 9.78245C47.9634 12.8176 50.427 15.2859 53.4522 15.2859C54.5545 15.2859 55.6188 14.9594 56.5288 14.3409L56.7116 14.2169V15.0682H58.941V9.78245C58.941 6.74728 56.4793 4.27905 53.4522 4.27905ZM53.4522 13.0505C51.655 13.0505 50.1928 11.5845 50.1928 9.78245C50.1928 7.98044 51.655 6.51439 53.4522 6.51439C55.2494 6.51439 56.7116 7.98044 56.7116 9.78245C56.7116 11.5845 55.2494 13.0505 53.4522 13.0505Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M45.5795 10.6166V0.356201H43.3501V10.6166C43.3501 13.1517 45.3758 15.2228 47.8908 15.2858V13.0486C46.6057 12.9875 45.5795 11.9204 45.5795 10.6166Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M39.5428 4.4967V10.63C39.5428 11.6761 38.8669 12.621 37.9016 12.9284C37.1249 13.1746 36.3157 13.0486 35.6817 12.5829C35.0592 12.1247 34.6879 11.3917 34.6879 10.6186V4.4967H32.4585V10.5995C32.4585 12.7165 33.8388 14.57 35.8131 15.1084C37.0354 15.4424 38.2995 15.2973 39.3695 14.7037L39.5428 14.6063V14.9747C39.5428 16.2766 38.5166 17.3437 37.2315 17.4067V19.6439C39.7465 19.5809 41.7722 17.5117 41.7722 14.9747V4.4967H39.5428Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_455_3543\">\n <rect width=\"68.7123\" height=\"19.2877\" fill=\"white\" transform=\"translate(0.144043 0.356201)\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n margin-bottom: -12px; // offset for the rounded border\n width: 100%;\n z-index: 1;\n @include default-css-variables;\n}\n.notif {\n display: flex;\n @media #{$mobile} {\n width: auto;\n }\n padding: 17px;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n border-radius: var(--nylas-border-radius-2x);\n border: 1.5px solid var(--nylas-error);\n background: var(--nylas-base-0);\n .content {\n display: flex;\n flex-direction: row;\n gap: 8px;\n .message {\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-800);\n .title {\n font-size: 16px;\n font-weight: 600;\n color: var(--nylas-base-950);\n display: block;\n }\n .description {\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-800);\n display: block;\n }\n }\n .icon {\n &.error {\n color: var(--nylas-error);\n }\n }\n }\n\n &.error {\n border-color: var(--nylas-error);\n background: rgba(255, 248, 248, 1);\n }\n &.warning {\n border-color: var(--nylas-warning);\n }\n &.info {\n border-color: var(--nylas-info);\n }\n &.success {\n border-color: var(--nylas-success);\n }\n\n .dismiss-btn {\n background: none;\n border: none;\n color: var(--nylas-base-950);\n cursor: pointer;\n }\n}\n","import { Notification } from '@nylas/core';\nimport { Component, Fragment, Host, Listen, Prop, State, h } from '@stencil/core';\nimport { debug } from '@/utils/utils';\nimport { Element } from '@stencil/core';\n\n/**\n * The `nylas-notification` component is a UI component that displays notifications.\n */\n@Component({\n tag: 'nylas-notification',\n styleUrl: 'nylas-notification.scss',\n shadow: true,\n})\nexport class NylasNotification {\n @Element() host!: HTMLElement;\n\n /**\n * The time-to-live for notifications in milliseconds. Set to 'none' to disable auto-dismissal.\n */\n @Prop() ttl: number | 'none' = 5000;\n @Prop() allowedCategories: string[] = ['component', 'api', 'validation', 'invalid_session'];\n @State() notifications: Notification[] = [];\n\n @Listen('nylasSchedulerError', { target: 'body' })\n onError(event: CustomEvent<{ notification: Notification; host: HTMLElement }>) {\n debug(`[nylas-notification] Error: ${event.detail.notification.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerWarning', { target: 'body' })\n onWarning(event: CustomEvent<{ notification: Notification; host: HTMLElement }>) {\n debug(`[nylas-notification] Warning: ${event.detail.notification.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerInfo', { target: 'body' })\n onInfo(event: CustomEvent<{ notification: Notification; host: HTMLElement }>) {\n debug(`[nylas-notification] Info: ${event.detail.notification.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerSuccess', { target: 'body' })\n onSuccess(event: CustomEvent<{ notification: Notification; host: HTMLElement }>) {\n debug(`[nylas-notification] Success: ${event.detail.notification.title}`);\n this.handleNotification(event);\n }\n\n isChildOf(parentHost: HTMLElement): boolean {\n let parent = this.host.parentNode;\n\n while (parent) {\n if (parent === parentHost) {\n return true;\n }\n if (parent instanceof ShadowRoot) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n }\n\n return false;\n }\n\n private handleNotification(event: CustomEvent<{ notification: Notification; host: HTMLElement }>) {\n const parentHost = event.detail.host;\n if (event.defaultPrevented) {\n debug(`[nylas-notification] Event default prevented`);\n return;\n }\n if (parentHost && !this.isChildOf(parentHost)) {\n debug(`[nylas-notification] Host not a parent`);\n return;\n }\n if (this.ttl === 0) {\n debug(`[nylas-notification] TTL is 0`);\n return;\n }\n if (this.allowedCategories.length > 0 && !this.allowedCategories.includes(event.detail.notification.category)) {\n debug(`[nylas-notification] Category not allowed`);\n return;\n }\n\n this.notifications = [...this.notifications, { ...event.detail.notification }];\n if (event.detail.notification.ttl !== 'none') {\n const ttl = event.detail.notification.ttl ? event.detail.notification.ttl : (this.ttl as number);\n window.setTimeout(() => {\n this.notifications = this.notifications.filter(notif => notif.id !== event.detail.notification.id);\n }, ttl);\n }\n }\n\n private dismissNotification(id: string) {\n this.notifications = this.notifications.filter(notif => notif.id !== id);\n }\n\n render() {\n return (\n <Host>\n <Fragment>\n {this.notifications.map(notif => (\n <div class={`notif ${notif.type}`} key={notif.id}>\n <div class=\"content\">\n <span class={`icon ${notif.type}`}>{(notif.type === 'error' || notif.type === 'warning') && <warning-icon />}</span>\n <span class=\"message\">\n <span class=\"title\">{notif.title}</span>\n {notif.description && <span class=\"description\">{notif.description}</span>}\n </span>\n </div>\n <button class=\"dismiss-btn\" onClick={() => this.dismissNotification(notif.id)}>\n <close-icon />\n </button>\n </div>\n ))}\n <slot />\n </Fragment>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n}\n\nsp-theme {\n position: relative;\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.event-card {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: calc(100% - 3rem);\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 3rem 1.5rem 1.5rem 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 3px 0px rgba(0, 0, 0, 0.1),\n 0px 1px 2px 0px rgba(0, 0, 0, 0.06);\n @media #{$mobile} {\n margin-bottom: 2rem;\n }\n}\n\n.nylas-selected-event-card__date {\n font-size: min(max(16px, 3vw), 18px);\n font-weight: 600;\n}\n\n.nylas-selected-event-card__time {\n font-size: 16px;\n font-weight: 500;\n}\n\n.calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\ncalendar-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\n.event-timezone {\n display: flex;\n color: var(--nylas-base-600);\n margin-bottom: 8px;\n @media #{$mobile} {\n margin-bottom: 16px;\n }\n gap: 4px;\n align-items: center;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\nimport type { NylasSchedulerConnector } from '../../..';\nimport type { Timeslot } from '@nylas/core';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { capitalizeFirstLetter, debug } from '@/utils/utils';\nimport { LANGUAGE_CODE_MAP, TIMEZONE_MAP } from '@/common/constants';\n\n/**\n * The `nylas-selected-event-card` component is a UI component that displays the selected event card.\n *\n * @part nsec - The selected event card component.\n * @part nsec__card - The card component.\n * @part nsec__icon - The calendar icon.\n * @part nsec__date - The date selected.\n * @part nsec__time - The timeslot selected.\n * @part nsec__timezone - The timezone selected.\n */\n@Component({\n tag: 'nylas-selected-event-card',\n styleUrl: 'nylas-selected-event-card.scss',\n shadow: true,\n})\nexport class NylasSelectedEventCard {\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date;\n\n /**\n * The selected time.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n\n /***\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected language.\n */\n @Prop({ attribute: 'selected-language' }) readonly selectedLanguage?: string;\n\n @State() startTime: string = '';\n @State() endTime: string = '';\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-selected-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-selected-event-card] Component did load`);\n if (!this.selectedDate) {\n console.warn('[nylas-selected-event-card] \"selectedDate\" prop is not provided.');\n }\n if (!this.selectedTimeslot) {\n console.warn('[nylas-selected-event-card] \"selectedTimeslot\" prop is not provided.');\n }\n }\n\n @Watch('selectedTimeslot')\n handleSelectedTimeslotChange(selectedTimeslot: Timeslot) {\n this.startTime = new Date(selectedTimeslot?.start_time as Date).toLocaleString(undefined, { timeStyle: 'short' });\n this.endTime = new Date(selectedTimeslot?.end_time as Date).toLocaleString(undefined, { timeStyle: 'short' });\n }\n\n @RegisterComponent<NylasSelectedEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-selected-event-card',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nsec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"event-card\" part=\"nsec__card\">\n <div class=\"calendar-icon\" part=\"nsec__icon\">\n <calendar-icon />\n </div>\n <div class=\"nylas-selected-event-card__date\" part=\"nsec__date\">\n {this.selectedDate\n ? capitalizeFirstLetter(this.selectedDate?.toLocaleDateString(LANGUAGE_CODE_MAP[this.selectedLanguage || navigator.language], { dateStyle: 'full' }))\n : '-'}\n </div>\n <div class=\"nylas-selected-event-card__time\" part=\"nsec__time\">\n {this.startTime} - {this.endTime}\n </div>\n </div>\n <div class=\"event-timezone\" part=\"nsec__timezone\">\n <globe-icon></globe-icon>\n {TIMEZONE_MAP[this.selectedTimezone]}\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n height: calc(100% - 48px); //48px is the height of the header\n}\n\n.time-picker-wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.timeslots {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n align-items: center;\n overflow-y: scroll;\n padding: 0.5rem 1.5rem 1.5rem;\n flex: 1;\n}\n\n.time {\n /* Frame 12 */\n box-sizing: border-box;\n\n /* Auto layout */\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 4px 12px;\n gap: 0.5rem;\n font-size: 16px;\n font-weight: 500;\n font-family: inherit;\n\n width: 100%;\n height: 48px;\n\n color: var(--nylas-base-800);\n background: var(--nylas-base-0);\n border: none;\n outline: 1.5px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n\n flex: none;\n order: 4;\n align-self: stretch;\n flex-grow: 0;\n\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: var(--nylas-primary);\n outline-color: var(--nylas-primary);\n }\n\n &.selected {\n font-weight: 600;\n color: var(--nylas-primary);\n outline: 2px solid var(--nylas-primary);\n border-color: transparent;\n box-shadow: 0 0 0 2px var(--nylas-primary);\n }\n}\n\n.empty {\n text-align: center;\n padding: 0 1.5rem;\n color: var(--nylas-base-600);\n font-size: min(max(12px, 2vw), 14px);\n height: 450px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n\n 50% {\n background-color: var(--nylas-base-100);\n }\n\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.loading {\n padding: 0 1.5rem;\n\n .timeslot-skeleton {\n width: 100%;\n height: 4rem;\n background-color: var(--nylas-base-50);\n margin-bottom: 0.5rem;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n }\n}\n\n.footer {\n width: 100%;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n\n sp-button {\n padding: 14px;\n color: var(--nylas-base-100);\n border-radius: var(--nylas-border-radius-2x);\n width: 100%;\n height: 48px;\n font-weight: 600;\n font-size: 16px;\n background-color: var(--nylas-primary);\n border: none;\n\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}","import { RegisterComponent } from '@/common/register-component';\nimport { debug, isSameDay } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { AvailabilityTimeslot } from '@/stores/scheduler-store';\nimport type { Timeslot } from '@nylas/core';\nimport i18next from '@/utils/i18n';\n\n/**\n * The `nylas-timeslot-picker` component is a UI component that allows users to select a timeslot from a list of available timeslots.\n *\n * @slot timeslot-picker-cta-label - The label for the timeslot picker CTA. Default is \"Next\".\n * @part ntp - The timeslot picker component.\n * @part ntp__timeslot - The timeslot button.\n * @part ntp__timeslot--selected - The selected timeslot button.\n * @part ntp__button-primary - The timeslot picker CTA.\n */\n@Component({\n tag: 'nylas-timeslot-picker',\n styleUrl: 'nylas-timeslot-picker.scss',\n shadow: true,\n})\nexport class NylasTimeslotPicker {\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date = new Date();\n /**\n * The available timeslots.\n */\n @Prop({ attribute: 'availability' }) readonly availability?: AvailabilityTimeslot[];\n /**\n * The selected timeslot.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /**\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop({ attribute: 'loading-state' }) readonly isLoading?: boolean;\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: string;\n\n /**\n * This event is fired when a timeslot is selected.\n */\n @Event() readonly timeslotSelected!: EventEmitter<Timeslot>;\n /**\n * This event is fired when a timeslot is confirmed. By default, this will proceed to the booking form page.\n */\n @Event() readonly timeslotConfirmed!: EventEmitter<Timeslot>;\n\n @State() times: AvailabilityTimeslot[] = [];\n @State() hoveredTimeslotIndex?: number;\n @State() selectedTimeslotIndex?: string;\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: string) {\n i18next.changeLanguage(newLanguage);\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newVal: Date | null | undefined) {\n debug(`[nylas-timeslot-picker] Selected date changed`, { newVal });\n\n if (newVal) {\n this.selectedTimeslotIndex = '';\n if (typeof newVal !== 'undefined') {\n const availableTimes = this.availability?.filter(timeslot => isSameDay(timeslot.start_time, newVal)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n }\n\n @Watch('availability')\n availabilityChanged(newVal: AvailabilityTimeslot[] | undefined) {\n debug(`[nylas-timeslot-picker] Available times changed`, { newVal, selectedDate: this.selectedDate });\n\n if (typeof newVal !== 'undefined') {\n const availableTimes = newVal?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n const availableTimes = this.availability?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n debug(`[nylas-timeslot-picker] Component will load`, { selectedDate: this.selectedDate, availability: this.availability, times: this.times });\n }\n\n async componentDidLoad() {\n debug(`[nylas-timeslot-picker] Component did load`);\n }\n\n private getTimeslotId(date: Date, index: number) {\n return `${date.toLocaleDateString()}-${index}`;\n }\n\n private onClickSelectTime(timeslot: Timeslot, index: number) {\n debug(`[nylas-timeslot-picker] Time selected`, timeslot, index);\n this.selectedTimeslotIndex = this.getTimeslotId(timeslot.start_time, index);\n this.timeslotSelected.emit({\n start_time: timeslot.start_time,\n end_time: timeslot.end_time,\n emails: timeslot.emails,\n });\n }\n\n private handleConfirmedTimeslot = async (event: Event, timeslot: Timeslot | undefined) => {\n event.preventDefault();\n debug(`[nylas-timeslot-picker] Confirm timeslot`, timeslot);\n this.timeslotConfirmed.emit(timeslot);\n };\n\n private handleMouseEnter = (index: number) => {\n this.hoveredTimeslotIndex = index;\n };\n\n private handleMouseLeave = () => {\n this.hoveredTimeslotIndex = -1;\n };\n\n private getTimeSlotLabel(timeslot: Timeslot) {\n const timeFormat = new Intl.DateTimeFormat('en-US', {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: this.selectedTimezone,\n });\n return `${timeFormat.format(timeslot.start_time)} - ${timeFormat.format(timeslot.end_time)}`;\n }\n\n @RegisterComponent<NylasTimeslotPicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-timeslot-picker',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.availability', 'availability'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.isLoading', 'isLoading'],\n ]),\n eventToProps: {\n timeslotSelected: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectTime(event.detail);\n },\n timeslotConfirmed: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n if (event.detail) {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(true);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n if (this.isLoading) {\n return (\n <Host>\n <div class={'loading'}>\n {new Array(6).fill(0).map((_, i) => (\n <div class={'timeslot-skeleton'} style={{ animationDelay: `${i * 20}ms` }} />\n ))}\n </div>\n </Host>\n );\n }\n\n if (this.availability && this.availability.length === 0) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No dates available</span>\n </div>\n </Host>\n );\n }\n\n if ((!this.times || this.times.length === 0) && !!this.selectedDate) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No time slots available for selected date</span>\n </div>\n </Host>\n );\n }\n\n if (!this.selectedDate) return <Host></Host>;\n\n return (\n <Host part=\"ntp\">\n <div class={'time-picker-wrapper'}>\n <div class={'timeslots'}>\n {this.times.map((timeslot, index) => (\n <button\n part={`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`}\n aria-role=\"button\"\n class={{\n time: true,\n selected: typeof this.selectedTimeslot !== 'undefined' && this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime(),\n }}\n onClick={() => this.onClickSelectTime(timeslot, index)}\n onMouseEnter={() => this.handleMouseEnter(index)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n {this.hoveredTimeslotIndex == index || this.selectedTimeslotIndex == this.getTimeslotId(timeslot.start_time, index)\n ? this.getTimeSlotLabel(timeslot)\n : timeslot.start_time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', timeZone: this.selectedTimezone })}\n </button>\n ))}\n </div>\n {this.selectedTimeslot && (\n <div class={'footer'}>\n <sp-button variant=\"primary\" onClick={(event: Event) => this.handleConfirmedTimeslot(event, this.selectedTimeslot)} part=\"ntp__button-primary\">\n <slot name=\"timeslot-picker-cta-label\">{i18next.t('nextButton')}</slot>{' '}\n </sp-button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as e}from"./p-68c2fadf.js";const s=".sc-archive-icon-h{display:flex}";const
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as e}from"./p-68c2fadf.js";const s=".sc-archive-icon-h{display:flex}";const a=s;const o=class{constructor(e){t(this,e);this.width="15";this.height="15"}render(){return e("svg",{key:"ca24d31ea77acb418feef00fc3269850db7cab30",width:this.width,height:this.height,viewBox:"0 0 24 24",fill:"auto",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"5ef0715e58a3e69e41a2e4088e6e0f54b1860c75",d:"M3 6H5H21",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"1e1a1e70a6c7d7f46b5079aa84bee048dae54094",d:"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"8e7ada33bbd816199d0df34e9fc8404c05dff113",d:"M10 11V17",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"074a58a98cb4348b90e8720e86fa9b2e5a1c3a32",d:"M14 11V17",stroke:"auto","stroke-width":"1.5"}))}};o.style=a;const c=".sc-folder-icon-h{display:flex}";const d=c;const i=class{constructor(e){t(this,e);this.width="15";this.height="15"}render(){return e("svg",{key:"42c8613224bf8d16adab5655f1c7d8e24dcaa37a",width:this.width,height:this.height,viewBox:"0 0 24 24",fill:"auto",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"ccf5f8b1ddc4d11c4c6ffa39a1567b31f6328a70",d:"M3 8.2C3 7.07989 3 6.51984 3.21799 6.09202C3.40973 5.71569 3.71569 5.40973 4.09202 5.21799C4.51984 5 5.0799 5 6.2 5H9.67452C10.1637 5 10.4083 5 10.6385 5.05526C10.8425 5.10425 11.0376 5.18506 11.2166 5.29472C11.4184 5.4184 11.5914 5.59135 11.9373 5.93726L12.0627 6.06274C12.4086 6.40865 12.5816 6.5816 12.7834 6.70528C12.9624 6.81494 13.1575 6.89575 13.3615 6.94474C13.5917 7 13.8363 7 14.3255 7H17.8C18.9201 7 19.4802 7 19.908 7.21799C20.2843 7.40973 20.5903 7.71569 20.782 8.09202C21 8.51984 21 9.0799 21 10.2V15.8C21 16.9201 21 17.4802 20.782 17.908C20.5903 18.2843 20.2843 18.5903 19.908 18.782C19.4802 19 18.9201 19 17.8 19H6.2C5.07989 19 4.51984 19 4.09202 18.782C3.71569 18.5903 3.40973 18.2843 3.21799 17.908C3 17.4802 3 16.9201 3 15.8V8.2Z",stroke:"auto","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}))}};i.style=d;const h=".sc-inbox-icon-h{display:flex}";const r=h;const f=class{constructor(e){t(this,e);this.width="15";this.height="15"}render(){return e("svg",{key:"5aea87a70e3fd0d4db9231f986662a0e51d5225e",width:this.width,height:this.height,viewBox:"0 0 24 24",fill:"auto",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"fa755f7158848e3bf9573b40f4feea7db22096f1",d:"M20 3H4C2.89543 3 2 3.89543 2 5V19C2 20.1046 2.89543 21 4 21H20C21.1046 21 22 20.1046 22 19V5C22 3.89543 21.1046 3 20 3Z",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"937b7bd49b6c8c7970012f8072710ff501210c9c",d:"M2 5L12 12.5L22 5",stroke:"auto","stroke-width":"1.5"}))}};f.style=r;const n=".sc-sent-icon-h{display:flex}";const C=n;const k=class{constructor(e){t(this,e);this.width="15";this.height="15"}render(){return e("svg",{key:"538a9fdb5c1c37e2bcfb7ac8b2afd774e9aa2060",width:this.width,height:this.height,viewBox:"0 0 24 24",fill:"auto",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"ad85c1bf9a25fc2dc21feabd6dba769b4f43144d",d:"M21.5 12L3.5 3.5L3.5 20.5L21.5 12Z",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"ffb971251bd55675a945b564ace12f1fd0faee98",d:"M3.5 3.5L12 10.5",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"9d299c2e4402cf262c536aaa6109f26234f5554a",d:"M3.5 20.5L12 13.5",stroke:"auto","stroke-width":"1.5"}))}};k.style=C;const w=".sc-spam-icon-h{display:flex}";const b=w;const l=class{constructor(e){t(this,e);this.width="15";this.height="15"}render(){return e("svg",{key:"1c46281820c1bf94a2679498ee570128ef38c734",width:this.width,height:this.height,viewBox:"0 0 24 24",fill:"auto",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"eabcf8c40834807a07b2fc45d0aa67678822369d",d:"M20 3H4C2.89543 3 2 3.89543 2 5V19C2 20.1046 2.89543 21 4 21H20C21.1046 21 22 20.1046 22 19V5C22 3.89543 21.1046 3 20 3Z",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"8d058e4f96bb2766d0571f5a577ff76a0c696caf",d:"M2 5L12 12.5L22 5",stroke:"auto","stroke-width":"1.5"}))}};l.style=b;const u=".sc-star-icon-h{display:flex}";const p=u;const y=class{constructor(e){t(this,e);this.width="15";this.height="15"}render(){return e("svg",{key:"6e811c3f7846631b6ffd67512617e96adc9da3b0",width:this.width,height:this.height,viewBox:"0 0 24 24",fill:"auto",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"de42fefe1575e3d2de268f2a11dadf91631a8246",d:"M9.15316 5.40838C10.4198 3.13613 11.0531 2 12 2C12.9469 2 13.5802 3.13612 14.8468 5.40837L15.1745 5.99623C15.5345 6.64193 15.7144 6.96479 15.9951 7.17781C16.2757 7.39083 16.6251 7.4699 17.3241 7.62805L17.9605 7.77203C20.4201 8.32856 21.65 8.60682 21.9426 9.54773C22.2352 10.4886 21.3968 11.4691 19.7199 13.4299L19.2861 13.9372C18.8096 14.4944 18.5713 14.773 18.4641 15.1177C18.357 15.4624 18.393 15.8341 18.465 16.5776L18.5306 17.2544C18.7841 19.8706 18.9109 21.1787 18.1449 21.7602C17.3788 22.3417 16.2273 21.8115 13.9243 20.7512L13.3285 20.4768C12.6741 20.1755 12.3469 20.0248 12 20.0248C11.6531 20.0248 11.3259 20.1755 10.6715 20.4768L10.0757 20.7512C7.77268 21.8115 6.62118 22.3417 5.85515 21.7602C5.08912 21.1787 5.21588 19.8706 5.4694 17.2544L5.53498 16.5776C5.60703 15.8341 5.64305 15.4624 5.53586 15.1177C5.42868 14.773 5.19043 14.4944 4.71392 13.9372L4.2801 13.4299C2.60325 11.4691 1.76482 10.4886 2.05742 9.54773C2.35002 8.60682 3.57986 8.32856 6.03954 7.77203L6.67589 7.62805C7.37485 7.4699 7.72433 7.39083 8.00494 7.17781C8.28555 6.96479 8.46553 6.64194 8.82547 5.99623L9.15316 5.40838Z",stroke:"auto","stroke-width":"1.5"}))}};y.style=p;const g=".sc-trash-fill-icon-h{display:flex}";const x=g;const v=class{constructor(e){t(this,e);this.width="15";this.height="15"}render(){return e("svg",{key:"357c2ea72ed86c2aaa002178ef738d6113a93be7",width:this.width,height:this.height,viewBox:"0 0 24 24",fill:"auto",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"faa540ca357df8471491f62be081c6cc401edb3d",d:"M3 6H5H21",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"a164dc1bb3b3018f77d94f4243ce32f2ab64d6ba",d:"M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"e9e9ac01597589ce73c17ac1f55b0b03743d00d1",d:"M10 11V17",stroke:"auto","stroke-width":"1.5"}),e("path",{key:"385f32c899f2f9ca0d2c328f00cb0f83fcc2bb22",d:"M14 11V17",stroke:"auto","stroke-width":"1.5"}))}};v.style=x;export{o as archive_icon,i as folder_icon,f as inbox_icon,k as sent_icon,l as spam_icon,y as star_icon,v as trash_fill_icon};
|
|
2
|
+
//# sourceMappingURL=p-1376856a.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as c,h as s}from"./p-68c2fadf.js";const
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as c,h as s}from"./p-68c2fadf.js";const e=".sc-refresh-icon-h{display:flex}";const l=e;const t=class{constructor(s){c(this,s);this.width="15";this.height="15"}render(){return s("svg",{key:"7a5afd1273623e7e5833766c224bec35739a7990",fill:"auto",width:this.width,height:this.height,viewBox:"0 0 32 32",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},s("path",{key:"9652bd84fc15fc119a71fd46611deee983f4aec2",d:"M15.544 28.080c-0.002-0.006-0.008-0.010-0.012-0.015l-2.873-4.489c-0.204-0.335-0.646-0.454-0.992-0.266l-0.256 0.157c-0.344 0.188-0.337 0.673-0.133 1.008l1.841 2.857c-0.157-0.035-0.316-0.063-0.471-0.103-3.224-0.843-5.953-3.026-7.485-5.988-1.448-2.797-1.72-5.99-0.766-8.992s3.118-5.452 5.915-6.899c0.476-0.247 0.662-0.832 0.416-1.308-0.246-0.477-0.832-0.663-1.308-0.416-3.258 1.686-5.763 4.54-6.874 8.036s-0.794 7.215 0.892 10.473c1.786 3.448 4.963 5.989 8.72 6.973 0.043 0.011 0.087 0.017 0.13 0.028l-2.541 1.288c-0.344 0.189-0.458 0.613-0.254 0.948l0.098 0.256c0.205 0.335 0.557 0.454 0.9 0.266l4.651-2.381c0.006-0.004 0.012-0.003 0.018-0.007l0.312-0.171c0.172-0.095 0.287-0.249 0.332-0.422 0.047-0.172 0.025-0.364-0.076-0.531zM28.559 10.025c-1.783-3.447-4.862-5.988-8.618-6.972-0.267-0.070-0.541-0.124-0.814-0.179l2.494-1.265c0.344-0.189 0.549-0.614 0.345-0.949l-0.099-0.255c-0.205-0.336-0.648-0.454-0.991-0.267l-4.651 2.381c-0.006 0.003-0.012 0.002-0.018 0.006l-0.312 0.171c-0.173 0.095-0.287 0.249-0.332 0.422-0.047 0.172-0.025 0.364 0.077 0.53l0.185 0.304c0.003 0.006 0.008 0.010 0.012 0.016l2.873 4.489c0.203 0.335 0.646 0.454 0.991 0.266l0.226-0.157c0.344-0.188 0.366-0.673 0.163-1.008l-1.85-2.87c0.407 0.063 0.811 0.138 1.207 0.242 3.226 0.845 5.856 3.027 7.387 5.986 1.448 2.797 1.72 5.99 0.765 8.991s-3.020 5.451-5.818 6.901c-0.476 0.247-0.662 0.831-0.415 1.308 0.172 0.332 0.511 0.524 0.863 0.524 0.15 0 0.302-0.035 0.446-0.109 3.259-1.686 5.664-4.54 6.776-8.035 1.111-3.497 0.794-7.217-0.893-10.473z"}))}};t.style=l;export{t as refresh_icon};
|
|
2
|
+
//# sourceMappingURL=p-21b11e12.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,h as t,H as n}from"./p-68c2fadf.js";import{R as s}from"./p-8313a60b.js";import{a as i}from"./p-946df9e3.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";const a=":host{display:block}div{height:inherit}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fade-in{animation:fadeIn 1.5s}.fade-out{animation:fadeOut 1.5s}@keyframes slideIn{0%{transform:translateY(100%)}100%{transform:translateY(0)}}@keyframes slideOut{0%{transform:translateY(0)}100%{transform:translateY(100%)}}.slide-in{animation:slideIn 1.5s}.slide-out{animation:slideOut 1.5s}@keyframes swipeIn{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes swipeOut{0%{transform:translateX(0)}100%{transform:translateX(100%)}}.swipe-in{animation:swipeIn 1.5s}.swipe-out{animation:swipeOut 1.5s}";const o=a;var f=undefined&&undefined.__decorate||function(e,t,n,s){var i=arguments.length,a=i<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,n):s,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(e,t,n,s);else for(var f=e.length-1;f>=0;f--)if(o=e[f])a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a;return i>3&&a&&Object.defineProperty(t,n,a),a};var r=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const d=class{constructor(t){e(this,t);this.state=undefined;this.isStateSet=undefined;this.isBoolean=undefined;this.getStore=undefined;this.transition="none";this.show=false;this.classes={};this.initTransition=this.initTransition.bind(this)}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){i(`[nylas-if-state] Component will load`);this.watchStore(true)}async componentDidLoad(){i(`[nylas-if-state] Component did load`)}shouldRender(){const[e,t]=this.state?this.state.split("."):["",""];const n=this.getStore;if(typeof n==="undefined"){i(`[nylas-if-state] Store name: ${e} | State name: ${t}`,{getStore:n});return false}const s=n(e);if(typeof s==="undefined"){i(`[nylas-if-state] Store name: ${e} | State name: ${t}`,{store:s});return false}const a=s.state[t];if(typeof this.isStateSet==="boolean"){return this.isStateSet===false&&(typeof a==="undefined"||a===null||a.length===0)||this.isStateSet===true&&typeof a!=="undefined"&&a!==null}if(typeof this.isBoolean==="boolean"){return this.isBoolean===true&&typeof a!=="undefined"&&a===true||this.isBoolean===false&&typeof a!=="undefined"&&a===false}return false}onGetStoreChange(){this.watchStore(true)}watchStore(e=false){const[t,n]=this.state?this.state.split("."):["",""];const s=this.getStore;if(typeof s==="undefined"){i(`[nylas-if-state] Store name: ${t} | State name: ${n}`,{getStore:s});return null}const a=s(t);if(typeof a==="undefined"){i(`[nylas-if-state] Store name: ${t} | State name: ${n}`,{store:a});return null}if(e===true){this.initTransition()}a.onChange(n,this.initTransition)}initTransition(){const e=this.shouldRender();switch(this.transition){case"fade":case"slide":case"swipe":this.classes={[`${this.transition}-in`]:e,[`${this.transition}-out`]:!e};setTimeout((()=>{this.show=e}),150);break;default:this.show=this.shouldRender();break}}render(){return t(n,{key:"
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,h as t,H as n}from"./p-68c2fadf.js";import{R as s}from"./p-8313a60b.js";import{a as i}from"./p-946df9e3.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";const a=":host{display:block}div{height:inherit}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fade-in{animation:fadeIn 1.5s}.fade-out{animation:fadeOut 1.5s}@keyframes slideIn{0%{transform:translateY(100%)}100%{transform:translateY(0)}}@keyframes slideOut{0%{transform:translateY(0)}100%{transform:translateY(100%)}}.slide-in{animation:slideIn 1.5s}.slide-out{animation:slideOut 1.5s}@keyframes swipeIn{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes swipeOut{0%{transform:translateX(0)}100%{transform:translateX(100%)}}.swipe-in{animation:swipeIn 1.5s}.swipe-out{animation:swipeOut 1.5s}";const o=a;var f=undefined&&undefined.__decorate||function(e,t,n,s){var i=arguments.length,a=i<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,n):s,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(e,t,n,s);else for(var f=e.length-1;f>=0;f--)if(o=e[f])a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a;return i>3&&a&&Object.defineProperty(t,n,a),a};var r=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const d=class{constructor(t){e(this,t);this.state=undefined;this.isStateSet=undefined;this.isBoolean=undefined;this.getStore=undefined;this.transition="none";this.show=false;this.classes={};this.initTransition=this.initTransition.bind(this)}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){i(`[nylas-if-state] Component will load`);this.watchStore(true)}async componentDidLoad(){i(`[nylas-if-state] Component did load`)}shouldRender(){const[e,t]=this.state?this.state.split("."):["",""];const n=this.getStore;if(typeof n==="undefined"){i(`[nylas-if-state] Store name: ${e} | State name: ${t}`,{getStore:n});return false}const s=n(e);if(typeof s==="undefined"){i(`[nylas-if-state] Store name: ${e} | State name: ${t}`,{store:s});return false}const a=s.state[t];if(typeof this.isStateSet==="boolean"){return this.isStateSet===false&&(typeof a==="undefined"||a===null||a.length===0)||this.isStateSet===true&&typeof a!=="undefined"&&a!==null}if(typeof this.isBoolean==="boolean"){return this.isBoolean===true&&typeof a!=="undefined"&&a===true||this.isBoolean===false&&typeof a!=="undefined"&&a===false}return false}onGetStoreChange(){this.watchStore(true)}watchStore(e=false){const[t,n]=this.state?this.state.split("."):["",""];const s=this.getStore;if(typeof s==="undefined"){i(`[nylas-if-state] Store name: ${t} | State name: ${n}`,{getStore:s});return null}const a=s(t);if(typeof a==="undefined"){i(`[nylas-if-state] Store name: ${t} | State name: ${n}`,{store:a});return null}if(e===true){this.initTransition()}a.onChange(n,this.initTransition)}initTransition(){const e=this.shouldRender();switch(this.transition){case"fade":case"slide":case"swipe":this.classes={[`${this.transition}-in`]:e,[`${this.transition}-out`]:!e};setTimeout((()=>{this.show=e}),150);break;default:this.show=this.shouldRender();break}}render(){return t(n,{key:"6f7cee119536f97100bd4dcf3140fa78cf191982"},t("div",{key:"7095ef56f7d2d2638da838e4b8521b5dc2fcfa1a",class:this.classes},this.show&&t("slot",null)))}static get watchers(){return{getStore:["onGetStoreChange"]}}};f([s({name:"nylas-if-state",getStoresToProp:"getStore",fireRegisterEvent:true}),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],d.prototype,"render",null);d.style=o;export{d as nylas_if_state};
|
|
2
|
+
//# sourceMappingURL=p-21c22d6b.entry.js.map
|