@nylas/web-elements 2.5.17 → 2.6.0
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/cdn/input-color-picker/input-color-picker.es.js +3 -3
- package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +129 -114
- package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +2542 -2476
- 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/arrow-icon.cjs.entry.js +1 -1
- package/dist/cjs/bold-icon.cjs.entry.js +1 -1
- package/dist/cjs/button-component_2.cjs.entry.js +2 -2
- package/dist/cjs/calendar-agenda-fill-icon_39.cjs.entry.js +47 -47
- 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-icon.cjs.entry.js +1 -1
- package/dist/cjs/checkbox-component.cjs.entry.js +1 -1
- package/dist/cjs/checkbox-group_4.cjs.entry.js +5 -5
- package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
- package/dist/cjs/checkmark-icon_14.cjs.entry.js +16 -16
- package/dist/cjs/chevron-icon_3.cjs.entry.js +4 -4
- package/dist/cjs/clock-icon_2.cjs.entry.js +2 -2
- package/dist/cjs/delete-icon.cjs.entry.js +1 -1
- package/dist/cjs/document-refresh-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/globe-icon_3.cjs.entry.js +5 -5
- package/dist/cjs/google-logo-icon_6.cjs.entry.js +13 -13
- package/dist/cjs/google-meet-icon_5.cjs.entry.js +5 -5
- package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
- package/dist/cjs/info-icon_2.cjs.entry.js +3 -3
- package/dist/cjs/input-component.cjs.entry.js +1 -1
- package/dist/cjs/input-dropdown_2.cjs.entry.js +2 -2
- package/dist/cjs/input-image-url_2.cjs.entry.js +2 -2
- package/dist/cjs/italic-icon.cjs.entry.js +1 -1
- package/dist/cjs/multi-select-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js +58 -18
- package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
- package/dist/cjs/nylas-notification_2.cjs.entry.js +2 -2
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +29 -4
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-scheduler-editor.entry.cjs.js.map +1 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js +41 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-scheduling.entry.cjs.js.map +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/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/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/toggle-switch.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/underline-icon.cjs.entry.js +1 -1
- package/dist/cjs/{version-Dvnf44vW.js → version-CHszslqN.js} +3 -3
- package/dist/cjs/version-CHszslqN.js.map +1 -0
- 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/feedback-icon.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/paintbrush-fill.js +1 -1
- package/dist/collection/common/icons/paintbrush.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/common/types.js.map +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/checkbox-group/checkbox-group.js +1 -1
- package/dist/collection/components/design-system/input-color-picker/input-color-picker.js +2 -2
- 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/input-image-url/input-image-url.js +1 -1
- package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
- package/dist/collection/components/design-system/nylas-date-component/nylas-date-component.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 +2 -2
- 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 +2 -2
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +85 -12
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
- package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
- package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.js +1 -1
- package/dist/collection/components/scheduler/nylas-feedback-form/nylas-feedback-form.js +2 -2
- package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
- package/dist/collection/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.js +2 -2
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +21 -2
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.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-availability-picker/nylas-availability-picker.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-booking-confirmation-redirect/nylas-booking-confirmation-redirect.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-booking-confirmation-type/nylas-booking-confirmation-type.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.js +2 -2
- 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 +2 -2
- 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-disable-emails/nylas-disable-emails.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +5 -5
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js +5 -5
- package/dist/collection/components/scheduler-editor/nylas-event-capacity/nylas-event-capacity.js +1 -1
- 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 +2 -2
- package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-event-timeslot/nylas-event-timeslot.js +3 -3
- 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-notetaker-config/nylas-notetaker-config.js +8 -8
- package/dist/collection/components/scheduler-editor/nylas-only-specific-time-availability/nylas-only-specific-time-availability.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-page-name/nylas-page-name.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-page-styling/nylas-page-styling.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 +3 -3
- package/dist/collection/components/scheduler-editor/nylas-specific-time-availability-picker/nylas-specific-time-availability-picker.js +2 -2
- package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +3 -3
- package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +1 -1
- package/dist/collection/connector/shared/api/scheduler.js +21 -0
- package/dist/collection/connector/shared/api/scheduler.js.map +1 -1
- package/dist/collection/types/index.js.map +1 -1
- package/dist/collection/version.js +1 -1
- package/dist/collection/version.js.map +1 -1
- package/dist/components/add-circle-icon.js +1 -1
- package/dist/components/archive-icon.js +1 -1
- package/dist/components/arrow-icon.js +1 -1
- package/dist/components/bold-icon.js +1 -1
- package/dist/components/button-component.js +1 -1
- package/dist/components/calendar-agenda-fill-icon.js +1 -1
- package/dist/components/calendar-agenda-icon.js +1 -1
- package/dist/components/calendar-cancel-icon.js +1 -1
- package/dist/components/calendar-check-icon.js +1 -1
- package/dist/components/calendar-icon.js +1 -1
- package/dist/components/calendar-info-icon.js +1 -1
- package/dist/components/calendar-patterns-icon.js +1 -1
- package/dist/components/checkbox-component.js +1 -1
- package/dist/components/checkbox-group.js +1 -1
- package/dist/components/checkmark-circle-icon.js +1 -1
- package/dist/components/checkmark-icon.js +1 -1
- package/dist/components/chevron-icon.js +1 -1
- package/dist/components/clock-icon.js +1 -1
- package/dist/components/close-icon.js +1 -1
- package/dist/components/copy-icon.js +1 -1
- package/dist/components/delete-icon.js +1 -1
- package/dist/components/document-refresh-icon.js +1 -1
- package/dist/components/dragable-icon.js +1 -1
- package/dist/components/edit-icon.js +1 -1
- package/dist/components/envelope-fill-icon.js +1 -1
- package/dist/components/envelope-icon.js +1 -1
- package/dist/components/eye-icon.js +1 -1
- package/dist/components/feedback-icon.js +1 -1
- package/dist/components/flow-icon.js +1 -1
- package/dist/components/folder-icon.js +1 -1
- package/dist/components/forward-icon.js +1 -1
- package/dist/components/globe-icon.js +1 -1
- package/dist/components/google-logo-icon.js +1 -1
- package/dist/components/google-meet-icon.js +1 -1
- package/dist/components/inbox-icon.js +1 -1
- package/dist/components/info-icon.js +1 -1
- package/dist/components/input-color-picker.js +1 -1
- package/dist/components/input-component.js +1 -1
- package/dist/components/input-dropdown.js +1 -1
- package/dist/components/input-image-url.js +1 -1
- package/dist/components/italic-icon.js +1 -1
- package/dist/components/loading-icon.js +1 -1
- package/dist/components/location-icon.js +1 -1
- package/dist/components/location-off-icon.js +1 -1
- package/dist/components/microsoft-logo-icon.js +1 -1
- package/dist/components/microsoft-teams-icon.js +1 -1
- package/dist/components/multi-select-dropdown.js +1 -1
- package/dist/components/nylas-additional-participants.js +1 -1
- package/dist/components/nylas-availability-picker.js +1 -1
- package/dist/components/nylas-booked-event-card.js +1 -1
- package/dist/components/nylas-booking-calendar-picker.js +1 -1
- package/dist/components/nylas-booking-confirmation-redirect.js +1 -1
- package/dist/components/nylas-booking-confirmation-type.js +1 -1
- package/dist/components/nylas-booking-form-config.js +1 -1
- package/dist/components/nylas-booking-form.js +1 -1
- package/dist/components/nylas-buffer-time.js +1 -1
- package/dist/components/nylas-calendar-picker.js +1 -1
- package/dist/components/nylas-cancel-booking-form.js +1 -1
- package/dist/components/nylas-cancellation-policy.js +1 -1
- package/dist/components/nylas-cancelled-event-card.js +1 -1
- package/dist/components/nylas-confirmation-email.js +1 -1
- package/dist/components/nylas-confirmed-event-card.js +1 -1
- package/dist/components/nylas-connected-calendars.js +1 -1
- package/dist/components/nylas-custom-booking-flow.js +1 -1
- package/dist/components/nylas-custom-event-slug.js +1 -1
- package/dist/components/nylas-customize-booking-settings.js +1 -1
- package/dist/components/nylas-date-component.js +1 -1
- package/dist/components/nylas-date-picker.js +1 -1
- package/dist/components/nylas-disable-emails.js +1 -1
- package/dist/components/nylas-editor-tabs-group.js +1 -1
- package/dist/components/nylas-editor-tabs.js +1 -1
- package/dist/components/nylas-event-calendar.js +1 -1
- package/dist/components/nylas-event-capacity.js +1 -1
- package/dist/components/nylas-event-description.js +1 -1
- package/dist/components/nylas-event-duration.js +1 -1
- package/dist/components/nylas-event-info.js +1 -1
- package/dist/components/nylas-event-limits.js +1 -1
- package/dist/components/nylas-event-location.js +1 -1
- package/dist/components/nylas-event-timeslot.js +1 -1
- package/dist/components/nylas-event-title.js +1 -1
- package/dist/components/nylas-feedback-form.js +1 -1
- package/dist/components/nylas-form-card.js +1 -1
- package/dist/components/nylas-limit-future-bookings.js +1 -1
- package/dist/components/nylas-list-configurations.js +1 -1
- package/dist/components/nylas-locale-switch.js +1 -1
- package/dist/components/nylas-logo.js +1 -1
- package/dist/components/nylas-min-booking-notice.js +1 -1
- package/dist/components/nylas-min-cancellation-notice.js +1 -1
- package/dist/components/nylas-notetaker-config.js +1 -1
- package/dist/components/nylas-notification.js +1 -1
- package/dist/components/nylas-only-specific-time-availability.js +1 -1
- package/dist/components/nylas-organizer-confirmation-card.js +1 -1
- package/dist/components/nylas-page-name.js +1 -1
- package/dist/components/nylas-page-styling.js +1 -1
- package/dist/components/nylas-participant-booking-calendars.js +1 -1
- package/dist/components/nylas-participants-custom-availability.js +1 -1
- package/dist/components/nylas-reminder-emails.js +1 -1
- package/dist/components/nylas-reminder-time.js +1 -1
- package/dist/components/nylas-scheduler-editor.js +128 -103
- package/dist/components/nylas-scheduler-editor.js.map +1 -1
- package/dist/components/nylas-scheduling-method.js +1 -1
- package/dist/components/nylas-scheduling.js +79 -39
- package/dist/components/nylas-scheduling.js.map +1 -1
- package/dist/components/nylas-select-event-type.js +1 -1
- package/dist/components/nylas-selected-event-card.js +1 -1
- package/dist/components/nylas-specific-time-availability-picker.js +1 -1
- package/dist/components/nylas-time-window-picker.js +1 -1
- package/dist/components/nylas-timeslot-interval.js +1 -1
- package/dist/components/nylas-timeslot-picker.js +1 -1
- package/dist/components/{p-DjJOgfxK.js → p-1jCDFlwx.js} +9 -9
- package/dist/components/{p-DjJOgfxK.js.map → p-1jCDFlwx.js.map} +1 -1
- package/dist/components/{p-q7g_LEwC.js → p-36H4hxVv.js} +3 -3
- package/dist/components/{p-q7g_LEwC.js.map → p-36H4hxVv.js.map} +1 -1
- package/dist/components/{p-B2LU95MT.js → p-3FIo8Hrp.js} +3 -3
- package/dist/components/{p-B2LU95MT.js.map → p-3FIo8Hrp.js.map} +1 -1
- package/dist/components/{p-g9YD1HRv.js → p-4McmpmAg.js} +4 -4
- package/dist/components/{p-g9YD1HRv.js.map → p-4McmpmAg.js.map} +1 -1
- package/dist/components/{p-BTwTmU9e.js → p-6Seqe489.js} +21 -21
- package/dist/components/{p-BTwTmU9e.js.map → p-6Seqe489.js.map} +1 -1
- package/dist/components/{p-CL8ugNmu.js → p-8-JIv49C.js} +4 -4
- package/dist/components/{p-CL8ugNmu.js.map → p-8-JIv49C.js.map} +1 -1
- package/dist/components/{p-C4RTQIyO.js → p-9KfwmETj.js} +3 -3
- package/dist/components/{p-C4RTQIyO.js.map → p-9KfwmETj.js.map} +1 -1
- package/dist/components/{p-DGDbXfHm.js → p-B3irHRxH.js} +14 -14
- package/dist/components/{p-DGDbXfHm.js.map → p-B3irHRxH.js.map} +1 -1
- package/dist/components/{p-DZwGCUUK.js → p-B57gyFFu.js} +9 -9
- package/dist/components/{p-DZwGCUUK.js.map → p-B57gyFFu.js.map} +1 -1
- package/dist/components/{p-RPocf_FZ.js → p-BAi0-0s9.js} +19 -19
- package/dist/components/{p-RPocf_FZ.js.map → p-BAi0-0s9.js.map} +1 -1
- package/dist/components/{p-DcjGlnBR.js → p-BBWnrSjc.js} +3 -3
- package/dist/components/{p-DcjGlnBR.js.map → p-BBWnrSjc.js.map} +1 -1
- package/dist/components/{p-DBHtQK2b.js → p-BEvwJe37.js} +3 -3
- package/dist/components/{p-DBHtQK2b.js.map → p-BEvwJe37.js.map} +1 -1
- package/dist/components/{p-BuJdnN6-.js → p-BG5y4pBL.js} +4 -4
- package/dist/components/{p-BuJdnN6-.js.map → p-BG5y4pBL.js.map} +1 -1
- package/dist/components/{p-CRIlyxX5.js → p-BGcFPLlm.js} +10 -10
- package/dist/components/{p-CRIlyxX5.js.map → p-BGcFPLlm.js.map} +1 -1
- package/dist/components/{p-BoUo2hc7.js → p-BJbmwaXD.js} +3 -3
- package/dist/components/{p-BoUo2hc7.js.map → p-BJbmwaXD.js.map} +1 -1
- package/dist/components/{p-BzLxndYA.js → p-BMLPTwTQ.js} +7 -7
- package/dist/components/{p-BzLxndYA.js.map → p-BMLPTwTQ.js.map} +1 -1
- package/dist/components/{p-BrOgWk7y.js → p-BMv8LXnI.js} +3 -3
- package/dist/components/{p-BrOgWk7y.js.map → p-BMv8LXnI.js.map} +1 -1
- package/dist/components/{p-BWbQSVNH.js → p-BOYZzt-4.js} +7 -7
- package/dist/components/{p-BWbQSVNH.js.map → p-BOYZzt-4.js.map} +1 -1
- package/dist/components/{p-CdPtFwy6.js → p-BQ5o0vvR.js} +5 -5
- package/dist/components/{p-CdPtFwy6.js.map → p-BQ5o0vvR.js.map} +1 -1
- package/dist/components/{p-DPwhlVlN.js → p-BTqJQKYU.js} +3 -3
- package/dist/components/{p-DPwhlVlN.js.map → p-BTqJQKYU.js.map} +1 -1
- package/dist/components/{p-DUVwWh7e.js → p-BU16FiC8.js} +13 -13
- package/dist/components/{p-DUVwWh7e.js.map → p-BU16FiC8.js.map} +1 -1
- package/dist/components/{p-CpGRDWt9.js → p-BVIbhcW2.js} +4 -4
- package/dist/components/{p-CpGRDWt9.js.map → p-BVIbhcW2.js.map} +1 -1
- package/dist/components/{p-B2cPNmM_.js → p-BVZnq2zV.js} +9 -9
- package/dist/components/{p-B2cPNmM_.js.map → p-BVZnq2zV.js.map} +1 -1
- package/dist/components/{p-B3cnALr8.js → p-BVq4mTYg.js} +68 -28
- package/dist/components/p-BVq4mTYg.js.map +1 -0
- package/dist/components/{p-CuaQW941.js → p-BaX-h68d.js} +6 -6
- package/dist/components/{p-CuaQW941.js.map → p-BaX-h68d.js.map} +1 -1
- package/dist/components/{p-hipsVOV5.js → p-Baw3jP2X.js} +3 -3
- package/dist/components/{p-hipsVOV5.js.map → p-Baw3jP2X.js.map} +1 -1
- package/dist/components/{p-BnEkgCIs.js → p-Bbt9980R.js} +3 -3
- package/dist/components/{p-BnEkgCIs.js.map → p-Bbt9980R.js.map} +1 -1
- package/dist/components/{p-BAKh5tMf.js → p-BcHelLHv.js} +3 -3
- package/dist/components/{p-BAKh5tMf.js.map → p-BcHelLHv.js.map} +1 -1
- package/dist/components/{p-ChXM0wCn.js → p-BgzT-67i.js} +3 -3
- package/dist/components/{p-ChXM0wCn.js.map → p-BgzT-67i.js.map} +1 -1
- package/dist/components/{p-BqD6DKLT.js → p-BnLt26W8.js} +7 -7
- package/dist/components/{p-BqD6DKLT.js.map → p-BnLt26W8.js.map} +1 -1
- package/dist/components/{p-xMlGGw2N.js → p-BuYNWtp6.js} +3 -3
- package/dist/components/{p-xMlGGw2N.js.map → p-BuYNWtp6.js.map} +1 -1
- package/dist/components/{p-CyzGRI94.js → p-BvqNXgYj.js} +3 -3
- package/dist/components/{p-CyzGRI94.js.map → p-BvqNXgYj.js.map} +1 -1
- package/dist/components/{p-DDd7Mjvz.js → p-ByoRiTiK.js} +7 -7
- package/dist/components/{p-DDd7Mjvz.js.map → p-ByoRiTiK.js.map} +1 -1
- package/dist/components/{p-Ch_HOS-9.js → p-BzjixeLc.js} +7 -7
- package/dist/components/{p-Ch_HOS-9.js.map → p-BzjixeLc.js.map} +1 -1
- package/dist/components/{p-DfxhC7Fd.js → p-C1JOYWhj.js} +12 -12
- package/dist/components/{p-DfxhC7Fd.js.map → p-C1JOYWhj.js.map} +1 -1
- package/dist/components/{p-CzSowwcD.js → p-C2bWg9rc.js} +7 -7
- package/dist/components/{p-CzSowwcD.js.map → p-C2bWg9rc.js.map} +1 -1
- package/dist/components/{p-C4BZ4XFc.js → p-C35dU4J2.js} +3 -3
- package/dist/components/{p-C4BZ4XFc.js.map → p-C35dU4J2.js.map} +1 -1
- package/dist/components/{p-CvLWbTI_.js → p-C4QSwxPr.js} +3 -3
- package/dist/components/{p-CvLWbTI_.js.map → p-C4QSwxPr.js.map} +1 -1
- package/dist/components/{p-DEbbVkgj.js → p-C6ARzQ6M.js} +3 -3
- package/dist/components/{p-DEbbVkgj.js.map → p-C6ARzQ6M.js.map} +1 -1
- package/dist/components/{p-BYzkNeMW.js → p-CBjtU882.js} +5 -5
- package/dist/components/{p-BYzkNeMW.js.map → p-CBjtU882.js.map} +1 -1
- package/dist/components/{p-oRjUujH5.js → p-CDME1l9h.js} +8 -8
- package/dist/components/{p-oRjUujH5.js.map → p-CDME1l9h.js.map} +1 -1
- package/dist/components/{p-Dl0Yur5r.js → p-CGkcVt8h.js} +3 -3
- package/dist/components/{p-Dl0Yur5r.js.map → p-CGkcVt8h.js.map} +1 -1
- package/dist/components/{p-D0137Jos.js → p-CI1nvbUl.js} +10 -10
- package/dist/components/{p-D0137Jos.js.map → p-CI1nvbUl.js.map} +1 -1
- package/dist/components/{p-CUe11ohy.js → p-CKiOTF7Z.js} +7 -7
- package/dist/components/{p-CUe11ohy.js.map → p-CKiOTF7Z.js.map} +1 -1
- package/dist/components/{p-CdAJ8ry_.js → p-CNj6i-JK.js} +3 -3
- package/dist/components/{p-CdAJ8ry_.js.map → p-CNj6i-JK.js.map} +1 -1
- package/dist/components/{p-fwU4mtR0.js → p-COaWG_Zh.js} +5 -5
- package/dist/components/{p-fwU4mtR0.js.map → p-COaWG_Zh.js.map} +1 -1
- package/dist/components/{p-D5Swz0J4.js → p-CQvNQk_r.js} +10 -10
- package/dist/components/{p-D5Swz0J4.js.map → p-CQvNQk_r.js.map} +1 -1
- package/dist/components/{p-BBxu-pwN.js → p-CRWfdwTk.js} +14 -14
- package/dist/components/{p-BBxu-pwN.js.map → p-CRWfdwTk.js.map} +1 -1
- package/dist/components/{p-CahZPm95.js → p-CWNABkMS.js} +4 -4
- package/dist/components/{p-CahZPm95.js.map → p-CWNABkMS.js.map} +1 -1
- package/dist/components/p-CWplx7sA.js.map +1 -1
- package/dist/components/{p-CyWE9dXK.js → p-C_MBjjfN.js} +3 -3
- package/dist/components/{p-CyWE9dXK.js.map → p-C_MBjjfN.js.map} +1 -1
- package/dist/components/{p-DxDoo-4C.js → p-C_a8Brku.js} +4 -4
- package/dist/components/{p-DxDoo-4C.js.map → p-C_a8Brku.js.map} +1 -1
- package/dist/components/{p-D_daFt1t.js → p-CbIFnpIT.js} +10 -10
- package/dist/components/{p-D_daFt1t.js.map → p-CbIFnpIT.js.map} +1 -1
- package/dist/components/{p-CJvmK-NM.js → p-Cf47JDzZ.js} +3 -3
- package/dist/components/{p-CJvmK-NM.js.map → p-Cf47JDzZ.js.map} +1 -1
- package/dist/components/{p-CeKOSPvz.js → p-ChvVcov-.js} +8 -8
- package/dist/components/{p-CeKOSPvz.js.map → p-ChvVcov-.js.map} +1 -1
- package/dist/components/{p-D7z2dNXN.js → p-CixxWdv6.js} +3 -3
- package/dist/components/{p-D7z2dNXN.js.map → p-CixxWdv6.js.map} +1 -1
- package/dist/components/{p-BF0muZ9G.js → p-CkIBsfNB.js} +3 -3
- package/dist/components/{p-BF0muZ9G.js.map → p-CkIBsfNB.js.map} +1 -1
- package/dist/components/{p-BGbMXlLy.js → p-CneutSrB.js} +6 -6
- package/dist/components/{p-BGbMXlLy.js.map → p-CneutSrB.js.map} +1 -1
- package/dist/components/{p-D9mHh12b.js → p-Coy-5_RU.js} +8 -8
- package/dist/components/{p-D9mHh12b.js.map → p-Coy-5_RU.js.map} +1 -1
- package/dist/components/{p-CDDw-hf8.js → p-Cr0OL9Ww.js} +3 -3
- package/dist/components/{p-CDDw-hf8.js.map → p-Cr0OL9Ww.js.map} +1 -1
- package/dist/components/{p-CXkCnHr5.js → p-CrAcXVaG.js} +5 -5
- package/dist/components/{p-CXkCnHr5.js.map → p-CrAcXVaG.js.map} +1 -1
- package/dist/components/{p-BNuHkEZZ.js → p-CsyulOVn.js} +3 -3
- package/dist/components/{p-BNuHkEZZ.js.map → p-CsyulOVn.js.map} +1 -1
- package/dist/components/{p-DMwaGWVu.js → p-D-DEVTDE.js} +6 -6
- package/dist/components/{p-DMwaGWVu.js.map → p-D-DEVTDE.js.map} +1 -1
- package/dist/components/{p-BVH0Klhu.js → p-D0NY8UNC.js} +4 -4
- package/dist/components/{p-BVH0Klhu.js.map → p-D0NY8UNC.js.map} +1 -1
- package/dist/components/{p-BD4aqMeC.js → p-D1XyN1j_.js} +3 -3
- package/dist/components/{p-BD4aqMeC.js.map → p-D1XyN1j_.js.map} +1 -1
- package/dist/components/{p-D0qMgeBc.js → p-D30JsuKI.js} +6 -6
- package/dist/components/{p-D0qMgeBc.js.map → p-D30JsuKI.js.map} +1 -1
- package/dist/components/{p-BT5kT23k.js → p-D5y9oXD0.js} +3 -3
- package/dist/components/{p-BT5kT23k.js.map → p-D5y9oXD0.js.map} +1 -1
- package/dist/components/{p-3FTb1-in.js → p-D9XKQ809.js} +33 -33
- package/dist/components/{p-3FTb1-in.js.map → p-D9XKQ809.js.map} +1 -1
- package/dist/components/{p-BSfQxQEN.js → p-DA5RYBjv.js} +3 -3
- package/dist/components/{p-BSfQxQEN.js.map → p-DA5RYBjv.js.map} +1 -1
- package/dist/components/{p-Cyk3GcD_.js → p-DEI76q16.js} +3 -3
- package/dist/components/{p-Cyk3GcD_.js.map → p-DEI76q16.js.map} +1 -1
- package/dist/components/{p-UTn_XnKO.js → p-DEJGXMSG.js} +8 -8
- package/dist/components/{p-UTn_XnKO.js.map → p-DEJGXMSG.js.map} +1 -1
- package/dist/components/{p-DcXycU5_.js → p-DEggxpVo.js} +6 -6
- package/dist/components/{p-DcXycU5_.js.map → p-DEggxpVo.js.map} +1 -1
- package/dist/components/{p-eV80kRKP.js → p-DGEm3ZTt.js} +3 -3
- package/dist/components/{p-eV80kRKP.js.map → p-DGEm3ZTt.js.map} +1 -1
- package/dist/components/{p-Ce8gcoEa.js → p-DHb99Cgm.js} +3 -3
- package/dist/components/{p-Ce8gcoEa.js.map → p-DHb99Cgm.js.map} +1 -1
- package/dist/components/{p-CzVZs3uZ.js → p-DK6-bZYK.js} +3 -3
- package/dist/components/{p-CzVZs3uZ.js.map → p-DK6-bZYK.js.map} +1 -1
- package/dist/components/{p-CT64yPEO.js → p-DP99QPpi.js} +3 -3
- package/dist/components/{p-CT64yPEO.js.map → p-DP99QPpi.js.map} +1 -1
- package/dist/components/{p-Ctot3asB.js → p-DTNmzKXY.js} +82 -82
- package/dist/components/{p-Ctot3asB.js.map → p-DTNmzKXY.js.map} +1 -1
- package/dist/components/{p-kbilJltW.js → p-DTtKd-E-.js} +3 -3
- package/dist/components/{p-kbilJltW.js.map → p-DTtKd-E-.js.map} +1 -1
- package/dist/components/{p-Cs_iJUbv.js → p-DVNLlxnG.js} +3 -3
- package/dist/components/{p-Cs_iJUbv.js.map → p-DVNLlxnG.js.map} +1 -1
- package/dist/components/{p-Bsd63RFi.js → p-DXQVWZkn.js} +3 -3
- package/dist/components/{p-Bsd63RFi.js.map → p-DXQVWZkn.js.map} +1 -1
- package/dist/components/{p-ao6VxuAL.js → p-DY3hmp0T.js} +3 -3
- package/dist/components/{p-ao6VxuAL.js.map → p-DY3hmp0T.js.map} +1 -1
- package/dist/components/{p-CFeDwD40.js → p-DZJQ_Wck.js} +3 -3
- package/dist/components/{p-CFeDwD40.js.map → p-DZJQ_Wck.js.map} +1 -1
- package/dist/components/{p-UNYO4Uen.js → p-DZLca44K.js} +3 -3
- package/dist/components/{p-UNYO4Uen.js.map → p-DZLca44K.js.map} +1 -1
- package/dist/components/{p-Ci-pKDnr.js → p-DdUGpBp4.js} +6 -6
- package/dist/components/{p-Ci-pKDnr.js.map → p-DdUGpBp4.js.map} +1 -1
- package/dist/components/{p-O9btdnkK.js → p-DgN2U3G8.js} +15 -15
- package/dist/components/{p-O9btdnkK.js.map → p-DgN2U3G8.js.map} +1 -1
- package/dist/components/{p-Bvnci8k8.js → p-DhC3_luJ.js} +8 -8
- package/dist/components/{p-Bvnci8k8.js.map → p-DhC3_luJ.js.map} +1 -1
- package/dist/components/{p-uxA_4Zq1.js → p-Di9JUVGX.js} +9 -9
- package/dist/components/{p-uxA_4Zq1.js.map → p-Di9JUVGX.js.map} +1 -1
- package/dist/components/{p-BkqJQBCp.js → p-DjZdyHmc.js} +3 -3
- package/dist/components/{p-BkqJQBCp.js.map → p-DjZdyHmc.js.map} +1 -1
- package/dist/components/{p-CBBEkysd.js → p-DjtrM_3t.js} +3 -3
- package/dist/components/{p-CBBEkysd.js.map → p-DjtrM_3t.js.map} +1 -1
- package/dist/components/{p-C9Mlv9rC.js → p-DoA5ft2W.js} +3 -3
- package/dist/components/{p-C9Mlv9rC.js.map → p-DoA5ft2W.js.map} +1 -1
- package/dist/components/{p-Begx19Z9.js → p-DpipCjQf.js} +5 -5
- package/dist/components/{p-Begx19Z9.js.map → p-DpipCjQf.js.map} +1 -1
- package/dist/components/{p-C7ZpwRD0.js → p-DprQSn90.js} +3 -3
- package/dist/components/{p-C7ZpwRD0.js.map → p-DprQSn90.js.map} +1 -1
- package/dist/components/{p-d3kelm3z.js → p-DsvNvqOg.js} +3 -3
- package/dist/components/{p-d3kelm3z.js.map → p-DsvNvqOg.js.map} +1 -1
- package/dist/components/{p-wphqTozF.js → p-DtEl3UXW.js} +6 -6
- package/dist/components/{p-wphqTozF.js.map → p-DtEl3UXW.js.map} +1 -1
- package/dist/components/{p-BJ5a9k3B.js → p-GiOcqWdY.js} +7 -7
- package/dist/components/{p-BJ5a9k3B.js.map → p-GiOcqWdY.js.map} +1 -1
- package/dist/components/{p-C7J83Us-.js → p-IJzc7eB1.js} +3 -3
- package/dist/components/{p-C7J83Us-.js.map → p-IJzc7eB1.js.map} +1 -1
- package/dist/components/{p-jBYg7WMS.js → p-LgZAWXty.js} +3 -3
- package/dist/components/{p-jBYg7WMS.js.map → p-LgZAWXty.js.map} +1 -1
- package/dist/components/{p-NA5f_7b7.js → p-LopVARiX.js} +5 -5
- package/dist/components/{p-NA5f_7b7.js.map → p-LopVARiX.js.map} +1 -1
- package/dist/components/{p-D42UGkjM.js → p-UIE8SSzy.js} +3 -3
- package/dist/components/{p-D42UGkjM.js.map → p-UIE8SSzy.js.map} +1 -1
- package/dist/components/{p-Dj1TLa3T.js → p-VZFbCMYS.js} +3 -3
- package/dist/components/{p-Dj1TLa3T.js.map → p-VZFbCMYS.js.map} +1 -1
- package/dist/components/{p-BMmtU0fv.js → p-ViLIEy7H.js} +6 -6
- package/dist/components/{p-BMmtU0fv.js.map → p-ViLIEy7H.js.map} +1 -1
- package/dist/components/{p-qo42Sy8T.js → p-Yo5k5FWd.js} +15 -15
- package/dist/components/{p-qo42Sy8T.js.map → p-Yo5k5FWd.js.map} +1 -1
- package/dist/components/{p-2UDpTS-K.js → p-Z5I7z8cD.js} +96 -96
- package/dist/components/{p-2UDpTS-K.js.map → p-Z5I7z8cD.js.map} +1 -1
- package/dist/components/{p-nhhVpJed.js → p-cJqQhTj-.js} +10 -10
- package/dist/components/{p-nhhVpJed.js.map → p-cJqQhTj-.js.map} +1 -1
- package/dist/components/{p-LOCJMijY.js → p-cf3Hv5c6.js} +6 -6
- package/dist/components/{p-LOCJMijY.js.map → p-cf3Hv5c6.js.map} +1 -1
- package/dist/components/{p-DPPqmJvY.js → p-h9VWezZP.js} +4 -4
- package/dist/components/{p-DPPqmJvY.js.map → p-h9VWezZP.js.map} +1 -1
- package/dist/components/{p-37a4h3J_.js → p-kIZ75-15.js} +10 -10
- package/dist/components/{p-37a4h3J_.js.map → p-kIZ75-15.js.map} +1 -1
- package/dist/components/{p-DPL6BIu2.js → p-lDYP9du3.js} +9 -9
- package/dist/components/{p-DPL6BIu2.js.map → p-lDYP9du3.js.map} +1 -1
- package/dist/components/{p-D4gKLnje.js → p-mIi7Upj2.js} +16 -16
- package/dist/components/{p-D4gKLnje.js.map → p-mIi7Upj2.js.map} +1 -1
- package/dist/components/{p-CdBb4zI5.js → p-mkkcd81V.js} +17 -17
- package/dist/components/{p-CdBb4zI5.js.map → p-mkkcd81V.js.map} +1 -1
- package/dist/components/{p-DOryfnIf.js → p-mw0JEKw8.js} +5 -5
- package/dist/components/{p-DOryfnIf.js.map → p-mw0JEKw8.js.map} +1 -1
- package/dist/components/{p-DS6Ijr4M.js → p-n1qnMrWE.js} +3 -3
- package/dist/components/{p-DS6Ijr4M.js.map → p-n1qnMrWE.js.map} +1 -1
- package/dist/components/{p-wJgbEd5m.js → p-n4JDuNbH.js} +9 -9
- package/dist/components/{p-wJgbEd5m.js.map → p-n4JDuNbH.js.map} +1 -1
- package/dist/components/{p-96zW11tR.js → p-r182lPIw.js} +6 -6
- package/dist/components/{p-96zW11tR.js.map → p-r182lPIw.js.map} +1 -1
- package/dist/components/{p-ByDfkWkX.js → p-xXZAaFtS.js} +3 -3
- package/dist/components/{p-ByDfkWkX.js.map → p-xXZAaFtS.js.map} +1 -1
- package/dist/components/{p-OhUC7F_g.js → p-zT4P9vUn.js} +3 -3
- package/dist/components/{p-OhUC7F_g.js.map → p-zT4P9vUn.js.map} +1 -1
- package/dist/components/paintbrush-fill-icon.js +1 -1
- package/dist/components/paintbrush-icon.js +1 -1
- package/dist/components/people-icon.js +1 -1
- package/dist/components/person-clipboard-icon.js +1 -1
- package/dist/components/person-icon.js +1 -1
- package/dist/components/play-icon.js +1 -1
- package/dist/components/plus-icon.js +1 -1
- package/dist/components/radio-button-group.js +1 -1
- package/dist/components/refresh-icon.js +1 -1
- package/dist/components/reply-all-icon.js +1 -1
- package/dist/components/reply-icon.js +1 -1
- package/dist/components/search-icon.js +1 -1
- package/dist/components/select-dropdown.js +1 -1
- package/dist/components/sent-icon.js +1 -1
- package/dist/components/spam-icon.js +1 -1
- package/dist/components/star-icon.js +1 -1
- package/dist/components/stop-icon.js +1 -1
- package/dist/components/textarea-component.js +1 -1
- package/dist/components/time-period-selector.js +1 -1
- package/dist/components/toggle-switch.js +1 -1
- package/dist/components/tooltip-component.js +1 -1
- package/dist/components/translate-icon.js +1 -1
- package/dist/components/trash-fill-icon.js +1 -1
- package/dist/components/trash-icon.js +1 -1
- package/dist/components/underline-icon.js +1 -1
- package/dist/components/warning-icon.js +1 -1
- package/dist/components/zoom-icon.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/arrow-icon.entry.js +1 -1
- package/dist/esm/bold-icon.entry.js +1 -1
- package/dist/esm/button-component_2.entry.js +2 -2
- package/dist/esm/calendar-agenda-fill-icon_39.entry.js +47 -47
- package/dist/esm/calendar-cancel-icon.entry.js +1 -1
- package/dist/esm/calendar-check-icon.entry.js +1 -1
- package/dist/esm/calendar-icon.entry.js +1 -1
- package/dist/esm/checkbox-component.entry.js +1 -1
- package/dist/esm/checkbox-group_4.entry.js +5 -5
- package/dist/esm/checkmark-circle-icon.entry.js +1 -1
- package/dist/esm/checkmark-icon_14.entry.js +16 -16
- package/dist/esm/chevron-icon_3.entry.js +4 -4
- package/dist/esm/clock-icon_2.entry.js +2 -2
- package/dist/esm/delete-icon.entry.js +1 -1
- package/dist/esm/document-refresh-icon.entry.js +1 -1
- package/dist/esm/folder-icon.entry.js +1 -1
- package/dist/esm/forward-icon.entry.js +1 -1
- package/dist/esm/globe-icon_3.entry.js +5 -5
- package/dist/esm/google-logo-icon_6.entry.js +13 -13
- package/dist/esm/google-meet-icon_5.entry.js +5 -5
- package/dist/esm/inbox-icon.entry.js +1 -1
- package/dist/esm/info-icon_2.entry.js +3 -3
- package/dist/esm/input-component.entry.js +1 -1
- package/dist/esm/input-dropdown_2.entry.js +2 -2
- package/dist/esm/input-image-url_2.entry.js +2 -2
- package/dist/esm/italic-icon.entry.js +1 -1
- package/dist/esm/multi-select-dropdown.entry.js +2 -2
- package/dist/esm/nylas-booked-event-card_11.entry.js +59 -19
- package/dist/esm/nylas-booked-event-card_11.entry.js.map +1 -1
- package/dist/esm/nylas-form-card.entry.js +1 -1
- package/dist/esm/nylas-notification_2.entry.js +2 -2
- package/dist/esm/nylas-scheduler-editor.entry.js +29 -4
- package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
- package/dist/esm/nylas-scheduling.entry.js +41 -1
- package/dist/esm/nylas-scheduling.entry.js.map +1 -1
- package/dist/esm/person-icon.entry.js +1 -1
- package/dist/esm/play-icon.entry.js +1 -1
- 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/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/toggle-switch.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/underline-icon.entry.js +1 -1
- package/dist/esm/{version-B5EM2UED.js → version-CYTx0-4Z.js} +3 -3
- package/dist/esm/version-CYTx0-4Z.js.map +1 -0
- package/dist/nylas-web-elements/nylas-scheduler-editor.entry.esm.js.map +1 -1
- package/dist/nylas-web-elements/nylas-scheduling.entry.esm.js.map +1 -1
- package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
- package/dist/nylas-web-elements/{p-219fd6f9.entry.js → p-00183807.entry.js} +2 -2
- package/dist/nylas-web-elements/p-080096b9.entry.js +2 -0
- package/dist/nylas-web-elements/p-204ef0b9.entry.js +2 -0
- package/dist/nylas-web-elements/{p-37c5834c.entry.js → p-20b88057.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-87f52db7.entry.js → p-22a55c18.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-11f478bd.entry.js → p-38c87a6e.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-991b94bd.entry.js → p-3b627f4c.entry.js} +2 -2
- package/dist/nylas-web-elements/p-48188b92.entry.js +2 -0
- package/dist/nylas-web-elements/p-48188b92.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-932456ba.entry.js → p-4d170fc4.entry.js} +2 -2
- package/dist/nylas-web-elements/p-4dac5ab9.entry.js +2 -0
- package/dist/nylas-web-elements/{p-7fe0b3bb.entry.js.map → p-4dac5ab9.entry.js.map} +1 -1
- package/dist/nylas-web-elements/p-4f601ebb.entry.js +2 -0
- package/dist/nylas-web-elements/{p-3d1fd865.entry.js → p-50ffbf25.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-81af9950.entry.js → p-54437b43.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-f4516330.entry.js → p-55ce6edc.entry.js} +2 -2
- package/dist/nylas-web-elements/p-59d181d5.entry.js +2 -0
- package/dist/nylas-web-elements/{p-0ae1a52e.entry.js → p-5d3ae749.entry.js} +3 -3
- package/dist/nylas-web-elements/p-5d3ae749.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-6e8fdf58.entry.js +2 -0
- package/dist/nylas-web-elements/p-722e1419.entry.js +2 -0
- package/dist/nylas-web-elements/p-72662447.entry.js +2 -0
- package/dist/nylas-web-elements/{p-f45da541.entry.js → p-75647771.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-eb5b77ab.entry.js → p-759d71a9.entry.js} +2 -2
- package/dist/nylas-web-elements/p-7928b915.entry.js +2 -0
- package/dist/nylas-web-elements/{p-0745cbcc.entry.js → p-7a877959.entry.js} +2 -2
- package/dist/nylas-web-elements/p-7d28bcb7.entry.js +2 -0
- package/dist/nylas-web-elements/{p-af340293.entry.js → p-81eaa606.entry.js} +2 -2
- package/dist/nylas-web-elements/p-828469d5.entry.js +2 -0
- package/dist/nylas-web-elements/{p-c96b6f73.entry.js → p-829e73ef.entry.js} +2 -2
- package/dist/nylas-web-elements/p-82b39e7c.entry.js +2 -0
- package/dist/nylas-web-elements/p-82b39e7c.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-9676f7ac.entry.js +2 -0
- package/dist/nylas-web-elements/{p-95c4f538.entry.js → p-9c0129c6.entry.js} +2 -2
- package/dist/nylas-web-elements/p-9cbcc79c.entry.js +2 -0
- package/dist/nylas-web-elements/{p-B5EM2UED.js → p-CYTx0-4Z.js} +2 -2
- package/dist/nylas-web-elements/p-CYTx0-4Z.js.map +1 -0
- package/dist/nylas-web-elements/{p-7930474b.entry.js → p-a03ea995.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-84c3921f.entry.js → p-a6c1f77e.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-974fce52.entry.js → p-af92dd91.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-9dd10333.entry.js → p-b180424a.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-1741705d.entry.js → p-bade8744.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-fed4cb19.entry.js → p-bd7a8916.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-02343d66.entry.js → p-be15cad1.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-0c276fdb.entry.js → p-c107eaf2.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-7876f3e5.entry.js → p-c273be7d.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-a5bb5b9d.entry.js → p-c93b620f.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-c0f88f23.entry.js → p-cd97fc2f.entry.js} +2 -2
- package/dist/nylas-web-elements/p-dca1f249.entry.js +2 -0
- package/dist/nylas-web-elements/{p-2491c840.entry.js → p-e4353ee3.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-1618c8ac.entry.js → p-eac0a540.entry.js} +3 -3
- package/dist/nylas-web-elements/p-edb44a77.entry.js +2 -0
- package/dist/nylas-web-elements/{p-d48d8562.entry.js → p-f4449902.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-3a8194c2.entry.js → p-f5ccd7f3.entry.js} +2 -2
- package/dist/nylas-web-elements/p-fdf56450.entry.js +2 -0
- package/dist/nylas-web-elements/p-ff27e57b.entry.js +2 -0
- package/dist/types/common/types.d.ts +2 -0
- package/dist/types/components/scheduler/nylas-booking-form/nylas-booking-form.d.ts +6 -0
- package/dist/types/components/scheduler/nylas-scheduling/nylas-scheduling.d.ts +1 -0
- package/dist/types/components.d.ts +14 -4
- package/dist/types/connector/shared/api/scheduler.d.ts +2 -0
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/version-Dvnf44vW.js.map +0 -1
- package/dist/components/p-B3cnALr8.js.map +0 -1
- package/dist/esm/version-B5EM2UED.js.map +0 -1
- package/dist/nylas-web-elements/p-0ae1a52e.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-16db18a3.entry.js +0 -2
- package/dist/nylas-web-elements/p-37eedc9d.entry.js +0 -2
- package/dist/nylas-web-elements/p-43c3f331.entry.js +0 -2
- package/dist/nylas-web-elements/p-4a2bcec0.entry.js +0 -2
- package/dist/nylas-web-elements/p-55b2df61.entry.js +0 -2
- package/dist/nylas-web-elements/p-68195a72.entry.js +0 -2
- package/dist/nylas-web-elements/p-7fe0b3bb.entry.js +0 -2
- package/dist/nylas-web-elements/p-88e89256.entry.js +0 -2
- package/dist/nylas-web-elements/p-9c8a524c.entry.js +0 -2
- package/dist/nylas-web-elements/p-9c8a524c.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-B5EM2UED.js.map +0 -1
- package/dist/nylas-web-elements/p-a3baa9bf.entry.js +0 -2
- package/dist/nylas-web-elements/p-a94cbeb7.entry.js +0 -2
- package/dist/nylas-web-elements/p-bca85255.entry.js +0 -2
- package/dist/nylas-web-elements/p-c7f4c268.entry.js +0 -2
- package/dist/nylas-web-elements/p-c7f4c268.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-de990849.entry.js +0 -2
- package/dist/nylas-web-elements/p-e2dd457a.entry.js +0 -2
- package/dist/nylas-web-elements/p-e734cde9.entry.js +0 -2
- package/dist/nylas-web-elements/p-ed89219a.entry.js +0 -2
- package/dist/nylas-web-elements/p-f0406089.entry.js +0 -2
- package/dist/nylas-web-elements/p-f7f2c232.entry.js +0 -2
- /package/dist/nylas-web-elements/{p-219fd6f9.entry.js.map → p-00183807.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-68195a72.entry.js.map → p-080096b9.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-a3baa9bf.entry.js.map → p-204ef0b9.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-37c5834c.entry.js.map → p-20b88057.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-87f52db7.entry.js.map → p-22a55c18.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-11f478bd.entry.js.map → p-38c87a6e.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-991b94bd.entry.js.map → p-3b627f4c.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-932456ba.entry.js.map → p-4d170fc4.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f7f2c232.entry.js.map → p-4f601ebb.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3d1fd865.entry.js.map → p-50ffbf25.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-81af9950.entry.js.map → p-54437b43.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f4516330.entry.js.map → p-55ce6edc.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-55b2df61.entry.js.map → p-59d181d5.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-37eedc9d.entry.js.map → p-6e8fdf58.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-88e89256.entry.js.map → p-722e1419.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-43c3f331.entry.js.map → p-72662447.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f45da541.entry.js.map → p-75647771.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-eb5b77ab.entry.js.map → p-759d71a9.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-de990849.entry.js.map → p-7928b915.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-0745cbcc.entry.js.map → p-7a877959.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-16db18a3.entry.js.map → p-7d28bcb7.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-af340293.entry.js.map → p-81eaa606.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-bca85255.entry.js.map → p-828469d5.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-c96b6f73.entry.js.map → p-829e73ef.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-e734cde9.entry.js.map → p-9676f7ac.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-95c4f538.entry.js.map → p-9c0129c6.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f0406089.entry.js.map → p-9cbcc79c.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-7930474b.entry.js.map → p-a03ea995.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-84c3921f.entry.js.map → p-a6c1f77e.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-974fce52.entry.js.map → p-af92dd91.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-9dd10333.entry.js.map → p-b180424a.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-1741705d.entry.js.map → p-bade8744.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-fed4cb19.entry.js.map → p-bd7a8916.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-02343d66.entry.js.map → p-be15cad1.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-0c276fdb.entry.js.map → p-c107eaf2.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-7876f3e5.entry.js.map → p-c273be7d.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-a5bb5b9d.entry.js.map → p-c93b620f.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-c0f88f23.entry.js.map → p-cd97fc2f.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-4a2bcec0.entry.js.map → p-dca1f249.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-2491c840.entry.js.map → p-e4353ee3.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-1618c8ac.entry.js.map → p-eac0a540.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-ed89219a.entry.js.map → p-edb44a77.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-d48d8562.entry.js.map → p-f4449902.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3a8194c2.entry.js.map → p-f5ccd7f3.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-a94cbeb7.entry.js.map → p-fdf56450.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-e2dd457a.entry.js.map → p-ff27e57b.entry.js.map} +0 -0
|
@@ -463,11 +463,11 @@ const TooltipComponent = proxyCustomElement(class TooltipComponent extends H {
|
|
|
463
463
|
}
|
|
464
464
|
}
|
|
465
465
|
render() {
|
|
466
|
-
return (h("div", { key: '
|
|
466
|
+
return (h("div", { key: '2e68ab64c126d2c1e153b9254a48081dbc0fbecb', class: "tooltip-container", part: "tc__container" }, h("span", { key: '0228fe439c4244f274eb23ac95cdb45f032742d8', class: "info-icon", tabindex: "0", role: "button", "aria-describedby": this.tooltipId, "aria-expanded": this.isVisible ? 'true' : 'false', "aria-pressed": this.isPinned ? 'true' : 'false', onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("slot", { key: '1cae03ea14b8ade385ba7f54d2a6363d906e3477', name: "tooltip-icon" }, "i")), h("div", { key: 'a09a9bb712409f98313f87f86b299fcd845a3cb5', style: { display: 'none' } }, h("slot", { key: '19123cf1b7298754f2b8f2ad09fb9317c762b522', name: "tooltip-content" }, "This is a help text.")), h("span", { key: '0549f27887e68b763bc3bc83b4a39aec7a07ca52', id: this.tooltipId, role: "tooltip", "aria-hidden": !this.isVisible ? 'true' : 'false', class: {
|
|
467
467
|
'tooltip-content': true,
|
|
468
468
|
'tooltip-visible': this.isVisible,
|
|
469
469
|
[this.actualPosition]: true,
|
|
470
|
-
}, part: "tc__content", style: { display: 'none' } }, h("slot", { key: '
|
|
470
|
+
}, part: "tc__content", style: { display: 'none' } }, h("slot", { key: 'a46a202575dba624455ba5b10928ad7e3cbed5fa', name: "tooltip-content-aria" }, h("slot", { key: 'e8d7a6775603b415e938112cf33689ae21071291', name: "tooltip-content" }, "This is a help text.")))));
|
|
471
471
|
}
|
|
472
472
|
get el() { return this; }
|
|
473
473
|
static get style() { return tooltipComponentCss; }
|
|
@@ -500,6 +500,6 @@ function defineCustomElement() {
|
|
|
500
500
|
}
|
|
501
501
|
|
|
502
502
|
export { TooltipComponent as T, defineCustomElement as d };
|
|
503
|
-
//# sourceMappingURL=p-
|
|
503
|
+
//# sourceMappingURL=p-C_a8Brku.js.map
|
|
504
504
|
|
|
505
|
-
//# sourceMappingURL=p-
|
|
505
|
+
//# sourceMappingURL=p-C_a8Brku.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-DxDoo-4C.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/tooltip-component/tooltip-component.scss?tag=tooltip-component&encapsulation=shadow","src/components/design-system/tooltip-component/toolitp-component.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: inline-flex;\n @include default-css-variables;\n}\n\n.tooltip-container {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.info-icon {\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n outline: none;\n transition: opacity 0.2s ease-in-out;\n border-radius: 2px;\n\n &:hover {\n opacity: 0.8;\n }\n\n &:active {\n opacity: 0.6;\n }\n\n &:focus-visible {\n outline: 2px solid var(--nylas-primary-500, #2563eb);\n outline-offset: 2px;\n border-radius: 2px;\n }\n\n &[aria-pressed='true'] {\n opacity: 1;\n background-color: var(--nylas-primary-50, rgba(37, 99, 235, 0.1));\n border-radius: 4px;\n }\n}\n\n// Hidden tooltip content for accessibility (actual tooltip rendered in portal)\n.tooltip-content {\n // This element is visually hidden but available for ARIA\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n","import { Component, Element, Prop, State, h, Listen, Method } from '@stencil/core';\n\ntype TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\ntype TooltipAlignment = 'start' | 'center' | 'end';\n\ninterface PositionResult {\n x: number;\n y: number;\n placement: TooltipPosition;\n arrowX: number;\n arrowY: number;\n maxWidth?: number;\n maxHeight?: number;\n}\n\n/**\n * The `tooltip-component` component is a UI component that displays a tooltip.\n * It uses a portal pattern to render the tooltip content to the document body,\n * ensuring proper positioning even when inside transformed containers or shadow DOM.\n *\n * @part tc__container - The tooltip container.\n * @part tc__content - The tooltip content.\n */\n@Component({\n tag: 'tooltip-component',\n styleUrl: 'tooltip-component.scss',\n shadow: true,\n})\nexport class TooltipComponent {\n @Element() el!: HTMLElement;\n\n /**\n * The preferred position of the tooltip.\n * The tooltip will attempt to use this position but will automatically adjust if it would be cut off.\n */\n @Prop() position: TooltipPosition = 'bottom';\n\n /**\n * The alignment of the tooltip relative to the trigger.\n */\n @Prop() alignment: TooltipAlignment = 'center';\n\n /**\n * The offset distance from the trigger element in pixels.\n */\n @Prop() offset: number = 8;\n\n /**\n * The boundary element for collision detection. Defaults to viewport.\n */\n @Prop() boundaryPadding: number = 8;\n\n /**\n * Whether to show the tooltip arrow.\n */\n @Prop() showArrow: boolean = true;\n\n /**\n * Delay in milliseconds before showing the tooltip on hover.\n */\n @Prop() showDelay: number = 0;\n\n /**\n * Delay in milliseconds before hiding the tooltip on mouse leave.\n */\n @Prop() hideDelay: number = 0;\n\n /**\n * Controls the visibility of the tooltip.\n */\n @State() isVisible = false;\n\n /**\n * Tracks if the tooltip is pinned open via click.\n */\n @State() isPinned = false;\n\n /**\n * The actual position being used after collision detection.\n */\n @State() actualPosition: TooltipPosition = this.position;\n\n private portalContainer: HTMLDivElement | null = null;\n private tooltipContentEl: HTMLDivElement | null = null;\n private triggerEl: HTMLElement | null = null;\n private tooltipId = `tooltip-${Math.random().toString(36).substr(2, 9)}`;\n private showTimeoutId: ReturnType<typeof setTimeout> | null = null;\n private hideTimeoutId: ReturnType<typeof setTimeout> | null = null;\n private rafId: number | null = null;\n private resizeObserver: ResizeObserver | null = null;\n private mutationObserver: MutationObserver | null = null;\n private scrollParents: Element[] = [];\n\n /**\n * Listen for Escape key to close tooltip\n */\n @Listen('keydown', { target: 'window' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.isVisible) {\n this.isPinned = false;\n this.isVisible = false;\n this.hidePortal();\n }\n }\n\n /**\n * Listen for clicks outside to close pinned tooltip\n */\n @Listen('click', { target: 'document', capture: true })\n handleDocumentClick(event: MouseEvent) {\n if (!this.isPinned || !this.isVisible) {\n return;\n }\n\n const path = event.composedPath();\n const clickedInside = path.includes(this.el) || (this.portalContainer && path.includes(this.portalContainer));\n if (!clickedInside) {\n this.isPinned = false;\n this.isVisible = false;\n this.hidePortal();\n }\n }\n\n /**\n * Listen for scroll events to update position\n */\n @Listen('scroll', { target: 'window', capture: true, passive: true })\n handleScroll() {\n if (this.isVisible && this.portalContainer) {\n this.updatePosition();\n }\n }\n\n /**\n * Listen for resize events to update position\n */\n @Listen('resize', { target: 'window', passive: true })\n handleResize() {\n if (this.isVisible && this.portalContainer) {\n this.updatePosition();\n }\n }\n\n componentDidLoad() {\n this.triggerEl = this.el.shadowRoot?.querySelector('.info-icon') as HTMLElement;\n }\n\n disconnectedCallback() {\n this.cleanup();\n }\n\n /**\n * Programmatically show the tooltip\n */\n @Method()\n async show() {\n this.showTooltip();\n }\n\n /**\n * Programmatically hide the tooltip\n */\n @Method()\n async hide() {\n this.isPinned = false;\n this.isVisible = false;\n this.hidePortal();\n }\n\n /**\n * Clean up all resources\n */\n private cleanup() {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n if (this.rafId) {\n cancelAnimationFrame(this.rafId);\n this.rafId = null;\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n this.removeScrollListeners();\n this.hidePortal();\n }\n\n /**\n * Get all scrollable parent elements\n */\n private getScrollParents(element: Element): Element[] {\n const scrollParents: Element[] = [];\n let current: Element | null = element.parentElement;\n\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const overflowX = style.overflowX;\n\n if (overflowY === 'auto' || overflowY === 'scroll' || overflowX === 'auto' || overflowX === 'scroll') {\n scrollParents.push(current);\n }\n current = current.parentElement;\n }\n\n return scrollParents;\n }\n\n /**\n * Add scroll listeners to all scrollable parents\n */\n private addScrollListeners() {\n this.scrollParents = this.getScrollParents(this.el);\n this.scrollParents.forEach(parent => {\n parent.addEventListener('scroll', this.handleParentScroll, { passive: true });\n });\n }\n\n /**\n * Remove scroll listeners from all scrollable parents\n */\n private removeScrollListeners() {\n this.scrollParents.forEach(parent => {\n parent.removeEventListener('scroll', this.handleParentScroll);\n });\n this.scrollParents = [];\n }\n\n private handleParentScroll = () => {\n if (this.isVisible && this.portalContainer) {\n this.updatePosition();\n }\n };\n\n /**\n * Create the portal container in document.body\n */\n private createPortal() {\n if (this.portalContainer) return;\n\n this.portalContainer = document.createElement('div');\n this.portalContainer.className = 'tooltip-portal';\n this.portalContainer.setAttribute('data-tooltip-id', this.tooltipId);\n this.portalContainer.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n pointer-events: none;\n z-index: 99999;\n `;\n\n // Create tooltip content element\n this.tooltipContentEl = document.createElement('div');\n this.tooltipContentEl.id = this.tooltipId;\n this.tooltipContentEl.setAttribute('role', 'tooltip');\n this.tooltipContentEl.setAttribute('aria-hidden', 'true');\n this.tooltipContentEl.className = 'tooltip-content';\n\n // Apply styles\n this.applyTooltipStyles();\n\n this.portalContainer.appendChild(this.tooltipContentEl);\n document.body.appendChild(this.portalContainer);\n\n // Setup observers for dynamic content\n this.setupObservers();\n }\n\n /**\n * Apply comprehensive styles to the portal tooltip\n */\n private applyTooltipStyles() {\n if (!this.tooltipContentEl) return;\n\n // Get CSS custom properties from the component\n const computedStyle = getComputedStyle(this.el);\n const baseColor = computedStyle.getPropertyValue('--nylas-base-800').trim() || '#1f2937';\n const textColor = computedStyle.getPropertyValue('--nylas-base-0').trim() || '#ffffff';\n const fontFamily = computedStyle.getPropertyValue('--nylas-font-family').trim() || 'inherit';\n const borderRadius = computedStyle.getPropertyValue('--nylas-border-radius').trim() || '6px';\n\n this.tooltipContentEl.style.cssText = `\n position: absolute;\n background-color: ${baseColor};\n color: ${textColor};\n font-family: ${fontFamily};\n text-align: left;\n border-radius: ${borderRadius};\n padding: 0.5rem 1rem;\n max-width: 300px;\n width: max-content;\n font-size: 14px;\n line-height: 1.4;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n transition: opacity 0.15s ease-out, visibility 0.15s ease-out;\n box-sizing: border-box;\n `;\n }\n\n /**\n * Setup observers for content changes\n */\n private setupObservers() {\n // Observe trigger element for size/position changes\n if (this.triggerEl && typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => {\n if (this.isVisible) {\n this.updatePosition();\n }\n });\n this.resizeObserver.observe(this.triggerEl);\n }\n }\n\n /**\n * Update portal content from slot\n */\n private updatePortalContent() {\n if (!this.tooltipContentEl) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"tooltip-content\"]') as HTMLSlotElement;\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true });\n if (assignedNodes.length > 0) {\n // Clone slotted content\n this.tooltipContentEl.innerHTML = '';\n assignedNodes.forEach(node => {\n this.tooltipContentEl!.appendChild(node.cloneNode(true));\n });\n } else {\n this.tooltipContentEl.textContent = 'This is a help text.';\n }\n } else {\n this.tooltipContentEl.textContent = 'This is a help text.';\n }\n }\n\n /**\n * Calculate the best position for the tooltip\n */\n private calculatePosition(): PositionResult {\n if (!this.triggerEl || !this.tooltipContentEl) {\n return { x: 0, y: 0, placement: this.position, arrowX: 0, arrowY: 0 };\n }\n\n const triggerRect = this.triggerEl.getBoundingClientRect();\n const tooltipRect = this.tooltipContentEl.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n const padding = this.boundaryPadding;\n const offset = this.offset;\n\n // Calculate available space in each direction\n const spaceAbove = triggerRect.top - padding;\n const spaceBelow = viewportHeight - triggerRect.bottom - padding;\n const spaceLeft = triggerRect.left - padding;\n const spaceRight = viewportWidth - triggerRect.right - padding;\n\n // Determine the best placement\n let placement = this.position;\n const tooltipHeight = tooltipRect.height || 40; // Fallback estimate\n const tooltipWidth = tooltipRect.width || 200; // Fallback estimate\n\n // Check if preferred position fits, otherwise flip\n const fits = {\n top: spaceAbove >= tooltipHeight + offset,\n bottom: spaceBelow >= tooltipHeight + offset,\n left: spaceLeft >= tooltipWidth + offset,\n right: spaceRight >= tooltipWidth + offset,\n };\n\n if (!fits[placement]) {\n // Try opposite side first\n const opposites: Record<TooltipPosition, TooltipPosition> = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n };\n const opposite = opposites[placement];\n\n if (fits[opposite]) {\n placement = opposite;\n } else {\n // Find the direction with most space\n const spaces: Record<TooltipPosition, number> = {\n top: spaceAbove,\n bottom: spaceBelow,\n left: spaceLeft,\n right: spaceRight,\n };\n placement = Object.entries(spaces).sort(([, a], [, b]) => b - a)[0][0] as TooltipPosition;\n }\n }\n\n // Calculate coordinates based on placement\n let x = 0;\n let y = 0;\n let arrowX = 0;\n let arrowY = 0;\n const arrowSize = 6;\n\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const triggerCenterY = triggerRect.top + triggerRect.height / 2;\n\n switch (placement) {\n case 'top':\n x = triggerCenterX - tooltipWidth / 2;\n y = triggerRect.top - tooltipHeight - offset;\n arrowX = tooltipWidth / 2;\n arrowY = tooltipHeight;\n break;\n case 'bottom':\n x = triggerCenterX - tooltipWidth / 2;\n y = triggerRect.bottom + offset;\n arrowX = tooltipWidth / 2;\n arrowY = -arrowSize * 2;\n break;\n case 'left':\n x = triggerRect.left - tooltipWidth - offset;\n y = triggerCenterY - tooltipHeight / 2;\n arrowX = tooltipWidth;\n arrowY = tooltipHeight / 2;\n break;\n case 'right':\n x = triggerRect.right + offset;\n y = triggerCenterY - tooltipHeight / 2;\n arrowX = -arrowSize * 2;\n arrowY = tooltipHeight / 2;\n break;\n }\n\n // Apply boundary constraints (shift if necessary)\n let shiftX = 0;\n let shiftY = 0;\n\n if (x < padding) {\n shiftX = padding - x;\n x = padding;\n } else if (x + tooltipWidth > viewportWidth - padding) {\n shiftX = viewportWidth - padding - tooltipWidth - x;\n x = viewportWidth - padding - tooltipWidth;\n }\n\n if (y < padding) {\n shiftY = padding - y;\n y = padding;\n } else if (y + tooltipHeight > viewportHeight - padding) {\n shiftY = viewportHeight - padding - tooltipHeight - y;\n y = viewportHeight - padding - tooltipHeight;\n }\n\n // Adjust arrow position to compensate for shift\n if (placement === 'top' || placement === 'bottom') {\n arrowX -= shiftX;\n // Clamp arrow position to stay within tooltip\n arrowX = Math.max(arrowSize + 4, Math.min(tooltipWidth - arrowSize - 4, arrowX));\n } else {\n arrowY -= shiftY;\n // Clamp arrow position to stay within tooltip\n arrowY = Math.max(arrowSize + 4, Math.min(tooltipHeight - arrowSize - 4, arrowY));\n }\n\n return {\n x: Math.round(x),\n y: Math.round(y),\n placement,\n arrowX: Math.round(arrowX),\n arrowY: Math.round(arrowY),\n maxWidth: Math.min(300, viewportWidth - padding * 2),\n maxHeight: viewportHeight - padding * 2,\n };\n }\n\n /**\n * Update tooltip position\n */\n private updatePosition() {\n if (!this.tooltipContentEl || !this.portalContainer) return;\n\n const position = this.calculatePosition();\n this.actualPosition = position.placement;\n\n this.tooltipContentEl.style.transform = `translate(${position.x}px, ${position.y}px)`;\n this.tooltipContentEl.style.maxWidth = `${position.maxWidth}px`;\n\n // Update arrow\n this.updateArrow(position);\n }\n\n /**\n * Update arrow position and style\n */\n private updateArrow(position: PositionResult) {\n if (!this.tooltipContentEl || !this.showArrow) return;\n\n // Remove existing arrow\n const existingArrow = this.tooltipContentEl.querySelector('.tooltip-arrow');\n if (existingArrow) {\n existingArrow.remove();\n }\n\n // Get colors\n const computedStyle = getComputedStyle(this.el);\n const baseColor = computedStyle.getPropertyValue('--nylas-base-800').trim() || '#1f2937';\n\n // Create arrow\n const arrow = document.createElement('div');\n arrow.className = 'tooltip-arrow';\n arrow.style.cssText = `\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n `;\n\n switch (position.placement) {\n case 'top':\n arrow.style.bottom = '-12px';\n arrow.style.left = `${position.arrowX - 6}px`;\n arrow.style.borderColor = `${baseColor} transparent transparent transparent`;\n break;\n case 'bottom':\n arrow.style.top = '-12px';\n arrow.style.left = `${position.arrowX - 6}px`;\n arrow.style.borderColor = `transparent transparent ${baseColor} transparent`;\n break;\n case 'left':\n arrow.style.right = '-12px';\n arrow.style.top = `${position.arrowY - 6}px`;\n arrow.style.borderColor = `transparent transparent transparent ${baseColor}`;\n break;\n case 'right':\n arrow.style.left = '-12px';\n arrow.style.top = `${position.arrowY - 6}px`;\n arrow.style.borderColor = `transparent ${baseColor} transparent transparent`;\n break;\n }\n\n this.tooltipContentEl.appendChild(arrow);\n }\n\n /**\n * Show the tooltip portal\n */\n private showPortal() {\n this.createPortal();\n this.updatePortalContent();\n this.addScrollListeners();\n\n // Use RAF to ensure content is rendered before measuring\n this.rafId = requestAnimationFrame(() => {\n this.rafId = requestAnimationFrame(() => {\n this.updatePosition();\n\n if (this.tooltipContentEl) {\n this.tooltipContentEl.style.opacity = '1';\n this.tooltipContentEl.style.visibility = 'visible';\n this.tooltipContentEl.setAttribute('aria-hidden', 'false');\n }\n });\n });\n }\n\n /**\n * Hide the tooltip portal\n */\n private hidePortal() {\n if (this.tooltipContentEl) {\n this.tooltipContentEl.style.opacity = '0';\n this.tooltipContentEl.style.visibility = 'hidden';\n this.tooltipContentEl.setAttribute('aria-hidden', 'true');\n }\n\n this.removeScrollListeners();\n\n // Clean up portal after transition\n setTimeout(() => {\n if (!this.isVisible && this.portalContainer) {\n this.portalContainer.remove();\n this.portalContainer = null;\n this.tooltipContentEl = null;\n }\n }, 150);\n }\n\n /**\n * Show the tooltip with delay\n */\n private showTooltip() {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.showDelay > 0) {\n this.showTimeoutId = setTimeout(() => {\n this.isVisible = true;\n this.showPortal();\n }, this.showDelay);\n } else {\n this.isVisible = true;\n this.showPortal();\n }\n }\n\n /**\n * Hide the tooltip with delay\n */\n private hideTooltip() {\n if (this.isPinned) return;\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n if (this.hideDelay > 0) {\n this.hideTimeoutId = setTimeout(() => {\n this.isVisible = false;\n this.hidePortal();\n }, this.hideDelay);\n } else {\n this.isVisible = false;\n this.hidePortal();\n }\n }\n\n /**\n * Handle click to pin/unpin tooltip\n */\n private handleClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.isPinned = !this.isPinned;\n\n if (this.isPinned) {\n this.showTooltip();\n } else {\n this.isVisible = false;\n this.hidePortal();\n }\n };\n\n /**\n * Handle mouse enter\n */\n private handleMouseEnter = () => {\n if (!this.isPinned) {\n this.showTooltip();\n }\n };\n\n /**\n * Handle mouse leave\n */\n private handleMouseLeave = () => {\n this.hideTooltip();\n };\n\n /**\n * Handle focus\n */\n private handleFocus = () => {\n if (!this.isPinned) {\n this.showTooltip();\n }\n };\n\n /**\n * Handle blur\n */\n private handleBlur = () => {\n this.hideTooltip();\n };\n\n render() {\n return (\n <div class=\"tooltip-container\" part=\"tc__container\">\n <span\n class=\"info-icon\"\n tabindex=\"0\"\n role=\"button\"\n aria-describedby={this.tooltipId}\n aria-expanded={this.isVisible ? 'true' : 'false'}\n aria-pressed={this.isPinned ? 'true' : 'false'}\n onClick={this.handleClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <slot name=\"tooltip-icon\">i</slot>\n </span>\n {/* Hidden slot for content - actual rendering happens in portal */}\n <div style={{ display: 'none' }}>\n <slot name=\"tooltip-content\">This is a help text.</slot>\n </div>\n {/* Hidden element for screen readers and tests that need ARIA attributes */}\n <span\n id={this.tooltipId}\n role=\"tooltip\"\n aria-hidden={!this.isVisible ? 'true' : 'false'}\n class={{\n 'tooltip-content': true,\n 'tooltip-visible': this.isVisible,\n [this.actualPosition]: true,\n }}\n part=\"tc__content\"\n style={{ display: 'none' }}\n >\n <slot name=\"tooltip-content-aria\">\n <slot name=\"tooltip-content\">This is a help text.</slot>\n </slot>\n </span>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-C_a8Brku.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/tooltip-component/tooltip-component.scss?tag=tooltip-component&encapsulation=shadow","src/components/design-system/tooltip-component/toolitp-component.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: inline-flex;\n @include default-css-variables;\n}\n\n.tooltip-container {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.info-icon {\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n outline: none;\n transition: opacity 0.2s ease-in-out;\n border-radius: 2px;\n\n &:hover {\n opacity: 0.8;\n }\n\n &:active {\n opacity: 0.6;\n }\n\n &:focus-visible {\n outline: 2px solid var(--nylas-primary-500, #2563eb);\n outline-offset: 2px;\n border-radius: 2px;\n }\n\n &[aria-pressed='true'] {\n opacity: 1;\n background-color: var(--nylas-primary-50, rgba(37, 99, 235, 0.1));\n border-radius: 4px;\n }\n}\n\n// Hidden tooltip content for accessibility (actual tooltip rendered in portal)\n.tooltip-content {\n // This element is visually hidden but available for ARIA\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n","import { Component, Element, Prop, State, h, Listen, Method } from '@stencil/core';\n\ntype TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\ntype TooltipAlignment = 'start' | 'center' | 'end';\n\ninterface PositionResult {\n x: number;\n y: number;\n placement: TooltipPosition;\n arrowX: number;\n arrowY: number;\n maxWidth?: number;\n maxHeight?: number;\n}\n\n/**\n * The `tooltip-component` component is a UI component that displays a tooltip.\n * It uses a portal pattern to render the tooltip content to the document body,\n * ensuring proper positioning even when inside transformed containers or shadow DOM.\n *\n * @part tc__container - The tooltip container.\n * @part tc__content - The tooltip content.\n */\n@Component({\n tag: 'tooltip-component',\n styleUrl: 'tooltip-component.scss',\n shadow: true,\n})\nexport class TooltipComponent {\n @Element() el!: HTMLElement;\n\n /**\n * The preferred position of the tooltip.\n * The tooltip will attempt to use this position but will automatically adjust if it would be cut off.\n */\n @Prop() position: TooltipPosition = 'bottom';\n\n /**\n * The alignment of the tooltip relative to the trigger.\n */\n @Prop() alignment: TooltipAlignment = 'center';\n\n /**\n * The offset distance from the trigger element in pixels.\n */\n @Prop() offset: number = 8;\n\n /**\n * The boundary element for collision detection. Defaults to viewport.\n */\n @Prop() boundaryPadding: number = 8;\n\n /**\n * Whether to show the tooltip arrow.\n */\n @Prop() showArrow: boolean = true;\n\n /**\n * Delay in milliseconds before showing the tooltip on hover.\n */\n @Prop() showDelay: number = 0;\n\n /**\n * Delay in milliseconds before hiding the tooltip on mouse leave.\n */\n @Prop() hideDelay: number = 0;\n\n /**\n * Controls the visibility of the tooltip.\n */\n @State() isVisible = false;\n\n /**\n * Tracks if the tooltip is pinned open via click.\n */\n @State() isPinned = false;\n\n /**\n * The actual position being used after collision detection.\n */\n @State() actualPosition: TooltipPosition = this.position;\n\n private portalContainer: HTMLDivElement | null = null;\n private tooltipContentEl: HTMLDivElement | null = null;\n private triggerEl: HTMLElement | null = null;\n private tooltipId = `tooltip-${Math.random().toString(36).substr(2, 9)}`;\n private showTimeoutId: ReturnType<typeof setTimeout> | null = null;\n private hideTimeoutId: ReturnType<typeof setTimeout> | null = null;\n private rafId: number | null = null;\n private resizeObserver: ResizeObserver | null = null;\n private mutationObserver: MutationObserver | null = null;\n private scrollParents: Element[] = [];\n\n /**\n * Listen for Escape key to close tooltip\n */\n @Listen('keydown', { target: 'window' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.isVisible) {\n this.isPinned = false;\n this.isVisible = false;\n this.hidePortal();\n }\n }\n\n /**\n * Listen for clicks outside to close pinned tooltip\n */\n @Listen('click', { target: 'document', capture: true })\n handleDocumentClick(event: MouseEvent) {\n if (!this.isPinned || !this.isVisible) {\n return;\n }\n\n const path = event.composedPath();\n const clickedInside = path.includes(this.el) || (this.portalContainer && path.includes(this.portalContainer));\n if (!clickedInside) {\n this.isPinned = false;\n this.isVisible = false;\n this.hidePortal();\n }\n }\n\n /**\n * Listen for scroll events to update position\n */\n @Listen('scroll', { target: 'window', capture: true, passive: true })\n handleScroll() {\n if (this.isVisible && this.portalContainer) {\n this.updatePosition();\n }\n }\n\n /**\n * Listen for resize events to update position\n */\n @Listen('resize', { target: 'window', passive: true })\n handleResize() {\n if (this.isVisible && this.portalContainer) {\n this.updatePosition();\n }\n }\n\n componentDidLoad() {\n this.triggerEl = this.el.shadowRoot?.querySelector('.info-icon') as HTMLElement;\n }\n\n disconnectedCallback() {\n this.cleanup();\n }\n\n /**\n * Programmatically show the tooltip\n */\n @Method()\n async show() {\n this.showTooltip();\n }\n\n /**\n * Programmatically hide the tooltip\n */\n @Method()\n async hide() {\n this.isPinned = false;\n this.isVisible = false;\n this.hidePortal();\n }\n\n /**\n * Clean up all resources\n */\n private cleanup() {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n if (this.rafId) {\n cancelAnimationFrame(this.rafId);\n this.rafId = null;\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n this.removeScrollListeners();\n this.hidePortal();\n }\n\n /**\n * Get all scrollable parent elements\n */\n private getScrollParents(element: Element): Element[] {\n const scrollParents: Element[] = [];\n let current: Element | null = element.parentElement;\n\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const overflowX = style.overflowX;\n\n if (overflowY === 'auto' || overflowY === 'scroll' || overflowX === 'auto' || overflowX === 'scroll') {\n scrollParents.push(current);\n }\n current = current.parentElement;\n }\n\n return scrollParents;\n }\n\n /**\n * Add scroll listeners to all scrollable parents\n */\n private addScrollListeners() {\n this.scrollParents = this.getScrollParents(this.el);\n this.scrollParents.forEach(parent => {\n parent.addEventListener('scroll', this.handleParentScroll, { passive: true });\n });\n }\n\n /**\n * Remove scroll listeners from all scrollable parents\n */\n private removeScrollListeners() {\n this.scrollParents.forEach(parent => {\n parent.removeEventListener('scroll', this.handleParentScroll);\n });\n this.scrollParents = [];\n }\n\n private handleParentScroll = () => {\n if (this.isVisible && this.portalContainer) {\n this.updatePosition();\n }\n };\n\n /**\n * Create the portal container in document.body\n */\n private createPortal() {\n if (this.portalContainer) return;\n\n this.portalContainer = document.createElement('div');\n this.portalContainer.className = 'tooltip-portal';\n this.portalContainer.setAttribute('data-tooltip-id', this.tooltipId);\n this.portalContainer.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n pointer-events: none;\n z-index: 99999;\n `;\n\n // Create tooltip content element\n this.tooltipContentEl = document.createElement('div');\n this.tooltipContentEl.id = this.tooltipId;\n this.tooltipContentEl.setAttribute('role', 'tooltip');\n this.tooltipContentEl.setAttribute('aria-hidden', 'true');\n this.tooltipContentEl.className = 'tooltip-content';\n\n // Apply styles\n this.applyTooltipStyles();\n\n this.portalContainer.appendChild(this.tooltipContentEl);\n document.body.appendChild(this.portalContainer);\n\n // Setup observers for dynamic content\n this.setupObservers();\n }\n\n /**\n * Apply comprehensive styles to the portal tooltip\n */\n private applyTooltipStyles() {\n if (!this.tooltipContentEl) return;\n\n // Get CSS custom properties from the component\n const computedStyle = getComputedStyle(this.el);\n const baseColor = computedStyle.getPropertyValue('--nylas-base-800').trim() || '#1f2937';\n const textColor = computedStyle.getPropertyValue('--nylas-base-0').trim() || '#ffffff';\n const fontFamily = computedStyle.getPropertyValue('--nylas-font-family').trim() || 'inherit';\n const borderRadius = computedStyle.getPropertyValue('--nylas-border-radius').trim() || '6px';\n\n this.tooltipContentEl.style.cssText = `\n position: absolute;\n background-color: ${baseColor};\n color: ${textColor};\n font-family: ${fontFamily};\n text-align: left;\n border-radius: ${borderRadius};\n padding: 0.5rem 1rem;\n max-width: 300px;\n width: max-content;\n font-size: 14px;\n line-height: 1.4;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n transition: opacity 0.15s ease-out, visibility 0.15s ease-out;\n box-sizing: border-box;\n `;\n }\n\n /**\n * Setup observers for content changes\n */\n private setupObservers() {\n // Observe trigger element for size/position changes\n if (this.triggerEl && typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => {\n if (this.isVisible) {\n this.updatePosition();\n }\n });\n this.resizeObserver.observe(this.triggerEl);\n }\n }\n\n /**\n * Update portal content from slot\n */\n private updatePortalContent() {\n if (!this.tooltipContentEl) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"tooltip-content\"]') as HTMLSlotElement;\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true });\n if (assignedNodes.length > 0) {\n // Clone slotted content\n this.tooltipContentEl.innerHTML = '';\n assignedNodes.forEach(node => {\n this.tooltipContentEl!.appendChild(node.cloneNode(true));\n });\n } else {\n this.tooltipContentEl.textContent = 'This is a help text.';\n }\n } else {\n this.tooltipContentEl.textContent = 'This is a help text.';\n }\n }\n\n /**\n * Calculate the best position for the tooltip\n */\n private calculatePosition(): PositionResult {\n if (!this.triggerEl || !this.tooltipContentEl) {\n return { x: 0, y: 0, placement: this.position, arrowX: 0, arrowY: 0 };\n }\n\n const triggerRect = this.triggerEl.getBoundingClientRect();\n const tooltipRect = this.tooltipContentEl.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n const padding = this.boundaryPadding;\n const offset = this.offset;\n\n // Calculate available space in each direction\n const spaceAbove = triggerRect.top - padding;\n const spaceBelow = viewportHeight - triggerRect.bottom - padding;\n const spaceLeft = triggerRect.left - padding;\n const spaceRight = viewportWidth - triggerRect.right - padding;\n\n // Determine the best placement\n let placement = this.position;\n const tooltipHeight = tooltipRect.height || 40; // Fallback estimate\n const tooltipWidth = tooltipRect.width || 200; // Fallback estimate\n\n // Check if preferred position fits, otherwise flip\n const fits = {\n top: spaceAbove >= tooltipHeight + offset,\n bottom: spaceBelow >= tooltipHeight + offset,\n left: spaceLeft >= tooltipWidth + offset,\n right: spaceRight >= tooltipWidth + offset,\n };\n\n if (!fits[placement]) {\n // Try opposite side first\n const opposites: Record<TooltipPosition, TooltipPosition> = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n };\n const opposite = opposites[placement];\n\n if (fits[opposite]) {\n placement = opposite;\n } else {\n // Find the direction with most space\n const spaces: Record<TooltipPosition, number> = {\n top: spaceAbove,\n bottom: spaceBelow,\n left: spaceLeft,\n right: spaceRight,\n };\n placement = Object.entries(spaces).sort(([, a], [, b]) => b - a)[0][0] as TooltipPosition;\n }\n }\n\n // Calculate coordinates based on placement\n let x = 0;\n let y = 0;\n let arrowX = 0;\n let arrowY = 0;\n const arrowSize = 6;\n\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const triggerCenterY = triggerRect.top + triggerRect.height / 2;\n\n switch (placement) {\n case 'top':\n x = triggerCenterX - tooltipWidth / 2;\n y = triggerRect.top - tooltipHeight - offset;\n arrowX = tooltipWidth / 2;\n arrowY = tooltipHeight;\n break;\n case 'bottom':\n x = triggerCenterX - tooltipWidth / 2;\n y = triggerRect.bottom + offset;\n arrowX = tooltipWidth / 2;\n arrowY = -arrowSize * 2;\n break;\n case 'left':\n x = triggerRect.left - tooltipWidth - offset;\n y = triggerCenterY - tooltipHeight / 2;\n arrowX = tooltipWidth;\n arrowY = tooltipHeight / 2;\n break;\n case 'right':\n x = triggerRect.right + offset;\n y = triggerCenterY - tooltipHeight / 2;\n arrowX = -arrowSize * 2;\n arrowY = tooltipHeight / 2;\n break;\n }\n\n // Apply boundary constraints (shift if necessary)\n let shiftX = 0;\n let shiftY = 0;\n\n if (x < padding) {\n shiftX = padding - x;\n x = padding;\n } else if (x + tooltipWidth > viewportWidth - padding) {\n shiftX = viewportWidth - padding - tooltipWidth - x;\n x = viewportWidth - padding - tooltipWidth;\n }\n\n if (y < padding) {\n shiftY = padding - y;\n y = padding;\n } else if (y + tooltipHeight > viewportHeight - padding) {\n shiftY = viewportHeight - padding - tooltipHeight - y;\n y = viewportHeight - padding - tooltipHeight;\n }\n\n // Adjust arrow position to compensate for shift\n if (placement === 'top' || placement === 'bottom') {\n arrowX -= shiftX;\n // Clamp arrow position to stay within tooltip\n arrowX = Math.max(arrowSize + 4, Math.min(tooltipWidth - arrowSize - 4, arrowX));\n } else {\n arrowY -= shiftY;\n // Clamp arrow position to stay within tooltip\n arrowY = Math.max(arrowSize + 4, Math.min(tooltipHeight - arrowSize - 4, arrowY));\n }\n\n return {\n x: Math.round(x),\n y: Math.round(y),\n placement,\n arrowX: Math.round(arrowX),\n arrowY: Math.round(arrowY),\n maxWidth: Math.min(300, viewportWidth - padding * 2),\n maxHeight: viewportHeight - padding * 2,\n };\n }\n\n /**\n * Update tooltip position\n */\n private updatePosition() {\n if (!this.tooltipContentEl || !this.portalContainer) return;\n\n const position = this.calculatePosition();\n this.actualPosition = position.placement;\n\n this.tooltipContentEl.style.transform = `translate(${position.x}px, ${position.y}px)`;\n this.tooltipContentEl.style.maxWidth = `${position.maxWidth}px`;\n\n // Update arrow\n this.updateArrow(position);\n }\n\n /**\n * Update arrow position and style\n */\n private updateArrow(position: PositionResult) {\n if (!this.tooltipContentEl || !this.showArrow) return;\n\n // Remove existing arrow\n const existingArrow = this.tooltipContentEl.querySelector('.tooltip-arrow');\n if (existingArrow) {\n existingArrow.remove();\n }\n\n // Get colors\n const computedStyle = getComputedStyle(this.el);\n const baseColor = computedStyle.getPropertyValue('--nylas-base-800').trim() || '#1f2937';\n\n // Create arrow\n const arrow = document.createElement('div');\n arrow.className = 'tooltip-arrow';\n arrow.style.cssText = `\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n `;\n\n switch (position.placement) {\n case 'top':\n arrow.style.bottom = '-12px';\n arrow.style.left = `${position.arrowX - 6}px`;\n arrow.style.borderColor = `${baseColor} transparent transparent transparent`;\n break;\n case 'bottom':\n arrow.style.top = '-12px';\n arrow.style.left = `${position.arrowX - 6}px`;\n arrow.style.borderColor = `transparent transparent ${baseColor} transparent`;\n break;\n case 'left':\n arrow.style.right = '-12px';\n arrow.style.top = `${position.arrowY - 6}px`;\n arrow.style.borderColor = `transparent transparent transparent ${baseColor}`;\n break;\n case 'right':\n arrow.style.left = '-12px';\n arrow.style.top = `${position.arrowY - 6}px`;\n arrow.style.borderColor = `transparent ${baseColor} transparent transparent`;\n break;\n }\n\n this.tooltipContentEl.appendChild(arrow);\n }\n\n /**\n * Show the tooltip portal\n */\n private showPortal() {\n this.createPortal();\n this.updatePortalContent();\n this.addScrollListeners();\n\n // Use RAF to ensure content is rendered before measuring\n this.rafId = requestAnimationFrame(() => {\n this.rafId = requestAnimationFrame(() => {\n this.updatePosition();\n\n if (this.tooltipContentEl) {\n this.tooltipContentEl.style.opacity = '1';\n this.tooltipContentEl.style.visibility = 'visible';\n this.tooltipContentEl.setAttribute('aria-hidden', 'false');\n }\n });\n });\n }\n\n /**\n * Hide the tooltip portal\n */\n private hidePortal() {\n if (this.tooltipContentEl) {\n this.tooltipContentEl.style.opacity = '0';\n this.tooltipContentEl.style.visibility = 'hidden';\n this.tooltipContentEl.setAttribute('aria-hidden', 'true');\n }\n\n this.removeScrollListeners();\n\n // Clean up portal after transition\n setTimeout(() => {\n if (!this.isVisible && this.portalContainer) {\n this.portalContainer.remove();\n this.portalContainer = null;\n this.tooltipContentEl = null;\n }\n }, 150);\n }\n\n /**\n * Show the tooltip with delay\n */\n private showTooltip() {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.showDelay > 0) {\n this.showTimeoutId = setTimeout(() => {\n this.isVisible = true;\n this.showPortal();\n }, this.showDelay);\n } else {\n this.isVisible = true;\n this.showPortal();\n }\n }\n\n /**\n * Hide the tooltip with delay\n */\n private hideTooltip() {\n if (this.isPinned) return;\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n if (this.hideDelay > 0) {\n this.hideTimeoutId = setTimeout(() => {\n this.isVisible = false;\n this.hidePortal();\n }, this.hideDelay);\n } else {\n this.isVisible = false;\n this.hidePortal();\n }\n }\n\n /**\n * Handle click to pin/unpin tooltip\n */\n private handleClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.isPinned = !this.isPinned;\n\n if (this.isPinned) {\n this.showTooltip();\n } else {\n this.isVisible = false;\n this.hidePortal();\n }\n };\n\n /**\n * Handle mouse enter\n */\n private handleMouseEnter = () => {\n if (!this.isPinned) {\n this.showTooltip();\n }\n };\n\n /**\n * Handle mouse leave\n */\n private handleMouseLeave = () => {\n this.hideTooltip();\n };\n\n /**\n * Handle focus\n */\n private handleFocus = () => {\n if (!this.isPinned) {\n this.showTooltip();\n }\n };\n\n /**\n * Handle blur\n */\n private handleBlur = () => {\n this.hideTooltip();\n };\n\n render() {\n return (\n <div class=\"tooltip-container\" part=\"tc__container\">\n <span\n class=\"info-icon\"\n tabindex=\"0\"\n role=\"button\"\n aria-describedby={this.tooltipId}\n aria-expanded={this.isVisible ? 'true' : 'false'}\n aria-pressed={this.isPinned ? 'true' : 'false'}\n onClick={this.handleClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <slot name=\"tooltip-icon\">i</slot>\n </span>\n {/* Hidden slot for content - actual rendering happens in portal */}\n <div style={{ display: 'none' }}>\n <slot name=\"tooltip-content\">This is a help text.</slot>\n </div>\n {/* Hidden element for screen readers and tests that need ARIA attributes */}\n <span\n id={this.tooltipId}\n role=\"tooltip\"\n aria-hidden={!this.isVisible ? 'true' : 'false'}\n class={{\n 'tooltip-content': true,\n 'tooltip-visible': this.isVisible,\n [this.actualPosition]: true,\n }}\n part=\"tc__content\"\n style={{ display: 'none' }}\n >\n <slot name=\"tooltip-content-aria\">\n <slot name=\"tooltip-content\">This is a help text.</slot>\n </slot>\n </span>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -2,13 +2,13 @@ import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-
|
|
|
2
2
|
import { R as RegisterComponent } from './p-CUlV7ZGv.js';
|
|
3
3
|
import { a as debug } from './p-CMNiSC4o.js';
|
|
4
4
|
import { i as instance } from './p-BjxQTsOy.js';
|
|
5
|
-
import { d as defineCustomElement$7 } from './p-
|
|
6
|
-
import { d as defineCustomElement$6 } from './p-
|
|
7
|
-
import { d as defineCustomElement$5 } from './p-
|
|
8
|
-
import { d as defineCustomElement$4 } from './p-
|
|
9
|
-
import { d as defineCustomElement$3 } from './p-
|
|
10
|
-
import { d as defineCustomElement$2 } from './p-
|
|
11
|
-
import { d as defineCustomElement$1 } from './p-
|
|
5
|
+
import { d as defineCustomElement$7 } from './p-DY3hmp0T.js';
|
|
6
|
+
import { d as defineCustomElement$6 } from './p-DsvNvqOg.js';
|
|
7
|
+
import { d as defineCustomElement$5 } from './p-CkIBsfNB.js';
|
|
8
|
+
import { d as defineCustomElement$4 } from './p-BEvwJe37.js';
|
|
9
|
+
import { d as defineCustomElement$3 } from './p-DtEl3UXW.js';
|
|
10
|
+
import { d as defineCustomElement$2 } from './p-BMLPTwTQ.js';
|
|
11
|
+
import { d as defineCustomElement$1 } from './p-C_a8Brku.js';
|
|
12
12
|
|
|
13
13
|
const nylasLimitFutureBookingsCss = ":host{--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:\"Inter\", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.nylas-limit-future-bookings{display:flex;justify-content:space-between;font-family:var(--nylas-font-family)}@media screen and (max-width: 768px){.nylas-limit-future-bookings{flex-direction:column;gap:0.5rem}}.nylas-limit-future-bookings label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:16px;font-style:normal;font-weight:400;line-height:150%;}.nylas-limit-future-bookings label span.label-icon{margin-left:4px}.nylas-limit-future-bookings label span.label-icon tooltip-component{display:flex}select-dropdown::part(sd_dropdown-button){border:none}";
|
|
14
14
|
|
|
@@ -128,7 +128,7 @@ const NylasLimitFutureBookings = proxyCustomElement(class NylasLimitFutureBookin
|
|
|
128
128
|
}
|
|
129
129
|
render() {
|
|
130
130
|
const showTImePeriodSelector = typeof this.selectedNumber == 'number' && typeof this.selectedPeriod == 'string';
|
|
131
|
-
return (h(Host, { key: '
|
|
131
|
+
return (h(Host, { key: '14ab3db9d1dc2fe48fe6a856a4ac3ad5bbb4dd92' }, h("div", { key: '4579aa72972b1357af2059aefdc059a364afc0fd', class: "nylas-limit-future-bookings", part: "nlfb" }, h("label", { key: 'b343377281702e4f7c8f01b1c6b956748c5a174b' }, instance.t('nylasLimitFutureBookings.headerTitle'), h("span", { key: '2865807224b91b1866477d9faa0a849489103259', class: "label-icon" }, h("tooltip-component", { key: '0a8794a28164672436f156fc53067fa5d9bbd4a2' }, h("info-icon", { key: 'd4de2aee754d02d71bead656e8e104c0cd318460', slot: "tooltip-icon" }), h("span", { key: 'ae5aa7a92303a7647713615b62455586abade527', slot: "tooltip-content" }, instance.t('nylasLimitFutureBookings.tooltip.desc'))))), showTImePeriodSelector && (h("time-period-selector", { key: '3a517f2fe53f40d9d02c2596dcf55adf90bb90cf', id: "limit-future-bookings", timePeriods: [
|
|
132
132
|
{ value: 'day', label: instance.t('timePeriod', { context: 'day' }) },
|
|
133
133
|
{ value: 'week', label: instance.t('timePeriod', { context: 'week' }) },
|
|
134
134
|
{ value: 'month', label: instance.t('timePeriod', { context: 'month' }) },
|
|
@@ -222,6 +222,6 @@ function defineCustomElement() {
|
|
|
222
222
|
}
|
|
223
223
|
|
|
224
224
|
export { NylasLimitFutureBookings as N, defineCustomElement as d };
|
|
225
|
-
//# sourceMappingURL=p-
|
|
225
|
+
//# sourceMappingURL=p-CbIFnpIT.js.map
|
|
226
226
|
|
|
227
|
-
//# sourceMappingURL=p-
|
|
227
|
+
//# sourceMappingURL=p-CbIFnpIT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-D_daFt1t.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.scss?tag=nylas-limit-future-bookings&encapsulation=shadow","src/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n @include default-css-variables;\n}\n\n.nylas-limit-future-bookings {\n display: flex;\n justify-content: space-between;\n font-family: var(--nylas-font-family);\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n }\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 21px */\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n border: none;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, State, h, Element, Prop, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-limit-future-bookings` component is a form input for the number of days in the future a guest is allowed to book an event.\n *\n * @part nlfb - The limit future bookings container\n * @part nlfb__number-dropdown - The number dropdown container\n * @part nlfb__number-dropdown-button - The number dropdown button\n * @part nlfb__number-dropdown-content - The number dropdown content\n * @part nlfb__period-dropdown - The period dropdown container\n * @part nlfb__period-dropdown-button - The period dropdown button\n * @part nlfb__period-dropdown-content - The period dropdown content\n */\n@Component({\n tag: 'nylas-limit-future-bookings',\n styleUrl: 'nylas-limit-future-bookings.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasLimitFutureBookings {\n /**\n * The host element <nylas-limit-future-bookings>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The number of days into the future that invitees will see availability, as set in the configuration.\n */\n @Prop() availableDaysInFuture?: number;\n /**\n * @standalone\n * The name of the limit future bookings input.\n */\n @Prop() name: string = 'limit-future-bookings';\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * The selected number for the available days in the future.\n */\n @State() selectedNumber;\n /**\n * The selected period for the available days in the future.\n */\n @State() selectedPeriod;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-limit-future-bookings', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const daysInFuture = newVal?.scheduler?.available_days_in_future || this.availableDaysInFuture || 1;\n if (daysInFuture) {\n this.updateNumberAndPeriodFromDays(daysInFuture);\n }\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(daysInFuture?.toString(), this.name);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Event emitted when the future booking limit changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-limit-future-bookings', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n componentWillLoad() {\n debug('nylas-limit-future-bookings', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-limit-future-bookings', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n this.updateNumberAndPeriodFromDays(this.availableDaysInFuture || 1);\n }\n }\n\n disconnectedCallback() {\n debug('nylas-limit-future-bookings', 'disconnectedCallback');\n }\n\n @Listen('timePeriodChanged')\n timePeriodChangedHandler(\n event: CustomEvent<{\n number: number;\n period: string;\n }>,\n ) {\n const { number, period } = event.detail;\n let availableDaysInFuture;\n if (period === 'day') {\n availableDaysInFuture = number;\n } else if (period === 'week') {\n availableDaysInFuture = number * 7;\n } else {\n availableDaysInFuture = number * 30;\n }\n this.valueChanged.emit({ value: availableDaysInFuture, name: this.name });\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(availableDaysInFuture.toString(), this.name);\n }\n\n updateNumberAndPeriodFromDays(days: number): void {\n let number, period;\n if (days >= 30 && days % 30 === 0) {\n number = days / 30;\n period = 'month';\n } else if (days >= 7 && days % 7 === 0) {\n number = days / 7;\n period = 'week';\n } else {\n number = days;\n period = 'day';\n }\n this.selectedNumber = number;\n this.selectedPeriod = period;\n }\n\n @RegisterComponent<NylasLimitFutureBookings, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-limit-future-bookings',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const showTImePeriodSelector = typeof this.selectedNumber == 'number' && typeof this.selectedPeriod == 'string';\n return (\n <Host>\n <div class=\"nylas-limit-future-bookings\" part=\"nlfb\">\n <label>\n {i18next.t('nylasLimitFutureBookings.headerTitle')}\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasLimitFutureBookings.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n </label>\n {showTImePeriodSelector && (\n <time-period-selector\n id=\"limit-future-bookings\"\n timePeriods={[\n { value: 'day', label: i18next.t('timePeriod', { context: 'day' }) },\n { value: 'week', label: i18next.t('timePeriod', { context: 'week' }) },\n { value: 'month', label: i18next.t('timePeriod', { context: 'month' }) },\n ]}\n exportparts=\"tps__number-dropdown: nlfb__number-dropdown, tps__number-dropdown-button: nlfb__number-dropdown-button, tps__number-dropdown-content: nlfb__number-dropdown-content, tps__period-dropdown: nlfb__period-dropdown, tps__period-dropdown-button: nlfb__period-dropdown-button, tps__period-dropdown-content: nlfb__period-dropdown-content\"\n defaultSelectedNumber={this.selectedNumber}\n defaultSelectedPeriod={this.selectedPeriod}\n themeConfig={this.themeConfig}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CbIFnpIT.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.scss?tag=nylas-limit-future-bookings&encapsulation=shadow","src/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n @include default-css-variables;\n}\n\n.nylas-limit-future-bookings {\n display: flex;\n justify-content: space-between;\n font-family: var(--nylas-font-family);\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n }\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 21px */\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n border: none;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, State, h, Element, Prop, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-limit-future-bookings` component is a form input for the number of days in the future a guest is allowed to book an event.\n *\n * @part nlfb - The limit future bookings container\n * @part nlfb__number-dropdown - The number dropdown container\n * @part nlfb__number-dropdown-button - The number dropdown button\n * @part nlfb__number-dropdown-content - The number dropdown content\n * @part nlfb__period-dropdown - The period dropdown container\n * @part nlfb__period-dropdown-button - The period dropdown button\n * @part nlfb__period-dropdown-content - The period dropdown content\n */\n@Component({\n tag: 'nylas-limit-future-bookings',\n styleUrl: 'nylas-limit-future-bookings.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasLimitFutureBookings {\n /**\n * The host element <nylas-limit-future-bookings>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The number of days into the future that invitees will see availability, as set in the configuration.\n */\n @Prop() availableDaysInFuture?: number;\n /**\n * @standalone\n * The name of the limit future bookings input.\n */\n @Prop() name: string = 'limit-future-bookings';\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * The selected number for the available days in the future.\n */\n @State() selectedNumber;\n /**\n * The selected period for the available days in the future.\n */\n @State() selectedPeriod;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-limit-future-bookings', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const daysInFuture = newVal?.scheduler?.available_days_in_future || this.availableDaysInFuture || 1;\n if (daysInFuture) {\n this.updateNumberAndPeriodFromDays(daysInFuture);\n }\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(daysInFuture?.toString(), this.name);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Event emitted when the future booking limit changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-limit-future-bookings', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n componentWillLoad() {\n debug('nylas-limit-future-bookings', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-limit-future-bookings', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n this.updateNumberAndPeriodFromDays(this.availableDaysInFuture || 1);\n }\n }\n\n disconnectedCallback() {\n debug('nylas-limit-future-bookings', 'disconnectedCallback');\n }\n\n @Listen('timePeriodChanged')\n timePeriodChangedHandler(\n event: CustomEvent<{\n number: number;\n period: string;\n }>,\n ) {\n const { number, period } = event.detail;\n let availableDaysInFuture;\n if (period === 'day') {\n availableDaysInFuture = number;\n } else if (period === 'week') {\n availableDaysInFuture = number * 7;\n } else {\n availableDaysInFuture = number * 30;\n }\n this.valueChanged.emit({ value: availableDaysInFuture, name: this.name });\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(availableDaysInFuture.toString(), this.name);\n }\n\n updateNumberAndPeriodFromDays(days: number): void {\n let number, period;\n if (days >= 30 && days % 30 === 0) {\n number = days / 30;\n period = 'month';\n } else if (days >= 7 && days % 7 === 0) {\n number = days / 7;\n period = 'week';\n } else {\n number = days;\n period = 'day';\n }\n this.selectedNumber = number;\n this.selectedPeriod = period;\n }\n\n @RegisterComponent<NylasLimitFutureBookings, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-limit-future-bookings',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const showTImePeriodSelector = typeof this.selectedNumber == 'number' && typeof this.selectedPeriod == 'string';\n return (\n <Host>\n <div class=\"nylas-limit-future-bookings\" part=\"nlfb\">\n <label>\n {i18next.t('nylasLimitFutureBookings.headerTitle')}\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasLimitFutureBookings.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n </label>\n {showTImePeriodSelector && (\n <time-period-selector\n id=\"limit-future-bookings\"\n timePeriods={[\n { value: 'day', label: i18next.t('timePeriod', { context: 'day' }) },\n { value: 'week', label: i18next.t('timePeriod', { context: 'week' }) },\n { value: 'month', label: i18next.t('timePeriod', { context: 'month' }) },\n ]}\n exportparts=\"tps__number-dropdown: nlfb__number-dropdown, tps__number-dropdown-button: nlfb__number-dropdown-button, tps__number-dropdown-content: nlfb__number-dropdown-content, tps__period-dropdown: nlfb__period-dropdown, tps__period-dropdown-button: nlfb__period-dropdown-button, tps__period-dropdown-content: nlfb__period-dropdown-content\"\n defaultSelectedNumber={this.selectedNumber}\n defaultSelectedPeriod={this.selectedPeriod}\n themeConfig={this.themeConfig}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -10,7 +10,7 @@ const EnvelopeIcon = proxyCustomElement(class EnvelopeIcon extends H {
|
|
|
10
10
|
this.height = '13';
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
|
-
return (h("svg", { key: '
|
|
13
|
+
return (h("svg", { key: '67e09244d8cf32e7cca01e273ad5c3a2f338efe5', width: "16", height: "13", viewBox: "0 0 16 13", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'a4aa648523bba0f0cce72a4687b2c428bfe21bc9', d: "M13.5 0C14.8807 0 16 1.11929 16 2.5V10.5C16 11.8807 14.8807 13 13.5 13H2.5C1.11929 13 0 11.8807 0 10.5V2.5C0 1.11929 1.11929 0 2.5 0H13.5ZM15 3.961L8.25351 7.93097C8.12311 8.00767 7.96661 8.02045 7.82751 7.96932L7.74649 7.93097L1 3.963V10.5C1 11.3284 1.67157 12 2.5 12H13.5C14.3284 12 15 11.3284 15 10.5V3.961ZM13.5 1H2.5C1.67157 1 1 1.67157 1 2.5V2.802L8 6.91991L15 2.801V2.5C15 1.67157 14.3284 1 13.5 1Z", fill: "currentColor" })));
|
|
14
14
|
}
|
|
15
15
|
static get style() { return iconCss; }
|
|
16
16
|
}, [258, "envelope-icon", {
|
|
@@ -32,6 +32,6 @@ function defineCustomElement() {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
export { EnvelopeIcon as E, defineCustomElement as d };
|
|
35
|
-
//# sourceMappingURL=p-
|
|
35
|
+
//# sourceMappingURL=p-Cf47JDzZ.js.map
|
|
36
36
|
|
|
37
|
-
//# sourceMappingURL=p-
|
|
37
|
+
//# sourceMappingURL=p-Cf47JDzZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-Cf47JDzZ.js","mappings":";;AAAA,MAAM,OAAO,GAAG,mCAAmC;;MCOtC,YAAY,GAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AALzB,IAAA,WAAA,GAAA;;;AAMU,QAAA,IAAK,CAAA,KAAA,GAAW,IAAI;AACpB,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI;AAY9B;IAVC,MAAM,GAAA;QACJ,QACE,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAA,EAC5F,CACE,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAC,EAAC,uZAAuZ,EACzZ,IAAI,EAAC,cAAc,EAAA,CACnB,CACE;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/common/icons/icon.css?tag=envelope-icon&encapsulation=scoped","src/common/icons/envelope.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'envelope-icon',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class EnvelopeIcon {\n @Prop() width: string = '16';\n @Prop() height: string = '13';\n\n render() {\n return (\n <svg width=\"16\" height=\"13\" viewBox=\"0 0 16 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13.5 0C14.8807 0 16 1.11929 16 2.5V10.5C16 11.8807 14.8807 13 13.5 13H2.5C1.11929 13 0 11.8807 0 10.5V2.5C0 1.11929 1.11929 0 2.5 0H13.5ZM15 3.961L8.25351 7.93097C8.12311 8.00767 7.96661 8.02045 7.82751 7.96932L7.74649 7.93097L1 3.963V10.5C1 11.3284 1.67157 12 2.5 12H13.5C14.3284 12 15 11.3284 15 10.5V3.961ZM13.5 1H2.5C1.67157 1 1 1.67157 1 2.5V2.802L8 6.91991L15 2.801V2.5C15 1.67157 14.3284 1 13.5 1Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n}\n"],"version":3}
|
|
@@ -2,12 +2,12 @@ import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-
|
|
|
2
2
|
import { R as RegisterComponent } from './p-CUlV7ZGv.js';
|
|
3
3
|
import { a as debug } from './p-CMNiSC4o.js';
|
|
4
4
|
import { i as instance } from './p-BjxQTsOy.js';
|
|
5
|
-
import { d as defineCustomElement$6 } from './p-
|
|
6
|
-
import { d as defineCustomElement$5 } from './p-
|
|
7
|
-
import { d as defineCustomElement$4 } from './p-
|
|
8
|
-
import { d as defineCustomElement$3 } from './p-
|
|
9
|
-
import { d as defineCustomElement$2 } from './p-
|
|
10
|
-
import { d as defineCustomElement$1 } from './p-
|
|
5
|
+
import { d as defineCustomElement$6 } from './p-DY3hmp0T.js';
|
|
6
|
+
import { d as defineCustomElement$5 } from './p-DsvNvqOg.js';
|
|
7
|
+
import { d as defineCustomElement$4 } from './p-UIE8SSzy.js';
|
|
8
|
+
import { d as defineCustomElement$3 } from './p-BEvwJe37.js';
|
|
9
|
+
import { d as defineCustomElement$2 } from './p-DtEl3UXW.js';
|
|
10
|
+
import { d as defineCustomElement$1 } from './p-C_a8Brku.js';
|
|
11
11
|
|
|
12
12
|
const nylasSchedulingMethodCss = ":host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:\"Inter\", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff;width:inherit}.nylas-scheduling-method{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-scheduling-method .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-scheduling-method .header h3{margin:0;font-size:16px;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-scheduling-method .nylas-scheduling-method__dropdown{padding:1rem;display:flex;flex-direction:column;gap:4px}.nylas-scheduling-method .nylas-scheduling-method__dropdown span.nylas-scheduling-method__dropdown-label{display:flex;align-items:center;gap:4px;color:var(--nylas-base-800);margin:0.25rem 0 0 0;font-size:14px;font-weight:400;line-height:20px;text-align:left}.nylas-scheduling-method .nylas-scheduling-method__dropdown span.nylas-scheduling-method__dropdown-label tooltip-component{display:flex}.nylas-scheduling-method .nylas-scheduling-method__dropdown select-dropdown::part(sd_dropdown){width:100%}.nylas-scheduling-method .nylas-scheduling-method__dropdown select-dropdown::part(sd_dropdown-content){width:100%;max-width:unset}.nylas-scheduling-method .nylas-scheduling-method__dropdown select-dropdown::part(sd_dropdown-button){width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.nylas-scheduling-method .nylas-scheduling-method__dropdown select-dropdown::part(sd_dropdown-button-selected-label){max-width:calc(100% - 2rem);font-family:var(--nylas-font-family);font-size:16px;line-height:24px}.nylas-scheduling-method .nylas-scheduling-method__dropdown input-component::part(ic__input){background:var(--nylas-base-50);outline:none;cursor:not-allowed}";
|
|
13
13
|
|
|
@@ -220,6 +220,6 @@ function defineCustomElement() {
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
export { NylasSchedulingMethod as N, defineCustomElement as d };
|
|
223
|
-
//# sourceMappingURL=p-
|
|
223
|
+
//# sourceMappingURL=p-ChvVcov-.js.map
|
|
224
224
|
|
|
225
|
-
//# sourceMappingURL=p-
|
|
225
|
+
//# sourceMappingURL=p-ChvVcov-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-CeKOSPvz.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-scheduling-method/nylas-scheduling-method.scss?tag=nylas-scheduling-method&encapsulation=shadow","src/components/scheduler-editor/nylas-scheduling-method/nylas-scheduling-method.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-scheduling-method {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n\n .header {\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n }\n\n .nylas-scheduling-method__dropdown {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 4px;\n\n span.nylas-scheduling-method__dropdown-label {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--nylas-base-800);\n margin: 0.25rem 0 0 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n text-align: left;\n\n tooltip-component {\n display: flex;\n }\n }\n\n select-dropdown::part(sd_dropdown) {\n width: 100%;\n }\n\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-width: unset;\n }\n\n select-dropdown::part(sd_dropdown-button) {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n }\n\n select-dropdown::part(sd_dropdown-button-selected-label) {\n max-width: calc(100% - 2rem);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n }\n\n input-component::part(ic__input) {\n background: var(--nylas-base-50);\n outline: none;\n cursor: not-allowed;\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AdditionalParticipant, Configuration, ThemeConfig } from '@nylas/core';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-scheduling-method` component is a UI component that displays the booking calendar picker.\n * @part nsm - The booking calendar picker container\n * @part nsm__header - The header of the booking calendar picker\n * @part nsm__input-label - The input label of the booking calendar picker\n * @part nsm__dropdown - The dropdown container\n * @part nsm__dropdown-button - The dropdown button\n * @part nsm__dropdown-content - The dropdown content\n */\n@Component({\n tag: 'nylas-scheduling-method',\n styleUrl: 'nylas-scheduling-method.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasSchedulingMethod {\n @Element() host!: HTMLNylasSchedulingMethodElement;\n\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The name of the booking type picker.\n */\n @Prop() name: string = 'availability-method';\n /**\n * @standalone\n * The participant options passed in the additionalParticipants prop\n * from the nylas-scheduler-editor component.\n */\n @Prop() participantOptions?: AdditionalParticipant[];\n /**\n * This prop is used to display the component in a disabled state / read-only mode.\n */\n @Prop() readOnly: boolean = false;\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * Whether to show the sub-title.\n */\n @Prop() showSubTitle: boolean = false;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The selected booking type.\n */\n @State() selectedBookingType: string = '';\n\n /**\n * This event is fired when the selected booking calendar changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\n }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-scheduling-method', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {\n debug('nylas-scheduling-method', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-scheduling-method', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-scheduling-method', 'componentDidLoad');\n const bookingType = this.selectedConfiguration?.availability?.availability_rules?.availability_method?.toString();\n\n // TODO: Remove this when the internals in tests are fixed.\n if (bookingType && typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(bookingType, this.name);\n }\n this.selectedBookingType = bookingType || 'collective';\n }\n\n componentWillUpdate() {\n debug('nylas-scheduling-method', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-scheduling-method', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-scheduling-method', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-scheduling-method', 'componentDidRender');\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-scheduling-method', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration, _oldVal: Configuration) {\n const bookingType = newVal?.availability?.availability_rules?.availability_method ?? 'collective';\n\n this.internals.setFormValue(bookingType, this.name);\n this.selectedBookingType = bookingType || 'collective';\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-scheduling-method', 'nylasFormDropdownChangedHandler', event.detail);\n // Pass as handler so that if event.defaultPrevented by parent app, this will be skipped.\n const valueChanged = (event: CustomEvent<{ value: string; name: string }>) => {\n const { value } = event.detail;\n if (value) {\n this.selectedBookingType = value;\n this.internals.setFormValue(value, this.name);\n }\n };\n this.valueChanged.emit({ value: event.detail.value, name: this.name, valueChanged });\n }\n\n @RegisterComponent<NylasSchedulingMethod, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-scheduling-method',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n localPropsToProp: new Map([['additionalParticipants', 'participantOptions']]),\n eventToProps: {\n valueChanged: async (\n event: CustomEvent<{ value: string; name: string; valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void }>,\n _nylasSchedulerConfigConnector: NylasSchedulerConfigConnector,\n ) => {\n const { valueChanged } = event.detail;\n // If a handler is passed, call it.\n if (valueChanged) {\n valueChanged(event);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const bookingTypeOptions = [\n { label: i18next.t('nylasSchedulingMethod.schedulingMethodOptions', { context: 'collective' }), value: 'collective' },\n { label: i18next.t('nylasSchedulingMethod.schedulingMethodOptions', { context: 'maxFairness' }), value: 'max-fairness' },\n { label: i18next.t('nylasSchedulingMethod.schedulingMethodOptions', { context: 'maxAvailability' }), value: 'max-availability' },\n ];\n const defaultBookingType = this.selectedConfiguration?.availability?.availability_rules?.availability_method?.toString();\n const hasAdditionalParticipants =\n this.participantOptions &&\n this.participantOptions?.length > 0 &&\n !!this.participantOptions[0].email &&\n !!this.participantOptions[0].name &&\n !!this.participantOptions[0].calendars &&\n this.participantOptions[0].calendars.length > 0;\n\n // If a default availability method is set in the configuration (developer settings), do not show the booking type picker.\n // Or, if a default availability method is not set and there are no additional participants, do not show the booking type picker.\n if ((defaultBookingType || !hasAdditionalParticipants) && !this.readOnly) {\n return null;\n }\n\n return (\n <Host>\n <div class=\"nylas-scheduling-method\" part=\"nsm\">\n <div class=\"header\" part=\"nsm__header\">\n <h3>{i18next.t('nylasSchedulingMethod.headerTitle')}</h3>\n </div>\n <div class=\"nylas-scheduling-method__dropdown\">\n {this.showSubTitle && (\n <span class=\"nylas-scheduling-method__dropdown-label\">\n {i18next.t('nylasSchedulingMethod.headerSubTitle')}\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n <strong>{i18next.t('nylasSchedulingMethod.tooltip.standard.label')}</strong>\n <br />- {i18next.t('nylasSchedulingMethod.tooltip.standard.desc')}\n <br />\n <br />\n <strong>{i18next.t('nylasSchedulingMethod.tooltip.maxFairness.label')}</strong>\n <br />- {i18next.t('nylasSchedulingMethod.tooltip.maxFairness.desc')}\n <br />\n <br />\n <strong>{i18next.t('nylasSchedulingMethod.tooltip.maxAvailability.label')}</strong>\n <br />- {i18next.t('nylasSchedulingMethod.tooltip.maxAvailability.desc')}\n <br />\n </span>\n </tooltip-component>\n </span>\n )}\n {this.readOnly ? (\n <input-component\n name=\"availability-method-read-only\"\n type=\"text\"\n exportparts=\"ic__label: nsm__input-label, ic__input: nsm__input, ic__input_wrapper: nsm__input_wrapper\"\n readOnly\n defaultValue={bookingTypeOptions.find(cal => cal.value == defaultBookingType)?.label ?? bookingTypeOptions[0].label}\n themeConfig={this.themeConfig}\n />\n ) : (\n <select-dropdown\n name={this.name}\n options={bookingTypeOptions}\n withSearch={false}\n exportparts=\"sd_dropdown: nsm__dropdown, sd_dropdown-button: nsm__dropdown-button, sd_dropdown-content: nsm__dropdown-content\"\n defaultSelectedOption={bookingTypeOptions.find(cal => cal.value == defaultBookingType) ?? bookingTypeOptions[0]}\n themeConfig={this.themeConfig}\n />\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-ChvVcov-.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-scheduling-method/nylas-scheduling-method.scss?tag=nylas-scheduling-method&encapsulation=shadow","src/components/scheduler-editor/nylas-scheduling-method/nylas-scheduling-method.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-scheduling-method {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n\n .header {\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n }\n\n .nylas-scheduling-method__dropdown {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 4px;\n\n span.nylas-scheduling-method__dropdown-label {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--nylas-base-800);\n margin: 0.25rem 0 0 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n text-align: left;\n\n tooltip-component {\n display: flex;\n }\n }\n\n select-dropdown::part(sd_dropdown) {\n width: 100%;\n }\n\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-width: unset;\n }\n\n select-dropdown::part(sd_dropdown-button) {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n }\n\n select-dropdown::part(sd_dropdown-button-selected-label) {\n max-width: calc(100% - 2rem);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n }\n\n input-component::part(ic__input) {\n background: var(--nylas-base-50);\n outline: none;\n cursor: not-allowed;\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AdditionalParticipant, Configuration, ThemeConfig } from '@nylas/core';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-scheduling-method` component is a UI component that displays the booking calendar picker.\n * @part nsm - The booking calendar picker container\n * @part nsm__header - The header of the booking calendar picker\n * @part nsm__input-label - The input label of the booking calendar picker\n * @part nsm__dropdown - The dropdown container\n * @part nsm__dropdown-button - The dropdown button\n * @part nsm__dropdown-content - The dropdown content\n */\n@Component({\n tag: 'nylas-scheduling-method',\n styleUrl: 'nylas-scheduling-method.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasSchedulingMethod {\n @Element() host!: HTMLNylasSchedulingMethodElement;\n\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The name of the booking type picker.\n */\n @Prop() name: string = 'availability-method';\n /**\n * @standalone\n * The participant options passed in the additionalParticipants prop\n * from the nylas-scheduler-editor component.\n */\n @Prop() participantOptions?: AdditionalParticipant[];\n /**\n * This prop is used to display the component in a disabled state / read-only mode.\n */\n @Prop() readOnly: boolean = false;\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * Whether to show the sub-title.\n */\n @Prop() showSubTitle: boolean = false;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The selected booking type.\n */\n @State() selectedBookingType: string = '';\n\n /**\n * This event is fired when the selected booking calendar changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\n }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-scheduling-method', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {\n debug('nylas-scheduling-method', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-scheduling-method', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-scheduling-method', 'componentDidLoad');\n const bookingType = this.selectedConfiguration?.availability?.availability_rules?.availability_method?.toString();\n\n // TODO: Remove this when the internals in tests are fixed.\n if (bookingType && typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(bookingType, this.name);\n }\n this.selectedBookingType = bookingType || 'collective';\n }\n\n componentWillUpdate() {\n debug('nylas-scheduling-method', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-scheduling-method', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-scheduling-method', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-scheduling-method', 'componentDidRender');\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-scheduling-method', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration, _oldVal: Configuration) {\n const bookingType = newVal?.availability?.availability_rules?.availability_method ?? 'collective';\n\n this.internals.setFormValue(bookingType, this.name);\n this.selectedBookingType = bookingType || 'collective';\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-scheduling-method', 'nylasFormDropdownChangedHandler', event.detail);\n // Pass as handler so that if event.defaultPrevented by parent app, this will be skipped.\n const valueChanged = (event: CustomEvent<{ value: string; name: string }>) => {\n const { value } = event.detail;\n if (value) {\n this.selectedBookingType = value;\n this.internals.setFormValue(value, this.name);\n }\n };\n this.valueChanged.emit({ value: event.detail.value, name: this.name, valueChanged });\n }\n\n @RegisterComponent<NylasSchedulingMethod, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-scheduling-method',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n localPropsToProp: new Map([['additionalParticipants', 'participantOptions']]),\n eventToProps: {\n valueChanged: async (\n event: CustomEvent<{ value: string; name: string; valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void }>,\n _nylasSchedulerConfigConnector: NylasSchedulerConfigConnector,\n ) => {\n const { valueChanged } = event.detail;\n // If a handler is passed, call it.\n if (valueChanged) {\n valueChanged(event);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const bookingTypeOptions = [\n { label: i18next.t('nylasSchedulingMethod.schedulingMethodOptions', { context: 'collective' }), value: 'collective' },\n { label: i18next.t('nylasSchedulingMethod.schedulingMethodOptions', { context: 'maxFairness' }), value: 'max-fairness' },\n { label: i18next.t('nylasSchedulingMethod.schedulingMethodOptions', { context: 'maxAvailability' }), value: 'max-availability' },\n ];\n const defaultBookingType = this.selectedConfiguration?.availability?.availability_rules?.availability_method?.toString();\n const hasAdditionalParticipants =\n this.participantOptions &&\n this.participantOptions?.length > 0 &&\n !!this.participantOptions[0].email &&\n !!this.participantOptions[0].name &&\n !!this.participantOptions[0].calendars &&\n this.participantOptions[0].calendars.length > 0;\n\n // If a default availability method is set in the configuration (developer settings), do not show the booking type picker.\n // Or, if a default availability method is not set and there are no additional participants, do not show the booking type picker.\n if ((defaultBookingType || !hasAdditionalParticipants) && !this.readOnly) {\n return null;\n }\n\n return (\n <Host>\n <div class=\"nylas-scheduling-method\" part=\"nsm\">\n <div class=\"header\" part=\"nsm__header\">\n <h3>{i18next.t('nylasSchedulingMethod.headerTitle')}</h3>\n </div>\n <div class=\"nylas-scheduling-method__dropdown\">\n {this.showSubTitle && (\n <span class=\"nylas-scheduling-method__dropdown-label\">\n {i18next.t('nylasSchedulingMethod.headerSubTitle')}\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n <strong>{i18next.t('nylasSchedulingMethod.tooltip.standard.label')}</strong>\n <br />- {i18next.t('nylasSchedulingMethod.tooltip.standard.desc')}\n <br />\n <br />\n <strong>{i18next.t('nylasSchedulingMethod.tooltip.maxFairness.label')}</strong>\n <br />- {i18next.t('nylasSchedulingMethod.tooltip.maxFairness.desc')}\n <br />\n <br />\n <strong>{i18next.t('nylasSchedulingMethod.tooltip.maxAvailability.label')}</strong>\n <br />- {i18next.t('nylasSchedulingMethod.tooltip.maxAvailability.desc')}\n <br />\n </span>\n </tooltip-component>\n </span>\n )}\n {this.readOnly ? (\n <input-component\n name=\"availability-method-read-only\"\n type=\"text\"\n exportparts=\"ic__label: nsm__input-label, ic__input: nsm__input, ic__input_wrapper: nsm__input_wrapper\"\n readOnly\n defaultValue={bookingTypeOptions.find(cal => cal.value == defaultBookingType)?.label ?? bookingTypeOptions[0].label}\n themeConfig={this.themeConfig}\n />\n ) : (\n <select-dropdown\n name={this.name}\n options={bookingTypeOptions}\n withSearch={false}\n exportparts=\"sd_dropdown: nsm__dropdown, sd_dropdown-button: nsm__dropdown-button, sd_dropdown-content: nsm__dropdown-content\"\n defaultSelectedOption={bookingTypeOptions.find(cal => cal.value == defaultBookingType) ?? bookingTypeOptions[0]}\n themeConfig={this.themeConfig}\n />\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -10,7 +10,7 @@ const LocationIcon = proxyCustomElement(class LocationIcon extends H {
|
|
|
10
10
|
this.height = '18';
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
|
-
return (h("svg", { key: '
|
|
13
|
+
return (h("svg", { key: 'ed6f9bb1f17cd8c3db1edf9f9d15ef999879d7a6', width: this.width, height: this.height, fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '2aa2058fa81b4b402b4b5284898cdea0efe64e30', d: "M10 7.66211C10 9.31896 8.65685 10.6621 7 10.6621C5.34315 10.6621 4 9.31896 4 7.66211C4 6.00526 5.34315 4.66211 7 4.66211C8.65685 4.66211 10 6.00526 10 7.66211ZM9 7.66211C9 6.55754 8.10457 5.66211 7 5.66211C5.89543 5.66211 5 6.55754 5 7.66211C5 8.76668 5.89543 9.66211 7 9.66211C8.10457 9.66211 9 8.76668 9 7.66211ZM11.9497 12.6171C14.6834 9.88221 14.6834 5.44812 11.9497 2.71326C9.21608 -0.0216067 4.78392 -0.0216067 2.05025 2.71326C-0.683418 5.44812 -0.683418 9.88221 2.05025 12.6171L3.57128 14.1159L5.61408 16.101L5.74691 16.2188C6.52168 16.8468 7.65623 16.8076 8.38611 16.1012L10.8223 13.7312L11.9497 12.6171ZM2.75499 3.4183C5.09944 1.07282 8.90055 1.07282 11.245 3.4183C13.5294 5.70364 13.5879 9.3725 11.4207 11.7288L11.245 11.912L9.92371 13.216L7.69315 15.3846L7.60016 15.4642C7.24594 15.732 6.7543 15.732 6.40012 15.4642L6.30713 15.3845L3.3263 12.4791L2.75499 11.912L2.57927 11.7288C0.412077 9.3725 0.47065 5.70364 2.75499 3.4183Z", fill: "currentColor" })));
|
|
14
14
|
}
|
|
15
15
|
static get style() { return iconCss; }
|
|
16
16
|
}, [258, "location-icon", {
|
|
@@ -32,6 +32,6 @@ function defineCustomElement() {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
export { LocationIcon as L, defineCustomElement as d };
|
|
35
|
-
//# sourceMappingURL=p-
|
|
35
|
+
//# sourceMappingURL=p-CixxWdv6.js.map
|
|
36
36
|
|
|
37
|
-
//# sourceMappingURL=p-
|
|
37
|
+
//# sourceMappingURL=p-CixxWdv6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-CixxWdv6.js","mappings":";;AAAA,MAAM,OAAO,GAAG,mCAAmC;;MCOtC,YAAY,GAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AALzB,IAAA,WAAA,GAAA;;;AAMU,QAAA,IAAK,CAAA,KAAA,GAAW,IAAI;AACpB,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI;AAY9B;IAVC,MAAM,GAAA;QACJ,QACE,4DAAK,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAA,EACzF,CACE,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAC,EAAC,06BAA06B,EAC56B,IAAI,EAAC,cAAc,EAAA,CACnB,CACE;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/common/icons/icon.css?tag=location-icon&encapsulation=scoped","src/common/icons/location.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'location-icon',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class LocationIcon {\n @Prop() width: string = '16';\n @Prop() height: string = '18';\n\n render() {\n return (\n <svg width={this.width} height={this.height} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M10 7.66211C10 9.31896 8.65685 10.6621 7 10.6621C5.34315 10.6621 4 9.31896 4 7.66211C4 6.00526 5.34315 4.66211 7 4.66211C8.65685 4.66211 10 6.00526 10 7.66211ZM9 7.66211C9 6.55754 8.10457 5.66211 7 5.66211C5.89543 5.66211 5 6.55754 5 7.66211C5 8.76668 5.89543 9.66211 7 9.66211C8.10457 9.66211 9 8.76668 9 7.66211ZM11.9497 12.6171C14.6834 9.88221 14.6834 5.44812 11.9497 2.71326C9.21608 -0.0216067 4.78392 -0.0216067 2.05025 2.71326C-0.683418 5.44812 -0.683418 9.88221 2.05025 12.6171L3.57128 14.1159L5.61408 16.101L5.74691 16.2188C6.52168 16.8468 7.65623 16.8076 8.38611 16.1012L10.8223 13.7312L11.9497 12.6171ZM2.75499 3.4183C5.09944 1.07282 8.90055 1.07282 11.245 3.4183C13.5294 5.70364 13.5879 9.3725 11.4207 11.7288L11.245 11.912L9.92371 13.216L7.69315 15.3846L7.60016 15.4642C7.24594 15.732 6.7543 15.732 6.40012 15.4642L6.30713 15.3845L3.3263 12.4791L2.75499 11.912L2.57927 11.7288C0.412077 9.3725 0.47065 5.70364 2.75499 3.4183Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n}\n"],"version":3}
|
|
@@ -220,7 +220,7 @@ const InputDropdown = proxyCustomElement(class InputDropdown extends H {
|
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
render() {
|
|
223
|
-
return (h("div", { key: '
|
|
223
|
+
return (h("div", { key: 'ccfb6ebafcb7ffe8fbe09a7915c6271c1da89d90', class: "dropdown", part: "id_dropdown" }, h("input", { key: '3740e437fa3e4265ce99e520f975819e1db4508f', type: "text", name: this.name, id: this.name, part: "id_dropdown-input", class: { dropbtn: true, open: this.isOpen }, value: this.inputValue, onClick: (e) => {
|
|
224
224
|
this.toggleDropdown();
|
|
225
225
|
this.shouldAutoScroll = true;
|
|
226
226
|
this.handleClick(e);
|
|
@@ -273,6 +273,6 @@ function defineCustomElement() {
|
|
|
273
273
|
}
|
|
274
274
|
|
|
275
275
|
export { InputDropdown as I, defineCustomElement as d };
|
|
276
|
-
//# sourceMappingURL=p-
|
|
276
|
+
//# sourceMappingURL=p-CkIBsfNB.js.map
|
|
277
277
|
|
|
278
|
-
//# sourceMappingURL=p-
|
|
278
|
+
//# sourceMappingURL=p-CkIBsfNB.js.map
|