@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
package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js
CHANGED
|
@@ -119,7 +119,7 @@ export class MultiSelectDropdown {
|
|
|
119
119
|
}, class: { selected: !!option.selected } }, h("label", { htmlFor: option.value }, h("input", { "aria-hidden": "true", id: option.value, type: "checkbox", checked: option.selected }), h("span", null, option.label))));
|
|
120
120
|
}
|
|
121
121
|
render() {
|
|
122
|
-
return (h(Host, { key: '
|
|
122
|
+
return (h(Host, { key: '68a751a50b99ad407646a9d3db174efba6dcb634' }, h("div", { key: 'f842e68a2d2f0ec1516e34d87c9c1682bad5b597', class: "dropdown", part: "msd_dropdown" }, h("label", { key: 'b58aaf8dd1a0af1c4566b97413fd83e0ed47f6ed', class: "dropdown-label" }, this.label, h("slot", { key: '5c1734efde3ba6890d60611d4b5460339fc497c6', name: "label-icon", "aria-hidden": "true" })), h("button", { key: '54c8c9aa35f51d89b97fe572429af9c43c9e3260', name: this.name, part: `msd_dropdown-button ${this.error ? 'msd_dropdown-button--error' : ''}`, class: { dropbtn: true, open: this.isOpen, error: !!this.error }, onClick: () => this.toggleDropdown(), "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.name, onKeyDown: e => this.handleSelectButtonKeyDown(e) }, h("slot", { key: '6eaf43cc2461b6faa4687bb8982e2d171880d8f2', name: "select-icon", "aria-hidden": "true" }), h("span", { key: 'f80acfb4c11e6b28614790712672a0584542b7a2', class: "selected-option", part: "msd_dropdown-button-selected-label" }, this.getSelectedOptions().length > 1 ? `Multiple options selected` : this.availableOptions.filter(o => o.selected)[0]?.label ?? this.availableOptions[0]?.label), h("span", { key: 'a920751a35797c7d6054cf3dd31c311bd9159215', class: this.isOpen ? 'open' : 'closed', "aria-hidden": "true" }, h("chevron-icon", { key: '0b8cac042edba8f00ebfc433fce6096d0e97de51', width: "16", height: "16" }))), this.error ? h("span", { class: "error" }, this.error) : null, this.isOpen ? null : (h("div", { class: 'selected-options' }, this.getSelectedOptions().map(option => (h("span", { class: "selected-option" }, option.label, h("button", { key: option.label, onClick: () => this.selectOption(option) }, h("close-icon", null))))))), this.isOpen ? (h("div", { class: "dropdown-content", part: "msd_dropdown-content" }, h("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-multiselectable": true, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: e => this.handleListboxKeydown(e) }, this.availableOptions.map(option => this.renderOption(option))))) : null)));
|
|
123
123
|
}
|
|
124
124
|
static get is() { return "multi-select-dropdown"; }
|
|
125
125
|
static get encapsulation() { return "shadow"; }
|
|
@@ -28,7 +28,7 @@ export class RadioButtonGroup {
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
|
-
return (h("div", { key: '
|
|
31
|
+
return (h("div", { key: '1da74230aa5c9d2650b3b60eba44d2998c6a6a04', class: "radio-group" }, h("slot", { key: '847863f984d4c70bd783c6e833ec6089ecaff395', name: "label" }, this.label && (h("p", { class: { error: !!this.error } }, h("span", { class: "label" }, this.label), this.required && h("span", { class: "required" }, "*")))), this.options.map(option => (h("label", null, h("div", { class: "radio-option" }, h("input", { type: "radio", name: this.name, value: option.value, checked: this.selectedValue === option.value, onChange: () => this.handleChange(option.value) }), h("p", null, h("span", { class: "title" }, option.label), h("span", { class: "description" }, option.description)))))), this.error && h("span", { class: "error help-text" }, this.error)));
|
|
32
32
|
}
|
|
33
33
|
static get is() { return "radio-button-group"; }
|
|
34
34
|
static get encapsulation() { return "shadow"; }
|
|
@@ -161,7 +161,7 @@ export class SelectDropdown {
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
render() {
|
|
164
|
-
return (h("div", { key: '
|
|
164
|
+
return (h("div", { key: '554ed5526a72bb953539b9206fff0df3ebb3c4e8', class: "dropdown", part: "sd_dropdown" }, h("label", { key: '28290efff26267d84cbebefe4422e7904ea9dee2', part: "sd_dropdown_label", class: { error: !!this.errorMessage } }, this.label && (h("p", null, h("span", { class: "label" }, this.label), this.required && h("span", { class: "required" }, "*"))), h("button", { key: '5b36aaf129ed5eddadaa265b8ffea9222c1ed88a', part: "sd_dropdown-button", class: { dropbtn: true, open: this.isOpen, error: !!this.errorMessage }, onClick: () => this.toggleDropdown(), "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.name, onKeyDown: e => this.handleSelectButtonKeyDown(e) }, h("slot", { key: 'b8ff1064537cb227716ac53e98ec0e871f466381', name: "select-icon", "aria-hidden": "true" }), h("span", { key: '87a24614e09cf938ea96ff3c23e50099f269f72c', class: "selected-option", part: "sd_dropdown-button-selected-label" }, this.generateButtonText()), this.withChevron && (h("span", { class: {
|
|
165
165
|
open: this.isOpen,
|
|
166
166
|
closed: !this.isOpen,
|
|
167
167
|
chevron: true,
|
|
@@ -46,7 +46,7 @@ export class TextareaComponent {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
render() {
|
|
49
|
-
return (h("label", { key: '
|
|
49
|
+
return (h("label", { key: 'a978b00a76d7c20e2b08540d7c655dfc0ad309d4', part: "tc__label", class: { error: !!this.error } }, h("p", { key: '3331bdfb7132894af453277f25c0692b55ebc619' }, h("span", { key: 'b8efb94cf4d405da1c49a9c0c626c2e8a5e6be0f', class: "label" }, this.label), this.required && h("span", { class: "required" }, "*")), h("textarea", { key: '73a06473baabd4d1f29250110a0f34ca37ffb135', name: this.name, placeholder: this.placeholder, readOnly: this.readOnly, autoFocus: this.autoFocus, value: this.value, maxLength: this.maxLength, onInput: e => this.handleInput(e), class: { error: !!this.error }, part: "tc__textarea" }), this.error && h("span", { class: "error help-text" }, this.error)));
|
|
50
50
|
}
|
|
51
51
|
static get is() { return "textarea-component"; }
|
|
52
52
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/design-system/time-period-selector/time-period-selector.js
CHANGED
|
@@ -97,7 +97,7 @@ export class TimePeriodSelector {
|
|
|
97
97
|
this.selectedNumber = parseInt(this.numberOptions[0].value);
|
|
98
98
|
}
|
|
99
99
|
render() {
|
|
100
|
-
return (h("div", { key: '
|
|
100
|
+
return (h("div", { key: '216eccd8453c89f66463c99bfc18018f98732671', class: "time-period-selector" }, h("input-dropdown", { key: '985debdbe86850c13f26450b9e1a5e29b3b04594', id: "time-number", name: 'time-number', inputValue: this.selectedNumber.toString(), exportparts: "sd_dropdown: tps__number-dropdown, sd_dropdown-button: tps__number-dropdown-button, sd_dropdown-content: tps__number-dropdown-content", options: this.numberOptions, defaultInputOption: this.numberOptions.find(i => i.value == this.selectedNumber.toString()) ?? this.numberOptions[0] }), h("select-dropdown", { key: '5039a6dcad6b8e426875a20f690dc5898536a8ba', id: "time-period", name: 'time-period', options: this.timePeriodOptions, exportparts: "sd_dropdown: tps__period-dropdown, sd_dropdown-button: tps__period-dropdown-button, sd_dropdown-content: tps__period-dropdown-content", pluralizedLabel: this.selectedNumber > 1 ? 's' : '', defaultSelectedOption: this.timePeriodOptions.find(i => i.value == this.selectedPeriod) ?? this.timePeriodOptions[0], withSearch: false })));
|
|
101
101
|
}
|
|
102
102
|
static get is() { return "time-period-selector"; }
|
|
103
103
|
static get encapsulation() { return "scoped"; }
|
|
@@ -18,7 +18,7 @@ export class ToggleSwitchComponent {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
return (h("label", { key: '
|
|
21
|
+
return (h("label", { key: '2d9b81622835a5e4c4e4a400656bcb5f7d780b85', class: "switch", part: "ts_label" }, h("input", { key: '846543158e65056d4ccbed6e2a99d27f1d0f6411', type: "checkbox", part: "ts_input", name: this.name, checked: this.isChecked, onChange: () => this.toggleCheck() }), h("div", { key: '8c7516f3703a1d43167c61d883641e8277d2de70', class: "slider round", part: "ts_slider" })));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "toggle-switch"; }
|
|
24
24
|
static get encapsulation() { return "shadow"; }
|
|
@@ -12,7 +12,7 @@ export class TooltipComponent {
|
|
|
12
12
|
event.target.nextElementSibling.style.opacity = '0';
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return (h("div", { key: '
|
|
15
|
+
return (h("div", { key: 'b74009a10cb75c7d1074a2c2d7d17f47a91c305d', class: "tooltip-container", part: "tc__container" }, h("span", { key: '4cb0777bd487ba3fa303f158ffe0e87b40c90838', class: "info-icon", tabindex: "0", onFocus: this.showTooltip.bind(this), onBlur: this.hideTooltip.bind(this) }, h("slot", { key: '5f0ab5ee8cf43e54bedc882384ad91480457bf53', name: "tooltip-icon" }, "i")), h("span", { key: '053d5d5924e17c1d7b60cefc1688ecdd8967d75b', class: `tooltip-content ${this.position}`, part: "tc__content" }, h("slot", { key: 'a301aef072b3fd966d234520dfef94855aea75c0', name: "tooltip-content" }, "This is a help text."))));
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "tooltip-component"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -127,7 +127,7 @@ export class NylasComposer {
|
|
|
127
127
|
this.editorEl.focus();
|
|
128
128
|
}
|
|
129
129
|
render() {
|
|
130
|
-
return (h(Host, { key: '
|
|
130
|
+
return (h(Host, { key: '46125beb4200ff389b5d4cd6ff76fe3228b3fa86' }, h("sp-theme", { key: '2e7d9dd1e2a3817d0609b283cc8572a955230370', scale: "medium", color: "dark" }, h("div", { key: '6a5954e74d72a031aacd29b424c68e51badce046', class: "editor", contentEditable: true, ref: r => (this.editorEl = r) }, h("div", { key: '61152b4be1fe8505dfbc32943c2eb3406a93ca2a', class: "toolbar", ref: r => (this.toolbarEl = r), contentEditable: false }, h("sp-button", { key: 'c896e9d32720e59cb3b7301dd9c05c73a9579fc4', quiet: true, onClick: () => document.execCommand('bold') }, h("div", { key: '6c48e73ddf5c95796d68a661e0a80039827ca73c', slot: "icon" }, h("bold-icon", { key: '955e0873449ad2affbb755e1c92310b87972925a' })), h("div", { key: 'eb68ad20983fd72bd139ccd20383d4a8ca1f750c', slot: "label" }, "Bold")), h("sp-button", { key: 'dbb2b362cedaaf5706eda1957c853acd45b71526', quiet: true, onClick: () => document.execCommand('underline') }, h("div", { key: 'e699c015e2bc926e259e8666dc23be79673df140', slot: "icon" }, h("underline-icon", { key: 'bb4a86a3f9758950271394718408e83f1441a5f6' })), h("div", { key: '13ad8d10033b585eefa562776dcd57dd4816eb56', slot: "label" }, "Underline")), h("sp-button", { key: '9c6b5ca3ddbca9b13cf5fdc88be9d6bb12340cab', quiet: true, onClick: () => document.execCommand('italic') }, h("div", { key: 'a1e776afeeb8421fb94ba203544abcafce5c43c0', slot: "icon" }, h("italic-icon", { key: 'a04ae4fcdd5c006bb5575c6c8bf33ee8f8abad78' })), h("div", { key: '31e02506a6def45c5444d2a70a394e65c952e3d0', slot: "label" }, "Italic")))), h("div", { key: '57243170b74f7dfb732817acca22c53782cc0e7c', class: 'buttons' }, h("sp-button", { key: 'e096fef6544f3c09cec94bd4e37519acc9a980c0', onClick: this.sendComposer, class: "send" }, "Send"), h("sp-button", { key: 'b81de8ac43034d2fdaa77ddd6462f32b775dff7d', onClick: this.closeComposer, class: "close" }, "Close")))));
|
|
131
131
|
}
|
|
132
132
|
static get is() { return "nylas-composer"; }
|
|
133
133
|
static get encapsulation() { return "shadow"; }
|
|
@@ -69,7 +69,7 @@ export class NylasListFolders {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
render() {
|
|
72
|
-
return (h(Host, { key: '
|
|
72
|
+
return (h(Host, { key: '563b434e425f660c7f1095541c62b19133090d49' }, h("div", { key: '276e1c1f4af72d7c812c19749c0f1d472ba92d6f', class: "folders" }, this.defaultFolders?.map(folder => (h("sp-button", { onClick: () => this.folderSelectedHandler(folder), class: {
|
|
73
73
|
folder: true,
|
|
74
74
|
selected: formatFolderName(folder.name ?? 'inbox').toLowerCase() === this.selectedFolder?.toLowerCase(),
|
|
75
75
|
} }, h("div", { slot: "icon", class: "icon" }, this.getFolderIcon(folder)), this.formatFolderName(folder))))), this.otherFolders && (h(Fragment, null, h("hr", null), h("div", { class: "folders" }, this.otherFolders?.map(folder => (h("sp-button", { onClick: () => this.folderSelectedHandler(folder), class: {
|
|
@@ -43,7 +43,7 @@ export class NylasListThreads {
|
|
|
43
43
|
debug(`[nylas-list-threads] Component did load`, { isAuthenticated: this.isAuthenticated });
|
|
44
44
|
}
|
|
45
45
|
render() {
|
|
46
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: '17eb5ebd870da0636fc2cb4e3a6d0f0052881ae9' }, h("div", { key: '5c10656167f6638c537ac456c83f214ddf7f0bc7', class: 'list-thread', part: "list-thread" }, this.state === 'loading' && new Array(10).fill(0).map((_, i) => h("div", { class: "thread loading", style: { animationDelay: `${i * 20}ms` } })), this.state === 'ready' &&
|
|
47
47
|
this.threads.map(thread => (h("button", { key: thread?.id, class: {
|
|
48
48
|
'thread': true,
|
|
49
49
|
'unread': thread?.unread === true,
|
|
@@ -119,7 +119,7 @@ export class NylasMailbox {
|
|
|
119
119
|
return this.nylasMailboxConnector;
|
|
120
120
|
}
|
|
121
121
|
render() {
|
|
122
|
-
return (h(Host, { key: '
|
|
122
|
+
return (h(Host, { key: 'ab8485bcd5fe06246f3ad1101c36a4f55be90950' }, h("slot", { key: '59e204ebd16455151bd189f2c91f30580fdb659b' })));
|
|
123
123
|
}
|
|
124
124
|
static get is() { return "nylas-mailbox"; }
|
|
125
125
|
static get encapsulation() { return "shadow"; }
|
|
@@ -70,7 +70,7 @@ export class NylasMailboxToolbarButton {
|
|
|
70
70
|
state = this.dataState ? store.get(storeKey) === 'loading' : false;
|
|
71
71
|
}
|
|
72
72
|
const key = state ? `state-loading` : 'state-ready';
|
|
73
|
-
return (h(Host, { key: '
|
|
73
|
+
return (h(Host, { key: 'afa75825fa20e1745c67fba86f266e1f79c4202d' }, h("sp-theme", { key: '74043d5da85d3a2bc8097811ebce7b338406f086', scale: "medium", color: "dark" }, h("sp-button", { onClick: this.onClick, disabled: state, key: key, "icon-only": this.iconOnly, label: this.renderByState(state) }, this.hasSlot('icon') && (h("div", { slot: "icon", class: 'slot' }, h("slot", { name: "icon" }))), !this.iconOnly && this.renderByState(state)))));
|
|
74
74
|
}
|
|
75
75
|
static get is() { return "nylas-mailbox-toolbar-button"; }
|
|
76
76
|
static get encapsulation() { return "shadow"; }
|
|
@@ -146,12 +146,12 @@ export class NylasSummarizeMessageButton {
|
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
148
|
render() {
|
|
149
|
-
return (h(Host, { key: '
|
|
149
|
+
return (h(Host, { key: 'f0daa9a48cfbea9092ac7324a2adc8f453fc35a6' }, h("sp-theme", { key: 'f03bd91f1567ebfccc2689ceaadeff139cb3245e', scale: "medium", color: "dark" }, h("sp-button", { key: '0e8d54e1410869dc40b0afbf7e2496e4ce5a5c10', label: "Summarize email", "icon-only": true, onClickCapture: this.onClick, class: {
|
|
150
150
|
'summarize-button': true,
|
|
151
151
|
'stopped': this.state === 'stopped',
|
|
152
152
|
'loading': this.state === 'loading',
|
|
153
153
|
'playing': this.state === 'playing',
|
|
154
|
-
} }, this.state === 'stopped' && h("play-icon", null), this.state === 'loading' && h("loading-icon", null), this.state === 'playing' && h("stop-icon", null)), h("audio", { key: '
|
|
154
|
+
} }, this.state === 'stopped' && h("play-icon", null), this.state === 'loading' && h("loading-icon", null), this.state === 'playing' && h("stop-icon", null)), h("audio", { key: '7345736699b007397634f66dd15a556977fdef72', ref: r => (this.audioRef = r), autoPlay: true, onPlaying: () => (this.state = 'playing'), onPause: () => (this.state = 'stopped'), onEnded: () => {
|
|
155
155
|
this.state = 'stopped';
|
|
156
156
|
debug(`[nylas-summarize-message-button] Audio ended`);
|
|
157
157
|
} }))));
|
|
@@ -76,11 +76,11 @@ export class NylasThreadsRefresh {
|
|
|
76
76
|
this.state = state;
|
|
77
77
|
}
|
|
78
78
|
render() {
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: '208a3f1e64e9f7a1a2614fa3e772c5664e3d3109' }, h("div", { key: '36d2e44d491978301c549d62834606f7d46737b3', class: "container", ref: r => (this.containerElement = r) }, h("button", { key: '1f2cbf74de5be69de5eeca22b46e0ba51ac87720', class: {
|
|
80
80
|
'pull-to-refresh': true,
|
|
81
81
|
'pulling': this.pulling,
|
|
82
82
|
'refreshing': this.state === 'loading',
|
|
83
|
-
}, "aria-label": "Refreshing..." }, this.state === 'loading' && h("refresh-icon", { slot: "icon" }), this.state !== 'loading' && h("arrow-icon", { slot: "icon" })), h("div", { key: '
|
|
83
|
+
}, "aria-label": "Refreshing..." }, this.state === 'loading' && h("refresh-icon", { slot: "icon" }), this.state !== 'loading' && h("arrow-icon", { slot: "icon" })), h("div", { key: '089d5985cbfb0be2d9db820b0039cb29fa7138a9', class: "content", ref: r => (this.contentElement = r) }, h("slot", { key: '8594cea7e7c308acf95aa59d7e8dabfeeb813fc4' })))));
|
|
84
84
|
}
|
|
85
85
|
static get is() { return "nylas-threads-refresh"; }
|
|
86
86
|
static get encapsulation() { return "shadow"; }
|
|
@@ -43,7 +43,7 @@ export class NylasThreadsSearch {
|
|
|
43
43
|
this.internalQuery = this.query;
|
|
44
44
|
}
|
|
45
45
|
render() {
|
|
46
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: 'ab923b1dc0d97e7989c0acb5153b3ef41c564379' }, h("sp-theme", { key: 'd51233f46b3551a8e9b62a19a8d48c2e265ed7e6', scale: "medium", color: "dark" }, h("sp-search", { key: 'be41fc3866ba0ee6203f0c310f4f544bcdf2e52d', quiet: true, onSubmit: this.onSearch, onBlur: this.onSearch, value: this.internalQuery }))));
|
|
47
47
|
}
|
|
48
48
|
static get is() { return "nylas-threads-search"; }
|
|
49
49
|
static get encapsulation() { return "shadow"; }
|
|
@@ -151,7 +151,7 @@ export class NylasViewEmail {
|
|
|
151
151
|
}
|
|
152
152
|
render() {
|
|
153
153
|
console.debug(`[nylas-view-email] render`, { hoistedFontURLs: this.hoistedFontURLs });
|
|
154
|
-
return (h(Host, { key: '
|
|
154
|
+
return (h(Host, { key: '3990edd6afb19e04dc7871d41183affd1e7134e6' }, this.state === 'loading' && h("div", null, "Loading..."), this.state === 'ready' && (h(Fragment, null, this.styles.map(style => (h("style", null, DOMPurify.sanitize(style.innerHTML)))), h("div", { class: 'view-email', part: "view-email", innerHTML: this.sanitizedBody, ref: el => (this.viewEmailElement = el) })))));
|
|
155
155
|
}
|
|
156
156
|
static get is() { return "nylas-view-email"; }
|
|
157
157
|
static get encapsulation() { return "shadow"; }
|
|
@@ -121,7 +121,7 @@ export class NylasViewThread {
|
|
|
121
121
|
const lastTwoMessages = this.internalMessages.slice(this.internalMessages.length - 2, this.internalMessages.length);
|
|
122
122
|
const remainingMessages = this.internalMessages.slice(1, this.internalMessages.length - 2);
|
|
123
123
|
const lastMessage = this.internalMessages[this.internalMessages.length - 1];
|
|
124
|
-
return (h(Host, { key: '
|
|
124
|
+
return (h(Host, { key: 'b6f11037f7d3e698cfe912431d2bb9dac014c703' }, h("sp-theme", { key: '81bcd19740f21b78aa23d7c048af83f4332ec829', scale: "medium", color: "dark" }, h("div", { key: '3ca6a1a85a28b2435c2fc1f0f9efec4c9a692686', class: "view-thread" }, h("div", { key: 'd3a6fe1b099687a28ebc0307a5c1c44ce23e8f4c', class: "header" }, h("div", { key: 'ee7eb035b739c3f12f0e987612a217837325b18a', class: 'subject' }, this.thread?.subject), h("div", { key: 'e2cef333ba703c6845346a772365068b3fe66258', class: 'folders' }, this.thread?.folders?.map(folder => h("sp-tag", { size: "s" }, toTitleCase(folder.replace('CATEGORY_', '').replace('_', ' ')))))), h("div", { key: '61f714a579fb653b50328dedaf1e44312801c27d', class: "messages" }, fistMessage && (h(ViewThreadMessage, { message: fistMessage, attachments: this.attachments.filter(attachment => attachment.messageId === fistMessage.id), onMessageClick: this.onMessageClick, onShowContactDataClick: this.onShowContactDataClick, parent: this.host, viewEmailElement: this.nylasViewEmailElement, composerElement: this.nylasComposerElement })), remainingMessages.length > 0 && this.messages.length > 1 && !this.showAllEmails && lastTwoMessages.length > 0 && (h(Fragment, null, h("div", { class: 'show-more' }, h("button", { type: "button", onClick: this.onShowAllEmailsClick }, h("span", { class: 'avatar' }, remainingMessages.length), " ", h("span", { class: 'sr-only' }, "Show ", remainingMessages.length, " more emails"))), h("hr", null))), remainingMessages.length > 0 &&
|
|
125
125
|
this.showAllEmails &&
|
|
126
126
|
this.messages.length > 2 &&
|
|
127
127
|
remainingMessages.map(email => (h(ViewThreadMessage, { message: email, attachments: this.attachments.filter(attachment => attachment.messageId === fistMessage?.id), onMessageClick: this.onMessageClick, onShowContactDataClick: this.onShowContactDataClick, parent: this.host, viewEmailElement: this.nylasViewEmailElement, composerElement: this.nylasComposerElement }))), lastTwoMessages.length > 0 &&
|
|
@@ -97,7 +97,7 @@ export class NylasIfState {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
render() {
|
|
100
|
-
return (h(Host, { key: '
|
|
100
|
+
return (h(Host, { key: '6f7cee119536f97100bd4dcf3140fa78cf191982' }, h("div", { key: '7095ef56f7d2d2638da838e4b8521b5dc2fcfa1a', class: this.classes }, this.show && h("slot", null))));
|
|
101
101
|
}
|
|
102
102
|
static get is() { return "nylas-if-state"; }
|
|
103
103
|
static get encapsulation() { return "shadow"; }
|
|
@@ -69,7 +69,7 @@ export class NylasLogin {
|
|
|
69
69
|
}
|
|
70
70
|
render() {
|
|
71
71
|
const splitProviders = this.providers?.split(',') || [];
|
|
72
|
-
return (h(Host, { key: '
|
|
72
|
+
return (h(Host, { key: '383730f54029f9932d0af4a4acfbf2e108726806' }, this.loginMethod === 'redirect' && (h("div", { class: "redirect-container" }, !this.isAuthenticated && (h("sp-button", { part: "button", onClick: this._handleLoginRedirect }, this.buttonText)))), this.loginMethod === 'emebded' && (h("main", { class: "login-container" }, h("section", { class: "login-box" }, h("header", null, h("img", { src: this.logoUrl, alt: `${this.companyName} logo`, width: '100%', style: {
|
|
73
73
|
minWidth: this.logoWidth,
|
|
74
74
|
} }), h("h1", null, "Welcome")), h("p", null, "Log in to your account to continue to ", this.companyName), h("div", { class: "login-methods" }, splitProviders.includes('google') && (h("button", { class: "login-google", onClick: this._onGoogleButtonClick }, h("svg", { xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", role: "img", width: "18", height: "18", preserveAspectRatio: "xMidYMid meet", viewBox: "0 0 256 262" }, h("path", { fill: "#4285F4", d: "M255.6 131.6c0-8.2-.8-16.2-2.2-23.9H130v45.3h70.3c-3 16.1-12.4 29.7-26.3 38.9v32.4h42.6c25-23 39.4-56.7 39.4-97.7z" }), h("path", { fill: "#34A853", d: "M130 262c35.3 0 64.9-11.7 86.5-31.7l-42.6-32.4c-11.7 7.9-26.7 12.6-43.9 12.6-33.7 0-62.3-22.7-72.5-53.4H14.5v33.3A130.3 130.3 0 00130 262z" }), h("path", { fill: "#FBBC05", d: "M57.5 158.1a72.7 72.7 0 010-54.2V70.6H14.5a130.4 130.4 0 000 120.8l43-33.3z" }), h("path", { fill: "#EA4335", d: "M130 51.6c19 0 36 6.5 49.4 19.2l37-36C195 13.1 165.2 0 130 0A130.3 130.3 0 0014.5 70.6l43 33.3c10.2-30.7 38.8-53.3 72.5-53.3z" })), "Continue with Google")), splitProviders.includes('microsoft') && (h("button", { class: "login-microsoft", onClick: this._onMicrosoftButtonClick }, h("svg", { xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", role: "img", width: "18", height: "18", preserveAspectRatio: "xMidYMid meet", viewBox: "0 0 448 512" }, h("path", { fill: "#F3F3F3", d: "M0 32v192h192V32H0zm256 0v192h192V32H256zm192 256v192h-192V288h192zM0 224v192h192V224H0z" })), "Continue with Microsoft"))), h("form", { class: "login-form", method: "POST", onSubmit: this._onFormSubmit }, h("label", { htmlFor: "email" }, "Email"), h("input", { type: "email", id: "email", name: "email", required: true, value: this.email }), h("button", { type: "submit" }, "Next")))))));
|
|
75
75
|
}
|
|
@@ -101,7 +101,7 @@ export class NylasProvider {
|
|
|
101
101
|
return this.baseProvider?.getStore('schedulerConfig');
|
|
102
102
|
}
|
|
103
103
|
render() {
|
|
104
|
-
return (h(Host, { key: '
|
|
104
|
+
return (h(Host, { key: '096202685aa8b59b7b580a4d63fc3cc2e532800d' }, h("slot", { key: '057859ad2e76096a76398108e0190c561dc83f8e' })));
|
|
105
105
|
}
|
|
106
106
|
static get is() { return "nylas-provider"; }
|
|
107
107
|
static get encapsulation() { return "shadow"; }
|
|
@@ -189,7 +189,7 @@ export class NylasBookingForm {
|
|
|
189
189
|
});
|
|
190
190
|
return;
|
|
191
191
|
}
|
|
192
|
-
this.updateAdditionalFields(event.detail.
|
|
192
|
+
this.updateAdditionalFields(event.detail.name, event.detail.value);
|
|
193
193
|
break;
|
|
194
194
|
}
|
|
195
195
|
}
|
|
@@ -201,19 +201,19 @@ export class NylasBookingForm {
|
|
|
201
201
|
});
|
|
202
202
|
return;
|
|
203
203
|
}
|
|
204
|
-
this.updateAdditionalFields(event.detail.
|
|
204
|
+
this.updateAdditionalFields(event.detail.name, event.detail.value);
|
|
205
205
|
}
|
|
206
206
|
switchToggledHandler(event) {
|
|
207
|
-
this.updateAdditionalFields(event.detail.
|
|
207
|
+
this.updateAdditionalFields(event.detail.name, event.detail.checked ? 'true' : 'false');
|
|
208
208
|
}
|
|
209
209
|
checkboxToggledHandler(event) {
|
|
210
|
-
this.updateAdditionalFields(event.detail.
|
|
210
|
+
this.updateAdditionalFields(event.detail.name, event.detail.checked ? 'true' : 'false');
|
|
211
211
|
}
|
|
212
212
|
radioChangedHandler(event) {
|
|
213
|
-
this.updateAdditionalFields(event.detail.
|
|
213
|
+
this.updateAdditionalFields(event.detail.name, event.detail.value);
|
|
214
214
|
}
|
|
215
215
|
render() {
|
|
216
|
-
return (h(Host, { key: '
|
|
216
|
+
return (h(Host, { key: 'b0a70e2fb2f18f7b0efe6bfd108a35853fb67650' }, h("form", { key: 'd6d6a14a31cc30fa4a4b3d51d736f9eb553c816f', onSubmit: e => this.bookButtonClickedHandler(e), noValidate: true }, h("div", { key: '02817a951387617334d00d4abd9170c487ba4a25', class: "nylas-booking-form" }, h("div", { key: 'd449e95ce86e9a52f824d2d4281ec7675a21e435', class: "input-wrapper" }, h("input-component", { key: 'db0e3c648a573ef41960cbf474d496c21387d22f', label: i18next.t('name'), name: "name", id: "name", defaultValue: this.bookingInfo?.primaryParticipant?.name || this.name, placeholder: i18next.t('namePlaceholder'), type: "text", required: true, requiredError: i18next.t('fieldRequired', { field: i18next.t('name') }), patternError: i18next.t('invalidInputFormat', { field: i18next.t('name') }), part: "nbf__input-textfield" })), h("div", { key: '9807c067e59c1e857c4387b450fa657393b6998e', class: "input-wrapper" }, h("input-component", { key: 'e09833f14be65cccdfb81614234a37a4a2d8d498', label: i18next.t('email'), name: "email", id: "email", pattern: emailRegex, defaultValue: this.bookingInfo?.primaryParticipant?.email || this.email, placeholder: i18next.t('emailPlaceholder'), type: "email", required: true, requiredError: i18next.t('fieldRequired', { field: i18next.t('email') }), patternError: i18next.t('invalidInputFormat', { field: i18next.t('email') }), part: "nbf__input-textfield" })), this.configSettings?.scheduler?.hide_additional_guests !== true && (h("div", { class: "input-wrapper" }, this.guestEmails.map((email, index) => (h("div", { class: "input-wrapper button-wrapper" }, h("label", { class: {
|
|
217
217
|
error: !!this.guestEmailErrors[index],
|
|
218
218
|
} }, i18next.t('guestEmail')), h("div", { class: "guest-email-input" }, h("input", { type: "email", id: `guest-email-${index}`, maxLength: 100, class: {
|
|
219
219
|
'guest-email': true,
|
|
@@ -226,19 +226,20 @@ export class NylasBookingForm {
|
|
|
226
226
|
.map(x => {
|
|
227
227
|
const field = x[1];
|
|
228
228
|
const label = field.label;
|
|
229
|
+
const key = x[0];
|
|
229
230
|
switch (field.type) {
|
|
230
231
|
case 'dropdown':
|
|
231
|
-
return (h("div", { class: "input-wrapper" }, h("select-dropdown", { label: label, name:
|
|
232
|
+
return (h("div", { class: "input-wrapper" }, h("select-dropdown", { label: label, name: key, id: key, withSearch: false, options: field.options?.map(option => ({ value: option, label: option })), required: field.required, part: "nbf__input-textfield" })));
|
|
232
233
|
case 'checkbox':
|
|
233
|
-
return (h("div", { class: "input-wrapper" }, h("checkbox-component", { label: label, name:
|
|
234
|
+
return (h("div", { class: "input-wrapper" }, h("checkbox-component", { label: label, name: key, id: key, required: field.required, part: "nbf__input-textfield" })));
|
|
234
235
|
case 'radio_button':
|
|
235
|
-
return (h("div", { class: "input-wrapper" }, h("radio-button-group", { label: label, name:
|
|
236
|
+
return (h("div", { class: "input-wrapper" }, h("radio-button-group", { label: label, name: key, id: key, options: field.options?.map(option => ({ value: option, label: option })), required: field.required, part: "nbf__input-textfield" })));
|
|
236
237
|
case 'multi_line_text':
|
|
237
|
-
return (h("div", { class: "input-wrapper" }, h("textarea-component", { label: label, name:
|
|
238
|
+
return (h("div", { class: "input-wrapper" }, h("textarea-component", { label: label, name: key, id: key, required: field.required, part: "nbf__input-textfield" })));
|
|
238
239
|
default:
|
|
239
|
-
return (h("div", { class: "input-wrapper" }, h("input-component", { label: label, name:
|
|
240
|
+
return (h("div", { class: "input-wrapper" }, h("input-component", { label: label, name: key, id: key, type: field.type, requiredError: i18next.t('fieldRequired', { field: label }), required: field.required, part: "nbf__input-textfield" })));
|
|
240
241
|
}
|
|
241
|
-
})
|
|
242
|
+
})), h("div", { key: 'fedca1f1d3dc22fac5e93dd73f44273e3d6a12a2', class: "cta" }, h("sp-button", { key: '6be5ecaa860a446f3bc2dc292b919d29a14ae2c5', treatment: "outline", variant: "secondary", class: 'back', part: "nbf__button-outline", onClick: this.handleBackButtonClicked }, h("slot", { key: 'b3880450d464da75c0e1ba7193af484b7de18a04', name: "booking-form-back-label" }, `${i18next.t('backButton')}`)), h("sp-button", { key: 'ffa41614915a34d864868b89798dda71162d5c41', variant: "primary", class: 'book', part: "nbf__button-primary", type: "submit" }, this.isLoading && h("loading-icon", { slot: "icon" }), h("slot", { key: 'cd2d5e03fe06a073ab9e9c6d404f854149b1de63', name: "booking-form-book-label" }, `${i18next.t('bookNowButton')}`))))));
|
|
242
243
|
}
|
|
243
244
|
static get is() { return "nylas-booking-form"; }
|
|
244
245
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nylas-booking-form.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-booking-form/nylas-booking-form.tsx"],"names":[],"mappings":"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","sourcesContent":["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 custom-booking-form - The custom booking form.\n */\n@Component({\n tag: 'nylas-booking-form',\n styleUrl: 'nylas-booking-form.scss',\n shadow: true,\n})\nexport class NylasBookingForm {\n /**\n * The host element\n */\n @Element() readonly host!: HTMLElement;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The booked event (Used to track if a booking is created in an eventOverride).\n */\n @Prop() readonly eventInfo?: NylasEvent;\n\n /**\n * 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.label, 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.label, event.detail.value);\n }\n\n @Listen('nylasFormSwitchToggled')\n switchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.label, 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.label, 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.label || 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 switch (field.type) {\n case 'dropdown':\n return (\n <div class=\"input-wrapper\">\n <select-dropdown\n label={label}\n name={label}\n id={label}\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={label} id={label} 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={label}\n id={label}\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={label} id={label} 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={label}\n id={label}\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"]}
|
|
1
|
+
{"version":3,"file":"nylas-booking-form.js","sourceRoot":"","sources":["../../../../src/components/scheduler/nylas-booking-form/nylas-booking-form.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
|