@nylas/web-elements 2.5.15 → 2.5.17
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/nylas-scheduler-editor/nylas-scheduler-editor.es.js +2982 -2982
- package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +5 -3
- package/dist/cjs/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.cjs.js.map +1 -1
- package/dist/cjs/google-logo-icon_6.cjs.entry.js +21 -13
- package/dist/cjs/google-logo-icon_6.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +1 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js +4 -1
- package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-scheduling.entry.cjs.js.map +1 -1
- package/dist/cjs/{version-1ZdVKLpt.js → version-Dvnf44vW.js} +3 -3
- package/dist/cjs/{version-1ZdVKLpt.js.map → version-Dvnf44vW.js.map} +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +10 -6
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js +10 -6
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js.map +1 -1
- package/dist/collection/connector/shared/api/scheduler.js +3 -0
- package/dist/collection/connector/shared/api/scheduler.js.map +1 -1
- package/dist/collection/version.js +1 -1
- package/dist/collection/version.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/input-component.js +1 -1
- package/dist/components/input-image-url.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-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 +56 -56
- package/dist/components/nylas-scheduling-method.js +1 -1
- package/dist/components/nylas-scheduling.js +22 -19
- 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-Di0G82W0.js → p-2UDpTS-K.js} +60 -56
- package/dist/components/p-2UDpTS-K.js.map +1 -0
- package/dist/components/{p-BNzrPoR6.js → p-37a4h3J_.js} +5 -5
- package/dist/components/{p-BNzrPoR6.js.map → p-37a4h3J_.js.map} +1 -1
- package/dist/components/{p-CiJgH0CI.js → p-3FTb1-in.js} +17 -17
- package/dist/components/{p-CiJgH0CI.js.map → p-3FTb1-in.js.map} +1 -1
- package/dist/components/{p-Dlku8PCX.js → p-96zW11tR.js} +4 -4
- package/dist/components/{p-Dlku8PCX.js.map → p-96zW11tR.js.map} +1 -1
- package/dist/components/{p-CSECxNkF.js → p-B2cPNmM_.js} +6 -6
- package/dist/components/{p-CSECxNkF.js.map → p-B2cPNmM_.js.map} +1 -1
- package/dist/components/{p-DqgGszYv.js → p-B3cnALr8.js} +8 -8
- package/dist/components/{p-DqgGszYv.js.map → p-B3cnALr8.js.map} +1 -1
- package/dist/components/{p-FBEildbE.js → p-BBxu-pwN.js} +8 -8
- package/dist/components/{p-FBEildbE.js.map → p-BBxu-pwN.js.map} +1 -1
- package/dist/components/{p-Cx6l-C7e.js → p-BGbMXlLy.js} +4 -4
- package/dist/components/{p-Cx6l-C7e.js.map → p-BGbMXlLy.js.map} +1 -1
- package/dist/components/{p-DfNywLNk.js → p-BJ5a9k3B.js} +4 -4
- package/dist/components/{p-DfNywLNk.js.map → p-BJ5a9k3B.js.map} +1 -1
- package/dist/components/{p-rODq8j3H.js → p-BMmtU0fv.js} +5 -5
- package/dist/components/{p-rODq8j3H.js.map → p-BMmtU0fv.js.map} +1 -1
- package/dist/components/{p-uQf7jw6y.js → p-BTwTmU9e.js} +7 -7
- package/dist/components/{p-uQf7jw6y.js.map → p-BTwTmU9e.js.map} +1 -1
- package/dist/components/{p-B5zQj3-Z.js → p-BWbQSVNH.js} +4 -4
- package/dist/components/{p-B5zQj3-Z.js.map → p-BWbQSVNH.js.map} +1 -1
- package/dist/components/{p-D_CPIneS.js → p-BYzkNeMW.js} +3 -3
- package/dist/components/{p-D_CPIneS.js.map → p-BYzkNeMW.js.map} +1 -1
- package/dist/components/{p-B9G8DJJr.js → p-BqD6DKLT.js} +4 -4
- package/dist/components/{p-B9G8DJJr.js.map → p-BqD6DKLT.js.map} +1 -1
- package/dist/components/{p-Ch03cZa9.js → p-Bsd63RFi.js} +3 -3
- package/dist/components/{p-Ch03cZa9.js.map → p-Bsd63RFi.js.map} +1 -1
- package/dist/components/{p-BTo3RJwU.js → p-BuJdnN6-.js} +5 -5
- package/dist/components/{p-BTo3RJwU.js.map → p-BuJdnN6-.js.map} +1 -1
- package/dist/components/{p-Bj4ZUpbc.js → p-Bvnci8k8.js} +4 -4
- package/dist/components/{p-Bj4ZUpbc.js.map → p-Bvnci8k8.js.map} +1 -1
- package/dist/components/{p-DclMe63w.js → p-BxrC0Rsf.js} +3 -3
- package/dist/components/{p-DclMe63w.js.map → p-BxrC0Rsf.js.map} +1 -1
- package/dist/components/{p-W0q3GPje.js → p-BzLxndYA.js} +3 -3
- package/dist/components/{p-W0q3GPje.js.map → p-BzLxndYA.js.map} +1 -1
- package/dist/components/{p-CfNiz60j.js → p-CL8ugNmu.js} +5 -5
- package/dist/components/{p-CfNiz60j.js.map → p-CL8ugNmu.js.map} +1 -1
- package/dist/components/{p-BCUF1qcs.js → p-CMNiSC4o.js} +3 -3
- package/dist/components/{p-BCUF1qcs.js.map → p-CMNiSC4o.js.map} +1 -1
- package/dist/components/{p-CM9l-8zy.js → p-CRIlyxX5.js} +5 -5
- package/dist/components/{p-CM9l-8zy.js.map → p-CRIlyxX5.js.map} +1 -1
- package/dist/components/{p-xnXT49TS.js → p-CUe11ohy.js} +4 -4
- package/dist/components/{p-xnXT49TS.js.map → p-CUe11ohy.js.map} +1 -1
- package/dist/components/{p-CpP2uaEo.js → p-CUlV7ZGv.js} +3 -3
- package/dist/components/{p-CpP2uaEo.js.map → p-CUlV7ZGv.js.map} +1 -1
- package/dist/components/{p-BWCjcWGP.js → p-CXkCnHr5.js} +4 -4
- package/dist/components/{p-BWCjcWGP.js.map → p-CXkCnHr5.js.map} +1 -1
- package/dist/components/{p-Bi06RVaz.js → p-CdAJ8ry_.js} +3 -3
- package/dist/components/{p-Bi06RVaz.js.map → p-CdAJ8ry_.js.map} +1 -1
- package/dist/components/{p-DW9sxBeM.js → p-CdBb4zI5.js} +6 -6
- package/dist/components/{p-DW9sxBeM.js.map → p-CdBb4zI5.js.map} +1 -1
- package/dist/components/{p-OAhdn1vx.js → p-CdPtFwy6.js} +3 -3
- package/dist/components/{p-OAhdn1vx.js.map → p-CdPtFwy6.js.map} +1 -1
- package/dist/components/{p-umrdj-23.js → p-CeKOSPvz.js} +5 -5
- package/dist/components/{p-umrdj-23.js.map → p-CeKOSPvz.js.map} +1 -1
- package/dist/components/{p-CNvWFjFr.js → p-Ch_HOS-9.js} +4 -4
- package/dist/components/{p-CNvWFjFr.js.map → p-Ch_HOS-9.js.map} +1 -1
- package/dist/components/{p-sH4nuWqV.js → p-Ci-pKDnr.js} +4 -4
- package/dist/components/{p-sH4nuWqV.js.map → p-Ci-pKDnr.js.map} +1 -1
- package/dist/components/{p-Co08mMKn.js → p-CpGRDWt9.js} +4 -4
- package/dist/components/{p-Co08mMKn.js.map → p-CpGRDWt9.js.map} +1 -1
- package/dist/components/{p-p9sl0FFV.js → p-Ctot3asB.js} +50 -46
- package/dist/components/p-Ctot3asB.js.map +1 -0
- package/dist/components/{p-DjFQHhGY.js → p-CuaQW941.js} +4 -4
- package/dist/components/{p-DjFQHhGY.js.map → p-CuaQW941.js.map} +1 -1
- package/dist/components/{p-Dwxouxgj.js → p-CzSowwcD.js} +4 -4
- package/dist/components/{p-Dwxouxgj.js.map → p-CzSowwcD.js.map} +1 -1
- package/dist/components/{p-i8gpwgDT.js → p-D0137Jos.js} +4 -4
- package/dist/components/{p-i8gpwgDT.js.map → p-D0137Jos.js.map} +1 -1
- package/dist/components/{p-4jS2598L.js → p-D04Mu9fK.js} +3 -3
- package/dist/components/{p-4jS2598L.js.map → p-D04Mu9fK.js.map} +1 -1
- package/dist/components/{p-BlxYpYrq.js → p-D0qMgeBc.js} +4 -4
- package/dist/components/{p-BlxYpYrq.js.map → p-D0qMgeBc.js.map} +1 -1
- package/dist/components/{p-DswqiER3.js → p-D42UGkjM.js} +3 -3
- package/dist/components/{p-DswqiER3.js.map → p-D42UGkjM.js.map} +1 -1
- package/dist/components/{p-TOG3UyB_.js → p-D4gKLnje.js} +7 -7
- package/dist/components/{p-TOG3UyB_.js.map → p-D4gKLnje.js.map} +1 -1
- package/dist/components/{p-DjQuy9Lc.js → p-D5Swz0J4.js} +5 -5
- package/dist/components/{p-DjQuy9Lc.js.map → p-D5Swz0J4.js.map} +1 -1
- package/dist/components/{p-D6yyOiee.js → p-D9mHh12b.js} +5 -5
- package/dist/components/{p-D6yyOiee.js.map → p-D9mHh12b.js.map} +1 -1
- package/dist/components/{p-B2_cvJns.js → p-DDd7Mjvz.js} +5 -5
- package/dist/components/{p-B2_cvJns.js.map → p-DDd7Mjvz.js.map} +1 -1
- package/dist/components/{p-C1Z2qktB.js → p-DGDbXfHm.js} +7 -7
- package/dist/components/{p-C1Z2qktB.js.map → p-DGDbXfHm.js.map} +1 -1
- package/dist/components/{p-CjMpnxmP.js → p-DMwaGWVu.js} +3 -3
- package/dist/components/{p-CjMpnxmP.js.map → p-DMwaGWVu.js.map} +1 -1
- package/dist/components/{p-C2EKszp0.js → p-DOryfnIf.js} +3 -3
- package/dist/components/{p-C2EKszp0.js.map → p-DOryfnIf.js.map} +1 -1
- package/dist/components/{p-D8f8zHZu.js → p-DPL6BIu2.js} +5 -5
- package/dist/components/{p-D8f8zHZu.js.map → p-DPL6BIu2.js.map} +1 -1
- package/dist/components/{p-B2iddmWd.js → p-DPPqmJvY.js} +5 -5
- package/dist/components/{p-B2iddmWd.js.map → p-DPPqmJvY.js.map} +1 -1
- package/dist/components/{p-D7Xfdt74.js → p-DUVwWh7e.js} +4 -4
- package/dist/components/{p-D7Xfdt74.js.map → p-DUVwWh7e.js.map} +1 -1
- package/dist/components/{p-f0IvxSr9.js → p-DZwGCUUK.js} +6 -6
- package/dist/components/{p-f0IvxSr9.js.map → p-DZwGCUUK.js.map} +1 -1
- package/dist/components/{p-tIcs9Qo5.js → p-D_daFt1t.js} +5 -5
- package/dist/components/{p-tIcs9Qo5.js.map → p-D_daFt1t.js.map} +1 -1
- package/dist/components/{p-DGUo_p68.js → p-DcXycU5_.js} +4 -4
- package/dist/components/{p-DGUo_p68.js.map → p-DcXycU5_.js.map} +1 -1
- package/dist/components/{p-w9ANRXbn.js → p-DfxhC7Fd.js} +5 -5
- package/dist/components/{p-w9ANRXbn.js.map → p-DfxhC7Fd.js.map} +1 -1
- package/dist/components/{p-eej_Ksq1.js → p-DjJOgfxK.js} +5 -5
- package/dist/components/{p-eej_Ksq1.js.map → p-DjJOgfxK.js.map} +1 -1
- package/dist/components/{p-ixTtdC_2.js → p-LOCJMijY.js} +5 -5
- package/dist/components/{p-ixTtdC_2.js.map → p-LOCJMijY.js.map} +1 -1
- package/dist/components/{p-DGwr7E6J.js → p-NA5f_7b7.js} +4 -4
- package/dist/components/{p-DGwr7E6J.js.map → p-NA5f_7b7.js.map} +1 -1
- package/dist/components/{p-Cf-rjo7-.js → p-O9btdnkK.js} +6 -6
- package/dist/components/{p-Cf-rjo7-.js.map → p-O9btdnkK.js.map} +1 -1
- package/dist/components/{p-tx39yUB3.js → p-RPocf_FZ.js} +8 -8
- package/dist/components/{p-tx39yUB3.js.map → p-RPocf_FZ.js.map} +1 -1
- package/dist/components/{p-EKeBVTKB.js → p-UTn_XnKO.js} +5 -5
- package/dist/components/{p-EKeBVTKB.js.map → p-UTn_XnKO.js.map} +1 -1
- package/dist/components/{p-CeWOPOaM.js → p-eV80kRKP.js} +4 -4
- package/dist/components/{p-CeWOPOaM.js.map → p-eV80kRKP.js.map} +1 -1
- package/dist/components/{p-CbB5JFln.js → p-fwU4mtR0.js} +4 -4
- package/dist/components/{p-CbB5JFln.js.map → p-fwU4mtR0.js.map} +1 -1
- package/dist/components/{p-DrmjHhDH.js → p-g9YD1HRv.js} +5 -5
- package/dist/components/{p-DrmjHhDH.js.map → p-g9YD1HRv.js.map} +1 -1
- package/dist/components/{p-DvPuyp-I.js → p-nhhVpJed.js} +7 -7
- package/dist/components/{p-DvPuyp-I.js.map → p-nhhVpJed.js.map} +1 -1
- package/dist/components/{p-oVDOs1AN.js → p-oRjUujH5.js} +4 -4
- package/dist/components/{p-oVDOs1AN.js.map → p-oRjUujH5.js.map} +1 -1
- package/dist/components/{p-hmiyEk6L.js → p-qo42Sy8T.js} +5 -5
- package/dist/components/{p-hmiyEk6L.js.map → p-qo42Sy8T.js.map} +1 -1
- package/dist/components/{p-D_8c_n1h.js → p-uxA_4Zq1.js} +4 -4
- package/dist/components/{p-D_8c_n1h.js.map → p-uxA_4Zq1.js.map} +1 -1
- package/dist/components/{p-DWMCGYZt.js → p-wJgbEd5m.js} +5 -5
- package/dist/components/{p-DWMCGYZt.js.map → p-wJgbEd5m.js.map} +1 -1
- package/dist/components/textarea-component.js +1 -1
- package/dist/components/time-period-selector.js +1 -1
- package/dist/esm/{abstract-provider-DfvNw5fP.js → abstract-provider-C4xP8KoA.js} +3 -3
- package/dist/esm/{abstract-provider-DfvNw5fP.js.map → abstract-provider-C4xP8KoA.js.map} +1 -1
- package/dist/esm/calendar-agenda-fill-icon_39.entry.js +2 -2
- package/dist/esm/checkbox-group_4.entry.js +3 -3
- package/dist/esm/checkmark-icon_14.entry.js +2 -2
- package/dist/esm/{customParseFormat-BUZsRKas.js → customParseFormat-oEkUiMUN.js} +3 -3
- package/dist/esm/{customParseFormat-BUZsRKas.js.map → customParseFormat-oEkUiMUN.js.map} +1 -1
- package/dist/esm/globe-icon_3.entry.js +2 -2
- package/dist/esm/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.js.map +1 -1
- package/dist/esm/google-logo-icon_6.entry.js +23 -15
- package/dist/esm/google-logo-icon_6.entry.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/input-component.entry.js +1 -1
- package/dist/esm/input-dropdown_2.entry.js +1 -1
- package/dist/esm/input-image-url_2.entry.js +2 -2
- package/dist/esm/multi-select-dropdown.entry.js +1 -1
- package/dist/esm/{nylas-api-request-B3Fj4B-L.js → nylas-api-request-CWLncKIc.js} +3 -3
- package/dist/esm/{nylas-api-request-B3Fj4B-L.js.map → nylas-api-request-CWLncKIc.js.map} +1 -1
- package/dist/esm/nylas-booked-event-card_11.entry.js +2 -2
- package/dist/esm/nylas-form-card.entry.js +2 -2
- package/dist/esm/nylas-notification_2.entry.js +1 -1
- package/dist/esm/nylas-scheduler-editor.entry.js +4 -4
- package/dist/esm/nylas-scheduling.entry.js +6 -3
- package/dist/esm/nylas-scheduling.entry.js.map +1 -1
- package/dist/esm/{register-component-B9YP9nha.js → register-component-4Wk1RjFK.js} +3 -3
- package/dist/esm/{register-component-B9YP9nha.js.map → register-component-4Wk1RjFK.js.map} +1 -1
- package/dist/esm/textarea-component.entry.js +1 -1
- package/dist/esm/{utils-OpKyWV8q.js → utils-DfIu4gMZ.js} +3 -3
- package/dist/esm/{utils-OpKyWV8q.js.map → utils-DfIu4gMZ.js.map} +1 -1
- package/dist/esm/{version-CEtdwas_.js → version-B5EM2UED.js} +3 -3
- package/dist/esm/{version-CEtdwas_.js.map → version-B5EM2UED.js.map} +1 -1
- package/dist/nylas-web-elements/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.esm.js.map +1 -1
- package/dist/nylas-web-elements/index.esm.js +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-2f3a33e1.entry.js → p-0745cbcc.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-28182324.entry.js → p-0ae1a52e.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-ad920702.entry.js → p-0c276fdb.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-72e72392.entry.js → p-1618c8ac.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-97034347.entry.js → p-2491c840.entry.js} +2 -2
- package/dist/nylas-web-elements/p-3a8194c2.entry.js +2 -0
- package/dist/nylas-web-elements/p-3a8194c2.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-330c2159.entry.js → p-81af9950.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-4d9bdaa0.entry.js → p-95c4f538.entry.js} +2 -2
- package/dist/nylas-web-elements/p-9c8a524c.entry.js +2 -0
- package/dist/nylas-web-elements/p-9c8a524c.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-CEtdwas_.js → p-B5EM2UED.js} +2 -2
- package/dist/nylas-web-elements/{p-CEtdwas_.js.map → p-B5EM2UED.js.map} +1 -1
- package/dist/nylas-web-elements/{p-S0IPwRIR.js → p-DNbD_8zD.js} +2 -2
- package/dist/nylas-web-elements/{p-S0IPwRIR.js.map → p-DNbD_8zD.js.map} +1 -1
- package/dist/nylas-web-elements/{p-OpKyWV8q.js → p-DfIu4gMZ.js} +2 -2
- package/dist/nylas-web-elements/{p-OpKyWV8q.js.map → p-DfIu4gMZ.js.map} +1 -1
- package/dist/nylas-web-elements/{p-C-mOw2iU.js → p-Dgl7p7tZ.js} +2 -2
- package/dist/nylas-web-elements/{p-C-mOw2iU.js.map → p-Dgl7p7tZ.js.map} +1 -1
- package/dist/nylas-web-elements/p-VQ6-FdEA.js +2 -0
- package/dist/nylas-web-elements/{p-D8VJgipo.js.map → p-VQ6-FdEA.js.map} +1 -1
- package/dist/nylas-web-elements/{p-db79a1ca.entry.js → p-a5bb5b9d.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-3f66ac98.entry.js → p-c7f4c268.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-f235211e.entry.js → p-d48d8562.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-9a5ddc21.entry.js → p-eb5b77ab.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-38806f4d.entry.js → p-f45da541.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-f5cf565f.entry.js → p-fed4cb19.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-FlNKXp4j.js → p-gXPNb-6F.js} +2 -2
- package/dist/nylas-web-elements/{p-FlNKXp4j.js.map → p-gXPNb-6F.js.map} +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/dist/components/p-Di0G82W0.js.map +0 -1
- package/dist/components/p-p9sl0FFV.js.map +0 -1
- package/dist/nylas-web-elements/p-74747365.entry.js +0 -2
- package/dist/nylas-web-elements/p-74747365.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-9a42cebd.entry.js +0 -2
- package/dist/nylas-web-elements/p-9a42cebd.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-D8VJgipo.js +0 -2
- /package/dist/nylas-web-elements/{p-2f3a33e1.entry.js.map → p-0745cbcc.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-28182324.entry.js.map → p-0ae1a52e.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-ad920702.entry.js.map → p-0c276fdb.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-72e72392.entry.js.map → p-1618c8ac.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-97034347.entry.js.map → p-2491c840.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-330c2159.entry.js.map → p-81af9950.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-4d9bdaa0.entry.js.map → p-95c4f538.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-db79a1ca.entry.js.map → p-a5bb5b9d.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3f66ac98.entry.js.map → p-c7f4c268.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f235211e.entry.js.map → p-d48d8562.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-9a5ddc21.entry.js.map → p-eb5b77ab.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-38806f4d.entry.js.map → p-f45da541.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f5cf565f.entry.js.map → p-fed4cb19.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-oVDOs1AN.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.scss?tag=nylas-event-duration&encapsulation=shadow","src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-event-duration {\n display: flex;\n flex-direction: column;\n gap: 4px;\n\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 21px */\n span.required {\n color: var(--nylas-error, #cc4841);\n }\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\n.nylas-event-duration__error-container {\n max-height: 0;\n opacity: 0;\n overflow: hidden;\n transition:\n max-height 0.3s ease,\n opacity 0.3s ease;\n\n &.visible {\n max-height: 20px;\n opacity: 1;\n }\n .nylas-event-duration__error {\n color: var(--nylas-error);\n font-family: var(--nylas-font-family);\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 18px */\n }\n}\n\n.nylas-event-duration__wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n input {\n padding: 12px 16px;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n width: 48px;\n }\n\n input-dropdown::part(id_dropdown-input) {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 14px 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n }\n\n input-dropdown::part(id_dropdown-content) {\n width: 100%;\n min-width: unset;\n height: 200px;\n }\n\n input-dropdown {\n width: 80px;\n\n &.error {\n &::part(id_dropdown-input) {\n border: 1px solid var(--nylas-error);\n }\n }\n }\n select-dropdown {\n width: 120px;\n @media #{$mobile} {\n width: 100%;\n }\n }\n\n select-dropdown::part(sd_dropdown-button) {\n border: 1px solid var(--nylas-base-200);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, Listen, State, h, Element, Prop, Watch, Event, EventEmitter } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-event-duration` component is a form input for the duration of an event.\n *\n * @part ned - The event duration container\n * @part ned__dropdown - The dropdown container for the duration increment\n * @part ned__dropdown-button - The dropdown button for the duration increment\n * @part ned__dropdown-content - The dropdown content for the duration increment\n * @part ned__input_dropdown - The input dropdown container for the duration minutes\n * @part ned__input_dropdown-input - The input for the duration minutes\n * @part ned__input_dropdown-content - The dropdown content for the input duration minutes\n */\n@Component({\n tag: 'nylas-event-duration',\n styleUrl: 'nylas-event-duration.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasEventDuration {\n /**\n * The host element <nylas-event-duration>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the event duration. Default is 'duration'.\n */\n @Prop() name: string = 'duration';\n /**\n * @standalone\n * The event duration in minutes as set in the configuration.\n */\n @Prop() eventDurationMinutes?: number;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The selected event duration state. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() duration: number = this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n /**\n * The duration in minutes. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() durationMinutes!: number;\n /**\n * The duration increment. This defaults to minute(s).\n */\n @State() durationIncrement!: number;\n /**\n * The error message for the duration.\n */\n @State() error: string = '';\n /**\n * The durationMinutesOptions for the dropdown.\n */\n @State() durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-event-duration', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const configDuration = newVal?.availability?.duration_minutes;\n if (configDuration) {\n this.duration = configDuration >= 60 ? configDuration / 60 : configDuration;\n this.durationMinutes = configDuration ? configDuration : 30;\n this.durationIncrement = configDuration >= 60 ? 60 : 1;\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n if (this.error) {\n this.validateDuration();\n }\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Event emitted when the event duration changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-event-duration', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n componentWillLoad() {\n debug('nylas-event-duration', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-event-duration', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n this.duration = this.duration ? this.duration : this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n this.durationMinutes = this.durationMinutes ? this.durationMinutes : this.duration ? this.duration : 30;\n this.durationIncrement = this.durationIncrement ? this.durationIncrement : this.duration >= 60 ? 60 : 1;\n this.setDurationMintueOptions();\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n\n disconnectedCallback() {\n debug('nylas-event-duration', 'disconnectedCallback');\n }\n\n get isInternalsAvailable() {\n return typeof this.internals !== 'undefined' && typeof this.internals.setFormValue === 'function';\n }\n\n setDurationMintueOptions() {\n if (this.durationIncrement === 1) {\n this.durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n } else {\n this.durationMinutesOptions = Array.from({ length: 23 }, (_, i) => ({ value: (i + 1).toString(), label: (i + 1).toString() }));\n }\n return this.durationMinutesOptions;\n }\n\n validateDuration() {\n if (this.durationMinutes % 5 !== 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeMultipleOf5');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else if (this.durationMinutes <= 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeGreaterThan0');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else {\n this.error = '';\n this.isInternalsAvailable && this.internals.setValidity({});\n }\n return this.error;\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-calendar-picker', 'nylasFormDropdownChangedHandler', event.detail);\n const { value } = event.detail;\n this.durationIncrement = parseInt(value.toString());\n if (this.durationIncrement === 1) {\n this.duration = 60;\n } else {\n this.duration = 1;\n }\n this.setDurationMintueOptions();\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @Listen('inputOptionChanged')\n inputOptionChangedHandler(event: CustomEvent<{ value: number; name: string }>) {\n debug('nylas-calendar-picker', 'inputOptionChangedHandler', event.detail);\n const { value } = event.detail;\n this.duration = parseFloat(value.toString());\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @RegisterComponent<NylasEventDuration, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-event-duration',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const durationOptions = [\n { value: (1).toString(), label: i18next.t('timeDuration', { context: 'minute' }) },\n { value: (60).toString(), label: i18next.t('timeDuration', { context: 'hour' }) },\n ];\n\n return (\n <Host>\n <div class=\"nylas-event-duration\" part=\"ned\">\n <label htmlFor=\"duration\">\n {i18next.t('nylasEventDuration.headerTitle')}\n <span class=\"required\">*</span>\n </label>\n <div class=\"nylas-event-duration__wrapper\">\n <input-dropdown\n class={this.error ? 'error' : ''}\n name={'event-duration'}\n options={this.durationMinutesOptions}\n inputValue={this.duration.toString()}\n exportparts=\"id_dropdown: ned__input_dropdown, id_dropdown-input: ned__input_dropdown-input, id_dropdown-content: ned__input_dropdown-content\"\n defaultInputOption={this.durationMinutesOptions.find(i => i.value === this.duration.toString())}\n themeConfig={this.themeConfig}\n />\n {this.durationIncrement && (\n <select-dropdown\n name={'event-duration'}\n options={durationOptions}\n pluralizedLabel={\n this.duration > 1\n ? i18next.t(`time.${this.durationIncrement === 60 ? 'hours' : 'minutes'}`)\n : i18next.t(`time.${this.durationIncrement === 60 ? 'hour' : 'minute'}`)\n }\n themeConfig={this.themeConfig}\n exportparts=\"sd_dropdown: ned__dropdown, sd_dropdown-button: ned__dropdown-button, sd_dropdown-content: ned__dropdown-content\"\n defaultSelectedOption={durationOptions.find(i => i.value === this.durationIncrement.toString())}\n withSearch={false}\n />\n )}\n </div>\n <div class={`nylas-event-duration__error-container ${this.error ? 'visible' : ''}`} part=\"ned__error-container\">\n <div class=\"nylas-event-duration__error\" part=\"ned__error\">\n {this.error}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-oRjUujH5.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.scss?tag=nylas-event-duration&encapsulation=shadow","src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-event-duration {\n display: flex;\n flex-direction: column;\n gap: 4px;\n\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 21px */\n span.required {\n color: var(--nylas-error, #cc4841);\n }\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\n.nylas-event-duration__error-container {\n max-height: 0;\n opacity: 0;\n overflow: hidden;\n transition:\n max-height 0.3s ease,\n opacity 0.3s ease;\n\n &.visible {\n max-height: 20px;\n opacity: 1;\n }\n .nylas-event-duration__error {\n color: var(--nylas-error);\n font-family: var(--nylas-font-family);\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 18px */\n }\n}\n\n.nylas-event-duration__wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n input {\n padding: 12px 16px;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n width: 48px;\n }\n\n input-dropdown::part(id_dropdown-input) {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 14px 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n }\n\n input-dropdown::part(id_dropdown-content) {\n width: 100%;\n min-width: unset;\n height: 200px;\n }\n\n input-dropdown {\n width: 80px;\n\n &.error {\n &::part(id_dropdown-input) {\n border: 1px solid var(--nylas-error);\n }\n }\n }\n select-dropdown {\n width: 120px;\n @media #{$mobile} {\n width: 100%;\n }\n }\n\n select-dropdown::part(sd_dropdown-button) {\n border: 1px solid var(--nylas-base-200);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, Listen, State, h, Element, Prop, Watch, Event, EventEmitter } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-event-duration` component is a form input for the duration of an event.\n *\n * @part ned - The event duration container\n * @part ned__dropdown - The dropdown container for the duration increment\n * @part ned__dropdown-button - The dropdown button for the duration increment\n * @part ned__dropdown-content - The dropdown content for the duration increment\n * @part ned__input_dropdown - The input dropdown container for the duration minutes\n * @part ned__input_dropdown-input - The input for the duration minutes\n * @part ned__input_dropdown-content - The dropdown content for the input duration minutes\n */\n@Component({\n tag: 'nylas-event-duration',\n styleUrl: 'nylas-event-duration.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasEventDuration {\n /**\n * The host element <nylas-event-duration>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the event duration. Default is 'duration'.\n */\n @Prop() name: string = 'duration';\n /**\n * @standalone\n * The event duration in minutes as set in the configuration.\n */\n @Prop() eventDurationMinutes?: number;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The selected event duration state. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() duration: number = this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n /**\n * The duration in minutes. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() durationMinutes!: number;\n /**\n * The duration increment. This defaults to minute(s).\n */\n @State() durationIncrement!: number;\n /**\n * The error message for the duration.\n */\n @State() error: string = '';\n /**\n * The durationMinutesOptions for the dropdown.\n */\n @State() durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-event-duration', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const configDuration = newVal?.availability?.duration_minutes;\n if (configDuration) {\n this.duration = configDuration >= 60 ? configDuration / 60 : configDuration;\n this.durationMinutes = configDuration ? configDuration : 30;\n this.durationIncrement = configDuration >= 60 ? 60 : 1;\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n if (this.error) {\n this.validateDuration();\n }\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Event emitted when the event duration changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-event-duration', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n componentWillLoad() {\n debug('nylas-event-duration', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-event-duration', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n this.duration = this.duration ? this.duration : this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n this.durationMinutes = this.durationMinutes ? this.durationMinutes : this.duration ? this.duration : 30;\n this.durationIncrement = this.durationIncrement ? this.durationIncrement : this.duration >= 60 ? 60 : 1;\n this.setDurationMintueOptions();\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n\n disconnectedCallback() {\n debug('nylas-event-duration', 'disconnectedCallback');\n }\n\n get isInternalsAvailable() {\n return typeof this.internals !== 'undefined' && typeof this.internals.setFormValue === 'function';\n }\n\n setDurationMintueOptions() {\n if (this.durationIncrement === 1) {\n this.durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n } else {\n this.durationMinutesOptions = Array.from({ length: 23 }, (_, i) => ({ value: (i + 1).toString(), label: (i + 1).toString() }));\n }\n return this.durationMinutesOptions;\n }\n\n validateDuration() {\n if (this.durationMinutes % 5 !== 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeMultipleOf5');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else if (this.durationMinutes <= 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeGreaterThan0');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else {\n this.error = '';\n this.isInternalsAvailable && this.internals.setValidity({});\n }\n return this.error;\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-calendar-picker', 'nylasFormDropdownChangedHandler', event.detail);\n const { value } = event.detail;\n this.durationIncrement = parseInt(value.toString());\n if (this.durationIncrement === 1) {\n this.duration = 60;\n } else {\n this.duration = 1;\n }\n this.setDurationMintueOptions();\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @Listen('inputOptionChanged')\n inputOptionChangedHandler(event: CustomEvent<{ value: number; name: string }>) {\n debug('nylas-calendar-picker', 'inputOptionChangedHandler', event.detail);\n const { value } = event.detail;\n this.duration = parseFloat(value.toString());\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @RegisterComponent<NylasEventDuration, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-event-duration',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const durationOptions = [\n { value: (1).toString(), label: i18next.t('timeDuration', { context: 'minute' }) },\n { value: (60).toString(), label: i18next.t('timeDuration', { context: 'hour' }) },\n ];\n\n return (\n <Host>\n <div class=\"nylas-event-duration\" part=\"ned\">\n <label htmlFor=\"duration\">\n {i18next.t('nylasEventDuration.headerTitle')}\n <span class=\"required\">*</span>\n </label>\n <div class=\"nylas-event-duration__wrapper\">\n <input-dropdown\n class={this.error ? 'error' : ''}\n name={'event-duration'}\n options={this.durationMinutesOptions}\n inputValue={this.duration.toString()}\n exportparts=\"id_dropdown: ned__input_dropdown, id_dropdown-input: ned__input_dropdown-input, id_dropdown-content: ned__input_dropdown-content\"\n defaultInputOption={this.durationMinutesOptions.find(i => i.value === this.duration.toString())}\n themeConfig={this.themeConfig}\n />\n {this.durationIncrement && (\n <select-dropdown\n name={'event-duration'}\n options={durationOptions}\n pluralizedLabel={\n this.duration > 1\n ? i18next.t(`time.${this.durationIncrement === 60 ? 'hours' : 'minutes'}`)\n : i18next.t(`time.${this.durationIncrement === 60 ? 'hour' : 'minute'}`)\n }\n themeConfig={this.themeConfig}\n exportparts=\"sd_dropdown: ned__dropdown, sd_dropdown-button: ned__dropdown-button, sd_dropdown-content: ned__dropdown-content\"\n defaultSelectedOption={durationOptions.find(i => i.value === this.durationIncrement.toString())}\n withSearch={false}\n />\n )}\n </div>\n <div class={`nylas-event-duration__error-container ${this.error ? 'visible' : ''}`} part=\"ned__error-container\">\n <div class=\"nylas-event-duration__error\" part=\"ned__error\">\n {this.error}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
|
|
2
|
-
import { R as RegisterComponent } from './p-
|
|
3
|
-
import { a as debug, N as parsePreviewLink, _ as getCalendarRange, O as CONFIGURATION_EVENT_TYPE } from './p-
|
|
2
|
+
import { R as RegisterComponent } from './p-CUlV7ZGv.js';
|
|
3
|
+
import { a as debug, N as parsePreviewLink, _ as getCalendarRange, O as CONFIGURATION_EVENT_TYPE } from './p-CMNiSC4o.js';
|
|
4
4
|
import { E as ErrorCategory, u } from './p-CWplx7sA.js';
|
|
5
5
|
import { i as instance } from './p-BjxQTsOy.js';
|
|
6
6
|
import { d as defineCustomElement$d } from './p-BVH0Klhu.js';
|
|
@@ -12,7 +12,7 @@ import { d as defineCustomElement$8 } from './p-C9Mlv9rC.js';
|
|
|
12
12
|
import { d as defineCustomElement$7 } from './p-CvLWbTI_.js';
|
|
13
13
|
import { d as defineCustomElement$6 } from './p-B2LU95MT.js';
|
|
14
14
|
import { d as defineCustomElement$5 } from './p-C7ZpwRD0.js';
|
|
15
|
-
import { d as defineCustomElement$4 } from './p-
|
|
15
|
+
import { d as defineCustomElement$4 } from './p-DOryfnIf.js';
|
|
16
16
|
import { d as defineCustomElement$3 } from './p-DBHtQK2b.js';
|
|
17
17
|
import { d as defineCustomElement$2 } from './p-wphqTozF.js';
|
|
18
18
|
import { d as defineCustomElement$1 } from './p-OhUC7F_g.js';
|
|
@@ -464,6 +464,6 @@ function defineCustomElement() {
|
|
|
464
464
|
}
|
|
465
465
|
|
|
466
466
|
export { NylasListConfigurations as N, defineCustomElement as d };
|
|
467
|
-
//# sourceMappingURL=p-
|
|
467
|
+
//# sourceMappingURL=p-qo42Sy8T.js.map
|
|
468
468
|
|
|
469
|
-
//# sourceMappingURL=p-
|
|
469
|
+
//# sourceMappingURL=p-qo42Sy8T.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-hmiyEk6L.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,0BAA0B,GAAG,ohQAAohQ;;;;;;;;;;;;;;;;MCoB1iQ,uBAAuB,GAAAA,kBAAA,CAAA,MAAA,uBAAA,SAAAC,CAAA,CAAA;AALpC,IAAA,WAAA,GAAA;;;;;;;;;;AAcU,QAAA,IAAc,CAAA,cAAA,GAA2C,EAAE;AAWpB,QAAA,IAAoB,CAAA,oBAAA,GAAW,EAAE;AAuD/D,QAAA,IAAK,CAAA,KAAA,GAAmC,SAAS;QAKzD,IAAA,CAAA,KAAK,GAKV;AACF,YAAA,OAAO,EAAE,EAAE;YACX,IAAI,EAAEC,CAAgB,CAAC,KAAK;YAC5B,QAAQ,EAAE,aAAa,CAAC,SAAS;AACjC,YAAA,KAAK,EAAE,EAAE;SACV;AAKQ,QAAA,IAAa,CAAA,aAAA,GAAkB,IAAI;AAKnC,QAAA,IAAe,CAAA,eAAA,GAAa,EAAE;AAK9B,QAAA,IAAqB,CAAA,qBAAA,GAAY,KAAK;AAKtC,QAAA,IAAqB,CAAA,qBAAA,GAAW,EAAE;AAKlC,QAAA,IAAuB,CAAA,uBAAA,GAAY,KAAK;AAKxC,QAAA,IAAmB,CAAA,mBAAA,GAAW,EAAE;AA4e1C;IAzeC,0CAA0C,CAAC,MAAqB,EAAE,MAAqB,EAAA;AACrF,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE;AAChC,YAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,gBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;;YAEnC;;AAEF,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;AAClC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM;;IAI7B,8BAA8B,CAAC,MAAqB,EAAE,MAAqB,EAAA;QACzE,IAAI,MAAM,KAAK,MAAM;YAAE;AACvB,QAAAC,QAAO,CAAC,cAAc,CAAC,MAAM,CAAC;;IAIhC,yBAAyB,CAAC,MAAmB,EAAE,MAAmB,EAAA;QAChE,IAAI,MAAM,KAAK,MAAM;YAAE;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;;IAG/B,iBAAiB,GAAA;AACf,QAAA,KAAK,CAAC,6BAA6B,EAAE,mBAAmB,CAAC;QAGzD,cAAc,CAAC,MAAK;AAClB,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;;AAE7C,SAAC,CAAC;;IAGJ,iBAAiB,GAAA;AACf,QAAA,KAAK,CAAC,6BAA6B,EAAE,mBAAmB,CAAC;AAGzD,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AACzD,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;;;IAIzB,gBAAgB,GAAA;AACd,QAAA,KAAK,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;AAIxD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,SAAA,CAAC;;IAGJ,oBAAoB,GAAA;AAClB,QAAA,KAAK,CAAC,6BAA6B,EAAE,sBAAsB,CAAC;;AAG9D,IAAA,gBAAgB,CAAC,WAAyB,EAAA;QACxC,IAAI,WAAW,EAAE;AACf,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACtD,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA,EAAG,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC;;;;IAMlD,MAAM,8BAA8B,CAAC,KAAkB,EAAA;QACrD,KAAK,CAAC,6BAA6B,EAAE,gCAAgC,EAAE,KAAK,CAAC,MAAM,CAAC;AACpF,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM;AAC9B,QAAA,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QACxC,KAAK,CAAC,cAAc,EAAE;QACtB,QAAQ,MAAM;AACZ,YAAA,KAAK,QAAQ;gBACX,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE;gBAC3D;AACF,YAAA,KAAK,SAAS;AACZ,gBAAA,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;gBAC9F;AACF,YAAA,KAAK,MAAM;gBACT,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5G;;;AAON,IAAA,MAAM,gBAAgB,GAAA;AAGpB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,SAAA,CAAC;;AAIJ,IAAA,MAAM,QAAQ,GAAA;QACZ,OAAO,IAAI,CAAC,KAAK;;IAInB,MAAM,QAAQ,CAAC,KAAqC,EAAA;AAClD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;IAIpB,MAAM,QAAQ,CAAC,KAA0F,EAAA;QACvG,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAIA,QAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;SACrD;AACD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAK1C,IAAA,MAAM,sBAAsB,GAAA;AAC1B,QAAA,IAAI,CAAC,qBAAqB,GAAG,EAAE;AAC/B,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;;AAItC,IAAA,MAAM,qBAAqB,GAAA;AACzB,QAAA,IAAI,CAAC,mBAAmB,GAAG,EAAE;;AAG/B,IAAA,qBAAqB,CAAC,KAAkH,EAAA;AACtI,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;AAC5B,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACtC,gBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,IAAID,CAAgB,CAAC,KAAK;gBAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,gBAAA,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAC,SAAS;gBACnD,WAAW,EAAE,KAAK,CAAC,OAAO;AAC1B,gBAAA,GAAG,EAAE,MAAM;AACI,aAAA;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,SAAA,CAAC;;AAGJ,IAAA,UAAU,CAAC,CAAQ,EAAA;QACjB,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,IAAI,CAAC,qBAAqB,GAAG,EAAE;;AAGjC,IAAA,gCAAgC,CAAC,CAAQ,EAAA;QACvC,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,qBAAqB,CAAC;AAC3F,QAAA,IAAI,MAAM,IAAI,MAAM,EAAE,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;;;AAInE,IAAA,iBAAiB,CAAC,QAAgB,EAAA;AACxC,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,GAAG;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;AACvC,QAAA,MAAM,OAAO,GAAG,QAAQ,GAAG,EAAE;AAC7B,QAAA,OAAO,CAAG,EAAA,KAAK,GAAG,KAAK,GAAG,EAAE,CAAI,CAAA,EAAA,KAAK,GAAG,CAAG,EAAA,KAAK,GAAG,CAAC,GAAG,OAAO,GAAG,MAAM,CAAE,CAAA,GAAG,EAAE,CAAI,CAAA,EAAA,OAAO,GAAG,OAAO,GAAG,EAAE,CAAI,CAAA,EAAA,OAAO,GAAG,CAAG,EAAA,OAAO,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAA,CAAE,GAAG,EAAE,EAAE;;AAGhK,IAAA,kBAAkB,CAAC,MAAc,EAAA;AAC/B,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,GAAG,EAAE,QAAQ;SACd;AACD,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,KAAK,EAAE,oBAAoB;SAC5B;QACD,QAAQ,MAAM;AACZ,YAAA,KAAK,SAAS;AACZ,gBAAA,QACE,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,WAAW,EAAA,EACtB,CAAA,CAAA,UAAA,EAAA,EAAU,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAY,CAAA,EAC3CC,QAAO,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAClD;AAEX,YAAA,KAAK,MAAM;AACT,gBAAA,QACE,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,WAAW,EAAA,EACtB,CAAA,CAAA,WAAA,EAAA,EAAW,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAG,CAAA,EACnCA,QAAO,CAAC,CAAC,CAAC,4CAA4C,CAAC,CACnD;AAEX,YAAA,KAAK,QAAQ;AACX,gBAAA,QACE,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,EAAE,EAAA,EAC7C,CAAA,CAAA,aAAA,EAAA,EAAa,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAe,CAAA,EACjDA,QAAO,CAAC,CAAC,CAAC,0CAA0C,CAAC,CACjD;AAEX,YAAA;AACE,gBAAA,OAAO,EAAE;;;IAIf,0BAA0B,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE;QAEvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,IAAI;AACvD,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS;AACrF,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,YAAA,MAAM,EAAE,UAAU;AACnB,SAAA,CAAC;;IAGJ,sBAAsB,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE;AAEzB,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC;AACpE,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,aAAa;AAC3B,SAAA,CAAC;;IA+FJ,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAyC,CAAA,oBAAA,EAAA,IAAA,CAAA,EACzC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EACjB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,IAAA,EAAA,IAAA,EAAKA,QAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAM,EAC1C,CAAA,CAAA,GAAA,EAAA,IAAA,EAAIA,QAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAK,CAChD,EACL,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,KACpD,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EAClB,CAAA,CAAA,kBAAA,EAAA,EACE,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,MAAK;gBACjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,aAAC,EAAA,EAEAA,QAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAC9B,CACf,CACP,CACG,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACzB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAA,CAAA,OAAA,EAAA,EACE,KAAK,EAAE;gBACL,mBAAmB,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5G,aAAA,EAAA,EAED,CAAA,CAAA,IAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,KAAK,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;aAC5F,EAAA,EAED,CAAA,CAAA,IAAA,EAAA,IAAA,EAAKA,QAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAM,EACjC,CAAA,CAAA,IAAA,EAAA,IAAA,EAAKA,QAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAM,EACrC,CAAA,CAAA,IAAA,EAAA,IAAA,CAAS,CACN,EACJ,IAAI,CAAC,KAAK,KAAK,SAAS,KACvB,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,mBAAmB,EAAA,EAC3B,CAAI,CAAA,IAAA,EAAA,EAAA,OAAO,EAAE,CAAC,EAAA,EACZ,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAA,CAAA,IAAA,EAAA,IAAA,EAAKA,QAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAS,KAAA,CAAA,EAClC,CAAI,CAAA,GAAA,EAAA,IAAA,EAAAA,QAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAK,CACzC,CACH,CACF,CACN,EACA,IAAI,CAAC,KAAK,KAAK,SAAS,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,KACrF,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAC,mBAAmB,EAAA,EAC3B,CAAI,CAAA,IAAA,EAAA,EAAA,OAAO,EAAE,CAAC,EAAA,EACZ,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAA,CAAA,eAAA,EAAA,EAAe,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAiB,CAAA,EACtD,CAAA,CAAA,IAAA,EAAA,IAAA,EAAKA,QAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAM,EACzC,CAAA,CAAA,GAAA,EAAA,IAAA,EAAIA,QAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAK,EAC/C,CAAA,CAAA,kBAAA,EAAA,EACE,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,MAAK;gBACjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,aAAC,EAAA,EAEAA,QAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAC9B,CACf,CACH,CACF,CACN,EACA,IAAI,CAAC,KAAK,KAAK,SAAS;YACvB,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAI;AACrC,gBAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAChI,MAAM,WAAW,GAAG,MAA4B;gBAChD,MAAM,aAAa,GAAG,MAAuB;AAC7C,gBAAA,QACE,CAAI,CAAA,IAAA,EAAA,EAAA,GAAG,EAAE,MAAM,EAAE,EAAE,EAAA,EACjB,CAAA,CAAA,IAAA,EAAA,IAAA,EACE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EAChB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,oBAAoB,EAAC,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EACvE,EAAA,aAAa,EAAE,aAAa,EAAE,KAAK,IAAI,WAAW,EAAE,IAAI,CACrD,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,0BAA0B,EAAG,EAAA,aAAa,EAAE,aAAa,EAAE,WAAW,CAAO,CACrF,CACH,EACL,CAAA,CAAA,IAAA,EAAA,IAAA,EACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,UAAU,EAAA,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAO,CAChG,EACL,CAAA,CAAA,IAAA,EAAA,IAAA,EACE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EAClB,CAAA,CAAA,kBAAA,EAAA,EACE,KAAK,EAAC,aAAa,EACnB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,CAAQ,KAAA,EAAA,CAAC,EAAE,EAChB,QAAQ,EAAE,IAAI,CAAC,mBAAmB,KAAK,QAAQ,CAAC,CAAA,CAAE,EAClD,SAAS,EAAE,IAAI,CAAC,mBAAmB,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAE,CAAA,EACnD,YAAY,EAAE,KAAK,IAAG;wBACpB,KAAK,CAAC,cAAc,EAAE;AACtB,wBAAA,IAAI,CAAC,mBAAmB,GAAG,CAAQ,KAAA,EAAA,CAAC,EAAE;AACtC,wBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;qBACtE,EAAA,EAEA,IAAI,CAAC,mBAAmB,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAE,CAAA,GAAG,IAAI,GAAG,iBAAW,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAa,CAAA,EAChGA,QAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CACzB,EACnB,CAAA,CAAA,iBAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,IAAI,EAAE,OAAO;AACd,qBAAA,EACD,IAAI,EAAC,SAAS,EACd,OAAO,EAAE;AACP,wBAAA,EAAE,KAAK,EAAE,CAAA,QAAA,EAAW,CAAC,CAAE,CAAA,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;AAC1F,wBAAA,EAAE,KAAK,EAAE,CAAA,KAAA,EAAQ,CAAC,CAAE,CAAA,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;AACtF,wBAAA,EAAE,KAAK,EAAE,CAAA,OAAA,EAAU,CAAC,CAAE,CAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;AACxF,qBAAA,EACD,qBAAqB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAC/C,kBAAkB,EAAC,KAAK,EACxB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAC,6KAA6K,EAAA,CACxK,CACf,CACH,CACF;aAER,CAAC,CACE,CACJ,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrB,CAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAA,EACrH,CAAA,CAAA,cAAA,EAAA,IAAA,CAAgB,CACT,EACT,CAAA,CAAA,QAAA,EAAA,EAAQ,KAAK,EAAC,aAAa,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAA,EAC5G,CAAgB,CAAA,cAAA,EAAA,IAAA,CAAA,CACT,CACL,CACF,EACL,CAAC,CAAC,IAAI,CAAC,qBAAqB,KAC3B,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,cAAc,EAAA,EACvB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAkB,CAAA,kBAAA,EAAA,EAAA,OAAO,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,EAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC,oBAAoB,EAAA,EAC5H,CAAA,CAAA,YAAA,EAAA,IAAA,CAAc,CACG,CACf,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EACjB,CAAA,CAAA,IAAA,EAAA,EAAI,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,aAAa,EACrC,EAAAA,QAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CACpC,CACD,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,wBAAwB,EAAA,EACjC,CAAA,CAAA,GAAA,EAAA,IAAA,EAAIA,QAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAK,CACjD,EACN,CAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,IAAI;aACb,EAAA,EAED,CAAA,CAAA,kBAAA,EAAA,EAAkB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC,uCAAuC,EAC/G,EAAA,GAAGA,QAAO,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAE,CAAA,CAClC,EACnB,CACE,CAAA,kBAAA,EAAA,EAAA,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC,EACtD,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EACtC,SAAS,EAAE,IAAI,CAAC,uBAAuB,EACvC,IAAI,EAAC,2CAA2C,EAAA,EAE/C,CAAG,EAAAA,QAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAA,CAAE,CACnC,CACf,CACF,CACF,CACP,CACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA5KX,UAAA,CAAA;AA5FC,IAAA,iBAAiB,CAA6G;AAC7H,QAAA,IAAI,EAAE,2BAA2B;QACjC,YAAY,EAAE,IAAI,GAAG,CAAC;YACpB,CAAC,gCAAgC,EAAE,gBAAgB,CAAC;YACpD,CAAC,8CAA8C,EAAE,8BAA8B,CAAC;YAChF,CAAC,kCAAkC,EAAE,kBAAkB,CAAC;YACxD,CAAC,6BAA6B,EAAE,aAAa,CAAC;SAC/C,CAAC;QACF,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC,CAAC;AAC7E,QAAA,YAAY,EAAE;AACZ,YAAA,sBAAsB,EAAE,OAAO,KAAK,EAAE,SAAS,KAAI;gBACjD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM;AACrC,gBAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC9B,gBAAA,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAC/E,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;AACnC,oBAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC;wBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,IAAI,EAAED,CAAgB,CAAC,KAAK;wBAC5B,QAAQ,EAAE,aAAa,CAAC,SAAS;AACjC,wBAAA,KAAK,EAAEC,QAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC;AACpD,qBAAA,CAAC;oBACF;;AAEF,gBAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAE9B;AACD,YAAA,iBAAiB,EAAE,OAAO,CAAC,EAAE,SAAS,KAAI;AACxC,gBAAA,SAAS,CAAC,oBAAoB,CAAC,0BAA0B,EAAE;AAC3D,gBAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC;AACtI,gBAAA,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ;AACtD,oBAAA,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;qBACrG;oBACL,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe;;aAEhE;AACD,YAAA,iBAAiB,EAAE,OAAO,KAAK,EAAE,SAAS,KAAI;gBAC5C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM;AAC5C,gBAAA,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3F,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;AACnC,oBAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC;wBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,IAAI,EAAED,CAAgB,CAAC,KAAK;wBAC5B,QAAQ,EAAE,aAAa,CAAC,SAAS;AACjC,wBAAA,KAAK,EAAEC,QAAO,CAAC,CAAC,CAAC,mCAAmC,CAAC;AACtD,qBAAA,CAAC;;AAEJ,gBAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE;aACpC;AACD,YAAA,eAAe,EAAE,OAAO,KAAK,EAAE,SAAS,KAAI;gBAC1C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM;AAC5C,gBAAA,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC;AAC9H,gBAAA,IAAI,CAAC,mBAAmB,IAAI,kBAAkB,EAAE,OAAO,EAAE;oBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC;wBAClB,OAAO,EAAE,kBAAkB,CAAC,OAAO;wBACnC,IAAI,EAAED,CAAgB,CAAC,KAAK;wBAC5B,QAAQ,EAAE,aAAa,CAAC,SAAS;AACjC,wBAAA,KAAK,EAAEC,QAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC;AACpD,qBAAA,CAAC;oBACF,IAAI,CAAC,qBAAqB,EAAE;oBAC5B;;AAGF,gBAAA,MAAM,qBAAqB,GAAG,mBAAmB,IAAI,aAAa;AAClE,gBAAA,IAAI,qBAAqB,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1C,oBAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC;AACjF,oBAAA,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,qBAAqB,GAAG;AAC3D,wBAAA,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE;AAChC,wBAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;qBAC7B;AACD,oBAAA,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,qBAAqB,CAAC;oBACrH,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;wBAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC;4BAClB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAED,CAAgB,CAAC,KAAK;4BAC5B,QAAQ,EAAE,aAAa,CAAC,SAAS;AACjC,4BAAA,KAAK,EAAEC,QAAO,CAAC,CAAC,CAAC,0CAA0C,CAAC;AAC7D,yBAAA,CAAC;wBACF,IAAI,CAAC,qBAAqB,EAAE;wBAC5B;;;gBAGJ,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;gBACpD,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,qBAAqB,GAAG,qBAAqB;gBAClF,IAAI,CAAC,qBAAqB,EAAE;aAC7B;AACF,SAAA;AACD,QAAA,iBAAiB,EAAE,IAAI;KACxB,CAAC;;;;CA+KD,EAAA,uBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement","NotificationType","i18next"],"sources":["src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.scss?tag=nylas-list-configurations&encapsulation=shadow","src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n@use '../../../common/mixins/buttons' as *;\n\n:host {\n display: grid;\n grid-auto-flow: row;\n width: 100%;\n font-family: inherit;\n font-optical-sizing: auto;\n @include default-css-variables;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n gap: 1rem;\n\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n align-items: unset;\n }\n\n h2 {\n margin: 0;\n font-size: 1.25rem;\n color: var(--nylas-base-900);\n font-weight: 600;\n }\n\n p {\n margin: 0;\n font-size: 16px;\n color: var(--nylas-base-700);\n }\n\n .actions {\n justify-self: end;\n\n @media #{$mobile} {\n width: 100%;\n }\n }\n}\n\n.configurations {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n background: var(--nylas-base-0);\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow-y: hidden;\n\n .table-container {\n overflow-y: auto;\n flex: 1;\n\n @media #{$mobile} {\n min-height: 624px; // This is to ensure the dropdowns are not cut off\n }\n\n table {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n font-family: inherit;\n height: max-content;\n\n &.no-configurations {\n height: 100%;\n }\n\n tr {\n color: var(--nylas-base-800);\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: inherit;\n\n &.hide {\n display: none;\n }\n }\n\n th {\n font-weight: 600;\n text-transform: uppercase;\n font-size: 14px;\n line-height: 20px;\n }\n\n tr.no-configurations {\n td {\n > div {\n display: flex;\n height: 100%;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n padding: var(--nylas-border-radius-3x);\n\n h3 {\n margin: 0 0 1rem 0;\n color: var(--nylas-base-700);\n }\n\n p {\n margin: 0 0 1rem 0;\n color: var(--nylas-base-600);\n }\n\n calendar-icon {\n margin-bottom: 1rem;\n color: var(--nylas-base-200);\n }\n }\n }\n }\n\n th,\n td {\n text-align: left;\n padding: 1rem;\n font-family: inherit;\n }\n\n .actions {\n display: flex;\n justify-content: flex-end;\n gap: 1rem;\n text-align: right;\n button-component.edit-button {\n min-width: 98px;\n }\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n }\n\n select-dropdown.last {\n &::part(sd_dropdown-content) {\n bottom: 54px;\n }\n }\n }\n\n .title {\n width: 100%;\n max-width: 300px;\n\n @media #{$mobile} {\n max-width: 96px;\n }\n\n div {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.config-event-title {\n font-weight: 600;\n }\n\n &.config-event-description {\n font-size: 0.75rem;\n }\n }\n }\n }\n }\n\n .pagination {\n padding: 1rem;\n position: sticky;\n top: 100%;\n display: flex;\n justify-content: flex-end;\n gap: 0.5rem;\n background: var(--nylas-base-0);\n width: calc(100% - 2rem);\n z-index: 2;\n\n td.arrows {\n display: flex;\n justify-content: flex-end;\n gap: 0.5rem;\n }\n\n button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 3vh;\n width: 3vh;\n min-width: 3em;\n min-height: 3em;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-300);\n\n background-color: transparent;\n color: var(--nylas-base-800);\n cursor: pointer;\n\n &:hover:not(:disabled) {\n border: 1px solid var(--nylas-primary);\n }\n\n &:active {\n border: 1px solid var(--nylas-base-800);\n }\n\n &:disabled {\n border: 1px solid var(--nylas-base-100);\n background-color: transparent;\n color: var(--nylas-base-300);\n cursor: not-allowed;\n }\n\n &.right {\n transform: rotate(180deg);\n }\n }\n }\n}\n\n.error-container {\n margin-top: 1.5rem;\n\n .error {\n color: var(--nylas-error);\n padding: 0.5rem 0;\n margin: 1rem 0 0;\n }\n}\n\nbutton-component#copy {\n button {\n width: 108px;\n }\n}\n\nselect-dropdown {\n width: auto;\n color: inherit;\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n display: block;\n height: 48px;\n padding: 0px 16px 8px;\n\n @media #{$mobile} {\n width: 92px;\n }\n}\n\nselect-dropdown::part(sd_dropdown-content) {\n width: 120px;\n right: 0;\n}\n\nselect-dropdown::part(sd_dropdown-labelhtml) {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n color: var(--nylas-base-900);\n\n &:hover {\n color: var(--nylas-primary);\n }\n}\n\n.card-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n height: calc(100% + 4rem);\n width: -webkit-fill-available;\n width: -moz-available;\n width: fill-available;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.6);\n z-index: 2;\n\n border-radius: var(--nylas-border-radius-2x);\n\n @media #{$mobile} {\n justify-content: start;\n height: 100%;\n }\n}\n\n.card-modal {\n background: var(--nylas-base-0);\n display: flex;\n flex-direction: column;\n font-family: var(--nylas-font-family);\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n border-radius: var(--nylas-border-radius-3x);\n padding: 32px;\n width: 562px;\n\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n\n @media #{$mobile} {\n width: auto;\n border-radius: 0px;\n }\n}\n\n.description {\n &.title-desc {\n margin-bottom: 2rem;\n }\n\n p {\n margin: 0;\n font-size: 18px;\n color: var(--nylas-base-600);\n }\n}\n\n.footer {\n margin-top: 1rem;\n padding-top: 1rem;\n display: flex;\n justify-content: flex-end;\n gap: 0.5rem;\n box-sizing: border-box;\n background-color: var(--nylas-base-25);\n width: 100%;\n border-radius: 0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x);\n}\n\n.close-button {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n\n button-component {\n button {\n padding: 0;\n height: auto;\n\n &:hover {\n background-color: transparent !important;\n }\n }\n }\n}\n\nbutton-component {\n --dot-color: var(--nylas-base-700);\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, getCalendarRange, parsePreviewLink } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, GroupConfiguration, Notification, NotificationType, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { CONFIGURATION_EVENT_TYPE, LANGUAGE_CODE } from '@/common/constants';\nimport { ErrorCategory } from '@/types/index';\n\n/**\n * The `nylas-list-configurations` component displays a list of scheduling pages.\n *\n * @part nlc__create-new-cta - The create new configuration CTA.\n */\n@Component({\n tag: 'nylas-list-configurations',\n styleUrl: 'nylas-list-configurations.scss',\n shadow: true,\n})\nexport class NylasListConfigurations {\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasListConfigurationsElement;\n\n /**\n * The list of configurations to display.\n */\n @Prop() configurations: (Configuration | GroupConfiguration)[] = [];\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The scheduler preview link to use when the user clicks on the preview button.\n * You can use a placeholder `{config.id}` to replace the configuration id anywhere in the link.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n\n /**\n * The next cursor for list configurations, if any.\n */\n @Prop() listConfigurationsNextCursor?: string | null;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * Event emitted when the component is initialized.\n */\n @Event() initListConfigurations!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n cursor?: string;\n }>;\n\n /**\n * Event emitted when the user clicks the create event button.\n */\n @Event() createButtonClick!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the edit event button.\n */\n @Event() editButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration | GroupConfiguration;\n }>;\n\n /**\n * Event emitted when the user clicks the delete event button.\n */\n @Event() deleteButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration | GroupConfiguration;\n }>;\n\n /**\n * This event is fired when there is an error in the component.\n */\n @Event({ cancelable: false }) readonly nylasSchedulerError!: EventEmitter<{ notification: Notification; host: HTMLElement }>;\n\n /**\n * Event emitted when the user dismisses the error notification.\n */\n @Event({ cancelable: false }) dismissNotification!: EventEmitter<{ id: string; host: HTMLNylasListConfigurationsElement }>;\n\n /**\n * The current state of the component.\n */\n @State() private state: 'loading' | 'loaded' | 'error' = 'loading';\n\n /**\n * The error message to display.\n */\n @State() error?: {\n message: string;\n type: NotificationType | undefined;\n category: ErrorCategory | undefined;\n title: string;\n } = {\n message: '',\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: '',\n };\n\n /**\n * Current cursor for list configurations\n */\n @State() currentCursor: string | null = null;\n\n /**\n * The list of previous cursors for list configurations\n */\n @State() previousCursors: string[] = [];\n\n /**\n * State to identiy if the next button should be disabled\n */\n @State() disableNextPageButton: boolean = false;\n\n /**\n * State to store the configuration id to delete and to show the delete confirmation modal\n */\n @State() deleteConfigurationId: string = '';\n\n /**\n * State to show Delete button loading state\n */\n @State() showDeleteButtonLoading: boolean = false;\n\n /**\n * State to show Edit button loading state\n */\n @State() editButtonLoadingId: string = '';\n\n @Watch('listConfigurationsNextCursor')\n listConfigurationsNextCursorChangedHandler(newVal: string | null, oldVal: string | null) {\n if (!newVal || newVal === oldVal) {\n if (newVal === null) {\n this.disableNextPageButton = true;\n }\n return;\n }\n this.disableNextPageButton = false;\n this.currentCursor = newVal;\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n connectedCallback() {\n debug('[nylas-list-configurations]', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n componentWillLoad() {\n debug('[nylas-list-configurations]', 'componentWillLoad');\n\n // If we have configurations, we will set the state to loaded.\n if (this.configurations && this.configurations.length > 0) {\n this.state = 'loaded';\n }\n }\n\n componentDidLoad() {\n debug('[nylas-list-configurations]', 'componentDidLoad');\n\n // Fire the init event. By default, we will fetch the configurations.\n // This is defined in the eventToProps object in the RegisterComponent decorator.\n this.initListConfigurations.emit({\n host: this.host,\n });\n }\n\n disconnectedCallback() {\n debug('[nylas-list-configurations]', 'disconnectedCallback');\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n async handleNylasFormDropdownChanged(event: CustomEvent) {\n debug('[nylas-list-configurations]', 'handleNylasFormDropdownChanged', event.detail);\n const { value } = event.detail;\n const [action, index] = value.split('-');\n event.preventDefault();\n switch (action) {\n case 'delete':\n this.deleteConfigurationId = this.configurations[index]?.id;\n break;\n case 'preview':\n window.open(parsePreviewLink(this.schedulerPreviewLink, this.configurations[index]), '_blank');\n break;\n case 'copy':\n await navigator.clipboard.writeText(parsePreviewLink(this.schedulerPreviewLink, this.configurations[index]));\n break;\n default:\n break;\n }\n }\n\n @Method()\n async registerCallback() {\n // Fire the init event. By default, we will fetch the configurations.\n // This is defined in the eventToProps object in the RegisterComponent decorator.\n this.initListConfigurations.emit({\n host: this.host,\n });\n }\n\n @Method()\n async getState() {\n return this.state;\n }\n\n @Method()\n async setState(state: 'loading' | 'loaded' | 'error') {\n this.state = state;\n }\n\n @Method()\n async setError(error: { message: string; type: NotificationType; category: ErrorCategory; title: string }) {\n this.error = {\n message: error.message,\n type: error.type,\n category: error.category,\n title: error.title || i18next.t('genericErrorTitle'),\n };\n if (this.error?.message) {\n this.showErrorNotification(this.error);\n }\n }\n\n @Method()\n async hideDeleteConfirmation() {\n this.deleteConfigurationId = '';\n this.showDeleteButtonLoading = false;\n }\n\n @Method()\n async hideEditButtonLoading() {\n this.editButtonLoadingId = '';\n }\n\n showErrorNotification(error: { message: string; type: NotificationType | undefined; category: ErrorCategory | undefined; title: string }) {\n this.nylasSchedulerError.emit({\n notification: {\n id: error.message.split(' ').join('-'),\n type: error.type || NotificationType.Error,\n title: error.title,\n category: error.category || ErrorCategory.Component,\n description: error.message,\n ttl: 'none',\n } as Notification,\n host: this.host,\n });\n }\n\n closeModal(e: Event) {\n e.preventDefault();\n this.deleteConfigurationId = '';\n }\n\n handleConfirmDeleteButtonClicked(e: Event) {\n e.preventDefault();\n this.showDeleteButtonLoading = true;\n const config = this.configurations.find(config => config.id === this.deleteConfigurationId);\n if (config && config?.id) {\n this.deleteButtonClick.emit({ host: this.host, configuration: config });\n }\n }\n\n private getDurationString(duration: number) {\n if (!duration) return '—';\n const hours = Math.floor(duration / 60);\n const minutes = duration % 60;\n return `${hours ? hours : ''} ${hours ? `${hours > 1 ? 'hours' : 'hour'}` : ''} ${minutes ? minutes : ''} ${minutes ? `${minutes > 1 ? 'mins' : 'min'}` : ''}`;\n }\n\n getActionLabelHTML(action: string) {\n const actionStyle = {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '0.5rem',\n };\n const dangerStyle = {\n color: 'var(--nylas-error)',\n };\n switch (action) {\n case 'preview':\n return (\n <span style={actionStyle}>\n <eye-icon width=\"16\" height=\"16\"></eye-icon>\n {i18next.t('nylasListConfigurations.previewButtonText')}\n </span>\n );\n case 'copy':\n return (\n <span style={actionStyle}>\n <copy-icon width=\"16\" height=\"16\" />\n {i18next.t('nylasListConfigurations.copyLinkButtonText')}\n </span>\n );\n case 'delete':\n return (\n <span style={{ ...actionStyle, ...dangerStyle }}>\n <delete-icon width=\"15\" height=\"17\"></delete-icon>\n {i18next.t('nylasListConfigurations.deleteButtonText')}\n </span>\n );\n default:\n return '';\n }\n }\n\n previousPageClickedHandler() {\n if (this.previousCursors.length === 0) return;\n\n this.currentCursor = this.previousCursors.pop() || null;\n const prevCursor = this.previousCursors[this.previousCursors.length - 1] || undefined;\n this.initListConfigurations.emit({\n host: this.host,\n cursor: prevCursor,\n });\n }\n\n nextPageClickedHandler() {\n if (!this.currentCursor) return;\n\n this.previousCursors = [...this.previousCursors, this.currentCursor];\n this.initListConfigurations.emit({\n host: this.host,\n cursor: this.currentCursor,\n });\n }\n\n @RegisterComponent<NylasListConfigurations, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-list-configurations',\n stateToProps: new Map([\n ['schedulerConfig.configurations', 'configurations'],\n ['schedulerConfig.listConfigurationsNextCursor', 'listConfigurationsNextCursor'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n localPropsToProp: new Map([['schedulerPreviewLink', 'schedulerPreviewLink']]),\n eventToProps: {\n initListConfigurations: async (event, connector) => {\n const { host, cursor } = event.detail;\n await host.setState('loading');\n const [data, error] = await connector.schedulerConfig.getConfigurations(cursor);\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError({\n message: error.message,\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: i18next.t('nylasEditorTabs.getConfigsError'),\n });\n return;\n }\n await host.setState('loaded');\n // setCursor here\n },\n createButtonClick: async (_, connector) => {\n connector.schedulerConfigStore.resetSelectedConfiguration();\n const enabledEventTypes = Object.entries(connector.schedulerConfigStore.state.enableEventTypes || {}).filter(([_key, value]) => value);\n if (enabledEventTypes.length === 1) {\n connector.schedulerConfigStore.state.action = 'create';\n connector.schedulerConfigStore.state.selectedEventType = CONFIGURATION_EVENT_TYPE[enabledEventTypes[0][0]];\n } else {\n connector.schedulerConfigStore.state.action = 'create-select';\n }\n },\n deleteButtonClick: async (event, connector) => {\n const { host, configuration } = event.detail;\n const [data, error] = await connector.schedulerConfig.deleteConfiguration(configuration.id);\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError({\n message: error.message,\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: i18next.t('nylasEditorTabs.deleteConfigError'),\n });\n }\n await host.hideDeleteConfirmation();\n },\n editButtonClick: async (event, connector) => {\n const { host, configuration } = event.detail;\n const [configurationToEdit, configurationError] = await connector.schedulerConfig.getConfigurationById(configuration.id, true);\n if (!configurationToEdit && configurationError?.message) {\n await host.setError({\n message: configurationError.message,\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: i18next.t('nylasEditorTabs.getConfigsError'),\n });\n host.hideEditButtonLoading();\n return;\n }\n\n const selectedConfiguration = configurationToEdit || configuration;\n if (selectedConfiguration.type === 'group') {\n const { startTime, endTime } = getCalendarRange(new Date().toISOString(), 'week');\n connector.schedulerConfigStore.state.calendarViewDateRange = {\n start_time: startTime.toString(),\n end_time: endTime.toString(),\n };\n const [data, error] = await connector.schedulerConfig.getGroupEvents(selectedConfiguration.id, selectedConfiguration);\n if (!data && error && error.message) {\n // handle error\n await host.setError({\n message: error.message,\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: i18next.t('nylasEditorTabsGroup.getGroupEventsError'),\n });\n host.hideEditButtonLoading();\n return;\n }\n }\n connector.schedulerConfigStore.state.action = 'edit';\n connector.schedulerConfigStore.state.selectedConfiguration = selectedConfiguration;\n host.hideEditButtonLoading();\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <nylas-notification></nylas-notification>\n <div class=\"header\">\n <div class=\"description\">\n <h2>{i18next.t('allSchedulingPages')}</h2>\n <p>{i18next.t('createAndManageSchedulingPages')}</p>\n </div>\n {this.configurations && this.configurations.length > 0 && (\n <div class=\"actions\">\n <button-component\n part=\"nlc__create-new-cta\"\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n {i18next.t('createNewSchedulingPageButtonText')}\n </button-component>\n </div>\n )}\n </div>\n <div class=\"configurations\">\n <div class=\"table-container\">\n <table\n class={{\n 'no-configurations': this.state !== 'loading' && (!this.configurations || this.configurations.length === 0),\n }}\n >\n <tr\n class={{\n hide: this.state === 'loading' || (this.configurations && this.configurations.length === 0),\n }}\n >\n <th>{i18next.t('pageTitle')}</th>\n <th>{i18next.t('durationTitle')}</th>\n <th></th>\n </tr>\n {this.state === 'loading' && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <h3>{i18next.t('loading')}...</h3>\n <p>{i18next.t('loadingPagesDescription')}</p>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' && (!this.configurations || this.configurations.length === 0) && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <calendar-icon width=\"48\" height=\"48\"></calendar-icon>\n <h3>{i18next.t('noSchedulingPages')}</h3>\n <p>{i18next.t('createFirstSchedulingPage')}</p>\n <button-component\n part=\"nlc__create-new-cta\"\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n {i18next.t('createNewSchedulingPageButtonText')}\n </button-component>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' &&\n this.configurations?.map((config, i) => {\n const lastTwo = (i === this.configurations.length - 1 || i === this.configurations.length - 2) && this.configurations.length > 3;\n const groupConfig = config as GroupConfiguration;\n const regularConfig = config as Configuration;\n return (\n <tr key={config?.id}>\n <td>\n <div class=\"title\">\n <div class=\"config-event-title\" title={regularConfig?.event_booking?.title}>\n {regularConfig?.event_booking?.title || groupConfig?.name}\n </div>\n <div class={'config-event-description'}>{regularConfig?.event_booking?.description}</div>\n </div>\n </td>\n <td>\n <div class=\"duration\">{this.getDurationString(regularConfig?.availability?.duration_minutes)}</div>\n </td>\n <td>\n <div class=\"actions\">\n <button-component\n class=\"edit-button\"\n variant={'basic'}\n key={`edit-${i}`}\n disabled={this.editButtonLoadingId === `edit-${i}`}\n isLoading={this.editButtonLoadingId === `edit-${i}`}\n clickHandler={event => {\n event.preventDefault();\n this.editButtonLoadingId = `edit-${i}`;\n this.editButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n {this.editButtonLoadingId === `edit-${i}` ? null : <edit-icon width=\"16\" height=\"16\"></edit-icon>}\n {i18next.t('editSchedulingPageButtonText')}\n </button-component>\n <select-dropdown\n class={{\n last: lastTwo,\n }}\n name=\"actions\"\n options={[\n { value: `preview-${i}`, label: 'Preview', labelHTML: this.getActionLabelHTML('preview') },\n { value: `copy-${i}`, label: 'Copy link', labelHTML: this.getActionLabelHTML('copy') },\n { value: `delete-${i}`, label: 'Delete', labelHTML: this.getActionLabelHTML('delete') },\n ]}\n defaultSelectedOption={{ value: '', label: '' }}\n dropdownButtonText=\"...\"\n withSearch={false}\n withChevron={false}\n themeConfig={this.themeConfig}\n exportparts=\"sd_dropdown: actions__dropdown, sd_dropdown-button: actions__dropdown-button, sd_dropdown-content: actions__dropdown-content, actions-Copy, actions-Preview, actions-Delete\"\n ></select-dropdown>\n </div>\n </td>\n </tr>\n );\n })}\n </table>\n </div>\n <div class=\"pagination\">\n <button class=\"arrow left\" onClick={() => this.previousPageClickedHandler()} disabled={this.previousCursors.length <= 0}>\n <chevron-icon />\n </button>\n <button class=\"arrow right\" onClick={() => this.nextPageClickedHandler()} disabled={this.disableNextPageButton}>\n <chevron-icon />\n </button>\n </div>\n </div>\n {!!this.deleteConfigurationId && (\n <div class=\"card-wrapper\">\n <div class=\"card-modal\">\n <div class=\"close-button\">\n <button-component tooltip=\"Close\" id=\"close\" variant={'invisible'} onClick={e => this.closeModal(e)} part=\"nfbf__close-button\">\n <close-icon />\n </button-component>\n </div>\n <div class=\"header\">\n <h2 slot=\"card-title\" part=\"nfbf__title\">\n {i18next.t('deleteSchedulingPageTitle')}\n </h2>\n </div>\n <div class=\"description title-desc\">\n <p>{i18next.t('deleteSchedulingPageDescription')}</p>\n </div>\n <div\n class={{\n footer: true,\n }}\n >\n <button-component variant={'basic'} onClick={e => this.closeModal(e)} part=\"nfbf__button-outline nfbf__cancel-cta\">\n {`${i18next.t('deleteSchedulingPageCancelButton')}`}\n </button-component>\n <button-component\n variant={'destructive'}\n onClick={e => this.handleConfirmDeleteButtonClicked(e)}\n disabled={this.showDeleteButtonLoading}\n isLoading={this.showDeleteButtonLoading}\n part=\"nfbf__button-outline nfbf__reschedule-cta\"\n >\n {`${i18next.t('deleteSchedulingPageConfirmButton')}`}\n </button-component>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-qo42Sy8T.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","NotificationType","i18next"],"sources":["src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.scss?tag=nylas-list-configurations&encapsulation=shadow","src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n@use '../../../common/mixins/buttons' as *;\n\n:host {\n display: grid;\n grid-auto-flow: row;\n width: 100%;\n font-family: inherit;\n font-optical-sizing: auto;\n @include default-css-variables;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n gap: 1rem;\n\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n align-items: unset;\n }\n\n h2 {\n margin: 0;\n font-size: 1.25rem;\n color: var(--nylas-base-900);\n font-weight: 600;\n }\n\n p {\n margin: 0;\n font-size: 16px;\n color: var(--nylas-base-700);\n }\n\n .actions {\n justify-self: end;\n\n @media #{$mobile} {\n width: 100%;\n }\n }\n}\n\n.configurations {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n background: var(--nylas-base-0);\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow-y: hidden;\n\n .table-container {\n overflow-y: auto;\n flex: 1;\n\n @media #{$mobile} {\n min-height: 624px; // This is to ensure the dropdowns are not cut off\n }\n\n table {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n font-family: inherit;\n height: max-content;\n\n &.no-configurations {\n height: 100%;\n }\n\n tr {\n color: var(--nylas-base-800);\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: inherit;\n\n &.hide {\n display: none;\n }\n }\n\n th {\n font-weight: 600;\n text-transform: uppercase;\n font-size: 14px;\n line-height: 20px;\n }\n\n tr.no-configurations {\n td {\n > div {\n display: flex;\n height: 100%;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n padding: var(--nylas-border-radius-3x);\n\n h3 {\n margin: 0 0 1rem 0;\n color: var(--nylas-base-700);\n }\n\n p {\n margin: 0 0 1rem 0;\n color: var(--nylas-base-600);\n }\n\n calendar-icon {\n margin-bottom: 1rem;\n color: var(--nylas-base-200);\n }\n }\n }\n }\n\n th,\n td {\n text-align: left;\n padding: 1rem;\n font-family: inherit;\n }\n\n .actions {\n display: flex;\n justify-content: flex-end;\n gap: 1rem;\n text-align: right;\n button-component.edit-button {\n min-width: 98px;\n }\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n }\n\n select-dropdown.last {\n &::part(sd_dropdown-content) {\n bottom: 54px;\n }\n }\n }\n\n .title {\n width: 100%;\n max-width: 300px;\n\n @media #{$mobile} {\n max-width: 96px;\n }\n\n div {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.config-event-title {\n font-weight: 600;\n }\n\n &.config-event-description {\n font-size: 0.75rem;\n }\n }\n }\n }\n }\n\n .pagination {\n padding: 1rem;\n position: sticky;\n top: 100%;\n display: flex;\n justify-content: flex-end;\n gap: 0.5rem;\n background: var(--nylas-base-0);\n width: calc(100% - 2rem);\n z-index: 2;\n\n td.arrows {\n display: flex;\n justify-content: flex-end;\n gap: 0.5rem;\n }\n\n button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 3vh;\n width: 3vh;\n min-width: 3em;\n min-height: 3em;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-300);\n\n background-color: transparent;\n color: var(--nylas-base-800);\n cursor: pointer;\n\n &:hover:not(:disabled) {\n border: 1px solid var(--nylas-primary);\n }\n\n &:active {\n border: 1px solid var(--nylas-base-800);\n }\n\n &:disabled {\n border: 1px solid var(--nylas-base-100);\n background-color: transparent;\n color: var(--nylas-base-300);\n cursor: not-allowed;\n }\n\n &.right {\n transform: rotate(180deg);\n }\n }\n }\n}\n\n.error-container {\n margin-top: 1.5rem;\n\n .error {\n color: var(--nylas-error);\n padding: 0.5rem 0;\n margin: 1rem 0 0;\n }\n}\n\nbutton-component#copy {\n button {\n width: 108px;\n }\n}\n\nselect-dropdown {\n width: auto;\n color: inherit;\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n display: block;\n height: 48px;\n padding: 0px 16px 8px;\n\n @media #{$mobile} {\n width: 92px;\n }\n}\n\nselect-dropdown::part(sd_dropdown-content) {\n width: 120px;\n right: 0;\n}\n\nselect-dropdown::part(sd_dropdown-labelhtml) {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n color: var(--nylas-base-900);\n\n &:hover {\n color: var(--nylas-primary);\n }\n}\n\n.card-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n height: calc(100% + 4rem);\n width: -webkit-fill-available;\n width: -moz-available;\n width: fill-available;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.6);\n z-index: 2;\n\n border-radius: var(--nylas-border-radius-2x);\n\n @media #{$mobile} {\n justify-content: start;\n height: 100%;\n }\n}\n\n.card-modal {\n background: var(--nylas-base-0);\n display: flex;\n flex-direction: column;\n font-family: var(--nylas-font-family);\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n border-radius: var(--nylas-border-radius-3x);\n padding: 32px;\n width: 562px;\n\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n\n @media #{$mobile} {\n width: auto;\n border-radius: 0px;\n }\n}\n\n.description {\n &.title-desc {\n margin-bottom: 2rem;\n }\n\n p {\n margin: 0;\n font-size: 18px;\n color: var(--nylas-base-600);\n }\n}\n\n.footer {\n margin-top: 1rem;\n padding-top: 1rem;\n display: flex;\n justify-content: flex-end;\n gap: 0.5rem;\n box-sizing: border-box;\n background-color: var(--nylas-base-25);\n width: 100%;\n border-radius: 0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x);\n}\n\n.close-button {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n\n button-component {\n button {\n padding: 0;\n height: auto;\n\n &:hover {\n background-color: transparent !important;\n }\n }\n }\n}\n\nbutton-component {\n --dot-color: var(--nylas-base-700);\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, getCalendarRange, parsePreviewLink } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, GroupConfiguration, Notification, NotificationType, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { CONFIGURATION_EVENT_TYPE, LANGUAGE_CODE } from '@/common/constants';\nimport { ErrorCategory } from '@/types/index';\n\n/**\n * The `nylas-list-configurations` component displays a list of scheduling pages.\n *\n * @part nlc__create-new-cta - The create new configuration CTA.\n */\n@Component({\n tag: 'nylas-list-configurations',\n styleUrl: 'nylas-list-configurations.scss',\n shadow: true,\n})\nexport class NylasListConfigurations {\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasListConfigurationsElement;\n\n /**\n * The list of configurations to display.\n */\n @Prop() configurations: (Configuration | GroupConfiguration)[] = [];\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The scheduler preview link to use when the user clicks on the preview button.\n * You can use a placeholder `{config.id}` to replace the configuration id anywhere in the link.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n\n /**\n * The next cursor for list configurations, if any.\n */\n @Prop() listConfigurationsNextCursor?: string | null;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * Event emitted when the component is initialized.\n */\n @Event() initListConfigurations!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n cursor?: string;\n }>;\n\n /**\n * Event emitted when the user clicks the create event button.\n */\n @Event() createButtonClick!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the edit event button.\n */\n @Event() editButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration | GroupConfiguration;\n }>;\n\n /**\n * Event emitted when the user clicks the delete event button.\n */\n @Event() deleteButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration | GroupConfiguration;\n }>;\n\n /**\n * This event is fired when there is an error in the component.\n */\n @Event({ cancelable: false }) readonly nylasSchedulerError!: EventEmitter<{ notification: Notification; host: HTMLElement }>;\n\n /**\n * Event emitted when the user dismisses the error notification.\n */\n @Event({ cancelable: false }) dismissNotification!: EventEmitter<{ id: string; host: HTMLNylasListConfigurationsElement }>;\n\n /**\n * The current state of the component.\n */\n @State() private state: 'loading' | 'loaded' | 'error' = 'loading';\n\n /**\n * The error message to display.\n */\n @State() error?: {\n message: string;\n type: NotificationType | undefined;\n category: ErrorCategory | undefined;\n title: string;\n } = {\n message: '',\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: '',\n };\n\n /**\n * Current cursor for list configurations\n */\n @State() currentCursor: string | null = null;\n\n /**\n * The list of previous cursors for list configurations\n */\n @State() previousCursors: string[] = [];\n\n /**\n * State to identiy if the next button should be disabled\n */\n @State() disableNextPageButton: boolean = false;\n\n /**\n * State to store the configuration id to delete and to show the delete confirmation modal\n */\n @State() deleteConfigurationId: string = '';\n\n /**\n * State to show Delete button loading state\n */\n @State() showDeleteButtonLoading: boolean = false;\n\n /**\n * State to show Edit button loading state\n */\n @State() editButtonLoadingId: string = '';\n\n @Watch('listConfigurationsNextCursor')\n listConfigurationsNextCursorChangedHandler(newVal: string | null, oldVal: string | null) {\n if (!newVal || newVal === oldVal) {\n if (newVal === null) {\n this.disableNextPageButton = true;\n }\n return;\n }\n this.disableNextPageButton = false;\n this.currentCursor = newVal;\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n connectedCallback() {\n debug('[nylas-list-configurations]', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n componentWillLoad() {\n debug('[nylas-list-configurations]', 'componentWillLoad');\n\n // If we have configurations, we will set the state to loaded.\n if (this.configurations && this.configurations.length > 0) {\n this.state = 'loaded';\n }\n }\n\n componentDidLoad() {\n debug('[nylas-list-configurations]', 'componentDidLoad');\n\n // Fire the init event. By default, we will fetch the configurations.\n // This is defined in the eventToProps object in the RegisterComponent decorator.\n this.initListConfigurations.emit({\n host: this.host,\n });\n }\n\n disconnectedCallback() {\n debug('[nylas-list-configurations]', 'disconnectedCallback');\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n async handleNylasFormDropdownChanged(event: CustomEvent) {\n debug('[nylas-list-configurations]', 'handleNylasFormDropdownChanged', event.detail);\n const { value } = event.detail;\n const [action, index] = value.split('-');\n event.preventDefault();\n switch (action) {\n case 'delete':\n this.deleteConfigurationId = this.configurations[index]?.id;\n break;\n case 'preview':\n window.open(parsePreviewLink(this.schedulerPreviewLink, this.configurations[index]), '_blank');\n break;\n case 'copy':\n await navigator.clipboard.writeText(parsePreviewLink(this.schedulerPreviewLink, this.configurations[index]));\n break;\n default:\n break;\n }\n }\n\n @Method()\n async registerCallback() {\n // Fire the init event. By default, we will fetch the configurations.\n // This is defined in the eventToProps object in the RegisterComponent decorator.\n this.initListConfigurations.emit({\n host: this.host,\n });\n }\n\n @Method()\n async getState() {\n return this.state;\n }\n\n @Method()\n async setState(state: 'loading' | 'loaded' | 'error') {\n this.state = state;\n }\n\n @Method()\n async setError(error: { message: string; type: NotificationType; category: ErrorCategory; title: string }) {\n this.error = {\n message: error.message,\n type: error.type,\n category: error.category,\n title: error.title || i18next.t('genericErrorTitle'),\n };\n if (this.error?.message) {\n this.showErrorNotification(this.error);\n }\n }\n\n @Method()\n async hideDeleteConfirmation() {\n this.deleteConfigurationId = '';\n this.showDeleteButtonLoading = false;\n }\n\n @Method()\n async hideEditButtonLoading() {\n this.editButtonLoadingId = '';\n }\n\n showErrorNotification(error: { message: string; type: NotificationType | undefined; category: ErrorCategory | undefined; title: string }) {\n this.nylasSchedulerError.emit({\n notification: {\n id: error.message.split(' ').join('-'),\n type: error.type || NotificationType.Error,\n title: error.title,\n category: error.category || ErrorCategory.Component,\n description: error.message,\n ttl: 'none',\n } as Notification,\n host: this.host,\n });\n }\n\n closeModal(e: Event) {\n e.preventDefault();\n this.deleteConfigurationId = '';\n }\n\n handleConfirmDeleteButtonClicked(e: Event) {\n e.preventDefault();\n this.showDeleteButtonLoading = true;\n const config = this.configurations.find(config => config.id === this.deleteConfigurationId);\n if (config && config?.id) {\n this.deleteButtonClick.emit({ host: this.host, configuration: config });\n }\n }\n\n private getDurationString(duration: number) {\n if (!duration) return '—';\n const hours = Math.floor(duration / 60);\n const minutes = duration % 60;\n return `${hours ? hours : ''} ${hours ? `${hours > 1 ? 'hours' : 'hour'}` : ''} ${minutes ? minutes : ''} ${minutes ? `${minutes > 1 ? 'mins' : 'min'}` : ''}`;\n }\n\n getActionLabelHTML(action: string) {\n const actionStyle = {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '0.5rem',\n };\n const dangerStyle = {\n color: 'var(--nylas-error)',\n };\n switch (action) {\n case 'preview':\n return (\n <span style={actionStyle}>\n <eye-icon width=\"16\" height=\"16\"></eye-icon>\n {i18next.t('nylasListConfigurations.previewButtonText')}\n </span>\n );\n case 'copy':\n return (\n <span style={actionStyle}>\n <copy-icon width=\"16\" height=\"16\" />\n {i18next.t('nylasListConfigurations.copyLinkButtonText')}\n </span>\n );\n case 'delete':\n return (\n <span style={{ ...actionStyle, ...dangerStyle }}>\n <delete-icon width=\"15\" height=\"17\"></delete-icon>\n {i18next.t('nylasListConfigurations.deleteButtonText')}\n </span>\n );\n default:\n return '';\n }\n }\n\n previousPageClickedHandler() {\n if (this.previousCursors.length === 0) return;\n\n this.currentCursor = this.previousCursors.pop() || null;\n const prevCursor = this.previousCursors[this.previousCursors.length - 1] || undefined;\n this.initListConfigurations.emit({\n host: this.host,\n cursor: prevCursor,\n });\n }\n\n nextPageClickedHandler() {\n if (!this.currentCursor) return;\n\n this.previousCursors = [...this.previousCursors, this.currentCursor];\n this.initListConfigurations.emit({\n host: this.host,\n cursor: this.currentCursor,\n });\n }\n\n @RegisterComponent<NylasListConfigurations, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-list-configurations',\n stateToProps: new Map([\n ['schedulerConfig.configurations', 'configurations'],\n ['schedulerConfig.listConfigurationsNextCursor', 'listConfigurationsNextCursor'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n localPropsToProp: new Map([['schedulerPreviewLink', 'schedulerPreviewLink']]),\n eventToProps: {\n initListConfigurations: async (event, connector) => {\n const { host, cursor } = event.detail;\n await host.setState('loading');\n const [data, error] = await connector.schedulerConfig.getConfigurations(cursor);\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError({\n message: error.message,\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: i18next.t('nylasEditorTabs.getConfigsError'),\n });\n return;\n }\n await host.setState('loaded');\n // setCursor here\n },\n createButtonClick: async (_, connector) => {\n connector.schedulerConfigStore.resetSelectedConfiguration();\n const enabledEventTypes = Object.entries(connector.schedulerConfigStore.state.enableEventTypes || {}).filter(([_key, value]) => value);\n if (enabledEventTypes.length === 1) {\n connector.schedulerConfigStore.state.action = 'create';\n connector.schedulerConfigStore.state.selectedEventType = CONFIGURATION_EVENT_TYPE[enabledEventTypes[0][0]];\n } else {\n connector.schedulerConfigStore.state.action = 'create-select';\n }\n },\n deleteButtonClick: async (event, connector) => {\n const { host, configuration } = event.detail;\n const [data, error] = await connector.schedulerConfig.deleteConfiguration(configuration.id);\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError({\n message: error.message,\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: i18next.t('nylasEditorTabs.deleteConfigError'),\n });\n }\n await host.hideDeleteConfirmation();\n },\n editButtonClick: async (event, connector) => {\n const { host, configuration } = event.detail;\n const [configurationToEdit, configurationError] = await connector.schedulerConfig.getConfigurationById(configuration.id, true);\n if (!configurationToEdit && configurationError?.message) {\n await host.setError({\n message: configurationError.message,\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: i18next.t('nylasEditorTabs.getConfigsError'),\n });\n host.hideEditButtonLoading();\n return;\n }\n\n const selectedConfiguration = configurationToEdit || configuration;\n if (selectedConfiguration.type === 'group') {\n const { startTime, endTime } = getCalendarRange(new Date().toISOString(), 'week');\n connector.schedulerConfigStore.state.calendarViewDateRange = {\n start_time: startTime.toString(),\n end_time: endTime.toString(),\n };\n const [data, error] = await connector.schedulerConfig.getGroupEvents(selectedConfiguration.id, selectedConfiguration);\n if (!data && error && error.message) {\n // handle error\n await host.setError({\n message: error.message,\n type: NotificationType.Error,\n category: ErrorCategory.Component,\n title: i18next.t('nylasEditorTabsGroup.getGroupEventsError'),\n });\n host.hideEditButtonLoading();\n return;\n }\n }\n connector.schedulerConfigStore.state.action = 'edit';\n connector.schedulerConfigStore.state.selectedConfiguration = selectedConfiguration;\n host.hideEditButtonLoading();\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <nylas-notification></nylas-notification>\n <div class=\"header\">\n <div class=\"description\">\n <h2>{i18next.t('allSchedulingPages')}</h2>\n <p>{i18next.t('createAndManageSchedulingPages')}</p>\n </div>\n {this.configurations && this.configurations.length > 0 && (\n <div class=\"actions\">\n <button-component\n part=\"nlc__create-new-cta\"\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n {i18next.t('createNewSchedulingPageButtonText')}\n </button-component>\n </div>\n )}\n </div>\n <div class=\"configurations\">\n <div class=\"table-container\">\n <table\n class={{\n 'no-configurations': this.state !== 'loading' && (!this.configurations || this.configurations.length === 0),\n }}\n >\n <tr\n class={{\n hide: this.state === 'loading' || (this.configurations && this.configurations.length === 0),\n }}\n >\n <th>{i18next.t('pageTitle')}</th>\n <th>{i18next.t('durationTitle')}</th>\n <th></th>\n </tr>\n {this.state === 'loading' && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <h3>{i18next.t('loading')}...</h3>\n <p>{i18next.t('loadingPagesDescription')}</p>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' && (!this.configurations || this.configurations.length === 0) && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <calendar-icon width=\"48\" height=\"48\"></calendar-icon>\n <h3>{i18next.t('noSchedulingPages')}</h3>\n <p>{i18next.t('createFirstSchedulingPage')}</p>\n <button-component\n part=\"nlc__create-new-cta\"\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n {i18next.t('createNewSchedulingPageButtonText')}\n </button-component>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' &&\n this.configurations?.map((config, i) => {\n const lastTwo = (i === this.configurations.length - 1 || i === this.configurations.length - 2) && this.configurations.length > 3;\n const groupConfig = config as GroupConfiguration;\n const regularConfig = config as Configuration;\n return (\n <tr key={config?.id}>\n <td>\n <div class=\"title\">\n <div class=\"config-event-title\" title={regularConfig?.event_booking?.title}>\n {regularConfig?.event_booking?.title || groupConfig?.name}\n </div>\n <div class={'config-event-description'}>{regularConfig?.event_booking?.description}</div>\n </div>\n </td>\n <td>\n <div class=\"duration\">{this.getDurationString(regularConfig?.availability?.duration_minutes)}</div>\n </td>\n <td>\n <div class=\"actions\">\n <button-component\n class=\"edit-button\"\n variant={'basic'}\n key={`edit-${i}`}\n disabled={this.editButtonLoadingId === `edit-${i}`}\n isLoading={this.editButtonLoadingId === `edit-${i}`}\n clickHandler={event => {\n event.preventDefault();\n this.editButtonLoadingId = `edit-${i}`;\n this.editButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n {this.editButtonLoadingId === `edit-${i}` ? null : <edit-icon width=\"16\" height=\"16\"></edit-icon>}\n {i18next.t('editSchedulingPageButtonText')}\n </button-component>\n <select-dropdown\n class={{\n last: lastTwo,\n }}\n name=\"actions\"\n options={[\n { value: `preview-${i}`, label: 'Preview', labelHTML: this.getActionLabelHTML('preview') },\n { value: `copy-${i}`, label: 'Copy link', labelHTML: this.getActionLabelHTML('copy') },\n { value: `delete-${i}`, label: 'Delete', labelHTML: this.getActionLabelHTML('delete') },\n ]}\n defaultSelectedOption={{ value: '', label: '' }}\n dropdownButtonText=\"...\"\n withSearch={false}\n withChevron={false}\n themeConfig={this.themeConfig}\n exportparts=\"sd_dropdown: actions__dropdown, sd_dropdown-button: actions__dropdown-button, sd_dropdown-content: actions__dropdown-content, actions-Copy, actions-Preview, actions-Delete\"\n ></select-dropdown>\n </div>\n </td>\n </tr>\n );\n })}\n </table>\n </div>\n <div class=\"pagination\">\n <button class=\"arrow left\" onClick={() => this.previousPageClickedHandler()} disabled={this.previousCursors.length <= 0}>\n <chevron-icon />\n </button>\n <button class=\"arrow right\" onClick={() => this.nextPageClickedHandler()} disabled={this.disableNextPageButton}>\n <chevron-icon />\n </button>\n </div>\n </div>\n {!!this.deleteConfigurationId && (\n <div class=\"card-wrapper\">\n <div class=\"card-modal\">\n <div class=\"close-button\">\n <button-component tooltip=\"Close\" id=\"close\" variant={'invisible'} onClick={e => this.closeModal(e)} part=\"nfbf__close-button\">\n <close-icon />\n </button-component>\n </div>\n <div class=\"header\">\n <h2 slot=\"card-title\" part=\"nfbf__title\">\n {i18next.t('deleteSchedulingPageTitle')}\n </h2>\n </div>\n <div class=\"description title-desc\">\n <p>{i18next.t('deleteSchedulingPageDescription')}</p>\n </div>\n <div\n class={{\n footer: true,\n }}\n >\n <button-component variant={'basic'} onClick={e => this.closeModal(e)} part=\"nfbf__button-outline nfbf__cancel-cta\">\n {`${i18next.t('deleteSchedulingPageCancelButton')}`}\n </button-component>\n <button-component\n variant={'destructive'}\n onClick={e => this.handleConfirmDeleteButtonClicked(e)}\n disabled={this.showDeleteButtonLoading}\n isLoading={this.showDeleteButtonLoading}\n part=\"nfbf__button-outline nfbf__reschedule-cta\"\n >\n {`${i18next.t('deleteSchedulingPageConfirmButton')}`}\n </button-component>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
|
|
2
|
-
import { R as RegisterComponent } from './p-
|
|
3
|
-
import { a as debug } from './p-
|
|
2
|
+
import { R as RegisterComponent } from './p-CUlV7ZGv.js';
|
|
3
|
+
import { a as debug } from './p-CMNiSC4o.js';
|
|
4
4
|
import { i as instance } from './p-BjxQTsOy.js';
|
|
5
5
|
import { d as defineCustomElement$6 } from './p-ao6VxuAL.js';
|
|
6
6
|
import { d as defineCustomElement$5 } from './p-d3kelm3z.js';
|
|
@@ -260,6 +260,6 @@ function defineCustomElement() {
|
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
export { NylasTimeslotInterval as N, defineCustomElement as d };
|
|
263
|
-
//# sourceMappingURL=p-
|
|
263
|
+
//# sourceMappingURL=p-uxA_4Zq1.js.map
|
|
264
264
|
|
|
265
|
-
//# sourceMappingURL=p-
|
|
265
|
+
//# sourceMappingURL=p-uxA_4Zq1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-D_8c_n1h.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.scss?tag=nylas-timeslot-interval&encapsulation=shadow","src/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-timeslot-interval {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n\n .header {\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n\n .nylas-timeslot-interval__dropdown {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 4px;\n background-color: var(--nylas-base-25);\n\n span.label {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--nylas-base-800);\n\n tooltip-component {\n display: flex;\n }\n }\n\n select-dropdown {\n margin-bottom: 1.5rem;\n }\n\n select-dropdown::part(sd_dropdown) {\n width: 100%;\n }\n\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-width: unset;\n }\n\n select-dropdown::part(sd_dropdown-button) {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1rem;\n }\n\n select-dropdown::part(sd_dropdown-button-selected-label) {\n max-width: calc(100% - 2rem);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\nconst defaultRoundToMinutes = 15;\n/**\n * The `nylas-timeslot-interval` component allows users to set their time slot interval preferences.\n * This component provides an option to set both `interval_minutes` and `round_to` in the configuration.\n *\n * @part nti - The timeslot interval container\n * @part nti__header - The header of the timeslot interval picker\n * @part nti__input-label - The input label of the timeslot interval picker\n * @part nti__dropdown - The dropdown container\n * @part nti__dropdown-button - The dropdown button\n * @part nti__dropdown-content - The dropdown content\n */\n@Component({\n tag: 'nylas-timeslot-interval',\n styleUrl: 'nylas-timeslot-interval.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasTimeslotInterval {\n @Element() host!: HTMLNylasTimeslotIntervalElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The name of the calendar picker.\n */\n @Prop() name: string = 'timeslot-interval';\n\n /**\n * @standalone\n * The event duration in minutes.\n */\n @Prop() eventDurationMinutes?: number = this.selectedConfiguration?.availability?.duration_minutes;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The internal event duration minutes state.\n */\n @State() internalEventDurationMinutes!: number;\n\n /**\n * The selected interval minutes.\n */\n @State() selectedInterval!: number;\n\n /**\n * The selected round to minutes.\n */\n @State() selectedRoundTo!: boolean;\n\n /***\n * The state to store that component is ready to render.\n */\n @State() componentLoaded: boolean = false;\n\n /**\n * This event is fired when the selected booking calendar changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-timeslot-interval', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-timeslot-interval', 'selectedConfigurationChangedHandler', newValue);\n this.internalEventDurationMinutes = newValue?.availability?.duration_minutes ?? this.eventDurationMinutes ?? 30;\n const internalIntervalMinutes = newValue?.availability?.interval_minutes ?? this.internalEventDurationMinutes ?? 30;\n this.selectedInterval = newValue?.availability?.interval_minutes ?? internalIntervalMinutes ?? 10;\n const roundToMinutes = newValue?.availability?.round_to || null;\n this.selectedRoundTo = roundToMinutes && roundToMinutes === internalIntervalMinutes ? true : false;\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-timeslot-interval', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {\n debug('nylas-timeslot-interval', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-timeslot-interval', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-timeslot-interval', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n this.internalEventDurationMinutes = this.eventDurationMinutes ?? 30;\n const internalIntervalMinutes = this.internalEventDurationMinutes;\n this.selectedInterval = internalIntervalMinutes ?? 10;\n this.selectedRoundTo = false;\n }\n this.componentLoaded = true;\n }\n\n componentWillUpdate() {\n debug('nylas-timeslot-interval', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-timeslot-interval', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-timeslot-interval', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-timeslot-interval', 'componentDidRender');\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-timeslot-interval', 'nylasFormDropdownChangedHandler', event.detail);\n const value = event.detail.value;\n if (value === 'duration') {\n this.selectedInterval = this.internalEventDurationMinutes ?? 10;\n } else {\n this.selectedInterval = parseInt(event.detail.value);\n }\n\n this.valueChanged.emit({\n value: JSON.stringify({\n interval: this.selectedInterval,\n roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinutes,\n }),\n name: this.name,\n });\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinutes }), this.name);\n }\n }\n\n @Listen('nylasFormRadioChanged')\n nylasFormRadioChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-timeslot-interval', 'nylasFormRadioChangedHandler', event.detail);\n const value = event.detail.value;\n if (value === 'no-rounding') {\n this.selectedRoundTo = false;\n } else {\n this.selectedRoundTo = true;\n }\n\n this.valueChanged.emit({\n value: JSON.stringify({\n interval: this.selectedInterval,\n roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinutes,\n }),\n name: this.name,\n });\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinutes }), this.name);\n }\n }\n\n @RegisterComponent<NylasTimeslotInterval, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-timeslot-interval',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n fireRegisterEvent: true,\n })\n render() {\n const intervalPreferenceOptions = [\n { value: 'duration', label: i18next.t('nylasTimeslotInterval.lengthOfMeeting') },\n { value: '5', label: `5 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '10', label: `10 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '15', label: `15 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '20', label: `20 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '30', label: `30 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '45', label: `45 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '60', label: `60 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n ];\n\n const defaultSelectedInterval =\n typeof this.selectedInterval !== 'undefined'\n ? this.selectedInterval == this.internalEventDurationMinutes\n ? intervalPreferenceOptions[0]\n : intervalPreferenceOptions.find(op => op.value == this.selectedInterval.toString()) ?? intervalPreferenceOptions[0]\n : undefined;\n\n return (\n <Host>\n <div class=\"nylas-timeslot-interval\" part=\"nti\">\n <div class=\"header\" part=\"nti__header\">\n <h3>{i18next.t('nylasTimeslotInterval.headerTitle')}</h3>\n </div>\n\n <div class=\"nylas-timeslot-interval__dropdown\">\n <span class=\"label\" part=\"nti__input-label\">\n {i18next.t('nylasTimeslotInterval.timeslotInterval.label')}\n </span>\n {defaultSelectedInterval?.label && (\n <select-dropdown\n name=\"interval-minutes\"\n options={intervalPreferenceOptions}\n withSearch={false}\n exportparts=\"sd_dropdown: nti__dropdown, sd_dropdown-button: nti__dropdown-button, sd_dropdown-content: nti__dropdown-content\"\n defaultSelectedOption={defaultSelectedInterval}\n themeConfig={this.themeConfig}\n />\n )}\n <span slot=\"label\" class=\"label\" part=\"nti__input-label\">\n {i18next.t('nylasTimeslotInterval.timeslotRounding.label')}\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasTimeslotInterval.timeslotRounding.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n {this.componentLoaded && (\n <radio-button-group\n name=\"interval-preference\"\n defaultSelectedValue={this.selectedRoundTo ? 'rounding' : 'no-rounding'}\n options={[\n {\n value: 'no-rounding',\n label: i18next.t('nylasTimeslotInterval.timeslotRoundingOptions.noRounding.label'),\n description: i18next.t('nylasTimeslotInterval.timeslotRoundingOptions.noRounding.desc'),\n },\n {\n value: 'rounding',\n label: i18next.t('nylasTimeslotInterval.timeslotRoundingOptions.rounding.label'),\n description: i18next.t('nylasTimeslotInterval.timeslotRoundingOptions.rounding.desc'),\n },\n ]}\n themeConfig={this.themeConfig}\n />\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-uxA_4Zq1.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.scss?tag=nylas-timeslot-interval&encapsulation=shadow","src/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-timeslot-interval {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n\n .header {\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n\n .nylas-timeslot-interval__dropdown {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 4px;\n background-color: var(--nylas-base-25);\n\n span.label {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--nylas-base-800);\n\n tooltip-component {\n display: flex;\n }\n }\n\n select-dropdown {\n margin-bottom: 1.5rem;\n }\n\n select-dropdown::part(sd_dropdown) {\n width: 100%;\n }\n\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-width: unset;\n }\n\n select-dropdown::part(sd_dropdown-button) {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1rem;\n }\n\n select-dropdown::part(sd_dropdown-button-selected-label) {\n max-width: calc(100% - 2rem);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\nconst defaultRoundToMinutes = 15;\n/**\n * The `nylas-timeslot-interval` component allows users to set their time slot interval preferences.\n * This component provides an option to set both `interval_minutes` and `round_to` in the configuration.\n *\n * @part nti - The timeslot interval container\n * @part nti__header - The header of the timeslot interval picker\n * @part nti__input-label - The input label of the timeslot interval picker\n * @part nti__dropdown - The dropdown container\n * @part nti__dropdown-button - The dropdown button\n * @part nti__dropdown-content - The dropdown content\n */\n@Component({\n tag: 'nylas-timeslot-interval',\n styleUrl: 'nylas-timeslot-interval.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasTimeslotInterval {\n @Element() host!: HTMLNylasTimeslotIntervalElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The name of the calendar picker.\n */\n @Prop() name: string = 'timeslot-interval';\n\n /**\n * @standalone\n * The event duration in minutes.\n */\n @Prop() eventDurationMinutes?: number = this.selectedConfiguration?.availability?.duration_minutes;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The internal event duration minutes state.\n */\n @State() internalEventDurationMinutes!: number;\n\n /**\n * The selected interval minutes.\n */\n @State() selectedInterval!: number;\n\n /**\n * The selected round to minutes.\n */\n @State() selectedRoundTo!: boolean;\n\n /***\n * The state to store that component is ready to render.\n */\n @State() componentLoaded: boolean = false;\n\n /**\n * This event is fired when the selected booking calendar changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-timeslot-interval', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-timeslot-interval', 'selectedConfigurationChangedHandler', newValue);\n this.internalEventDurationMinutes = newValue?.availability?.duration_minutes ?? this.eventDurationMinutes ?? 30;\n const internalIntervalMinutes = newValue?.availability?.interval_minutes ?? this.internalEventDurationMinutes ?? 30;\n this.selectedInterval = newValue?.availability?.interval_minutes ?? internalIntervalMinutes ?? 10;\n const roundToMinutes = newValue?.availability?.round_to || null;\n this.selectedRoundTo = roundToMinutes && roundToMinutes === internalIntervalMinutes ? true : false;\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-timeslot-interval', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {\n debug('nylas-timeslot-interval', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-timeslot-interval', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-timeslot-interval', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n this.internalEventDurationMinutes = this.eventDurationMinutes ?? 30;\n const internalIntervalMinutes = this.internalEventDurationMinutes;\n this.selectedInterval = internalIntervalMinutes ?? 10;\n this.selectedRoundTo = false;\n }\n this.componentLoaded = true;\n }\n\n componentWillUpdate() {\n debug('nylas-timeslot-interval', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-timeslot-interval', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-timeslot-interval', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-timeslot-interval', 'componentDidRender');\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-timeslot-interval', 'nylasFormDropdownChangedHandler', event.detail);\n const value = event.detail.value;\n if (value === 'duration') {\n this.selectedInterval = this.internalEventDurationMinutes ?? 10;\n } else {\n this.selectedInterval = parseInt(event.detail.value);\n }\n\n this.valueChanged.emit({\n value: JSON.stringify({\n interval: this.selectedInterval,\n roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinutes,\n }),\n name: this.name,\n });\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinutes }), this.name);\n }\n }\n\n @Listen('nylasFormRadioChanged')\n nylasFormRadioChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-timeslot-interval', 'nylasFormRadioChangedHandler', event.detail);\n const value = event.detail.value;\n if (value === 'no-rounding') {\n this.selectedRoundTo = false;\n } else {\n this.selectedRoundTo = true;\n }\n\n this.valueChanged.emit({\n value: JSON.stringify({\n interval: this.selectedInterval,\n roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinutes,\n }),\n name: this.name,\n });\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinutes }), this.name);\n }\n }\n\n @RegisterComponent<NylasTimeslotInterval, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-timeslot-interval',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n fireRegisterEvent: true,\n })\n render() {\n const intervalPreferenceOptions = [\n { value: 'duration', label: i18next.t('nylasTimeslotInterval.lengthOfMeeting') },\n { value: '5', label: `5 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '10', label: `10 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '15', label: `15 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '20', label: `20 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '30', label: `30 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '45', label: `45 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n { value: '60', label: `60 ${i18next.t('nylasTimeslotInterval.minutesShort')}` },\n ];\n\n const defaultSelectedInterval =\n typeof this.selectedInterval !== 'undefined'\n ? this.selectedInterval == this.internalEventDurationMinutes\n ? intervalPreferenceOptions[0]\n : intervalPreferenceOptions.find(op => op.value == this.selectedInterval.toString()) ?? intervalPreferenceOptions[0]\n : undefined;\n\n return (\n <Host>\n <div class=\"nylas-timeslot-interval\" part=\"nti\">\n <div class=\"header\" part=\"nti__header\">\n <h3>{i18next.t('nylasTimeslotInterval.headerTitle')}</h3>\n </div>\n\n <div class=\"nylas-timeslot-interval__dropdown\">\n <span class=\"label\" part=\"nti__input-label\">\n {i18next.t('nylasTimeslotInterval.timeslotInterval.label')}\n </span>\n {defaultSelectedInterval?.label && (\n <select-dropdown\n name=\"interval-minutes\"\n options={intervalPreferenceOptions}\n withSearch={false}\n exportparts=\"sd_dropdown: nti__dropdown, sd_dropdown-button: nti__dropdown-button, sd_dropdown-content: nti__dropdown-content\"\n defaultSelectedOption={defaultSelectedInterval}\n themeConfig={this.themeConfig}\n />\n )}\n <span slot=\"label\" class=\"label\" part=\"nti__input-label\">\n {i18next.t('nylasTimeslotInterval.timeslotRounding.label')}\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasTimeslotInterval.timeslotRounding.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n {this.componentLoaded && (\n <radio-button-group\n name=\"interval-preference\"\n defaultSelectedValue={this.selectedRoundTo ? 'rounding' : 'no-rounding'}\n options={[\n {\n value: 'no-rounding',\n label: i18next.t('nylasTimeslotInterval.timeslotRoundingOptions.noRounding.label'),\n description: i18next.t('nylasTimeslotInterval.timeslotRoundingOptions.noRounding.desc'),\n },\n {\n value: 'rounding',\n label: i18next.t('nylasTimeslotInterval.timeslotRoundingOptions.rounding.label'),\n description: i18next.t('nylasTimeslotInterval.timeslotRoundingOptions.rounding.desc'),\n },\n ]}\n themeConfig={this.themeConfig}\n />\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
|
|
2
|
-
import { R as RegisterComponent } from './p-
|
|
3
|
-
import { a as debug } from './p-
|
|
2
|
+
import { R as RegisterComponent } from './p-CUlV7ZGv.js';
|
|
3
|
+
import { a as debug } from './p-CMNiSC4o.js';
|
|
4
4
|
import { i as instance } from './p-BjxQTsOy.js';
|
|
5
5
|
import { d as defineCustomElement$6 } from './p-BVH0Klhu.js';
|
|
6
6
|
import { d as defineCustomElement$5 } from './p-DcjGlnBR.js';
|
|
7
7
|
import { d as defineCustomElement$4 } from './p-d3kelm3z.js';
|
|
8
8
|
import { d as defineCustomElement$3 } from './p-C7ZpwRD0.js';
|
|
9
|
-
import { d as defineCustomElement$2 } from './p-
|
|
9
|
+
import { d as defineCustomElement$2 } from './p-CdPtFwy6.js';
|
|
10
10
|
import { d as defineCustomElement$1 } from './p-DxDoo-4C.js';
|
|
11
11
|
|
|
12
12
|
const nylasCancelBookingFormCss = ":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;display:block;width:400px;font-family:var(--nylas-font-family)}.nylas-cancel-booking-form{display:flex;align-items:center;flex-direction:column;background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:1.5rem;position:relative;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}.nylas-cancel-booking-form form{width:100%}.nylas-cancel-booking-form__title{font-size:18px;font-weight:600;margin-bottom:0;color:var(--nylas-base-900)}.nylas-cancel-booking-form__description{font-size:16px;font-style:normal;font-weight:400;line-height:140%;color:var(--nylas-base-600);padding-bottom:1.25rem}.nylas-cancel-booking-form__calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}calendar-cancel-icon{display:flex;align-items:center;justify-content:center;height:100%}.footer{display:grid;grid-template-columns:1fr 1fr;width:100%;padding-top:1.25rem;gap:1rem;border-top:1px solid var(--nylas-base-200);margin-top:1.25rem}";
|
|
@@ -244,6 +244,6 @@ function defineCustomElement() {
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
export { NylasCancelBookingForm as N, defineCustomElement as d };
|
|
247
|
-
//# sourceMappingURL=p-
|
|
247
|
+
//# sourceMappingURL=p-wJgbEd5m.js.map
|
|
248
248
|
|
|
249
|
-
//# sourceMappingURL=p-
|
|
249
|
+
//# sourceMappingURL=p-wJgbEd5m.js.map
|