@nylas/web-elements 2.5.4 → 2.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/input-color-picker/input-color-picker.es.js +3516 -3480
- package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +6334 -6297
- package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +7610 -7554
- package/dist/cjs/{abstract-provider-CH5yXWmY.js → abstract-provider-f3JKAnoC.js} +4 -4
- package/dist/cjs/abstract-provider-f3JKAnoC.js.map +1 -0
- package/dist/cjs/calendar-agenda-fill-icon_39.cjs.entry.js +2 -2
- package/dist/cjs/checkbox-group_4.cjs.entry.js +3 -3
- package/dist/cjs/checkmark-icon_14.cjs.entry.js +2 -2
- package/dist/cjs/{customParseFormat-OQPjPVhj.js → customParseFormat-5f0XwO0N.js} +3 -3
- package/dist/cjs/{customParseFormat-OQPjPVhj.js.map → customParseFormat-5f0XwO0N.js.map} +1 -1
- package/dist/cjs/globe-icon_3.cjs.entry.js +2 -2
- package/dist/cjs/google-logo-icon_6.cjs.entry.js +3 -3
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/input-component.cjs.entry.js +1 -1
- package/dist/cjs/input-dropdown_2.cjs.entry.js +1 -1
- package/dist/cjs/input-image-url_2.cjs.entry.js +2 -2
- package/dist/cjs/multi-select-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/{nylas-api-request-Cva9mkSo.js → nylas-api-request-Cbo-19Nf.js} +3 -3
- package/dist/cjs/{nylas-api-request-Cva9mkSo.js.map → nylas-api-request-Cbo-19Nf.js.map} +1 -1
- package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js +18 -13
- package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-form-card.cjs.entry.js +2 -2
- package/dist/cjs/nylas-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +4 -4
- package/dist/cjs/nylas-scheduling.cjs.entry.js +29 -15
- 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/{register-component-Cu3tKKKD.js → register-component-3z1jbXx-.js} +3 -3
- package/dist/cjs/{register-component-Cu3tKKKD.js.map → register-component-3z1jbXx-.js.map} +1 -1
- package/dist/cjs/textarea-component.cjs.entry.js +1 -1
- package/dist/cjs/{utils-DMqnHqF8.js → utils-C5qGWVDr.js} +68 -8
- package/dist/cjs/{utils-DMqnHqF8.js.map → utils-C5qGWVDr.js.map} +1 -1
- package/dist/cjs/{version-COw2dh2E.js → version-CJ5046pS.js} +3 -3
- package/dist/cjs/{version-COw2dh2E.js.map → version-CJ5046pS.js.map} +1 -1
- package/dist/collection/common/abstract-provider.js +1 -1
- package/dist/collection/common/abstract-provider.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +6 -2
- package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.js +11 -10
- package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +29 -11
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js +4 -3
- package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js.map +1 -1
- package/dist/collection/connector/shared/api/scheduler.js +5 -3
- package/dist/collection/connector/shared/api/scheduler.js.map +1 -1
- package/dist/collection/stores/scheduler-store.js +3 -2
- package/dist/collection/stores/scheduler-store.js.map +1 -1
- package/dist/collection/utils/utils.js +11 -6
- package/dist/collection/utils/utils.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-color-picker.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 +58 -58
- package/dist/components/nylas-scheduling-method.js +1 -1
- package/dist/components/nylas-scheduling.js +46 -32
- 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-DyFJlXYY.js → p-5ZYkWuBH.js} +5 -5
- package/dist/components/{p-DyFJlXYY.js.map → p-5ZYkWuBH.js.map} +1 -1
- package/dist/components/{p-D2Tc9Auy.js → p-6buYtCek.js} +5 -5
- package/dist/components/{p-D2Tc9Auy.js.map → p-6buYtCek.js.map} +1 -1
- package/dist/components/{p-aA5xBZ4y.js → p-8jVEXvkn.js} +6 -6
- package/dist/components/{p-aA5xBZ4y.js.map → p-8jVEXvkn.js.map} +1 -1
- package/dist/components/{p-Czz4qXvH.js → p-B0eXe4fu.js} +9 -9
- package/dist/components/{p-Czz4qXvH.js.map → p-B0eXe4fu.js.map} +1 -1
- package/dist/components/{p-BOo4c1sq.js → p-B54mNgSc.js} +6 -6
- package/dist/components/{p-BOo4c1sq.js.map → p-B54mNgSc.js.map} +1 -1
- package/dist/components/{p-0CHYtuce.js → p-BCdaMIEZ.js} +6 -6
- package/dist/components/{p-0CHYtuce.js.map → p-BCdaMIEZ.js.map} +1 -1
- package/dist/components/{p-DHDBkOA6.js → p-BIbAx1y2.js} +3 -3
- package/dist/components/{p-DHDBkOA6.js.map → p-BIbAx1y2.js.map} +1 -1
- package/dist/components/{p-D2Zt-T9i.js → p-BNfHz7A2.js} +6 -6
- package/dist/components/{p-D2Zt-T9i.js.map → p-BNfHz7A2.js.map} +1 -1
- package/dist/components/{p-CA-CDvvH.js → p-B_HtmTBC.js} +6 -6
- package/dist/components/{p-CA-CDvvH.js.map → p-B_HtmTBC.js.map} +1 -1
- package/dist/components/{p-CaPXccMa.js → p-Begx19Z9.js} +3 -3
- package/dist/components/{p-CaPXccMa.js.map → p-Begx19Z9.js.map} +1 -1
- package/dist/components/{p-DIYyA3tv.js → p-BhY18Huj.js} +5 -5
- package/dist/components/{p-DIYyA3tv.js.map → p-BhY18Huj.js.map} +1 -1
- package/dist/components/{p-CFk78OEk.js → p-BjxQTsOy.js} +56 -2
- package/dist/components/{p-CFk78OEk.js.map → p-BjxQTsOy.js.map} +1 -1
- package/dist/components/{p-DfJPUV12.js → p-BpDfyvY4.js} +3 -3
- package/dist/components/{p-DfJPUV12.js.map → p-BpDfyvY4.js.map} +1 -1
- package/dist/components/{p-B2qD9GvB.js → p-BqcSDTPa.js} +6 -6
- package/dist/components/{p-B2qD9GvB.js.map → p-BqcSDTPa.js.map} +1 -1
- package/dist/components/{p-DWH9lxNw.js → p-ByIpuB6X.js} +6 -6
- package/dist/components/{p-DWH9lxNw.js.map → p-ByIpuB6X.js.map} +1 -1
- package/dist/components/{p-DDnT7nCe.js → p-Bye3Di82.js} +3 -3
- package/dist/components/{p-DDnT7nCe.js.map → p-Bye3Di82.js.map} +1 -1
- package/dist/components/{p-CugpjY9p.js → p-Bzhy3cc5.js} +3 -3
- package/dist/components/{p-CugpjY9p.js.map → p-Bzhy3cc5.js.map} +1 -1
- package/dist/components/{p-S6AbMZpH.js → p-C1IR0LII.js} +8 -8
- package/dist/components/{p-S6AbMZpH.js.map → p-C1IR0LII.js.map} +1 -1
- package/dist/components/{p-Bd0cKEr-.js → p-C8K-8dJ0.js} +52 -52
- package/dist/components/{p-Bd0cKEr-.js.map → p-C8K-8dJ0.js.map} +1 -1
- package/dist/components/{p-sjyMT8di.js → p-CABFxRgm.js} +5 -5
- package/dist/components/{p-sjyMT8di.js.map → p-CABFxRgm.js.map} +1 -1
- package/dist/components/{p-BkEoeb5s.js → p-CHMf20sF.js} +5 -5
- package/dist/components/{p-BkEoeb5s.js.map → p-CHMf20sF.js.map} +1 -1
- package/dist/components/{p--MwFi8VI.js → p-CIiKlhjq.js} +5 -5
- package/dist/components/{p--MwFi8VI.js.map → p-CIiKlhjq.js.map} +1 -1
- package/dist/components/{p-B-fT9puv.js → p-CKPYi9FX.js} +4 -4
- package/dist/components/{p-B-fT9puv.js.map → p-CKPYi9FX.js.map} +1 -1
- package/dist/components/{p-D0h0sso6.js → p-CLMQXVmv.js} +5 -5
- package/dist/components/{p-D0h0sso6.js.map → p-CLMQXVmv.js.map} +1 -1
- package/dist/components/{p-BB1ko_uE.js → p-CMF0O-Fp.js} +7 -7
- package/dist/components/{p-BB1ko_uE.js.map → p-CMF0O-Fp.js.map} +1 -1
- package/dist/components/{p-CCA4ZVjd.js → p-CSqqWusO.js} +10 -7
- package/dist/components/p-CSqqWusO.js.map +1 -0
- package/dist/components/{p-OCI2J8gy.js → p-CTDkYArQ.js} +9 -9
- package/dist/components/{p-OCI2J8gy.js.map → p-CTDkYArQ.js.map} +1 -1
- package/dist/components/{p-Btoob5w4.js → p-CUL-OCAu.js} +6 -6
- package/dist/components/{p-Btoob5w4.js.map → p-CUL-OCAu.js.map} +1 -1
- package/dist/components/{p-CNep2hQ8.js → p-CXqwQnQF.js} +5 -5
- package/dist/components/{p-CNep2hQ8.js.map → p-CXqwQnQF.js.map} +1 -1
- package/dist/components/{p-BJFo54WS.js → p-CXxRydPc.js} +5 -5
- package/dist/components/{p-BJFo54WS.js.map → p-CXxRydPc.js.map} +1 -1
- package/dist/components/{p-D_ge-nYu.js → p-CYy1pa_3.js} +5 -5
- package/dist/components/{p-D_ge-nYu.js.map → p-CYy1pa_3.js.map} +1 -1
- package/dist/components/{p-2Mq6VEeK.js → p-ClGGIEMi.js} +6 -6
- package/dist/components/{p-2Mq6VEeK.js.map → p-ClGGIEMi.js.map} +1 -1
- package/dist/components/{p-DAnwHL85.js → p-CpMfG8zc.js} +18 -18
- package/dist/components/{p-DAnwHL85.js.map → p-CpMfG8zc.js.map} +1 -1
- package/dist/components/{p-y6oP8jW5.js → p-CrXOqjIw.js} +8 -7
- package/dist/components/p-CrXOqjIw.js.map +1 -0
- package/dist/components/{p-ejCgVZ9o.js → p-CsyEOZaq.js} +3 -3
- package/dist/components/{p-ejCgVZ9o.js.map → p-CsyEOZaq.js.map} +1 -1
- package/dist/components/{p-DjXPd1-l.js → p-D-3RU2oS.js} +5 -5
- package/dist/components/{p-DjXPd1-l.js.map → p-D-3RU2oS.js.map} +1 -1
- package/dist/components/{p-DxIVEThE.js → p-D19TzH-m.js} +6 -6
- package/dist/components/{p-DxIVEThE.js.map → p-D19TzH-m.js.map} +1 -1
- package/dist/components/{p-Cpuo7KDZ.js → p-D1laIpmv.js} +8 -8
- package/dist/components/{p-Cpuo7KDZ.js.map → p-D1laIpmv.js.map} +1 -1
- package/dist/components/{p-B1YSZBvC.js → p-D4C1TKzq.js} +5 -5
- package/dist/components/{p-B1YSZBvC.js.map → p-D4C1TKzq.js.map} +1 -1
- package/dist/components/{p-gDuYV0jU.js → p-D8Gq0LJd.js} +5 -5
- package/dist/components/{p-gDuYV0jU.js.map → p-D8Gq0LJd.js.map} +1 -1
- package/dist/components/{p-D8Qul6Vu.js → p-DBEvFYf0.js} +6 -6
- package/dist/components/{p-D8Qul6Vu.js.map → p-DBEvFYf0.js.map} +1 -1
- package/dist/components/{p-Dz6ZS9T7.js → p-DBwy7Snv.js} +4 -4
- package/dist/components/{p-Dz6ZS9T7.js.map → p-DBwy7Snv.js.map} +1 -1
- package/dist/components/{p-JjXUnTze.js → p-DDjhKQi2.js} +5 -5
- package/dist/components/{p-JjXUnTze.js.map → p-DDjhKQi2.js.map} +1 -1
- package/dist/components/{p-C6AxpIio.js → p-DFSt8wfH.js} +6 -6
- package/dist/components/{p-C6AxpIio.js.map → p-DFSt8wfH.js.map} +1 -1
- package/dist/components/{p-DEtEu7ce.js → p-DPBfMry4.js} +7 -7
- package/dist/components/{p-DEtEu7ce.js.map → p-DPBfMry4.js.map} +1 -1
- package/dist/components/{p-BJPokpdk.js → p-DR_UXNMx.js} +13 -12
- package/dist/components/p-DR_UXNMx.js.map +1 -0
- package/dist/components/{p-Dwqu7m_I.js → p-DRgnghCP.js} +5 -5
- package/dist/components/{p-Dwqu7m_I.js.map → p-DRgnghCP.js.map} +1 -1
- package/dist/components/{p-C7QOS5b4.js → p-D_ZAV9If.js} +7 -7
- package/dist/components/{p-C7QOS5b4.js.map → p-D_ZAV9If.js.map} +1 -1
- package/dist/components/{p-BUEZ6uxG.js → p-Dj4JDZ9W.js} +5 -5
- package/dist/components/{p-BUEZ6uxG.js.map → p-Dj4JDZ9W.js.map} +1 -1
- package/dist/components/{p-C_cuGb0d.js → p-DtHKroeT.js} +5 -5
- package/dist/components/{p-C_cuGb0d.js.map → p-DtHKroeT.js.map} +1 -1
- package/dist/components/{p-BmyZZVvG.js → p-DxYfbkxH.js} +4 -4
- package/dist/components/{p-BmyZZVvG.js.map → p-DxYfbkxH.js.map} +1 -1
- package/dist/components/{p-CoLVT2ul.js → p-Dxtgg1gN.js} +3 -3
- package/dist/components/{p-CoLVT2ul.js.map → p-Dxtgg1gN.js.map} +1 -1
- package/dist/components/{p-a6EsfrCF.js → p-DzkCpPXX.js} +9 -9
- package/dist/components/{p-a6EsfrCF.js.map → p-DzkCpPXX.js.map} +1 -1
- package/dist/components/{p-XoA6r1Sp.js → p-FYD-tPqw.js} +8 -8
- package/dist/components/{p-XoA6r1Sp.js.map → p-FYD-tPqw.js.map} +1 -1
- package/dist/components/{p-C0pHjJtj.js → p-NkqnymW3.js} +9 -9
- package/dist/components/{p-C0pHjJtj.js.map → p-NkqnymW3.js.map} +1 -1
- package/dist/components/{p-Du5g5VR_.js → p-SbxgHNeG.js} +6 -6
- package/dist/components/{p-Du5g5VR_.js.map → p-SbxgHNeG.js.map} +1 -1
- package/dist/components/{p-C7ZVu1Nd.js → p-SjPGcPOD.js} +6 -6
- package/dist/components/{p-C7ZVu1Nd.js.map → p-SjPGcPOD.js.map} +1 -1
- package/dist/components/{p-BvQ13Bty.js → p-U-EdxzfX.js} +4 -4
- package/dist/components/p-U-EdxzfX.js.map +1 -0
- package/dist/components/{p-DTmxwCTa.js → p-Uj5eg-r1.js} +42 -42
- package/dist/components/{p-DTmxwCTa.js.map → p-Uj5eg-r1.js.map} +1 -1
- package/dist/components/{p-elpxqGIV.js → p-cIIaCJPC.js} +3 -3
- package/dist/components/{p-elpxqGIV.js.map → p-cIIaCJPC.js.map} +1 -1
- package/dist/components/{p-BiyP1P0p.js → p-fOr8r1Zc.js} +6 -6
- package/dist/components/{p-BiyP1P0p.js.map → p-fOr8r1Zc.js.map} +1 -1
- package/dist/components/{p-DBECHub0.js → p-irdXl5Fp.js} +6 -6
- package/dist/components/{p-DBECHub0.js.map → p-irdXl5Fp.js.map} +1 -1
- package/dist/components/{p-CdMky78w.js → p-jHq8WTky.js} +3 -3
- package/dist/components/{p-CdMky78w.js.map → p-jHq8WTky.js.map} +1 -1
- package/dist/components/{p-CDVJMEhz.js → p-mElO3u2v.js} +5 -5
- package/dist/components/{p-CDVJMEhz.js.map → p-mElO3u2v.js.map} +1 -1
- package/dist/components/{p-Co55qdnC.js → p-nozjdB6e.js} +5 -5
- package/dist/components/{p-Co55qdnC.js.map → p-nozjdB6e.js.map} +1 -1
- package/dist/components/{p-MiuL2YAY.js → p-sKaBe5Hr.js} +6 -6
- package/dist/components/{p-MiuL2YAY.js.map → p-sKaBe5Hr.js.map} +1 -1
- package/dist/components/{p-BJXl7RY2.js → p-wJcvwuFy.js} +6 -6
- package/dist/components/{p-BJXl7RY2.js.map → p-wJcvwuFy.js.map} +1 -1
- package/dist/components/{p-DBE6FcDx.js → p-xxFdByBn.js} +15 -10
- package/dist/components/p-xxFdByBn.js.map +1 -0
- package/dist/components/{p-BPZfpfqz.js → p-zzOzXpMC.js} +7 -7
- package/dist/components/{p-BPZfpfqz.js.map → p-zzOzXpMC.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-KowNUOZM.js → abstract-provider-Dbnlk0Q8.js} +4 -4
- package/dist/esm/abstract-provider-Dbnlk0Q8.js.map +1 -0
- 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-AHaK_YU_.js → customParseFormat-xZjyidlk.js} +3 -3
- package/dist/esm/{customParseFormat-AHaK_YU_.js.map → customParseFormat-xZjyidlk.js.map} +1 -1
- package/dist/esm/globe-icon_3.entry.js +2 -2
- package/dist/esm/google-logo-icon_6.entry.js +3 -3
- 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-BUmT2J5X.js → nylas-api-request-tYrM5hQX.js} +3 -3
- package/dist/esm/{nylas-api-request-BUmT2J5X.js.map → nylas-api-request-tYrM5hQX.js.map} +1 -1
- package/dist/esm/nylas-booked-event-card_11.entry.js +18 -13
- package/dist/esm/nylas-booked-event-card_11.entry.js.map +1 -1
- 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 +29 -15
- package/dist/esm/nylas-scheduling.entry.js.map +1 -1
- package/dist/esm/{register-component-DVA2Alyc.js → register-component-3SZ7gAeK.js} +3 -3
- package/dist/esm/{register-component-DVA2Alyc.js.map → register-component-3SZ7gAeK.js.map} +1 -1
- package/dist/esm/textarea-component.entry.js +1 -1
- package/dist/esm/{utils-BW6igRcf.js → utils-DDKV6-nQ.js} +68 -9
- package/dist/esm/{utils-BW6igRcf.js.map → utils-DDKV6-nQ.js.map} +1 -1
- package/dist/esm/{version-DDixcvI0.js → version-Xc-4F4Ta.js} +3 -3
- package/dist/esm/{version-DDixcvI0.js.map → version-Xc-4F4Ta.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-04000a4f.entry.js → p-2e34476b.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-61828a18.entry.js → p-42432de0.entry.js} +2 -2
- package/dist/nylas-web-elements/p-469c232b.entry.js +2 -0
- package/dist/nylas-web-elements/p-469c232b.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-da0d3be5.entry.js → p-473a9f48.entry.js} +2 -2
- package/dist/nylas-web-elements/p-49510dd2.entry.js +2 -0
- package/dist/nylas-web-elements/p-49510dd2.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-e63c997e.entry.js → p-4c51d165.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-a5cc8de4.entry.js → p-6245bad4.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-937127a0.entry.js → p-7186d262.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-34fde935.entry.js → p-90569d2b.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-54521b2b.entry.js → p-926c0f10.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-dlIPw-hO.js → p-CONX24aJ.js} +2 -2
- package/dist/nylas-web-elements/{p-dlIPw-hO.js.map → p-CONX24aJ.js.map} +1 -1
- package/dist/nylas-web-elements/{p-CRHgCWIn.js → p-CZUjPf2B.js} +2 -2
- package/dist/nylas-web-elements/{p-CRHgCWIn.js.map → p-CZUjPf2B.js.map} +1 -1
- package/dist/nylas-web-elements/p-CpfLRTv0.js +2 -0
- package/dist/nylas-web-elements/p-CpfLRTv0.js.map +1 -0
- package/dist/nylas-web-elements/{p-or8kjH6q.js → p-Cz68LNCB.js} +2 -2
- package/dist/nylas-web-elements/{p-or8kjH6q.js.map → p-Cz68LNCB.js.map} +1 -1
- package/dist/nylas-web-elements/p-DDKV6-nQ.js +8 -0
- package/dist/nylas-web-elements/{p-BW6igRcf.js.map → p-DDKV6-nQ.js.map} +1 -1
- package/dist/nylas-web-elements/{p-DDixcvI0.js → p-Xc-4F4Ta.js} +2 -2
- package/dist/nylas-web-elements/{p-DDixcvI0.js.map → p-Xc-4F4Ta.js.map} +1 -1
- package/dist/nylas-web-elements/p-b877c010.entry.js +2 -0
- package/dist/nylas-web-elements/{p-7fb5c45e.entry.js.map → p-b877c010.entry.js.map} +1 -1
- package/dist/nylas-web-elements/{p-5d8287eb.entry.js → p-b9a991fe.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-38051452.entry.js → p-bb4b9655.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-a6d5e357.entry.js → p-c71c04d0.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-400d16e6.entry.js → p-f74f3a8d.entry.js} +2 -2
- package/dist/types/components/scheduler/nylas-scheduling/nylas-scheduling.d.ts +3 -0
- package/dist/types/components.d.ts +2 -2
- package/dist/types/utils/utils.d.ts +2 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/abstract-provider-CH5yXWmY.js.map +0 -1
- package/dist/components/p-BJPokpdk.js.map +0 -1
- package/dist/components/p-BvQ13Bty.js.map +0 -1
- package/dist/components/p-CCA4ZVjd.js.map +0 -1
- package/dist/components/p-DBE6FcDx.js.map +0 -1
- package/dist/components/p-y6oP8jW5.js.map +0 -1
- package/dist/esm/abstract-provider-KowNUOZM.js.map +0 -1
- package/dist/nylas-web-elements/p--bAq8KLi.js +0 -2
- package/dist/nylas-web-elements/p--bAq8KLi.js.map +0 -1
- package/dist/nylas-web-elements/p-7fb5c45e.entry.js +0 -2
- package/dist/nylas-web-elements/p-BW6igRcf.js +0 -8
- package/dist/nylas-web-elements/p-a6579faa.entry.js +0 -2
- package/dist/nylas-web-elements/p-a6579faa.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-f5cf4c30.entry.js +0 -2
- package/dist/nylas-web-elements/p-f5cf4c30.entry.js.map +0 -1
- /package/dist/nylas-web-elements/{p-04000a4f.entry.js.map → p-2e34476b.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-61828a18.entry.js.map → p-42432de0.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-da0d3be5.entry.js.map → p-473a9f48.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-e63c997e.entry.js.map → p-4c51d165.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-a5cc8de4.entry.js.map → p-6245bad4.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-937127a0.entry.js.map → p-7186d262.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-34fde935.entry.js.map → p-90569d2b.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-54521b2b.entry.js.map → p-926c0f10.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-5d8287eb.entry.js.map → p-b9a991fe.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-38051452.entry.js.map → p-bb4b9655.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-a6d5e357.entry.js.map → p-c71c04d0.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-400d16e6.entry.js.map → p-f74f3a8d.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nylas-locale-switch.js","sourceRoot":"","sources":["../../../../../src/components/scheduler/nylas-locale-switch/nylas-locale-switch.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,OAAO,MAAM,cAAc,CAAC;AAsBnC,MAAM,OAAO,iBAAiB;IAL9B;QA2B2B,qBAAgB,GAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAK1G,qBAAgB,GAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC;QAE5F,sBAAiB,GAAW,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KA0M1D;IA7LC,kBAAkB,CAAC,cAA2B;QAC5C,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAGD,yBAAyB,CAAC,QAA+C;QACvE,IAAI,QAAQ,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,iBAAiB;QAGf,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,KAAI,CAAC;IAEzB,iBAAiB,KAAI,CAAC;IAEtB,gBAAgB;QACd,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,WAAyB;QACxC,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAMO,cAAc,CAAC,QAAgB;QACrC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAMO,cAAc,CAAC,QAAgB;QACrC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAGD,+BAA+B,CAC7B,KAGE;QAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACrC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,QAAgB;QACnC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,CACL,YACE,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,eAAe;gBAC/B,KAAK,EAAE,wBAAwB;aAChC;YAEA,YAAY,CAAC,QAAQ,CAAC;YAAE,GAAG;YAC5B,YACE,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE;oBACL,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,uBAAuB;iBAC/B,IAEA,MAAM,CACF,CACF,CACR,CAAC;IACJ,CAAC;IAsBD,MAAM;QACJ,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;YACzC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC;YACxB,KAAK,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;QACJ,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC;YACxB,KAAK,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;QAEJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,KAAK;gBACzC,4DACE,KAAK,EAAE;wBACL,gBAAgB,EAAE,IAAI;wBACtB,UAAU,EAAE,IAAI;qBACjB,EACD,IAAI,EAAC,eAAe;oBAEpB,wEACE,IAAI,EAAC,UAAU,EACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EAClC,qBAAqB,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,EACpF,WAAW,EAAC,+PAA+P;wBAE3Q,6DAAM,IAAI,EAAC,aAAa;4BACtB,mEAAY,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,CAChC,CACS,CACd;gBACN,4DACE,KAAK,EAAE;wBACL,gBAAgB,EAAE,IAAI;wBACtB,UAAU,EAAE,IAAI;qBACjB,EACD,IAAI,EAAC,eAAe;oBAEpB,wEACE,IAAI,EAAC,UAAU,EACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,EAClC,qBAAqB,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,EACxF,WAAW,EAAC,kLAAkL;wBAE9L,6DAAM,IAAI,EAAC,aAAa;4BACtB,uEAAgB,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,CACpC,CACS,CACd,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AA1DC;IApBC,iBAAiB,CAA4F;QAC5G,IAAI,EAAE,qBAAqB;QAC3B,YAAY,EAAE,IAAI,GAAG,CAAC;YACpB,CAAC,4BAA4B,EAAE,kBAAkB,CAAC;YAClD,CAAC,4BAA4B,EAAE,kBAAkB,CAAC;YAClD,CAAC,uBAAuB,EAAE,aAAa,CAAC;YACxC,CAAC,uBAAuB,EAAE,aAAa,CAAC;SACzC,CAAC;QACF,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK,EAAE,KAA0B,EAAE,uBAAgD,EAAE,EAAE;gBACtG,KAAK,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9D,uBAAuB,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,KAA0B,EAAE,uBAAgD,EAAE,EAAE;gBACtG,KAAK,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9D,uBAAuB,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;SACF;QACD,iBAAiB,EAAE,IAAI;KACxB,CAAC;;;;+CA0DD","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { LANGUAGE_MAP, TIMEZONE_MAP } from '@/common/constants';\nimport { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConnector } from '../../../components';\nimport type { NylasSchedulerBookingData } from '@/common/types';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug, getTimezoneOffset } from '@/utils/utils';\nimport { ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\n/**\n * The `nylas-locale-switch` component is a UI component that allows users to select a timezone and language.\n * @part nls - The locale switch container\n * @part nls__timezone - The timezone select container\n * @part nls__timezone-dropdown - The timezone dropdown\n * @part nls__timezone-drop-button - The timezone dropdown button\n * @part nls__timezone-drop-button-selected-label - The timezone dropdown button selected label\n * @part nls__timezone-drop-content - The timezone dropdown content\n * @part nls__timezone-drop-label - The timezone dropdown label\n * @part nls__language - The language select container\n * @part nls__language-dropdown - The language dropdown\n * @part nls__language-drop-button - The language dropdown button\n * @part nls__language-drop-content - The language dropdown content\n * @part nls__language-drop-label - The language dropdown label\n *\n */\n@Component({\n tag: 'nylas-locale-switch',\n styleUrl: 'nylas-locale-switch.scss',\n shadow: true,\n})\nexport class NylasLocaleSwitch {\n private timezoneRef?: HTMLSelectDropdownElement;\n private languageRef?: HTMLSelectDropdownElement;\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasLocaleSwitchElement;\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n /**\n * @standalone\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The selected timezone.\n */\n @Prop({ mutable: true }) selectedTimezone: string = this.bookingInfo?.timezone || Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected language.\n */\n @Prop({ mutable: true }) selectedLanguage: string = this.bookingInfo?.language || navigator.language;\n\n @State() searchPlaceholder: string = i18next.t('search');\n\n /**\n * This event is fired when the timezone is changed.\n */\n @Event() timezoneChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the language is changed.\n */\n @Event() languageChanged!: EventEmitter<string>;\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue?.timezone) {\n this.changeTimezone(newValue.timezone);\n }\n if (newValue && newValue?.language) {\n this.changeLanguage(newValue.language);\n }\n }\n\n connectedCallback() {\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n componentDidLoad() {\n debug(`[nylas-locale-switch] Component did load`);\n if (this.bookingInfo && this.bookingInfo?.timezone) {\n this.changeTimezone(this.bookingInfo.timezone);\n }\n if (this.bookingInfo && this.bookingInfo?.language) {\n this.changeLanguage(this.bookingInfo.language);\n }\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 this.timezoneRef?.style.setProperty(`${key}`, value);\n this.languageRef?.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Change the timezone.\n * @param timezone The timezone to select.\n */\n private changeTimezone(timezone: string) {\n this.selectedTimezone = timezone;\n this.timezoneChanged.emit(timezone);\n }\n\n /**\n * Change the language.\n * @param language The language to select.\n */\n private changeLanguage(language: string) {\n this.selectedLanguage = language;\n i18next.changeLanguage(language);\n this.searchPlaceholder = i18next.t('search');\n this.languageChanged.emit(language);\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.changeTimezone(value);\n } else if (name === 'language') {\n this.changeLanguage(value);\n }\n }\n\n getTimezoneLabelHTML(timezone: string) {\n const offset = getTimezoneOffset(timezone);\n return (\n <span\n class=\"timezone-label\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '-webkit-fill-available',\n }}\n >\n {TIMEZONE_MAP[timezone]}{' '}\n <span\n class=\"timezone-offset\"\n style={{\n fontSize: '14px',\n fontWeight: '400',\n color: 'var(--nylas-base-500)',\n }}\n >\n {offset}\n </span>\n </span>\n );\n }\n\n @RegisterComponent<NylasLocaleSwitch, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-locale-switch',\n stateToProps: new Map([\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n timezoneChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-locale-switch', 'timezoneChanged', event.detail);\n nylasSchedulerConnector.scheduler.selectTimezone(event.detail);\n },\n languageChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-locale-switch', 'languageChanged', event.detail);\n nylasSchedulerConnector.scheduler.selectLanguage(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n labelHTML: this.getTimezoneLabelHTML(key),\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-locale-switch\" part=\"nls\">\n <div\n class={{\n 'select-wrapper': true,\n 'timezone': true,\n }}\n part=\"nls__timezone\"\n >\n <select-dropdown\n name=\"timezone\"\n searchPlaceholder={this.searchPlaceholder}\n options={timezoneOptions}\n ref={el => (this.timezoneRef = el)}\n defaultSelectedOption={timezoneOptions.find(op => op.value == this.selectedTimezone)}\n exportparts=\"sd_dropdown: nls__timezone-dropdown, sd_dropdown-button: nls__timezone-drop-button, sd_dropdown-button-selected-label: nls__timezone-drop-button-selected-label, sd_dropdown-content: nls__timezone-drop-content, sd_dropdown_label: nls__timezone-drop-label\"\n >\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div\n class={{\n 'select-wrapper': true,\n 'language': true,\n }}\n part=\"nls__language\"\n >\n <select-dropdown\n name=\"language\"\n searchPlaceholder={this.searchPlaceholder}\n options={languageOptions}\n ref={el => (this.languageRef = el)}\n defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}\n exportparts=\"sd_dropdown: nls__language-dropdown, sd_dropdown-button: nls__language-drop-button, sd_dropdown-content: nls__language-drop-content, sd_dropdown_label: nls__language-drop-label\"\n >\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nylas-locale-switch.js","sourceRoot":"","sources":["../../../../../src/components/scheduler/nylas-locale-switch/nylas-locale-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { LANGUAGE_CODE, LANGUAGE_MAP, TIMEZONE_MAP } from '@/common/constants';\nimport { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConnector } from '../../../components';\nimport type { NylasSchedulerBookingData } from '@/common/types';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug, detectBrowserLanguageCode, getTimezoneOffset, normalizeSupportedLanguageCode } from '@/utils/utils';\nimport { ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\n/**\n * The `nylas-locale-switch` component is a UI component that allows users to select a timezone and language.\n * @part nls - The locale switch container\n * @part nls__timezone - The timezone select container\n * @part nls__timezone-dropdown - The timezone dropdown\n * @part nls__timezone-drop-button - The timezone dropdown button\n * @part nls__timezone-drop-button-selected-label - The timezone dropdown button selected label\n * @part nls__timezone-drop-content - The timezone dropdown content\n * @part nls__timezone-drop-label - The timezone dropdown label\n * @part nls__language - The language select container\n * @part nls__language-dropdown - The language dropdown\n * @part nls__language-drop-button - The language dropdown button\n * @part nls__language-drop-content - The language dropdown content\n * @part nls__language-drop-label - The language dropdown label\n *\n */\n@Component({\n tag: 'nylas-locale-switch',\n styleUrl: 'nylas-locale-switch.scss',\n shadow: true,\n})\nexport class NylasLocaleSwitch {\n private timezoneRef?: HTMLSelectDropdownElement;\n private languageRef?: HTMLSelectDropdownElement;\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasLocaleSwitchElement;\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n /**\n * @standalone\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The selected timezone.\n */\n @Prop({ mutable: true }) selectedTimezone: string = this.bookingInfo?.timezone || Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected language.\n */\n @Prop({ mutable: true }) selectedLanguage: string = normalizeSupportedLanguageCode(this.bookingInfo?.language) || detectBrowserLanguageCode() || LANGUAGE_CODE.en;\n\n @State() searchPlaceholder: string = i18next.t('search');\n\n /**\n * This event is fired when the timezone is changed.\n */\n @Event() timezoneChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the language is changed.\n */\n @Event() languageChanged!: EventEmitter<string>;\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue?.timezone) {\n this.changeTimezone(newValue.timezone);\n }\n if (newValue && newValue?.language) {\n this.changeLanguage(newValue.language);\n }\n }\n\n connectedCallback() {\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n componentDidLoad() {\n debug(`[nylas-locale-switch] Component did load`);\n if (this.bookingInfo && this.bookingInfo?.timezone) {\n this.changeTimezone(this.bookingInfo.timezone);\n }\n if (this.bookingInfo && this.bookingInfo?.language) {\n this.changeLanguage(this.bookingInfo.language);\n }\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 this.timezoneRef?.style.setProperty(`${key}`, value);\n this.languageRef?.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Change the timezone.\n * @param timezone The timezone to select.\n */\n private changeTimezone(timezone: string) {\n this.selectedTimezone = timezone;\n this.timezoneChanged.emit(timezone);\n }\n\n /**\n * Change the language.\n * @param language The language to select.\n */\n private changeLanguage(language: string) {\n const selectedLanguage = normalizeSupportedLanguageCode(language) || LANGUAGE_CODE.en;\n this.selectedLanguage = selectedLanguage;\n i18next.changeLanguage(selectedLanguage);\n this.searchPlaceholder = i18next.t('search');\n this.languageChanged.emit(selectedLanguage);\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.changeTimezone(value);\n } else if (name === 'language') {\n this.changeLanguage(value);\n }\n }\n\n getTimezoneLabelHTML(timezone: string) {\n const offset = getTimezoneOffset(timezone);\n return (\n <span\n class=\"timezone-label\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '-webkit-fill-available',\n }}\n >\n {TIMEZONE_MAP[timezone]}{' '}\n <span\n class=\"timezone-offset\"\n style={{\n fontSize: '14px',\n fontWeight: '400',\n color: 'var(--nylas-base-500)',\n }}\n >\n {offset}\n </span>\n </span>\n );\n }\n\n @RegisterComponent<NylasLocaleSwitch, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-locale-switch',\n stateToProps: new Map([\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n timezoneChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-locale-switch', 'timezoneChanged', event.detail);\n nylasSchedulerConnector.scheduler.selectTimezone(event.detail);\n },\n languageChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-locale-switch', 'languageChanged', event.detail);\n nylasSchedulerConnector.scheduler.selectLanguage(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n labelHTML: this.getTimezoneLabelHTML(key),\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-locale-switch\" part=\"nls\">\n <div\n class={{\n 'select-wrapper': true,\n 'timezone': true,\n }}\n part=\"nls__timezone\"\n >\n <select-dropdown\n name=\"timezone\"\n searchPlaceholder={this.searchPlaceholder}\n options={timezoneOptions}\n ref={el => (this.timezoneRef = el)}\n defaultSelectedOption={timezoneOptions.find(op => op.value == this.selectedTimezone)}\n exportparts=\"sd_dropdown: nls__timezone-dropdown, sd_dropdown-button: nls__timezone-drop-button, sd_dropdown-button-selected-label: nls__timezone-drop-button-selected-label, sd_dropdown-content: nls__timezone-drop-content, sd_dropdown_label: nls__timezone-drop-label\"\n >\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div\n class={{\n 'select-wrapper': true,\n 'language': true,\n }}\n part=\"nls__language\"\n >\n <select-dropdown\n name=\"language\"\n searchPlaceholder={this.searchPlaceholder}\n options={languageOptions}\n ref={el => (this.languageRef = el)}\n defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}\n exportparts=\"sd_dropdown: nls__language-dropdown, sd_dropdown-button: nls__language-drop-button, sd_dropdown-content: nls__language-drop-content, sd_dropdown_label: nls__language-drop-label\"\n >\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -3,11 +3,11 @@ import { NylasSchedulerConnector } from "../../../connector/nylas-scheduler-conn
|
|
|
3
3
|
import { CreateNylasSchedulerStore } from "../../../stores/scheduler-store";
|
|
4
4
|
import { NotificationType } from "@nylas/core";
|
|
5
5
|
import { Host, h } from "@stencil/core";
|
|
6
|
-
import { addDaysToCurrentDate, capitalizeFirstLetter, compactStringToUUIDs, debug, detectBrowserLanguageCode, normalizeDateInput } from "../../../utils/utils";
|
|
6
|
+
import { addDaysToCurrentDate, capitalizeFirstLetter, compactStringToUUIDs, debug, detectBrowserLanguageCode, normalizeDateInput, normalizeSupportedLanguageCode, } from "../../../utils/utils";
|
|
7
7
|
import { SchedulerView } from "./scheduler-view";
|
|
8
8
|
import { MessageBanner } from "./message-banner";
|
|
9
9
|
import i18next from "../../../utils/i18n";
|
|
10
|
-
import { LANGUAGE_CODE, LANGUAGE_MAP } from "../../../common/constants";
|
|
10
|
+
import { LANGUAGE_CODE, LANGUAGE_CODE_TO_LOCALE_MAP, LANGUAGE_MAP } from "../../../common/constants";
|
|
11
11
|
import * as Sentry from "@sentry/browser";
|
|
12
12
|
import { ErrorCategory } from "../../../types/index";
|
|
13
13
|
import { version } from "../../../version";
|
|
@@ -22,7 +22,7 @@ export class NylasScheduling {
|
|
|
22
22
|
this.showNotification = true;
|
|
23
23
|
this.enableUserFeedback = true;
|
|
24
24
|
this.automaticComponentRegistration = true;
|
|
25
|
-
this.selectedDateLabel =
|
|
25
|
+
this.selectedDateLabel = `${i18next.t('noDateSelected')}`;
|
|
26
26
|
this.language = navigator.language;
|
|
27
27
|
this.showFeedbackModal = false;
|
|
28
28
|
this.bookingInfoConfirmed = null;
|
|
@@ -30,11 +30,16 @@ export class NylasScheduling {
|
|
|
30
30
|
}
|
|
31
31
|
connectedCallback() {
|
|
32
32
|
debug(`[nylas-scheduler] connectedCallback`);
|
|
33
|
+
void this.schedulerApiUrlChanged;
|
|
34
|
+
void this.sessionIdChanged;
|
|
35
|
+
void this.configurationIdChanged;
|
|
36
|
+
void this.slugChanged;
|
|
37
|
+
void this.clientIdChanged;
|
|
33
38
|
}
|
|
34
39
|
async componentWillLoad() {
|
|
35
40
|
debug(`[nylas-scheduler] Component will load`);
|
|
36
41
|
this.version = version;
|
|
37
|
-
await Promise
|
|
42
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
38
43
|
if (this.enableUserFeedback && !Sentry.isInitialized()) {
|
|
39
44
|
Sentry.init({
|
|
40
45
|
dsn: 'https://9d5731f1c77ca84c9ed3fb9b3ccf7ee1@o74852.ingest.us.sentry.io/4507889638178816',
|
|
@@ -60,13 +65,16 @@ export class NylasScheduling {
|
|
|
60
65
|
const urlParams = new URLSearchParams(window.location.search);
|
|
61
66
|
const langFromUrl = urlParams.get('lang');
|
|
62
67
|
const validLanguageFromUrl = langFromUrl && Object.values(LANGUAGE_CODE).includes(langFromUrl) ? langFromUrl : null;
|
|
68
|
+
const initialSelectedLanguage = validLanguageFromUrl || this.defaultLanguage || normalizeSupportedLanguageCode(this.bookingInfo?.language) || detectBrowserLanguageCode() || LANGUAGE_CODE.en;
|
|
69
|
+
this.language = initialSelectedLanguage;
|
|
70
|
+
i18next.changeLanguage(initialSelectedLanguage);
|
|
63
71
|
this.stores = {
|
|
64
72
|
scheduler: CreateNylasSchedulerStore({
|
|
65
73
|
bookingInfo: this.bookingInfo,
|
|
66
74
|
nylasBranding: this.nylasBranding,
|
|
67
75
|
themeConfig: this.themeConfig,
|
|
68
76
|
hour12: this.hour12,
|
|
69
|
-
selectedLanguage:
|
|
77
|
+
selectedLanguage: initialSelectedLanguage,
|
|
70
78
|
...this.defaultSchedulerState,
|
|
71
79
|
}),
|
|
72
80
|
};
|
|
@@ -321,7 +329,7 @@ export class NylasScheduling {
|
|
|
321
329
|
bookingInfoChanged(newVal) {
|
|
322
330
|
this.stores?.scheduler.set('bookingInfo', newVal);
|
|
323
331
|
if (newVal?.language && !this.defaultLanguage) {
|
|
324
|
-
this.stores?.scheduler.set('selectedLanguage', newVal.language);
|
|
332
|
+
this.stores?.scheduler.set('selectedLanguage', normalizeSupportedLanguageCode(newVal.language) || LANGUAGE_CODE.en);
|
|
325
333
|
}
|
|
326
334
|
}
|
|
327
335
|
rescheduleBookingRefChanged(newVal) {
|
|
@@ -477,7 +485,18 @@ export class NylasScheduling {
|
|
|
477
485
|
}
|
|
478
486
|
dateSelectedHandler(event) {
|
|
479
487
|
const date = normalizeDateInput(event.detail);
|
|
480
|
-
this.selectedDateLabel = date ?
|
|
488
|
+
this.selectedDateLabel = date ? this.formatSelectedDateLabel(date) : `${i18next.t('noDateSelected')}`;
|
|
489
|
+
}
|
|
490
|
+
getSelectedLanguage() {
|
|
491
|
+
const selectedLanguage = this.stores?.scheduler.get('selectedLanguage') || this.defaultLanguage || detectBrowserLanguageCode() || LANGUAGE_CODE.en;
|
|
492
|
+
return normalizeSupportedLanguageCode(selectedLanguage) || LANGUAGE_CODE.en;
|
|
493
|
+
}
|
|
494
|
+
getSelectedDateLocale() {
|
|
495
|
+
const selectedLanguage = this.getSelectedLanguage();
|
|
496
|
+
return LANGUAGE_CODE_TO_LOCALE_MAP[selectedLanguage] || selectedLanguage || LANGUAGE_CODE_TO_LOCALE_MAP[LANGUAGE_CODE.en];
|
|
497
|
+
}
|
|
498
|
+
formatSelectedDateLabel(date) {
|
|
499
|
+
return capitalizeFirstLetter(date.toLocaleDateString(this.getSelectedDateLocale(), { dateStyle: 'full' }));
|
|
481
500
|
}
|
|
482
501
|
cancelBookedEventErrorHandler(event) {
|
|
483
502
|
this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(event.detail.error) }, host: this.host });
|
|
@@ -653,13 +672,12 @@ export class NylasScheduling {
|
|
|
653
672
|
const nylasBranding = nylasSchedulerStore?.get('nylasBranding') || this.nylasBranding;
|
|
654
673
|
const selectedDate = normalizeDateInput(nylasSchedulerStore?.get('selectedDate'));
|
|
655
674
|
const redirectUrl = nylasSchedulerStore?.get('configSettings')?.scheduler?.confirmation_redirect_url;
|
|
656
|
-
this.selectedDateLabel =
|
|
657
|
-
selectedDate && this.language ? capitalizeFirstLetter(selectedDate.toLocaleDateString(this.language, { dateStyle: 'full' })) : `${i18next.t('noDateSelected')}`;
|
|
658
675
|
const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({
|
|
659
676
|
label: LANGUAGE_MAP[key],
|
|
660
677
|
value: key,
|
|
661
678
|
}));
|
|
662
|
-
const selectedLanguage =
|
|
679
|
+
const selectedLanguage = this.getSelectedLanguage();
|
|
680
|
+
const selectedDateLabel = selectedDate ? this.formatSelectedDateLabel(selectedDate) : `${i18next.t('noDateSelected')}`;
|
|
663
681
|
if (showDefaultScheduler && (cancelBookingId || rejectBookingId) && !cancelledEventInfo) {
|
|
664
682
|
return (h(Host, null, h(SchedulerView, { version: this.version, nylasBranding: nylasBranding, isLoading: this.isLoading, showNotification: this.showNotification }, h("div", { class: "cancel-flow-page", part: "cancel-flow-page" }, h("nylas-cancel-booking-form", { selectedTimeslot: selectedTimeslot, cancelBookingId: cancelBookingId, rejectBookingId: rejectBookingId, exportparts: "ncbf, ncbf__icon, ncbf__title, ncbf__description, ncbf__reason-textarea, ncbf__button-cta, ncbf__button-outline, ncbf__card" }))), h("div", { class: "language-feedback-container" }, this.enableUserFeedback && (h("button-component", { id: "report-issue", variant: 'basic', onClick: e => this.onFeedbackClick(e) }, h("feedback-icon", null))), h("select-dropdown", { name: "language", searchPlaceholder: i18next.t('search'), options: languageOptions, withChevron: false, themeConfig: this.themeConfig, defaultSelectedOption: languageOptions.find(lang => lang.value == selectedLanguage), exportparts: "sd_dropdown: nse__language-dropdown, sd_dropdown-button: nse__language-drop-button, sd_dropdown-content: nse__language-drop-content, sd_dropdown_label: nse__language-drop-label" }, h("span", { slot: "select-icon" }, h("translate-icon", { width: "20", height: "20" })))), this.showFeedbackModal && h("nylas-feedback-form", null)));
|
|
665
683
|
}
|
|
@@ -716,7 +734,7 @@ export class NylasScheduling {
|
|
|
716
734
|
}
|
|
717
735
|
if (showDefaultScheduler && (!eventInfo || !!rescheduleBookingId) && !showBookingForm) {
|
|
718
736
|
const timeslotPickerCTALabel = this.host.querySelector('[slot="timeslot-picker-cta-label"]');
|
|
719
|
-
return (h(Host, null, h(SchedulerView, { version: this.version, nylasBranding: nylasBranding, isLoading: this.isLoading, showNotification: this.showNotification }, rescheduleBookingId && h(MessageBanner, null, `${i18next.t('rescheduleTitle')}`), h("div", { class: "select-date-page", part: "select-date-page ns_select-date-page" }, h("div", { class: "left-panel", part: "ns_left-panel" }, h("nylas-date-picker", { exportparts: "ndp, ndp__title, ndp__month-header, ndp__month-button, ndp__day, ndp__date, ndp__date--disabled, ndp__date--selected, ndp__date--current-day, ndp__date--current-month" }), h("nylas-locale-switch", { exportparts: "nls, nls__timezone, nls__timezone-dropdown, nls__timezone-drop-button, nls__timezone-drop-button-selected-label, nls__timezone-drop-content, nls__timezone-drop-label, nls__language, nls__language-dropdown, nls__language-drop-button, nls__language-drop-content, nls__language-drop-label" })), h("div", { class: `right-panel ${rescheduleBookingId ? 'reschedule' : ''}`, part: `ns_right-panel ${rescheduleBookingId ? 'ns_reschedule' : ''}` }, h("h2", { part: "ns_right-panel__title" }, h("calendar-icon", { part: "ns_right-panel__calendar-icon" }), h("span", { id: "selectedDate", part: "ns_right-panel__selected-date" },
|
|
737
|
+
return (h(Host, null, h(SchedulerView, { version: this.version, nylasBranding: nylasBranding, isLoading: this.isLoading, showNotification: this.showNotification }, rescheduleBookingId && h(MessageBanner, null, `${i18next.t('rescheduleTitle')}`), h("div", { class: "select-date-page", part: "select-date-page ns_select-date-page" }, h("div", { class: "left-panel", part: "ns_left-panel" }, h("nylas-date-picker", { exportparts: "ndp, ndp__title, ndp__month-header, ndp__month-button, ndp__day, ndp__date, ndp__date--disabled, ndp__date--selected, ndp__date--current-day, ndp__date--current-month" }), h("nylas-locale-switch", { exportparts: "nls, nls__timezone, nls__timezone-dropdown, nls__timezone-drop-button, nls__timezone-drop-button-selected-label, nls__timezone-drop-content, nls__timezone-drop-label, nls__language, nls__language-dropdown, nls__language-drop-button, nls__language-drop-content, nls__language-drop-label" })), h("div", { class: `right-panel ${rescheduleBookingId ? 'reschedule' : ''}`, part: `ns_right-panel ${rescheduleBookingId ? 'ns_reschedule' : ''}` }, h("h2", { part: "ns_right-panel__title" }, h("calendar-icon", { part: "ns_right-panel__calendar-icon" }), h("span", { id: "selectedDate", part: "ns_right-panel__selected-date" }, selectedDateLabel)), h("nylas-timeslot-picker", { exportparts: "ntp, ntp__time-picker-wrapper, ntp__timeslots, ntp__timeslot, ntp__timeslot--selected, ntp__button-primary" }, timeslotPickerCTALabel && (h("span", { slot: "timeslot-picker-cta-label" }, h("slot", { name: "timeslot-picker-cta-label" }))))))), this.enableUserFeedback && (h("button-component", { id: "report-issue", variant: 'basic', onClick: e => this.onFeedbackClick(e) }, h("feedback-icon", null))), this.showFeedbackModal && h("nylas-feedback-form", null)));
|
|
720
738
|
}
|
|
721
739
|
if (showDefaultScheduler && !eventInfo && showBookingForm) {
|
|
722
740
|
return (h(Host, null, h(SchedulerView, { version: this.version, nylasBranding: nylasBranding, isLoading: this.isLoading, showNotification: this.showNotification }, rescheduleBookingId && h(MessageBanner, null, `${i18next.t('rescheduleTitle')}`), h("div", { class: "additional-data-page", part: "additional-data-page ns_additional-data-page" }, h("div", { class: "left-panel ns_left-panel", part: "ns_left-panel" }, h("div", { class: "wrapper", part: "ns_left-panel__wrapper" }, h("nylas-selected-event-card", { exportparts: "nsec, nsec__card, nsec__icon, nsec__date, nsec__time, nsec__timezone" }))), h("div", { class: `right-panel ${rescheduleBookingId ? 'reschedule' : ''}`, part: `ns_right-panel ${rescheduleBookingId ? 'ns_reschedule' : ''}` }, h("nylas-booking-form", { exportparts: "nbf, nbf__input-textfield, nbf__button-ghost, nbf__button-outline, nbf__button-primary, nbf__input-wrapper, nbf__checkbox-component, nbf__radio-button-group, nbf__textarea-component, nbf__dropdown, nbf__dropdown-button, nbf__dropdown-content" })))), h("div", { class: "language-feedback-container" }, this.enableUserFeedback && (h("button-component", { id: "report-issue", variant: 'basic', onClick: e => this.onFeedbackClick(e) }, h("feedback-icon", null))), h("select-dropdown", { name: "language", searchPlaceholder: i18next.t('search'), options: languageOptions, withChevron: false, themeConfig: this.themeConfig, defaultSelectedOption: languageOptions.find(lang => lang.value == selectedLanguage), exportparts: "sd_dropdown: nse__language-dropdown, sd_dropdown-button: nse__language-drop-button, sd_dropdown-content: nse__language-drop-content, sd_dropdown_label: nse__language-drop-label" }, h("span", { slot: "select-icon" }, h("translate-icon", { width: "20", height: "20" })))), this.showFeedbackModal && h("nylas-feedback-form", null)));
|