@nylas/web-elements 2.5.18 → 2.6.1
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 +2504 -2478
- 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 +46 -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 +9 -6
- 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-Xu0ORQw8.js → version-Ep_WAjs1.js} +3 -3
- package/dist/cjs/version-Ep_WAjs1.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 +40 -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 +1 -1
- 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 +8 -5
- 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 +47 -44
- 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-WABPA0YV.js → p-BVq4mTYg.js} +56 -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-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-DRXHxMKj.js → p-DRo0peiI.js} +82 -82
- package/dist/components/{p-DRXHxMKj.js.map → p-DRo0peiI.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-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-BGCZ4yg1.js → p-erV6iEKy.js} +96 -96
- package/dist/components/{p-BGCZ4yg1.js.map → p-erV6iEKy.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-DQNm7dzQ.js → p-oiP2Tfx1.js} +3 -3
- package/dist/components/{p-DQNm7dzQ.js.map → p-oiP2Tfx1.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 +47 -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 +9 -6
- 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-iQhY7wWk.js → version-JnnkbSna.js} +3 -3
- package/dist/esm/version-JnnkbSna.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-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-7b8b7718.entry.js → p-731891a8.entry.js} +2 -2
- 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-86d19f93.entry.js +2 -0
- package/dist/nylas-web-elements/p-86d19f93.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-1401a68f.entry.js → p-8c77020a.entry.js} +3 -3
- package/dist/nylas-web-elements/p-8c77020a.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-iQhY7wWk.js → p-JnnkbSna.js} +2 -2
- package/dist/nylas-web-elements/p-JnnkbSna.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-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 +4 -0
- package/dist/types/components.d.ts +4 -4
- package/dist/types/connector/shared/api/scheduler.d.ts +1 -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-Xu0ORQw8.js.map +0 -1
- package/dist/components/p-WABPA0YV.js.map +0 -1
- package/dist/esm/version-iQhY7wWk.js.map +0 -1
- package/dist/nylas-web-elements/p-1401a68f.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-4d04cfe9.entry.js +0 -2
- package/dist/nylas-web-elements/p-4d04cfe9.entry.js.map +0 -1
- 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-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-cb33346f.entry.js +0 -2
- package/dist/nylas-web-elements/p-cb33346f.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-iQhY7wWk.js.map +0 -1
- /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-7b8b7718.entry.js.map → p-731891a8.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-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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, e as createEvent, h } from './p-Bht9ktsW.js';
|
|
2
|
-
import { d as defineCustomElement$1 } from './p-
|
|
2
|
+
import { d as defineCustomElement$1 } from './p-DjZdyHmc.js';
|
|
3
3
|
|
|
4
4
|
const checkboxGroupCss = ":host{display:block}.checkbox-group-container{display:flex;flex-direction:column;gap:0.5rem}.group-label{font-weight:500;margin-bottom:0.25rem}.group-label .required{color:var(--nylas-error);margin-left:0.25rem}.checkbox-list{display:flex;gap:16px}.checkbox-list.vertical{flex-direction:column}.checkbox-list.horizontal{flex-direction:row;align-items:center}.checkbox-list checkbox-component{width:max-content}.checkbox-list checkbox-component::part(checkbox-label-span){width:inherit;margin-left:24px}.error{color:var(--nylas-error);font-size:0.875rem;margin-top:0.25rem}";
|
|
5
5
|
|
|
@@ -87,7 +87,7 @@ const CheckboxGroup = proxyCustomElement(class CheckboxGroup extends H {
|
|
|
87
87
|
this.handleCheckboxToggle(event);
|
|
88
88
|
}
|
|
89
89
|
render() {
|
|
90
|
-
return (h("div", { key: '
|
|
90
|
+
return (h("div", { key: '23978e91b423c794f1133c3841ac9a01e99835e4', class: "checkbox-group-container" }, this.label && (h("div", { key: '72d07a1d8a9f40d96f14925fe4d08024ce00dba2', class: "group-label" }, this.label, this.required && h("span", { key: '6386ad4a054a90812738c84be2f5304449c28971', class: "required" }, "*"))), h("div", { key: 'b014066301e1ed8f79502eb74efdeefc2e7e7ff9', class: `checkbox-list ${this.direction}` }, this.options.map(option => (h("checkbox-component", { name: `${this.name}-${option.value}`, label: option.label, checked: this.selectedValues.includes(option.value), readOnly: option.disabled, required: this.required, themeConfig: this.themeConfig })))), this.error && h("p", { key: '55c2b20c4da9a17cc4d98225cba5c5bcdbb31061', class: "error" }, this.error)));
|
|
91
91
|
}
|
|
92
92
|
get el() { return this; }
|
|
93
93
|
static get watchers() { return {
|
|
@@ -128,6 +128,6 @@ function defineCustomElement() {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
export { CheckboxGroup as C, defineCustomElement as d };
|
|
131
|
-
//# sourceMappingURL=p-
|
|
131
|
+
//# sourceMappingURL=p-CWNABkMS.js.map
|
|
132
132
|
|
|
133
|
-
//# sourceMappingURL=p-
|
|
133
|
+
//# sourceMappingURL=p-CWNABkMS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-CWNABkMS.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/checkbox-group/checkbox-group.scss?tag=checkbox-group&encapsulation=shadow","src/components/design-system/checkbox-group/checkbox-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.checkbox-group-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.group-label {\n font-weight: 500;\n margin-bottom: 0.25rem;\n\n .required {\n color: var(--nylas-error);\n margin-left: 0.25rem;\n }\n}\n\n.checkbox-list {\n display: flex;\n gap: 16px;\n\n &.vertical {\n flex-direction: column;\n }\n\n &.horizontal {\n flex-direction: row;\n align-items: center;\n }\n\n checkbox-component {\n width: max-content;\n &::part(checkbox-label-span) {\n width: inherit;\n margin-left: 24px;\n }\n }\n}\n\n.error {\n color: var(--nylas-error);\n font-size: 0.875rem;\n margin-top: 0.25rem;\n}\n","import { Component, h, Prop, State, Event, EventEmitter, Element, Listen, Watch } from '@stencil/core';\nimport { CheckboxOption, CheckboxGroupDirection, ThemeConfig } from '@nylas/core';\n\n/**\n * The `checkbox-group` component is a UI component that allows users to select multiple options from a list.\n * It manages a group of checkboxes and their states.\n */\n@Component({\n tag: 'checkbox-group',\n styleUrl: 'checkbox-group.scss',\n shadow: true,\n})\nexport class CheckboxGroup {\n @Element() el!: HTMLElement;\n private readonly componentType: string = 'checkbox-group';\n\n /**\n * The name of the checkbox group. This is used to identify the group when submitting a form.\n */\n @Prop() name: string = 'checkbox-group';\n\n /**\n * The label for the checkbox group.\n */\n @Prop() label: string = '';\n\n /**\n * Array of options to display as checkboxes.\n * Each option should have a label and value.\n */\n @Prop() options: CheckboxOption[] = [];\n\n /**\n * Whether the checkbox group is required. If true, at least one checkbox must be checked when submitting a form.\n */\n @Prop() required: boolean = false;\n\n /**\n * The layout direction of the checkboxes.\n * 'vertical' - checkboxes are stacked vertically (default)\n * 'horizontal' - checkboxes are arranged horizontally\n */\n @Prop() direction: CheckboxGroupDirection = 'vertical';\n\n /**\n * The theme config for the checkbox group.\n */\n @Prop() themeConfig?: ThemeConfig;\n\n /**\n * The error message state.\n */\n @State() error: string = '';\n\n @State() selectedValues: string[] = [];\n\n /**\n * This event is fired when any checkbox in the group is toggled.\n */\n @Event() nylasCheckboxGroupChanged!: EventEmitter<{\n selectedValues: string[];\n name: string;\n }>;\n\n // Lifecycle events\n componentWillLoad() {\n this.el.setAttribute('component-type', this.componentType);\n }\n\n componentDidLoad() {\n this.selectedValues = this.options.filter(option => option.checked).map(option => option.value);\n }\n\n @Watch('options')\n optionsChangedHandler(newValue: CheckboxOption[], oldValue: CheckboxOption[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return;\n this.selectedValues = newValue.filter(option => option.checked).map(option => option.value);\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.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n 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.el.setAttribute('data-themed', '');\n }\n });\n }\n\n // Event listeners\n @Listen('bookingFormSubmitted', { target: 'document' })\n handleBookingFormSubmitted(event: CustomEvent) {\n if (this.required && !this.hasCheckedOptions()) {\n this.error = 'Please select at least one option.';\n }\n if (this.error) {\n event.preventDefault();\n }\n }\n\n // Methods\n private hasCheckedOptions(): boolean {\n return this.options.some(option => option.checked);\n }\n\n handleCheckboxToggle(event: CustomEvent) {\n const { checked, name: _checkboxName, label } = event.detail;\n\n // Find the option that was toggled\n const toggledOption = this.options.find(option => option.label === label);\n if (!toggledOption) return;\n\n // Update selectedValues based on the checked state\n let selected: string[] = [];\n if (checked) {\n if (toggledOption.selectAll) {\n selected = this.options.map(option => option.value);\n } else {\n selected = [...this.selectedValues, toggledOption.value];\n }\n } else {\n selected = this.selectedValues.filter(value => value !== toggledOption.value);\n }\n this.selectedValues = [...selected];\n\n // Emit the change event\n this.nylasCheckboxGroupChanged.emit({\n selectedValues: this.selectedValues,\n name: this.name,\n });\n }\n\n @Listen('nylasFormCheckboxToggled', { target: 'document' })\n handleCheckboxToggled(event: CustomEvent) {\n this.handleCheckboxToggle(event);\n }\n\n render() {\n return (\n <div class=\"checkbox-group-container\">\n {this.label && (\n <div class=\"group-label\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </div>\n )}\n <div class={`checkbox-list ${this.direction}`}>\n {this.options.map(option => (\n <checkbox-component\n name={`${this.name}-${option.value}`}\n label={option.label}\n checked={this.selectedValues.includes(option.value)}\n readOnly={option.disabled}\n required={this.required}\n themeConfig={this.themeConfig}\n />\n ))}\n </div>\n {this.error && <p class=\"error\">{this.error}</p>}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-CWplx7sA.js","mappings":"AAGG,IAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;AACzH,MAA+D,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI;;ICgJpH;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA;IAwZW;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA;AAQD,IAAY,kBAWX;AAXD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C;AAC/C,IAAA,kBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,kBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,kBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;AACzC,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,GAW7B,EAAA,CAAA,CAAA;;;;","names":[],"sources":["../nylas-js-core/dist/index.es.js","src/types/index.ts"],"sourcesContent":["var t = Object.defineProperty;\nvar c = (r, n, s) => n in r ? t(r, n, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[n] = s;\nvar a = (r, n, s) => (c(r, typeof n != \"symbol\" ? n + \"\" : n, s), s);\nvar u = /* @__PURE__ */ ((r) => (r.Error = \"error\", r.Warning = \"warning\", r.Info = \"info\", r.Success = \"success\", r))(u || {});\nconst e = (r) => r !== null && typeof r == \"object\" && \"data\" in r, o = (r) => r !== null && typeof r == \"object\" && \"error\" in r;\nclass E extends Error {\n constructor(s) {\n super(s == null ? void 0 : s.message);\n a(this, \"apiError\");\n this.name = \"NylasAPIError\", this.stack = new Error().stack, this.apiError = s;\n }\n}\nexport {\n u as NotificationType,\n E as NylasAPIError,\n o as isNylasErrorResponse,\n e as isNylasSuccessResponse\n};\n","export interface NylasResponse<Data = any> {\n request_id: string;\n data?: Data;\n error?: {\n message: string;\n type: string;\n };\n}\n\n// Avaliability\nexport interface OpenHours {\n days: number[];\n exDates: string[];\n timezone: string;\n start: string;\n end: string;\n}\n\nexport interface SpecificTimeAvailability {\n date: string;\n start: string;\n end: string;\n}\n\nexport interface MeetingBuffer {\n before: number;\n after: number;\n}\n\n// Scheduling\nexport interface UpdateConfiguration extends Omit<Configuration, 'id'> {}\n\nexport interface ParticipantAvailability {\n calendar_ids: string[];\n open_hours?: OpenHours[];\n}\n\nexport type NylasSchedulerBookingParticipant = { name: string; email: string; nameReadOnly?: boolean; emailReadOnly?: boolean };\n\nexport type NylasSchedulerBookingData = {\n primaryParticipant: NylasSchedulerBookingParticipant;\n startTime?: Date;\n endTime?: Date;\n timezone?: string;\n language?: string;\n guests?: NylasSchedulerBookingParticipant[];\n additionalFields?: Record<\n string,\n {\n value: string;\n type?: string;\n readOnly?: boolean;\n }\n >;\n};\n\nexport type OpenHour = {\n days: number[]; // [1, 2, 3, 4, 5]\n start: string; // \"09:00\"\n end: string; // \"17:00\"\n timezone: string; // \"America/Los_Angeles\"\n};\n\nexport type Timeslot = {\n start_time: Date;\n end_time: Date;\n emails?: string[];\n capacity?: number;\n event_id?: string;\n master_id?: string;\n calendar_id?: string;\n};\n\nexport type ThemeConfig = Partial<{\n '--nylas-primary': string;\n '--nylas-info': string;\n '--nylas-success': string;\n '--nylas-warning': string;\n '--nylas-error': string;\n '--nylas-error-pressed': string;\n '--nylas-base-0': string;\n '--nylas-base-25': string;\n '--nylas-base-50': string;\n '--nylas-base-100': string;\n '--nylas-base-200': string;\n '--nylas-base-300': string;\n '--nylas-base-400': string;\n '--nylas-base-500': string;\n '--nylas-base-600': string;\n '--nylas-base-700': string;\n '--nylas-base-800': string;\n '--nylas-base-900': string;\n '--nylas-base-950': string;\n '--nylas-color-blue-50': string;\n '--nylas-color-blue-100': string;\n '--nylas-color-blue-300': string;\n '--nylas-color-blue-500': string;\n '--nylas-color-blue-700': string;\n '--nylas-color-blue-900': string;\n '--nylas-color-red-50': string;\n '--nylas-color-red-100': string;\n '--nylas-color-red-300': string;\n '--nylas-color-red-500': string;\n '--nylas-color-red-700': string;\n '--nylas-color-red-900': string;\n '--nylas-color-green-50': string;\n '--nylas-color-green-100': string;\n '--nylas-color-green-300': string;\n '--nylas-color-green-500': string;\n '--nylas-color-green-700': string;\n '--nylas-color-green-900': string;\n '--nylas-color-yellow-50': string;\n '--nylas-color-yellow-100': string;\n '--nylas-color-yellow-300': string;\n '--nylas-color-yellow-500': string;\n '--nylas-color-yellow-700': string;\n '--nylas-color-yellow-900': string;\n '--nylas-color-purple-50': string;\n '--nylas-color-purple-100': string;\n '--nylas-color-purple-300': string;\n '--nylas-color-purple-500': string;\n '--nylas-color-purple-700': string;\n '--nylas-color-purple-900': string;\n '--nylas-color-sky-50': string;\n '--nylas-color-sky-100': string;\n '--nylas-color-sky-300': string;\n '--nylas-color-sky-500': string;\n '--nylas-color-sky-700': string;\n '--nylas-color-sky-900': string;\n '--nylas-color-black': string;\n '--nylas-color-grey-900': string;\n '--nylas-color-grey-800': string;\n '--nylas-color-grey-700': string;\n '--nylas-color-grey-600': string;\n '--nylas-color-grey-500': string;\n '--nylas-color-grey-400': string;\n '--nylas-color-grey-300': string;\n '--nylas-color-grey-200': string;\n '--nylas-color-grey-100': string;\n '--nylas-color-grey-50': string;\n '--nylas-color-white': string;\n '--nylas-font-family': string;\n '--nylas-font-size': string;\n '--nylas-border-radius': string;\n '--nylas-border-radius-2x': string;\n '--nylas-border-radius-3x': string;\n}>;\n\nexport enum NotificationType {\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Success = 'success',\n}\n\nexport type Notification = {\n id: string;\n type: NotificationType;\n title: string;\n code?: number;\n category: string;\n description?: string;\n ttl?: number | 'none';\n};\n\nexport type BookingType = 'booking' | 'organizer-confirmation' | 'custom-confirmation';\n\nexport type AvailabilityMethod = 'max-fairness' | 'max-availability' | 'collective';\n\nexport type ConferenceProvider = 'GoogleMeetConferenceProvider' | 'MicrosoftTeamsConferenceProvider' | 'ZoomConferenceProvider' | 'OnlineMeetingProviderMicrosoftTeams';\n\nexport type ReminderMethod = 'email' | 'webhook';\n\nexport interface Rules {\n availability_method: AvailabilityMethod;\n buffer: MeetingBuffer;\n default_open_hours: OpenHours[];\n round_robin_group_id: string;\n}\n\nexport interface ConferenceDetail {\n meeting_code?: string; // zoom, GTM, microsoft teams\n password?: string; // zoom, webex\n url?: string; // zoom, webex, GTM, meet, microsoft teams\n pin?: string; // webex, meet\n phone?: string[]; // GTM, meet, microsoft teams\n}\n\nexport interface Conference {\n provider?: ConferenceProvider;\n details?: ConferenceDetail;\n autocreate?: { [key: string]: any };\n}\n\nexport interface ParticipantBooking {\n calendar_id: string;\n}\n\nexport interface Participant {\n email: string;\n name?: string;\n is_organizer?: boolean;\n availability?: ParticipantAvailability;\n booking?: ParticipantBooking;\n specific_time_availability?: SpecificTimeAvailability[];\n timezone?: string;\n}\n\nexport interface EventReminder {\n type: ReminderMethod;\n minutes_before_event: number;\n recipient?: string;\n email_subject?: string;\n}\n\nexport interface Availability {\n duration_minutes: number;\n interval_minutes?: number;\n round_to?: number;\n availability_rules?: Rules;\n}\n\nexport interface NotetakerActionItemsSettings {\n custom_instructions?: string;\n}\n\nexport interface NotetakerSummarySettings {\n custom_instructions?: string;\n}\n\nexport interface NotetakerMeetingSettings {\n action_items?: boolean;\n action_items_settings?: NotetakerActionItemsSettings;\n audio_recording?: boolean;\n summary?: boolean;\n summary_settings?: NotetakerSummarySettings;\n transcription?: boolean;\n video_recording?: boolean;\n}\n\nexport interface Notetaker {\n visible?: boolean; // default is false\n enabled?: boolean; // default is false\n name?: string;\n meeting_settings?: NotetakerMeetingSettings;\n}\n\nexport interface EventBooking {\n title: string;\n description?: string;\n location?: string;\n timezone?: string;\n booking_type: BookingType;\n conferencing?: Conference;\n hide_participants?: boolean;\n disable_emails?: boolean;\n reminders?: EventReminder[];\n notetaker?: Notetaker;\n}\n\nexport interface Appearance {\n color?: string;\n submit_button_label?: string;\n thank_you_message?: string;\n company_logo_url?: string;\n}\n\nexport interface Scheduler {\n available_days_in_future?: number;\n min_cancellation_notice: number;\n min_booking_notice?: number;\n rescheduling_url?: string;\n cancellation_url?: string;\n organizer_confirmation_url?: string;\n cancellation_policy?: string;\n hide_additional_guests?: boolean;\n hide_cancellation_options?: boolean;\n hide_rescheduling_options?: boolean;\n additional_fields?: Record<string, AdditionalFields>;\n email_template?: EmailTemplate;\n confirmation_redirect_url?: string;\n}\nexport interface AdditionalFields {\n type: string;\n required: boolean;\n order: number;\n options?: string[];\n label?: string;\n default?: string;\n}\n\nexport interface EmailTemplate {\n logo: string;\n booking_confirmed: BookingConfirmed;\n show_nylas_branding: boolean;\n organizer_locale: string;\n}\n\nexport interface BookingConfirmed {\n title: string;\n body: string;\n}\n\nexport interface Configuration {\n id: string;\n version: string;\n type?: string;\n requires_session_auth?: boolean;\n participants: Participant[];\n availability: Availability;\n event_booking: EventBooking;\n scheduler: Partial<Scheduler>;\n slug: string;\n appearance: Appearance;\n name: string;\n}\n\nexport interface GroupBooking {\n booking_type: BookingType; // Only 'booking' is supported\n disable_emails?: boolean;\n reminders?: EventReminder[];\n conferencing?: Conference;\n calendar_id: string;\n default_capacity: number;\n}\n\nexport interface GroupConfiguration {\n id: string;\n name: string;\n slug: string;\n requires_session_auth?: boolean;\n type: 'group';\n group_booking: GroupBooking;\n scheduler: Scheduler;\n appearance: Appearance;\n}\n\nexport interface Creator {\n name: string;\n email: string;\n}\nexport interface AdditionalParticipant {\n name: string;\n email: string;\n grant_id?: string;\n calendars: {\n id: string;\n name: string;\n object?: 'calendar';\n is_primary?: boolean;\n is_owned_by_user?: boolean;\n read_only?: boolean;\n timezone?: string;\n }[];\n}\n\n/**\n * Parameters for fetching participant info when loading an existing config for edit.\n * Used when the config has participants (emails) but full AdditionalParticipant\n * data (calendars, etc.) needs to be fetched from an external source.\n */\nexport interface ParticipantFetchParams {\n /** Emails of participants to fetch full info for */\n emails: string[];\n /** Optional grant ID to scope the fetch (e.g. for multi-account) */\n grantId?: string;\n}\n\n/**\n * Callback to fetch full participant info by emails.\n * Called when loading an existing config for edit.\n */\nexport type ParticipantFetch = (params: ParticipantFetchParams) => Promise<AdditionalParticipant[]>;\n\n/**\n * Callback to search participants by query (for autocomplete).\n */\nexport type ParticipantSearch = (query: string) => Promise<AdditionalParticipant[]>;\n\nexport interface GroupEvent {\n id?: string;\n title: string;\n busy: boolean;\n participants: NylasSchedulerBookingParticipant[];\n resources: {\n name: string;\n email: string;\n }[];\n description: string;\n when: {\n start_time: number;\n end_time: number;\n start_timezone?: string;\n end_timezone?: string;\n };\n location: string;\n recurrence: string[];\n capacity: number;\n}\n\nexport type RecurrenceUpdateOption = 'this' | 'future' | 'all';\nexport type RecurrenceDeleteOption = 'this' | 'future' | 'all';\n\nexport type Snapshot = {\n busy: boolean;\n calendar_id: string;\n hide_participants: boolean;\n ical_uid: string;\n organizer: {\n name: string;\n email: string;\n };\n participants: {\n email: string;\n status: string;\n }[];\n resources: any[];\n read_only: boolean;\n recurrence: string[];\n reminders: {\n use_default: boolean;\n overrides: any[];\n };\n title: string;\n description?: string;\n location?: string;\n conferencing?: Conference;\n visibility: string;\n creator: {\n name: string;\n email: string;\n };\n html_link: string;\n grant_id: string;\n id: string;\n object: string;\n status: string;\n when: {\n start_timezone: string;\n end_timezone: string;\n object: string;\n start_time: number; // Unix timestamp\n end_time: number; // Unix timestamp\n };\n created_at: number; // Unix timestamp\n updated_at: number; // Unix timestamp\n};\n\nexport interface GroupEventAPIData {\n event: EventDetails;\n group_event_info?: GroupEventInfo;\n}\n\nexport type EventDetails = {\n busy: boolean;\n calendar_id: string;\n conferencing: {\n provider: ConferenceProvider;\n details: {\n meeting_code: string;\n url: string;\n pin: string;\n phone: string[];\n };\n };\n hide_participants: boolean;\n ical_uid: string;\n organizer: {\n name: string;\n email: string;\n };\n participants: Array<{\n email: string;\n status: 'yes' | 'no' | 'noreply';\n comment?: string;\n }>;\n resources: string[];\n read_only: boolean;\n reminders: {\n use_default: boolean;\n overrides: Array<{\n method?: string;\n minutes?: number;\n }>;\n };\n title: string;\n description?: string;\n location?: string;\n visibility: 'default' | 'public' | 'private';\n creator: {\n name: string;\n email: string;\n };\n html_link: string;\n master_event_id: string;\n color_id: string;\n grant_id: string;\n id: string;\n object: 'event';\n status: 'confirmed' | 'tentative' | 'cancelled';\n when: {\n start_timezone: string;\n end_timezone: string;\n object: 'timespan';\n start_time: number;\n end_time: number;\n };\n created_at: number;\n updated_at: number;\n original_start_time: number;\n};\n\nexport type GroupEventInfo = {\n event_id: string;\n calendar_id: string;\n master_id: string;\n config_id: string;\n capacity: number;\n type: 'updated_event' | 'single_event' | 'master_event';\n booked: boolean;\n finished: boolean;\n participants: Array<{\n email: string;\n is_organizer: boolean;\n name: string;\n timezone: string;\n }>;\n snapshot: any | null;\n snapshot_expires_at: number;\n rrule: string[] | null;\n exceptions: {\n event_id: string;\n capacity: number;\n participants: Array<{\n email: string;\n is_organizer: boolean;\n name: string;\n timezone: string;\n }>;\n }[];\n};\n\nexport type ImportGroupEventDetails = {\n event_id: string;\n calendar_id: string;\n capacity: number;\n participants: Participant[];\n organizer: {\n name: string;\n email: string;\n };\n};\n\nexport type ImportGroupEventResponse = {\n imported_events: string[];\n import_failed: {\n event_id: string;\n reason: string;\n }[];\n};\n\nexport enum ErrorCategory {\n Component = 'component',\n Api = 'api',\n Auth = 'auth',\n}\n\nexport interface ErrorDetails {\n title: string;\n message: string;\n category: ErrorCategory;\n}\n\nexport enum ComponentErrorType {\n endtime_not_in_future = 'endtime_not_in_future',\n no_booking_info = 'no_booking_info',\n no_timeslot_selected = 'no_timeslot_selected',\n no_timezone_selected = 'no_timezone_selected',\n no_booking_id = 'no_booking_id',\n no_salt = 'no_salt',\n invalid_start_time = 'invalid_start_time',\n invalid_end_time = 'invalid_end_time',\n invalid_timezone = 'invalid_timezone',\n no_config_id = 'no_config_id',\n}\n\nexport interface KeyPoint {\n time: number;\n text: string;\n active?: boolean;\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CWplx7sA.js","mappings":"AAGG,IAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;AACzH,MAA+D,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI;;IC6KpH;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA;IAwZW;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA;AAQD,IAAY,kBAWX;AAXD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C;AAC/C,IAAA,kBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,kBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,kBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;AACzC,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,GAW7B,EAAA,CAAA,CAAA;;;;","names":[],"sources":["../nylas-js-core/dist/index.es.js","src/types/index.ts"],"sourcesContent":["var t = Object.defineProperty;\nvar c = (r, n, s) => n in r ? t(r, n, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[n] = s;\nvar a = (r, n, s) => (c(r, typeof n != \"symbol\" ? n + \"\" : n, s), s);\nvar u = /* @__PURE__ */ ((r) => (r.Error = \"error\", r.Warning = \"warning\", r.Info = \"info\", r.Success = \"success\", r))(u || {});\nconst e = (r) => r !== null && typeof r == \"object\" && \"data\" in r, o = (r) => r !== null && typeof r == \"object\" && \"error\" in r;\nclass E extends Error {\n constructor(s) {\n super(s == null ? void 0 : s.message);\n a(this, \"apiError\");\n this.name = \"NylasAPIError\", this.stack = new Error().stack, this.apiError = s;\n }\n}\nexport {\n u as NotificationType,\n E as NylasAPIError,\n o as isNylasErrorResponse,\n e as isNylasSuccessResponse\n};\n","export interface NylasResponse<Data = any> {\n request_id: string;\n data?: Data;\n error?: {\n message: string;\n type: string;\n };\n}\n\n// Avaliability\nexport interface OpenHours {\n days: number[];\n exDates: string[];\n timezone: string;\n start: string;\n end: string;\n}\n\nexport interface SpecificTimeAvailability {\n date: string;\n start: string;\n end: string;\n}\n\nexport interface MeetingBuffer {\n before: number;\n after: number;\n}\n\n// Scheduling\nexport interface UpdateConfiguration extends Omit<Configuration, 'id'> {}\n\nexport interface ParticipantAvailability {\n calendar_ids: string[];\n open_hours?: OpenHours[];\n}\n\nexport type NylasSchedulerBookingParticipant = {\n /** Setting this to an empty string clears a previously seeded value; omitting it leaves that value alone. */\n name: string;\n /** Setting this to an empty string clears a previously seeded value; omitting it leaves that value alone. */\n email: string;\n /**\n * Render the name field as read-only. The prefilled value is shown but cannot be edited.\n * Ignored when `nameHidden` is true.\n */\n nameReadOnly?: boolean;\n /**\n * Render the email field as read-only. The prefilled value is shown but cannot be edited.\n * Ignored when `emailHidden` is true.\n */\n emailReadOnly?: boolean;\n /**\n * Omit the name field from the booking form entirely. The prefilled `name` is still\n * submitted with the booking. Requires a prefilled value that survives sanitization: set\n * without one, the field is rendered anyway (so the booker is never stuck on a required\n * error with no input to fix) and the misconfiguration is reported on the console.\n */\n nameHidden?: boolean;\n /**\n * Omit the email field from the booking form entirely. The prefilled `email` is still\n * submitted with the booking. Requires a prefilled value that survives sanitization: set\n * without one, the field is rendered anyway (so the booker is never stuck on a required\n * error with no input to fix) and the misconfiguration is reported on the console.\n */\n emailHidden?: boolean;\n};\n\nexport type NylasSchedulerBookingData = {\n primaryParticipant: NylasSchedulerBookingParticipant;\n startTime?: Date;\n endTime?: Date;\n timezone?: string;\n language?: string;\n guests?: NylasSchedulerBookingParticipant[];\n additionalFields?: Record<\n string,\n {\n value: string;\n type?: string;\n readOnly?: boolean;\n }\n >;\n};\n\nexport type OpenHour = {\n days: number[]; // [1, 2, 3, 4, 5]\n start: string; // \"09:00\"\n end: string; // \"17:00\"\n timezone: string; // \"America/Los_Angeles\"\n};\n\nexport type Timeslot = {\n start_time: Date;\n end_time: Date;\n emails?: string[];\n capacity?: number;\n event_id?: string;\n master_id?: string;\n calendar_id?: string;\n};\n\nexport type ThemeConfig = Partial<{\n '--nylas-primary': string;\n '--nylas-info': string;\n '--nylas-success': string;\n '--nylas-warning': string;\n '--nylas-error': string;\n '--nylas-error-pressed': string;\n '--nylas-base-0': string;\n '--nylas-base-25': string;\n '--nylas-base-50': string;\n '--nylas-base-100': string;\n '--nylas-base-200': string;\n '--nylas-base-300': string;\n '--nylas-base-400': string;\n '--nylas-base-500': string;\n '--nylas-base-600': string;\n '--nylas-base-700': string;\n '--nylas-base-800': string;\n '--nylas-base-900': string;\n '--nylas-base-950': string;\n '--nylas-color-blue-50': string;\n '--nylas-color-blue-100': string;\n '--nylas-color-blue-300': string;\n '--nylas-color-blue-500': string;\n '--nylas-color-blue-700': string;\n '--nylas-color-blue-900': string;\n '--nylas-color-red-50': string;\n '--nylas-color-red-100': string;\n '--nylas-color-red-300': string;\n '--nylas-color-red-500': string;\n '--nylas-color-red-700': string;\n '--nylas-color-red-900': string;\n '--nylas-color-green-50': string;\n '--nylas-color-green-100': string;\n '--nylas-color-green-300': string;\n '--nylas-color-green-500': string;\n '--nylas-color-green-700': string;\n '--nylas-color-green-900': string;\n '--nylas-color-yellow-50': string;\n '--nylas-color-yellow-100': string;\n '--nylas-color-yellow-300': string;\n '--nylas-color-yellow-500': string;\n '--nylas-color-yellow-700': string;\n '--nylas-color-yellow-900': string;\n '--nylas-color-purple-50': string;\n '--nylas-color-purple-100': string;\n '--nylas-color-purple-300': string;\n '--nylas-color-purple-500': string;\n '--nylas-color-purple-700': string;\n '--nylas-color-purple-900': string;\n '--nylas-color-sky-50': string;\n '--nylas-color-sky-100': string;\n '--nylas-color-sky-300': string;\n '--nylas-color-sky-500': string;\n '--nylas-color-sky-700': string;\n '--nylas-color-sky-900': string;\n '--nylas-color-black': string;\n '--nylas-color-grey-900': string;\n '--nylas-color-grey-800': string;\n '--nylas-color-grey-700': string;\n '--nylas-color-grey-600': string;\n '--nylas-color-grey-500': string;\n '--nylas-color-grey-400': string;\n '--nylas-color-grey-300': string;\n '--nylas-color-grey-200': string;\n '--nylas-color-grey-100': string;\n '--nylas-color-grey-50': string;\n '--nylas-color-white': string;\n '--nylas-font-family': string;\n '--nylas-font-size': string;\n '--nylas-border-radius': string;\n '--nylas-border-radius-2x': string;\n '--nylas-border-radius-3x': string;\n}>;\n\nexport enum NotificationType {\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Success = 'success',\n}\n\nexport type Notification = {\n id: string;\n type: NotificationType;\n title: string;\n code?: number;\n category: string;\n description?: string;\n ttl?: number | 'none';\n};\n\nexport type BookingType = 'booking' | 'organizer-confirmation' | 'custom-confirmation';\n\nexport type AvailabilityMethod = 'max-fairness' | 'max-availability' | 'collective';\n\nexport type ConferenceProvider = 'GoogleMeetConferenceProvider' | 'MicrosoftTeamsConferenceProvider' | 'ZoomConferenceProvider' | 'OnlineMeetingProviderMicrosoftTeams';\n\nexport type ReminderMethod = 'email' | 'webhook';\n\nexport interface Rules {\n availability_method: AvailabilityMethod;\n buffer: MeetingBuffer;\n default_open_hours: OpenHours[];\n round_robin_group_id: string;\n}\n\nexport interface ConferenceDetail {\n meeting_code?: string; // zoom, GTM, microsoft teams\n password?: string; // zoom, webex\n url?: string; // zoom, webex, GTM, meet, microsoft teams\n pin?: string; // webex, meet\n phone?: string[]; // GTM, meet, microsoft teams\n}\n\nexport interface Conference {\n provider?: ConferenceProvider;\n details?: ConferenceDetail;\n autocreate?: { [key: string]: any };\n}\n\nexport interface ParticipantBooking {\n calendar_id: string;\n}\n\nexport interface Participant {\n email: string;\n name?: string;\n is_organizer?: boolean;\n availability?: ParticipantAvailability;\n booking?: ParticipantBooking;\n specific_time_availability?: SpecificTimeAvailability[];\n timezone?: string;\n}\n\nexport interface EventReminder {\n type: ReminderMethod;\n minutes_before_event: number;\n recipient?: string;\n email_subject?: string;\n}\n\nexport interface Availability {\n duration_minutes: number;\n interval_minutes?: number;\n round_to?: number;\n availability_rules?: Rules;\n}\n\nexport interface NotetakerActionItemsSettings {\n custom_instructions?: string;\n}\n\nexport interface NotetakerSummarySettings {\n custom_instructions?: string;\n}\n\nexport interface NotetakerMeetingSettings {\n action_items?: boolean;\n action_items_settings?: NotetakerActionItemsSettings;\n audio_recording?: boolean;\n summary?: boolean;\n summary_settings?: NotetakerSummarySettings;\n transcription?: boolean;\n video_recording?: boolean;\n}\n\nexport interface Notetaker {\n visible?: boolean; // default is false\n enabled?: boolean; // default is false\n name?: string;\n meeting_settings?: NotetakerMeetingSettings;\n}\n\nexport interface EventBooking {\n title: string;\n description?: string;\n location?: string;\n timezone?: string;\n booking_type: BookingType;\n conferencing?: Conference;\n hide_participants?: boolean;\n disable_emails?: boolean;\n reminders?: EventReminder[];\n notetaker?: Notetaker;\n}\n\nexport interface Appearance {\n color?: string;\n submit_button_label?: string;\n thank_you_message?: string;\n company_logo_url?: string;\n}\n\nexport interface Scheduler {\n available_days_in_future?: number;\n min_cancellation_notice: number;\n min_booking_notice?: number;\n rescheduling_url?: string;\n cancellation_url?: string;\n organizer_confirmation_url?: string;\n cancellation_policy?: string;\n hide_additional_guests?: boolean;\n hide_cancellation_options?: boolean;\n hide_rescheduling_options?: boolean;\n additional_fields?: Record<string, AdditionalFields>;\n email_template?: EmailTemplate;\n confirmation_redirect_url?: string;\n}\nexport interface AdditionalFields {\n type: string;\n required: boolean;\n order: number;\n options?: string[];\n label?: string;\n default?: string;\n}\n\nexport interface EmailTemplate {\n logo: string;\n booking_confirmed: BookingConfirmed;\n show_nylas_branding: boolean;\n organizer_locale: string;\n}\n\nexport interface BookingConfirmed {\n title: string;\n body: string;\n}\n\nexport interface Configuration {\n id: string;\n version: string;\n type?: string;\n requires_session_auth?: boolean;\n participants: Participant[];\n availability: Availability;\n event_booking: EventBooking;\n scheduler: Partial<Scheduler>;\n slug: string;\n appearance: Appearance;\n name: string;\n}\n\nexport interface GroupBooking {\n booking_type: BookingType; // Only 'booking' is supported\n disable_emails?: boolean;\n reminders?: EventReminder[];\n conferencing?: Conference;\n calendar_id: string;\n default_capacity: number;\n}\n\nexport interface GroupConfiguration {\n id: string;\n name: string;\n slug: string;\n requires_session_auth?: boolean;\n type: 'group';\n group_booking: GroupBooking;\n scheduler: Scheduler;\n appearance: Appearance;\n}\n\nexport interface Creator {\n name: string;\n email: string;\n}\nexport interface AdditionalParticipant {\n name: string;\n email: string;\n grant_id?: string;\n calendars: {\n id: string;\n name: string;\n object?: 'calendar';\n is_primary?: boolean;\n is_owned_by_user?: boolean;\n read_only?: boolean;\n timezone?: string;\n }[];\n}\n\n/**\n * Parameters for fetching participant info when loading an existing config for edit.\n * Used when the config has participants (emails) but full AdditionalParticipant\n * data (calendars, etc.) needs to be fetched from an external source.\n */\nexport interface ParticipantFetchParams {\n /** Emails of participants to fetch full info for */\n emails: string[];\n /** Optional grant ID to scope the fetch (e.g. for multi-account) */\n grantId?: string;\n}\n\n/**\n * Callback to fetch full participant info by emails.\n * Called when loading an existing config for edit.\n */\nexport type ParticipantFetch = (params: ParticipantFetchParams) => Promise<AdditionalParticipant[]>;\n\n/**\n * Callback to search participants by query (for autocomplete).\n */\nexport type ParticipantSearch = (query: string) => Promise<AdditionalParticipant[]>;\n\nexport interface GroupEvent {\n id?: string;\n title: string;\n busy: boolean;\n participants: NylasSchedulerBookingParticipant[];\n resources: {\n name: string;\n email: string;\n }[];\n description: string;\n when: {\n start_time: number;\n end_time: number;\n start_timezone?: string;\n end_timezone?: string;\n };\n location: string;\n recurrence: string[];\n capacity: number;\n}\n\nexport type RecurrenceUpdateOption = 'this' | 'future' | 'all';\nexport type RecurrenceDeleteOption = 'this' | 'future' | 'all';\n\nexport type Snapshot = {\n busy: boolean;\n calendar_id: string;\n hide_participants: boolean;\n ical_uid: string;\n organizer: {\n name: string;\n email: string;\n };\n participants: {\n email: string;\n status: string;\n }[];\n resources: any[];\n read_only: boolean;\n recurrence: string[];\n reminders: {\n use_default: boolean;\n overrides: any[];\n };\n title: string;\n description?: string;\n location?: string;\n conferencing?: Conference;\n visibility: string;\n creator: {\n name: string;\n email: string;\n };\n html_link: string;\n grant_id: string;\n id: string;\n object: string;\n status: string;\n when: {\n start_timezone: string;\n end_timezone: string;\n object: string;\n start_time: number; // Unix timestamp\n end_time: number; // Unix timestamp\n };\n created_at: number; // Unix timestamp\n updated_at: number; // Unix timestamp\n};\n\nexport interface GroupEventAPIData {\n event: EventDetails;\n group_event_info?: GroupEventInfo;\n}\n\nexport type EventDetails = {\n busy: boolean;\n calendar_id: string;\n conferencing: {\n provider: ConferenceProvider;\n details: {\n meeting_code: string;\n url: string;\n pin: string;\n phone: string[];\n };\n };\n hide_participants: boolean;\n ical_uid: string;\n organizer: {\n name: string;\n email: string;\n };\n participants: Array<{\n email: string;\n status: 'yes' | 'no' | 'noreply';\n comment?: string;\n }>;\n resources: string[];\n read_only: boolean;\n reminders: {\n use_default: boolean;\n overrides: Array<{\n method?: string;\n minutes?: number;\n }>;\n };\n title: string;\n description?: string;\n location?: string;\n visibility: 'default' | 'public' | 'private';\n creator: {\n name: string;\n email: string;\n };\n html_link: string;\n master_event_id: string;\n color_id: string;\n grant_id: string;\n id: string;\n object: 'event';\n status: 'confirmed' | 'tentative' | 'cancelled';\n when: {\n start_timezone: string;\n end_timezone: string;\n object: 'timespan';\n start_time: number;\n end_time: number;\n };\n created_at: number;\n updated_at: number;\n original_start_time: number;\n};\n\nexport type GroupEventInfo = {\n event_id: string;\n calendar_id: string;\n master_id: string;\n config_id: string;\n capacity: number;\n type: 'updated_event' | 'single_event' | 'master_event';\n booked: boolean;\n finished: boolean;\n participants: Array<{\n email: string;\n is_organizer: boolean;\n name: string;\n timezone: string;\n }>;\n snapshot: any | null;\n snapshot_expires_at: number;\n rrule: string[] | null;\n exceptions: {\n event_id: string;\n capacity: number;\n participants: Array<{\n email: string;\n is_organizer: boolean;\n name: string;\n timezone: string;\n }>;\n }[];\n};\n\nexport type ImportGroupEventDetails = {\n event_id: string;\n calendar_id: string;\n capacity: number;\n participants: Participant[];\n organizer: {\n name: string;\n email: string;\n };\n};\n\nexport type ImportGroupEventResponse = {\n imported_events: string[];\n import_failed: {\n event_id: string;\n reason: string;\n }[];\n};\n\nexport enum ErrorCategory {\n Component = 'component',\n Api = 'api',\n Auth = 'auth',\n}\n\nexport interface ErrorDetails {\n title: string;\n message: string;\n category: ErrorCategory;\n}\n\nexport enum ComponentErrorType {\n endtime_not_in_future = 'endtime_not_in_future',\n no_booking_info = 'no_booking_info',\n no_timeslot_selected = 'no_timeslot_selected',\n no_timezone_selected = 'no_timezone_selected',\n no_booking_id = 'no_booking_id',\n no_salt = 'no_salt',\n invalid_start_time = 'invalid_start_time',\n invalid_end_time = 'invalid_end_time',\n invalid_timezone = 'invalid_timezone',\n no_config_id = 'no_config_id',\n}\n\nexport interface KeyPoint {\n time: number;\n text: string;\n active?: boolean;\n}\n"],"version":3}
|
|
@@ -72,7 +72,7 @@ const RadioButtonGroup = proxyCustomElement(class RadioButtonGroup extends H {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
render() {
|
|
75
|
-
return (h("div", { key: '
|
|
75
|
+
return (h("div", { key: '719b91f18f56222e85c7d40ec65447b3015fb9b7', class: "radio-group" }, h("slot", { key: '644d78deeec55bed39d12f5ff0b25a0c1f38b2ff', name: "label" }, this.label && (h("p", { key: '318698f30f98d88621c63e10a4b60ec2eea28816', class: { error: !!this.error } }, h("span", { key: '4d0273ad0f99af9411d23e54d966f52e79ac6f98', class: "label" }, this.label), this.required && h("span", { key: 'd693f96547424c53ea38b021620f1f6e62fa3ab1', class: "required" }, "*")))), this.options.map(option => (h("label", null, h("div", { class: "radio-option" }, h("input", { type: "radio", disabled: this.readOnly, readOnly: this.readOnly, title: this.readOnly ? 'read-only field' : undefined, name: this.name, value: option.value, checked: this.selectedValue === option.value, onChange: () => this.handleChange(option.value) }), h("p", null, h("span", { class: "title" }, option.label), h("span", { class: "description" }, option.description)))))), this.error && h("span", { key: '12496f14dc724e987f8446848c09fc8066d9b9aa', class: "error help-text" }, this.error)));
|
|
76
76
|
}
|
|
77
77
|
get el() { return this; }
|
|
78
78
|
static get watchers() { return {
|
|
@@ -110,6 +110,6 @@ function defineCustomElement() {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
export { RadioButtonGroup as R, defineCustomElement as d };
|
|
113
|
-
//# sourceMappingURL=p-
|
|
113
|
+
//# sourceMappingURL=p-C_MBjjfN.js.map
|
|
114
114
|
|
|
115
|
-
//# sourceMappingURL=p-
|
|
115
|
+
//# sourceMappingURL=p-C_MBjjfN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-CyWE9dXK.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/radio-button-group/radio-button-group.scss?tag=radio-button-group&encapsulation=shadow","src/components/design-system/radio-button-group/radio-button-group.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n@use '../../../common/mixins/inputs' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: 100%;\n}\n\n.radio-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n\n slot[name='label'] {\n @include input-label;\n font-size: 16px;\n\n p {\n margin: 0;\n\n &.error {\n color: var(--nylas-error);\n }\n }\n\n .error {\n color: var(--nylas-error);\n }\n }\n\n span.error {\n color: var(--nylas-error);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n font-family: var(--nylas-font-family);\n }\n\n label {\n display: flex;\n\n font-family: var(--nylas-font-family);\n cursor: pointer;\n\n .radio-option {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n\n input[type='radio'] {\n cursor: pointer;\n }\n\n input[type='radio' i] {\n width: 20px;\n height: 20px;\n color: var(--nylas-primary);\n }\n\n p {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin: 0;\n\n .title {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-base-800);\n word-break: break-word;\n overflow-wrap: break-word;\n }\n\n .description {\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n }\n }\n }\n }\n}\n","// src/components/radio-group/radio-group.tsx\nimport { ThemeConfig } from '@nylas/core';\nimport { Component, h, Prop, State, Event, EventEmitter, Listen, Element, Watch } from '@stencil/core';\n\n/**\n * The `radio-button-group` component is a UI component that allows users to select a single option from a list of options.\n * This component is used in the scheduling form to input radio button type inputs.\n */\n@Component({\n tag: 'radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n})\nexport class RadioButtonGroup {\n @Element() el!: HTMLElement;\n private readonly componentType: string = 'radio-group';\n\n /**\n * The name of the radio group. This is used to identify the radio group when submitting a form.\n */\n @Prop() name: string = 'radio-group';\n /**\n * The list of options in the radio group.\n * Each option has a label and a value and an optional description.\n */\n @Prop() options: { label: string; value: string; description?: string }[] = [];\n /**\n * The default selected value of the radio group.\n */\n @Prop({ attribute: 'default-selected-value' }) defaultSelectedValue: string = '';\n /**\n * The label of the radio group. This is displayed above the radio group.\n * Label is optional. You can also use the slot 'label' to add a label.\n */\n @Prop() label?: string;\n /**\n * Whether the radio group is required. If true, the radio group must have a value when submitting a form.\n * Default is false. If the radio group is required and the value is empty, an error message is displayed.\n */\n @Prop() required: boolean = false;\n /**\n * The property to make the radio group read-only. If true, the radio group cannot be edited.\n */\n @Prop() readOnly: boolean = false;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * Error message to display when the radio group is required and no value is selected.\n */\n @Prop() errorMessage: string = '';\n /**\n * The selected value of the radio group.\n */\n @State() selectedValue!: string;\n /**\n * The error message state.\n */\n @State() error: string = '';\n /**\n * This event is fired when the selected value changes.\n */\n @Event() nylasFormRadioChanged!: EventEmitter<{\n value: string;\n name: string;\n label?: string;\n }>;\n\n @Watch('defaultSelectedValue')\n handleDefaultSelectedValueChange(newValue: string) {\n this.selectedValue = newValue;\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.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n // Lifecycle methods\n 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.el.setAttribute('data-themed', '');\n }\n });\n }\n\n componentDidLoad() {\n this.selectedValue = this.defaultSelectedValue;\n if (this.defaultSelectedValue) {\n this.nylasFormRadioChanged.emit({\n value: this.defaultSelectedValue,\n name: this.name,\n label: this.label,\n });\n }\n }\n\n // Event listeners\n /**\n * Listen for the bookingFormSubmitted event to validate the input value when the form is submitted.\n */\n @Listen('bookingFormSubmitted', { target: 'document' })\n handleBookingFormSubmitted(event: CustomEvent) {\n if (this.required && !this.selectedValue) {\n this.error = this.errorMessage || `${this.label} is required.`;\n return;\n }\n if (this.error) {\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.el.setAttribute('component-type', this.componentType);\n }\n\n handleChange(value: string) {\n this.error = '';\n this.selectedValue = value;\n this.nylasFormRadioChanged.emit({\n value,\n name: this.name,\n label: this.label,\n });\n }\n\n render() {\n return (\n <div class=\"radio-group\">\n <slot name=\"label\">\n {this.label && (\n <p class={{ error: !!this.error }}>\n <span class=\"label\">{this.label}</span>\n {this.required && <span class=\"required\">*</span>}\n </p>\n )}\n </slot>\n {this.options.map(option => (\n <label>\n <div class=\"radio-option\">\n <input\n type=\"radio\"\n disabled={this.readOnly}\n readOnly={this.readOnly}\n title={this.readOnly ? 'read-only field' : undefined}\n name={this.name}\n value={option.value}\n checked={this.selectedValue === option.value}\n onChange={() => this.handleChange(option.value)}\n />\n <p>\n <span class=\"title\">{option.label}</span>\n <span class=\"description\">{option.description}</span>\n </p>\n </div>\n </label>\n ))}\n {this.error && <span class=\"error help-text\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-C_MBjjfN.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/radio-button-group/radio-button-group.scss?tag=radio-button-group&encapsulation=shadow","src/components/design-system/radio-button-group/radio-button-group.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n@use '../../../common/mixins/inputs' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: 100%;\n}\n\n.radio-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n\n slot[name='label'] {\n @include input-label;\n font-size: 16px;\n\n p {\n margin: 0;\n\n &.error {\n color: var(--nylas-error);\n }\n }\n\n .error {\n color: var(--nylas-error);\n }\n }\n\n span.error {\n color: var(--nylas-error);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n font-family: var(--nylas-font-family);\n }\n\n label {\n display: flex;\n\n font-family: var(--nylas-font-family);\n cursor: pointer;\n\n .radio-option {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n\n input[type='radio'] {\n cursor: pointer;\n }\n\n input[type='radio' i] {\n width: 20px;\n height: 20px;\n color: var(--nylas-primary);\n }\n\n p {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin: 0;\n\n .title {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-base-800);\n word-break: break-word;\n overflow-wrap: break-word;\n }\n\n .description {\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n }\n }\n }\n }\n}\n","// src/components/radio-group/radio-group.tsx\nimport { ThemeConfig } from '@nylas/core';\nimport { Component, h, Prop, State, Event, EventEmitter, Listen, Element, Watch } from '@stencil/core';\n\n/**\n * The `radio-button-group` component is a UI component that allows users to select a single option from a list of options.\n * This component is used in the scheduling form to input radio button type inputs.\n */\n@Component({\n tag: 'radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n})\nexport class RadioButtonGroup {\n @Element() el!: HTMLElement;\n private readonly componentType: string = 'radio-group';\n\n /**\n * The name of the radio group. This is used to identify the radio group when submitting a form.\n */\n @Prop() name: string = 'radio-group';\n /**\n * The list of options in the radio group.\n * Each option has a label and a value and an optional description.\n */\n @Prop() options: { label: string; value: string; description?: string }[] = [];\n /**\n * The default selected value of the radio group.\n */\n @Prop({ attribute: 'default-selected-value' }) defaultSelectedValue: string = '';\n /**\n * The label of the radio group. This is displayed above the radio group.\n * Label is optional. You can also use the slot 'label' to add a label.\n */\n @Prop() label?: string;\n /**\n * Whether the radio group is required. If true, the radio group must have a value when submitting a form.\n * Default is false. If the radio group is required and the value is empty, an error message is displayed.\n */\n @Prop() required: boolean = false;\n /**\n * The property to make the radio group read-only. If true, the radio group cannot be edited.\n */\n @Prop() readOnly: boolean = false;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * Error message to display when the radio group is required and no value is selected.\n */\n @Prop() errorMessage: string = '';\n /**\n * The selected value of the radio group.\n */\n @State() selectedValue!: string;\n /**\n * The error message state.\n */\n @State() error: string = '';\n /**\n * This event is fired when the selected value changes.\n */\n @Event() nylasFormRadioChanged!: EventEmitter<{\n value: string;\n name: string;\n label?: string;\n }>;\n\n @Watch('defaultSelectedValue')\n handleDefaultSelectedValueChange(newValue: string) {\n this.selectedValue = newValue;\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.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n // Lifecycle methods\n 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.el.setAttribute('data-themed', '');\n }\n });\n }\n\n componentDidLoad() {\n this.selectedValue = this.defaultSelectedValue;\n if (this.defaultSelectedValue) {\n this.nylasFormRadioChanged.emit({\n value: this.defaultSelectedValue,\n name: this.name,\n label: this.label,\n });\n }\n }\n\n // Event listeners\n /**\n * Listen for the bookingFormSubmitted event to validate the input value when the form is submitted.\n */\n @Listen('bookingFormSubmitted', { target: 'document' })\n handleBookingFormSubmitted(event: CustomEvent) {\n if (this.required && !this.selectedValue) {\n this.error = this.errorMessage || `${this.label} is required.`;\n return;\n }\n if (this.error) {\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.el.setAttribute('component-type', this.componentType);\n }\n\n handleChange(value: string) {\n this.error = '';\n this.selectedValue = value;\n this.nylasFormRadioChanged.emit({\n value,\n name: this.name,\n label: this.label,\n });\n }\n\n render() {\n return (\n <div class=\"radio-group\">\n <slot name=\"label\">\n {this.label && (\n <p class={{ error: !!this.error }}>\n <span class=\"label\">{this.label}</span>\n {this.required && <span class=\"required\">*</span>}\n </p>\n )}\n </slot>\n {this.options.map(option => (\n <label>\n <div class=\"radio-option\">\n <input\n type=\"radio\"\n disabled={this.readOnly}\n readOnly={this.readOnly}\n title={this.readOnly ? 'read-only field' : undefined}\n name={this.name}\n value={option.value}\n checked={this.selectedValue === option.value}\n onChange={() => this.handleChange(option.value)}\n />\n <p>\n <span class=\"title\">{option.label}</span>\n <span class=\"description\">{option.description}</span>\n </p>\n </div>\n </label>\n ))}\n {this.error && <span class=\"error help-text\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -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
|