@nylas/web-elements 2.5.5 → 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 +5431 -5395
- package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +7606 -7551
- package/dist/cjs/{abstract-provider-NL9mvsRm.js → abstract-provider-f3JKAnoC.js} +3 -3
- package/dist/cjs/{abstract-provider-NL9mvsRm.js.map → abstract-provider-f3JKAnoC.js.map} +1 -1
- 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 +28 -14
- 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-y-IXeOX1.js → version-CJ5046pS.js} +3 -3
- package/dist/cjs/{version-y-IXeOX1.js.map → version-CJ5046pS.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 +23 -10
- 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 +45 -31
- 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-677FcYj-.js → p-C8K-8dJ0.js} +52 -52
- package/dist/components/{p-677FcYj-.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-CzVKC2Lf.js → p-CsyEOZaq.js} +3 -3
- package/dist/components/{p-CzVKC2Lf.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-CigXeIp5.js → p-U-EdxzfX.js} +3 -3
- package/dist/components/{p-CigXeIp5.js.map → p-U-EdxzfX.js.map} +1 -1
- package/dist/components/{p-BW6mh3NI.js → p-Uj5eg-r1.js} +42 -42
- package/dist/components/{p-BW6mh3NI.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-Bxd_4MUD.js → abstract-provider-Dbnlk0Q8.js} +3 -3
- package/dist/esm/{abstract-provider-Bxd_4MUD.js.map → abstract-provider-Dbnlk0Q8.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-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 +28 -14
- 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-CqK6_Oc7.js → version-Xc-4F4Ta.js} +3 -3
- package/dist/esm/{version-CqK6_Oc7.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-ca41de7e.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-DGwaF706.js.map → p-CpfLRTv0.js.map} +1 -1
- 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-CqK6_Oc7.js → p-Xc-4F4Ta.js} +2 -2
- package/dist/nylas-web-elements/{p-CqK6_Oc7.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-196717a0.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/components/p-BJPokpdk.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/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-DGwaF706.js +0 -2
- 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-d1dc06a1.entry.js +0 -2
- package/dist/nylas-web-elements/p-d1dc06a1.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-ca41de7e.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-196717a0.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,11 +1,11 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, e as createEvent, f as forceUpdate, h, i as Host } from './p-Bht9ktsW.js';
|
|
2
|
-
import { R as RegisterComponent } from './p-
|
|
3
|
-
import { a as debug } from './p-
|
|
4
|
-
import { i as instance } from './p-
|
|
2
|
+
import { R as RegisterComponent } from './p-jHq8WTky.js';
|
|
3
|
+
import { a as debug } from './p-xxFdByBn.js';
|
|
4
|
+
import { i as instance } from './p-BjxQTsOy.js';
|
|
5
5
|
import { d as defineCustomElement$5 } from './p-BkqJQBCp.js';
|
|
6
6
|
import { d as defineCustomElement$4 } from './p-d3kelm3z.js';
|
|
7
|
-
import { d as defineCustomElement$3 } from './p-
|
|
8
|
-
import { d as defineCustomElement$2 } from './p-
|
|
7
|
+
import { d as defineCustomElement$3 } from './p-cIIaCJPC.js';
|
|
8
|
+
import { d as defineCustomElement$2 } from './p-BpDfyvY4.js';
|
|
9
9
|
import { d as defineCustomElement$1 } from './p-DxDoo-4C.js';
|
|
10
10
|
|
|
11
11
|
const nylasNotetakerConfigCss = ":host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:\"Inter\", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff;width:inherit}.nylas-notetaker-config{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-notetaker-config .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-notetaker-config .header h3{margin:0;font-size:16px;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-notetaker-config .header p{margin:0.5rem 0 0 0;font-size:14px;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-notetaker-config .content{padding:1rem;display:flex;flex-direction:column;gap:1.5rem;background-color:var(--nylas-base-25)}.nylas-notetaker-config .primary-toggle{padding:1rem;background-color:var(--nylas-base-50);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius);margin-bottom:0.5rem}.nylas-notetaker-config .section{display:flex;flex-direction:column;gap:0.75rem}.nylas-notetaker-config .section .section-title{margin:0;font-size:14px;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-notetaker-config .section .section-description{margin:0;font-size:13px;font-weight:400;line-height:18px;color:var(--nylas-base-600);text-align:left}.nylas-notetaker-config .section .section-content{display:flex;flex-direction:column;gap:1rem;margin-left:0.5rem}.nylas-notetaker-config .label{margin-left:32px;font-size:14px;font-weight:400;color:var(--nylas-base-800);line-height:20px;display:flex;align-items:center;gap:0.5rem}.nylas-notetaker-config .label .label-contents{margin:0;display:inline-block;color:var(--nylas-base-900)}.nylas-notetaker-config .label tooltip-component{display:inline-block}.nylas-notetaker-config .checkbox-container.checkbox-disabled,.nylas-notetaker-config .primary-toggle.checkbox-disabled{opacity:0.6;pointer-events:none;cursor:not-allowed}.nylas-notetaker-config .checkbox-container.checkbox-disabled .label,.nylas-notetaker-config .primary-toggle.checkbox-disabled .label{color:var(--nylas-base-500) !important;cursor:not-allowed}.nylas-notetaker-config .checkbox-container.checkbox-disabled .label .label-contents,.nylas-notetaker-config .primary-toggle.checkbox-disabled .label .label-contents{color:var(--nylas-base-500) !important}.nylas-notetaker-config .checkbox-container.checkbox-disabled checkbox-component,.nylas-notetaker-config .primary-toggle.checkbox-disabled checkbox-component{opacity:0.7;cursor:not-allowed}.nylas-notetaker-config .checkbox-container,.nylas-notetaker-config .primary-toggle{transition:opacity 0.2s ease}.nylas-notetaker-config .label{transition:color 0.2s ease}.nylas-notetaker-config .input-container,.nylas-notetaker-config .textarea-container{margin-left:0;position:relative}.nylas-notetaker-config .input-container .input-help-text,.nylas-notetaker-config .textarea-container .input-help-text{margin:0.5rem 0 0 0;color:var(--nylas-base-600);font-size:13px;line-height:18px}.nylas-notetaker-config .input-container .field-error-message,.nylas-notetaker-config .textarea-container .field-error-message{margin-top:0.5rem;color:var(--nylas-color-red-700);font-size:14px;line-height:20px}.nylas-notetaker-config .input-container .character-count,.nylas-notetaker-config .textarea-container .character-count{margin-top:0.25rem;color:var(--nylas-base-600);font-size:12px;line-height:16px;text-align:right}.nylas-notetaker-config .error-message{padding:0.75rem;background-color:var(--nylas-color-red-50);border:1px solid var(--nylas-color-red-300);border-radius:var(--nylas-border-radius);color:var(--nylas-color-red-700);font-size:14px;line-height:20px}.nylas-notetaker-config .info-message{padding:0.75rem;background-color:var(--nylas-color-blue-50);border:1px solid var(--nylas-color-blue-300);border-radius:var(--nylas-border-radius);color:var(--nylas-color-blue-700);font-size:14px;line-height:20px}";
|
|
@@ -663,6 +663,6 @@ function defineCustomElement() {
|
|
|
663
663
|
}
|
|
664
664
|
|
|
665
665
|
export { NylasNotetakerConfig as N, defineCustomElement as d };
|
|
666
|
-
//# sourceMappingURL=p-
|
|
666
|
+
//# sourceMappingURL=p-CMF0O-Fp.js.map
|
|
667
667
|
|
|
668
|
-
//# sourceMappingURL=p-
|
|
668
|
+
//# sourceMappingURL=p-CMF0O-Fp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-BB1ko_uE.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-notetaker-config/nylas-notetaker-config.scss?tag=nylas-notetaker-config&encapsulation=shadow","src/components/scheduler-editor/nylas-notetaker-config/nylas-notetaker-config.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-notetaker-config {\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.5rem 0 0 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n\n .content {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n background-color: var(--nylas-base-25);\n }\n\n .primary-toggle {\n padding: 1rem;\n background-color: var(--nylas-base-50);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius);\n margin-bottom: 0.5rem;\n }\n\n .section {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n\n .section-title {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n .section-description {\n margin: 0;\n font-size: 13px;\n font-weight: 400;\n line-height: 18px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n\n .section-content {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n margin-left: 0.5rem;\n }\n }\n\n // Styling for slotted label content in checkbox components\n .label {\n margin-left: 32px;\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-800);\n line-height: 20px;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n .label-contents {\n margin: 0;\n display: inline-block;\n color: var(--nylas-base-900);\n }\n\n tooltip-component {\n display: inline-block;\n }\n }\n\n // Enhanced disabled/readonly checkbox styling\n .checkbox-container.checkbox-disabled,\n .primary-toggle.checkbox-disabled {\n opacity: 0.6;\n pointer-events: none;\n cursor: not-allowed;\n\n // Style the label content when checkbox is disabled\n .label {\n color: var(--nylas-base-500) !important;\n cursor: not-allowed;\n\n .label-contents {\n color: var(--nylas-base-500) !important;\n }\n }\n\n // Style the checkbox component itself\n checkbox-component {\n opacity: 0.7;\n cursor: not-allowed;\n }\n }\n\n // Ensure smooth transitions\n .checkbox-container,\n .primary-toggle {\n transition: opacity 0.2s ease;\n }\n\n .label {\n transition: color 0.2s ease;\n }\n\n .input-container,\n .textarea-container {\n margin-left: 0;\n position: relative;\n\n .input-help-text {\n margin: 0.5rem 0 0 0;\n color: var(--nylas-base-600);\n font-size: 13px;\n line-height: 18px;\n }\n\n .field-error-message {\n margin-top: 0.5rem;\n color: var(--nylas-color-red-700);\n font-size: 14px;\n line-height: 20px;\n }\n\n .character-count {\n margin-top: 0.25rem;\n color: var(--nylas-base-600);\n font-size: 12px;\n line-height: 16px;\n text-align: right;\n }\n }\n\n .error-message {\n padding: 0.75rem;\n background-color: var(--nylas-color-red-50);\n border: 1px solid var(--nylas-color-red-300);\n border-radius: var(--nylas-border-radius);\n color: var(--nylas-color-red-700);\n font-size: 14px;\n line-height: 20px;\n }\n\n .info-message {\n padding: 0.75rem;\n background-color: var(--nylas-color-blue-50);\n border: 1px solid var(--nylas-color-blue-300);\n border-radius: var(--nylas-border-radius);\n color: var(--nylas-color-blue-700);\n font-size: 14px;\n line-height: 20px;\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, forceUpdate, Host, Listen, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, Conference, Notetaker, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * Interface representing the complete state of the notetaker configuration\n */\nexport interface NotetakerState {\n enabled: boolean;\n notetakerName: string;\n showUiConsentMessage: boolean;\n videoRecording: boolean;\n audioRecording: boolean;\n transcription: boolean;\n summary: boolean;\n actionItems: boolean;\n summaryCustomInstructions: string;\n actionItemsCustomInstructions: string;\n isConferencingConfigured: boolean;\n conferencing?: Conference;\n validationError?: string;\n summaryInstructionsError?: string;\n actionItemsInstructionsError?: string;\n}\n\n/**\n * The `nylas-notetaker-config` component is a UI component that allows users to configure Notetaker settings for scheduler configurations.\n * @part nntc - The notetaker config container\n * @part nntc__header - The header of the notetaker config\n * @part nntc__section - A section container\n * @part nntc__section-title - A section title\n * @part nntc__content - The content container\n * @part nntc__input - An input field\n * @part nntc__textarea - A textarea field\n * @part nntc__checkbox - A checkbox container\n */\n@Component({\n tag: 'nylas-notetaker-config',\n styleUrl: 'nylas-notetaker-config.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasNotetakerConfig {\n @Element() host!: HTMLNylasNotetakerConfigElement;\n\n /**\n * @standalone\n * The selected configuration\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The conferencing configuration\n */\n @Prop() conferencing?: Conference;\n\n /**\n * @standalone\n * The name of the component\n */\n @Prop() name: string = 'notetaker';\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 * State for enabled/disabled\n */\n @State() enabled: boolean = false;\n\n /**\n * State for show UI consent message\n */\n @State() showUiConsentMessage: boolean = false;\n\n /**\n * State for notetaker name\n */\n @State() notetakerName: string = '';\n\n /**\n * State for video recording\n */\n @State() videoRecording: boolean = false;\n\n /**\n * State for audio recording\n */\n @State() audioRecording: boolean = false;\n\n /**\n * State for transcription\n */\n @State() transcription: boolean = false;\n\n /**\n * State for AI summary\n */\n @State() summary: boolean = false;\n\n /**\n * State for AI summary custom instructions\n */\n @State() summaryCustomInstructions: string = '';\n\n /**\n * State for AI action items\n */\n @State() actionItems: boolean = false;\n\n /**\n * State for AI action items custom instructions\n */\n @State() actionItemsCustomInstructions: string = '';\n\n /**\n * State for validation error\n */\n @State() validationError: string = '';\n\n /**\n * State for summary custom instructions error\n */\n @State() summaryInstructionsError: string = '';\n\n /**\n * State for action items custom instructions error\n */\n @State() actionItemsInstructionsError: string = '';\n\n /**\n * Maximum character limit for custom instructions\n */\n private readonly MAX_CUSTOM_INSTRUCTIONS_LENGTH = 1500;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * This event is fired when the notetaker configuration changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * This event is fired when an error occurs in the notetaker configuration.\n */\n @Event() notetakerError!: EventEmitter<{\n error: string;\n reason: string;\n context?: Record<string, any>;\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-notetaker-config', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-notetaker-config', 'selectedConfigurationChangedHandler', newValue);\n const notetaker = newValue?.scheduler?.notetaker_settings;\n if (notetaker) {\n this.enabled = notetaker.enabled ?? false;\n this.showUiConsentMessage = notetaker.show_ui_consent_message ?? false;\n this.notetakerName = notetaker.notetaker_name ?? '';\n this.videoRecording = notetaker.meeting_settings?.video_recording ?? false;\n this.audioRecording = notetaker.meeting_settings?.audio_recording ?? false;\n this.transcription = notetaker.meeting_settings?.transcription ?? false;\n this.summary = notetaker.meeting_settings?.summary ?? false;\n this.summaryCustomInstructions = notetaker.meeting_settings?.summary_settings?.custom_instructions ?? '';\n this.actionItems = notetaker.meeting_settings?.action_items ?? false;\n this.actionItemsCustomInstructions = notetaker.meeting_settings?.action_items_settings?.custom_instructions ?? '';\n } else {\n // Reset to defaults\n this.enabled = false;\n this.showUiConsentMessage = false;\n this.notetakerName = '';\n this.videoRecording = false;\n this.audioRecording = false;\n this.transcription = false;\n this.summary = false;\n this.summaryCustomInstructions = '';\n this.actionItems = false;\n this.actionItemsCustomInstructions = '';\n }\n this.validateAndEmit(false);\n }\n\n @Watch('conferencing')\n conferencingChangedHandler(newValue: Conference | undefined, oldValue?: Conference | undefined) {\n debug('nylas-notetaker-config', 'conferencingChangedHandler', { newValue, oldValue });\n\n const wasConfigured = !!(oldValue && oldValue.provider);\n const isConfigured = !!(newValue && newValue.provider);\n\n // Log state transitions for debugging\n if (!wasConfigured && isConfigured) {\n debug('nylas-notetaker-config', 'Conferencing enabled - notetaker can now be configured');\n } else if (wasConfigured && !isConfigured) {\n debug('nylas-notetaker-config', 'Conferencing disabled - clearing notetaker settings');\n }\n\n // If conferencing is disabled/cleared, automatically unset notetaker\n if (!newValue || !newValue.provider) {\n this.enabled = false;\n this.showUiConsentMessage = false;\n this.notetakerName = '';\n this.videoRecording = false;\n this.audioRecording = false;\n this.transcription = false;\n this.summary = false;\n this.summaryCustomInstructions = '';\n this.actionItems = false;\n this.actionItemsCustomInstructions = '';\n this.validateAndEmit(true);\n } else if (isConfigured) {\n // Conferencing is now configured - trigger validation to ensure state is consistent\n this.validateAndEmit(false);\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n connectedCallback() {\n debug('nylas-notetaker-config', '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-notetaker-config', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-notetaker-config', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n // Check if conferencing is configured\n if (!this.conferencing || !this.conferencing.provider) {\n this.conferencingChangedHandler(this.conferencing);\n }\n }\n\n disconnectedCallback() {\n debug('nylas-notetaker-config', 'disconnectedCallback');\n }\n\n /**\n * Public method to programmatically update conferencing configuration\n */\n @Method()\n async updateConferencing(conferencing: Conference | undefined): Promise<void> {\n debug('nylas-notetaker-config', 'updateConferencing', conferencing);\n this.conferencing = conferencing;\n // The @Watch decorator will automatically trigger conferencingChangedHandler\n }\n\n /**\n * Public method to programmatically set notetaker enabled state\n * @returns Object with success status and optional error message\n */\n @Method()\n async setNotetakerEnabled(enabled: boolean): Promise<{ success: boolean; error?: string }> {\n if (!this.isConferencingConfigured) {\n const error = 'Cannot enable notetaker: conferencing is not configured';\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'conferencing_not_configured',\n context: { enabled },\n });\n return { success: false, error };\n }\n\n this.enabled = enabled;\n\n // When enabling Notetaker, default enable video, audio recording, and transcription\n if (enabled) {\n this.videoRecording = true;\n this.audioRecording = true;\n this.transcription = true;\n }\n\n // Validate and emit - validation errors are stored in state, not returned\n this.validateAndEmit(true, true);\n // Return success: true if the operation succeeded (conferencing was configured)\n // Validation errors are available via getNotetakerState().validationError\n return { success: true };\n }\n\n /**\n * Public method to programmatically set a notetaker option\n * @param option - The option name (e.g., 'notetakerName', 'videoRecording', 'audioRecording', etc.)\n * @param value - The value to set (boolean for checkboxes, string for inputs)\n * @returns Object with success status and optional error message\n */\n @Method()\n async setNotetakerOption(option: string, value: boolean | string): Promise<{ success: boolean; error?: string }> {\n // notetakerName can always be set, regardless of conferencing status\n if (option === 'notetakerName') {\n if (typeof value !== 'string') {\n return { success: false, error: 'notetakerName must be a string' };\n }\n this.notetakerName = value;\n // Name can be set even if notetaker is not enabled or conferencing is not configured\n // Validate and emit but always return success\n this.validateAndEmit(true, true);\n return { success: true };\n }\n\n // For all other options, conferencing must be configured\n if (!this.isConferencingConfigured) {\n const error = `Cannot set ${option}: conferencing is not configured`;\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'conferencing_not_configured',\n context: { option, value },\n });\n return { success: false, error };\n }\n\n switch (option) {\n case 'enabled':\n return this.setNotetakerEnabled(value === true);\n case 'showUiConsentMessage':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'showUiConsentMessage must be a boolean' };\n }\n this.showUiConsentMessage = value;\n break;\n case 'videoRecording':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'videoRecording must be a boolean' };\n }\n this.videoRecording = value;\n break;\n case 'audioRecording':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'audioRecording must be a boolean' };\n }\n this.audioRecording = value;\n // When disabling audio recording, also disable transcription, summary, and action items\n if (!value) {\n this.transcription = false;\n this.summary = false;\n this.actionItems = false;\n this.summaryCustomInstructions = '';\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'transcription':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'transcription must be a boolean' };\n }\n if (value && !this.audioRecording) {\n const error = 'Cannot enable transcription: audio recording must be enabled first';\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'audio_recording_required',\n context: { option, value },\n });\n return { success: false, error };\n }\n this.transcription = value;\n // When disabling transcription, also disable summary and action items\n if (!value) {\n this.summary = false;\n this.actionItems = false;\n this.summaryCustomInstructions = '';\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'summary':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'summary must be a boolean' };\n }\n if (value && !this.transcription) {\n const error = 'Cannot enable summary: transcription must be enabled first';\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'transcription_required',\n context: { option, value },\n });\n return { success: false, error };\n }\n this.summary = value;\n if (!value) {\n this.summaryCustomInstructions = '';\n }\n break;\n case 'actionItems':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'actionItems must be a boolean' };\n }\n if (value && !this.transcription) {\n const error = 'Cannot enable action items: transcription must be enabled first';\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'transcription_required',\n context: { option, value },\n });\n return { success: false, error };\n }\n this.actionItems = value;\n if (!value) {\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'summaryCustomInstructions':\n if (typeof value !== 'string') {\n return { success: false, error: 'summaryCustomInstructions must be a string' };\n }\n this.summaryCustomInstructions = value;\n break;\n case 'actionItemsCustomInstructions':\n if (typeof value !== 'string') {\n return { success: false, error: 'actionItemsCustomInstructions must be a string' };\n }\n this.actionItemsCustomInstructions = value;\n break;\n default:\n return { success: false, error: `Unknown option: ${option}` };\n }\n\n // Validate and emit - validation errors are stored in state, not returned\n this.validateAndEmit(true, true);\n // Return success: true if the operation succeeded\n // Validation errors are available via getNotetakerState().validationError\n return { success: true };\n }\n\n /**\n * Public method to get current notetaker state\n * @returns Object containing all current state values\n */\n @Method()\n async getNotetakerState(): Promise<NotetakerState> {\n return {\n enabled: this.enabled,\n notetakerName: this.notetakerName,\n showUiConsentMessage: this.showUiConsentMessage,\n videoRecording: this.videoRecording,\n audioRecording: this.audioRecording,\n transcription: this.transcription,\n summary: this.summary,\n actionItems: this.actionItems,\n summaryCustomInstructions: this.summaryCustomInstructions,\n actionItemsCustomInstructions: this.actionItemsCustomInstructions,\n isConferencingConfigured: this.isConferencingConfigured,\n conferencing: this.conferencing,\n validationError: this.validationError,\n summaryInstructionsError: this.summaryInstructionsError,\n actionItemsInstructionsError: this.actionItemsInstructionsError,\n };\n }\n\n /**\n * Check if conferencing is configured\n */\n get isConferencingConfigured(): boolean {\n return !!(this.conferencing && this.conferencing.provider);\n }\n\n /**\n * Check if at least one setting is enabled\n */\n get hasAtLeastOneSetting(): boolean {\n return this.videoRecording || this.audioRecording || this.transcription || this.summary || this.actionItems;\n }\n\n /**\n * Validate the notetaker configuration\n */\n validate(): boolean {\n this.validationError = '';\n this.summaryInstructionsError = '';\n this.actionItemsInstructionsError = '';\n\n // If notetaker is enabled, name is required\n if (this.enabled && !this.notetakerName.trim()) {\n this.validationError = i18next.t('nylasNotetakerConfig.validation.nameRequired') || 'Notetaker name is required when recording is enabled.';\n return false;\n }\n\n // If notetaker is enabled, at least one setting must be enabled\n if (this.enabled && !this.hasAtLeastOneSetting) {\n this.validationError = i18next.t('nylasNotetakerConfig.validation.atLeastOneSettingRequired') || 'At least one recording or AI feature must be enabled.';\n return false;\n }\n\n // Validate that transcription requires audio recording\n if (this.transcription && !this.audioRecording) {\n this.validationError = i18next.t('nylasNotetakerConfig.validation.audioRecordingRequired') || 'Audio recording must be enabled to use transcription.';\n return false;\n }\n\n // Validate that summary or action items require transcription\n if ((this.summary || this.actionItems) && !this.transcription) {\n this.validationError = i18next.t('nylasNotetakerConfig.validation.transcriptionRequired') || 'Transcription must be enabled to use AI summary or action items features.';\n return false;\n }\n\n // Validate summary custom instructions length\n if (this.summary && this.summaryCustomInstructions.length > this.MAX_CUSTOM_INSTRUCTIONS_LENGTH) {\n this.summaryInstructionsError =\n i18next.t('nylasNotetakerConfig.validation.customInstructionsMaxLength', { max: this.MAX_CUSTOM_INSTRUCTIONS_LENGTH }) ||\n `Additional prompt cannot exceed ${this.MAX_CUSTOM_INSTRUCTIONS_LENGTH} characters.`;\n this.validationError = this.summaryInstructionsError;\n return false;\n }\n\n // Validate action items custom instructions length\n if (this.actionItems && this.actionItemsCustomInstructions.length > this.MAX_CUSTOM_INSTRUCTIONS_LENGTH) {\n this.actionItemsInstructionsError =\n i18next.t('nylasNotetakerConfig.validation.customInstructionsMaxLength', { max: this.MAX_CUSTOM_INSTRUCTIONS_LENGTH }) ||\n `Additional prompt cannot exceed ${this.MAX_CUSTOM_INSTRUCTIONS_LENGTH} characters.`;\n this.validationError = this.actionItemsInstructionsError;\n return false;\n }\n\n return true;\n }\n\n /**\n * Build the Notetaker object from current state\n */\n buildNotetakerObject(): Notetaker | null {\n // If conferencing is not configured, return { enabled: false } to preserve the notetaker payload\n if (!this.isConferencingConfigured) {\n return { enabled: false };\n }\n\n // If not enabled but conferencing is configured, explicitly return { enabled: false }\n // This ensures the API receives the disabled state instead of omitting the field\n if (!this.enabled) {\n return { enabled: false };\n }\n\n const meetingSettings: any = {};\n\n // Always set boolean values explicitly to ensure unchecked options are sent as false\n meetingSettings.video_recording = this.videoRecording;\n meetingSettings.audio_recording = this.audioRecording;\n meetingSettings.transcription = this.transcription;\n meetingSettings.summary = this.summary;\n meetingSettings.action_items = this.actionItems;\n\n // Add custom instructions only when the feature is enabled and instructions exist\n if (this.summary && this.summaryCustomInstructions.trim()) {\n meetingSettings.summary_settings = {\n custom_instructions: this.summaryCustomInstructions.trim(),\n };\n }\n if (this.actionItems && this.actionItemsCustomInstructions.trim()) {\n meetingSettings.action_items_settings = {\n custom_instructions: this.actionItemsCustomInstructions.trim(),\n };\n }\n\n const notetaker: Notetaker = {\n enabled: true,\n show_ui_consent_message: this.showUiConsentMessage,\n notetaker_name: this.notetakerName.trim(),\n };\n\n if (Object.keys(meetingSettings).length > 0) {\n notetaker.meeting_settings = meetingSettings;\n }\n\n return notetaker;\n }\n\n /**\n * Validate and emit the value\n */\n validateAndEmit(valueChanged: boolean = true, forceRerender: boolean = false): boolean {\n const isValid = this.validate();\n\n if (isValid) {\n const notetaker = this.buildNotetakerObject();\n const value = notetaker ? JSON.stringify(notetaker) : JSON.stringify(null);\n\n if (valueChanged) {\n this.valueChanged.emit({\n value,\n name: this.name,\n });\n }\n\n if (this.isInternalsAvailable) {\n this.internals.setFormValue(value, this.name);\n this.internals.setValidity({});\n }\n\n // Force update if requested (useful for programmatic state changes)\n if (forceRerender) {\n // Trigger re-render by accessing a state property\n forceUpdate(this);\n }\n } else {\n if (this.isInternalsAvailable) {\n this.internals.setFormValue('', this.name);\n this.internals.setValidity(\n {\n customError: true,\n },\n this.validationError,\n );\n }\n }\n\n return isValid;\n }\n\n get isInternalsAvailable() {\n return this.internals !== undefined && typeof this.internals.setFormValue === 'function';\n }\n\n @Listen('nylasFormCheckboxToggled', { target: 'document' })\n nylasFormCheckboxToggledHandler(event: CustomEvent<{ checked: boolean; name: string }>) {\n debug('nylas-notetaker-config', 'nylasFormCheckboxToggledHandler', event.detail);\n const { name, checked } = event.detail;\n\n // Only handle events from this component's children\n if (!name.startsWith('notetaker-')) {\n return;\n }\n\n // Don't allow any changes if conferencing is not configured\n if (!this.isConferencingConfigured) {\n const errorMessage = `Cannot ${checked ? 'enable' : 'disable'} ${name}: conferencing is not configured`;\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'conferencing_not_configured',\n context: { checkboxName: name, checked },\n });\n return;\n }\n\n switch (name) {\n case 'notetaker-enabled':\n this.enabled = checked;\n // When enabling Notetaker, default enable video, audio recording, and transcription\n if (checked) {\n this.videoRecording = true;\n this.audioRecording = true;\n this.transcription = true;\n }\n break;\n case 'notetaker-show-consent':\n this.showUiConsentMessage = checked;\n break;\n case 'notetaker-video':\n this.videoRecording = checked;\n break;\n case 'notetaker-audio':\n this.audioRecording = checked;\n // When disabling audio recording, also disable transcription, summary, and action items\n if (!checked) {\n this.transcription = false;\n this.summary = false;\n this.actionItems = false;\n // Clear custom instructions when disabling audio recording\n this.summaryCustomInstructions = '';\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'notetaker-transcription':\n // Only allow enabling transcription if audio recording is enabled\n if (checked && !this.audioRecording) {\n const errorMessage = 'Cannot enable transcription: audio recording must be enabled first';\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'audio_recording_required',\n context: { checkboxName: name, checked },\n });\n return;\n }\n this.transcription = checked;\n // When disabling transcription, also disable summary and action items\n if (!checked) {\n this.summary = false;\n this.actionItems = false;\n // Clear custom instructions when disabling transcription\n this.summaryCustomInstructions = '';\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'notetaker-summary':\n // Only allow enabling summary if transcription is enabled\n if (checked && !this.transcription) {\n const errorMessage = 'Cannot enable summary: transcription must be enabled first';\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'transcription_required',\n context: { checkboxName: name, checked },\n });\n return;\n }\n this.summary = checked;\n // Clear custom instructions when disabling summary\n if (!checked) {\n this.summaryCustomInstructions = '';\n }\n break;\n case 'notetaker-action-items':\n // Only allow enabling action items if transcription is enabled\n if (checked && !this.transcription) {\n const errorMessage = 'Cannot enable action items: transcription must be enabled first';\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'transcription_required',\n context: { checkboxName: name, checked },\n });\n return;\n }\n this.actionItems = checked;\n // Clear custom instructions when disabling action items\n if (!checked) {\n this.actionItemsCustomInstructions = '';\n }\n break;\n }\n this.validateAndEmit();\n }\n\n @Listen('nylasFormInputChanged', { target: 'document' })\n nylasFormInputChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-notetaker-config', 'nylasFormInputChangedHandler', event.detail);\n const { name, value } = event.detail;\n\n // Only handle events from this component's children\n if (!name.startsWith('notetaker-')) {\n return;\n }\n\n // notetaker-name can always be set, regardless of conferencing status\n if (name === 'notetaker-name') {\n this.notetakerName = value;\n this.validateAndEmit();\n return;\n }\n\n // For all other inputs, conferencing must be configured\n if (!this.isConferencingConfigured) {\n const errorMessage = `Cannot set ${name}: conferencing is not configured`;\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'conferencing_not_configured',\n context: { inputName: name, value },\n });\n return;\n }\n\n switch (name) {\n case 'notetaker-summary-instructions':\n this.summaryCustomInstructions = value;\n // Clear error when user starts typing\n if (this.summaryInstructionsError && value.length <= this.MAX_CUSTOM_INSTRUCTIONS_LENGTH) {\n this.summaryInstructionsError = '';\n }\n break;\n case 'notetaker-action-items-instructions':\n this.actionItemsCustomInstructions = value;\n // Clear error when user starts typing\n if (this.actionItemsInstructionsError && value.length <= this.MAX_CUSTOM_INSTRUCTIONS_LENGTH) {\n this.actionItemsInstructionsError = '';\n }\n break;\n }\n this.validateAndEmit();\n }\n\n @RegisterComponent<NylasNotetakerConfig, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-notetaker-config',\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 isDisabled = !this.isConferencingConfigured;\n\n return (\n <Host>\n <div class=\"nylas-notetaker-config\" part=\"nntc\">\n <div class=\"header\" part=\"nntc__header\">\n <h3>{i18next.t('nylasNotetakerConfig.headerTitle') || 'Notetaker settings'}</h3>\n <p>{i18next.t('nylasNotetakerConfig.headerSubTitle') || 'Configure AI-powered meeting recording and note-taking.'}</p>\n </div>\n\n <div class=\"content\" part=\"nntc__content\">\n {isDisabled && (\n <div class=\"info-message\" role=\"status\">\n {i18next.t('nylasNotetakerConfig.info.conferencingRequired') ||\n 'Conferencing must be enabled to use Notetaker. Please configure conferencing in the Event Info tab first.'}\n </div>\n )}\n\n {/* Primary enable toggle */}\n <div class={`primary-toggle ${isDisabled ? 'checkbox-disabled' : ''}`} part=\"nntc__primary-toggle\">\n <checkbox-component\n name=\"notetaker-enabled\"\n label={i18next.t('nylasNotetakerConfig.basicSettings.recordMeeting.label') || 'Enable Notetaker for this event'}\n checked={this.enabled}\n readOnly={isDisabled}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.basicSettings.recordMeeting.label') || 'Enable Notetaker for this event'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.basicSettings.recordMeeting.tooltip.desc') ||\n 'When enabled, Notetaker will automatically join booked meetings to record and generate AI-powered notes.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n\n {/* Basic settings section */}\n <div class=\"section\" part=\"nntc__section\">\n <h4 class=\"section-title\" part=\"nntc__section-title\">\n {i18next.t('nylasNotetakerConfig.basicSettings.title') || 'Basic settings'}\n </h4>\n <div class=\"section-content\">\n <div class=\"input-container\" part=\"nntc__input\">\n <input-component\n name=\"notetaker-name\"\n label={i18next.t('nylasNotetakerConfig.basicSettings.name.label') || 'Notetaker display name'}\n defaultValue={this.notetakerName}\n required={this.enabled}\n readOnly={isDisabled || !this.enabled}\n placeholder={i18next.t('nylasNotetakerConfig.basicSettings.name.placeholder') || 'e.g., Nylas Notetaker'}\n themeConfig={this.themeConfig}\n />\n <p class=\"input-help-text\">\n {i18next.t('nylasNotetakerConfig.basicSettings.name.tooltip.desc') || 'The name that will appear for the Notetaker bot when it joins your meetings.'}\n </p>\n </div>\n <div class={`checkbox-container ${isDisabled || !this.enabled ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-show-consent\"\n label={i18next.t('nylasNotetakerConfig.basicSettings.collectConsent.label') || 'Collect user consent during booking'}\n checked={this.showUiConsentMessage}\n readOnly={isDisabled || !this.enabled}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.basicSettings.collectConsent.label') || 'Collect user consent during booking'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.basicSettings.collectConsent.tooltip.desc') ||\n 'Display a consent message to meeting participants during the booking process, informing them that the meeting will be recorded.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n </div>\n </div>\n\n {/* Recording section */}\n <div class=\"section\" part=\"nntc__section\">\n <h4 class=\"section-title\" part=\"nntc__section-title\">\n {i18next.t('nylasNotetakerConfig.recording.title') || 'Recording options'}\n </h4>\n <p class=\"section-description\" part=\"nntc__section-description\">\n {i18next.t('nylasNotetakerConfig.recording.description') || 'Select what you want to capture from your meetings.'}\n </p>\n <div class=\"section-content\">\n <div class={`checkbox-container ${isDisabled || !this.enabled ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-video\"\n label={i18next.t('nylasNotetakerConfig.recording.video.label') || 'Video recording'}\n checked={this.videoRecording}\n readOnly={isDisabled || !this.enabled}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.recording.video.label') || 'Video recording'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.recording.video.tooltip.desc') || 'Record video from the meeting. Video files will be available after the meeting ends.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n <div class={`checkbox-container ${isDisabled || !this.enabled ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-audio\"\n label={i18next.t('nylasNotetakerConfig.recording.audio.label') || 'Audio recording'}\n checked={this.audioRecording}\n readOnly={isDisabled || !this.enabled}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.recording.audio.label') || 'Audio recording'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.recording.audio.tooltip.desc') ||\n 'Record audio from the meeting. Audio files will be available after the meeting ends. Required for transcription and AI features.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n <div class={`checkbox-container ${isDisabled || !this.enabled || !this.audioRecording ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-transcription\"\n label={i18next.t('nylasNotetakerConfig.recording.transcription.label') || 'Transcription'}\n checked={this.transcription}\n readOnly={isDisabled || !this.enabled || !this.audioRecording}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.recording.transcription.label') || 'Transcription'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.recording.transcription.tooltip.desc') ||\n 'Generate a text transcript of the meeting conversation. Requires audio recording. Required for AI features.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n </div>\n </div>\n\n {/* AI features section */}\n <div class=\"section\" part=\"nntc__section\">\n <h4 class=\"section-title\" part=\"nntc__section-title\">\n {i18next.t('nylasNotetakerConfig.aiFeatures.title') || 'AI-powered features'}\n </h4>\n <p class=\"section-description\" part=\"nntc__section-description\">\n {i18next.t('nylasNotetakerConfig.aiFeatures.description') || 'Enhance your meetings with AI-generated summaries and action items.'}\n </p>\n <div class=\"section-content\">\n <div class={`checkbox-container ${isDisabled || !this.enabled || !this.transcription ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-summary\"\n label={i18next.t('nylasNotetakerConfig.aiFeatures.summary.label') || 'AI summary'}\n checked={this.summary}\n readOnly={isDisabled || !this.enabled || !this.transcription}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.aiFeatures.summary.label') || 'AI summary'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.aiFeatures.summary.tooltip.desc') ||\n 'Generate an AI-powered summary of the meeting, including key discussion points and decisions. Requires audio recording and transcription to be enabled.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n {this.summary && (\n <div class=\"textarea-container\" part=\"nntc__textarea\">\n <textarea-component\n name=\"notetaker-summary-instructions\"\n label={i18next.t('nylasNotetakerConfig.aiFeatures.summary.instructionsLabel') || 'Additional prompt'}\n defaultValue={this.summaryCustomInstructions}\n placeholder={i18next.t('nylasNotetakerConfig.aiFeatures.summary.instructionsPlaceholder') || 'Enter additional context for AI summary'}\n readOnly={isDisabled || !this.enabled}\n maxLength={this.MAX_CUSTOM_INSTRUCTIONS_LENGTH}\n themeConfig={this.themeConfig}\n />\n {this.summaryInstructionsError && (\n <div class=\"field-error-message\" role=\"alert\">\n {this.summaryInstructionsError}\n </div>\n )}\n {!this.summaryInstructionsError && (\n <div class=\"character-count\">\n {this.summaryCustomInstructions.length} / {this.MAX_CUSTOM_INSTRUCTIONS_LENGTH}\n </div>\n )}\n </div>\n )}\n <div class={`checkbox-container ${isDisabled || !this.enabled || !this.transcription ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-action-items\"\n label={i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.label') || 'AI action items'}\n checked={this.actionItems}\n readOnly={isDisabled || !this.enabled || !this.transcription}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.label') || 'AI action items'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.tooltip.desc') ||\n 'Automatically extract action items, tasks, and to-dos mentioned during the meeting. Requires audio recording and transcription to be enabled.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n {this.actionItems && (\n <div class=\"textarea-container\" part=\"nntc__textarea\">\n <textarea-component\n name=\"notetaker-action-items-instructions\"\n label={i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.instructionsLabel') || 'Additional prompt'}\n defaultValue={this.actionItemsCustomInstructions}\n placeholder={i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.instructionsPlaceholder') || 'Enter additional context for AI action items'}\n readOnly={isDisabled || !this.enabled}\n maxLength={this.MAX_CUSTOM_INSTRUCTIONS_LENGTH}\n themeConfig={this.themeConfig}\n />\n {this.actionItemsInstructionsError && (\n <div class=\"field-error-message\" role=\"alert\">\n {this.actionItemsInstructionsError}\n </div>\n )}\n {!this.actionItemsInstructionsError && (\n <div class=\"character-count\">\n {this.actionItemsCustomInstructions.length} / {this.MAX_CUSTOM_INSTRUCTIONS_LENGTH}\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {this.validationError && (\n <div class=\"error-message\" role=\"alert\">\n {this.validationError}\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CMF0O-Fp.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-notetaker-config/nylas-notetaker-config.scss?tag=nylas-notetaker-config&encapsulation=shadow","src/components/scheduler-editor/nylas-notetaker-config/nylas-notetaker-config.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-notetaker-config {\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.5rem 0 0 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n\n .content {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n background-color: var(--nylas-base-25);\n }\n\n .primary-toggle {\n padding: 1rem;\n background-color: var(--nylas-base-50);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius);\n margin-bottom: 0.5rem;\n }\n\n .section {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n\n .section-title {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n .section-description {\n margin: 0;\n font-size: 13px;\n font-weight: 400;\n line-height: 18px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n\n .section-content {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n margin-left: 0.5rem;\n }\n }\n\n // Styling for slotted label content in checkbox components\n .label {\n margin-left: 32px;\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-800);\n line-height: 20px;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n .label-contents {\n margin: 0;\n display: inline-block;\n color: var(--nylas-base-900);\n }\n\n tooltip-component {\n display: inline-block;\n }\n }\n\n // Enhanced disabled/readonly checkbox styling\n .checkbox-container.checkbox-disabled,\n .primary-toggle.checkbox-disabled {\n opacity: 0.6;\n pointer-events: none;\n cursor: not-allowed;\n\n // Style the label content when checkbox is disabled\n .label {\n color: var(--nylas-base-500) !important;\n cursor: not-allowed;\n\n .label-contents {\n color: var(--nylas-base-500) !important;\n }\n }\n\n // Style the checkbox component itself\n checkbox-component {\n opacity: 0.7;\n cursor: not-allowed;\n }\n }\n\n // Ensure smooth transitions\n .checkbox-container,\n .primary-toggle {\n transition: opacity 0.2s ease;\n }\n\n .label {\n transition: color 0.2s ease;\n }\n\n .input-container,\n .textarea-container {\n margin-left: 0;\n position: relative;\n\n .input-help-text {\n margin: 0.5rem 0 0 0;\n color: var(--nylas-base-600);\n font-size: 13px;\n line-height: 18px;\n }\n\n .field-error-message {\n margin-top: 0.5rem;\n color: var(--nylas-color-red-700);\n font-size: 14px;\n line-height: 20px;\n }\n\n .character-count {\n margin-top: 0.25rem;\n color: var(--nylas-base-600);\n font-size: 12px;\n line-height: 16px;\n text-align: right;\n }\n }\n\n .error-message {\n padding: 0.75rem;\n background-color: var(--nylas-color-red-50);\n border: 1px solid var(--nylas-color-red-300);\n border-radius: var(--nylas-border-radius);\n color: var(--nylas-color-red-700);\n font-size: 14px;\n line-height: 20px;\n }\n\n .info-message {\n padding: 0.75rem;\n background-color: var(--nylas-color-blue-50);\n border: 1px solid var(--nylas-color-blue-300);\n border-radius: var(--nylas-border-radius);\n color: var(--nylas-color-blue-700);\n font-size: 14px;\n line-height: 20px;\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, forceUpdate, Host, Listen, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, Conference, Notetaker, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * Interface representing the complete state of the notetaker configuration\n */\nexport interface NotetakerState {\n enabled: boolean;\n notetakerName: string;\n showUiConsentMessage: boolean;\n videoRecording: boolean;\n audioRecording: boolean;\n transcription: boolean;\n summary: boolean;\n actionItems: boolean;\n summaryCustomInstructions: string;\n actionItemsCustomInstructions: string;\n isConferencingConfigured: boolean;\n conferencing?: Conference;\n validationError?: string;\n summaryInstructionsError?: string;\n actionItemsInstructionsError?: string;\n}\n\n/**\n * The `nylas-notetaker-config` component is a UI component that allows users to configure Notetaker settings for scheduler configurations.\n * @part nntc - The notetaker config container\n * @part nntc__header - The header of the notetaker config\n * @part nntc__section - A section container\n * @part nntc__section-title - A section title\n * @part nntc__content - The content container\n * @part nntc__input - An input field\n * @part nntc__textarea - A textarea field\n * @part nntc__checkbox - A checkbox container\n */\n@Component({\n tag: 'nylas-notetaker-config',\n styleUrl: 'nylas-notetaker-config.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasNotetakerConfig {\n @Element() host!: HTMLNylasNotetakerConfigElement;\n\n /**\n * @standalone\n * The selected configuration\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The conferencing configuration\n */\n @Prop() conferencing?: Conference;\n\n /**\n * @standalone\n * The name of the component\n */\n @Prop() name: string = 'notetaker';\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 * State for enabled/disabled\n */\n @State() enabled: boolean = false;\n\n /**\n * State for show UI consent message\n */\n @State() showUiConsentMessage: boolean = false;\n\n /**\n * State for notetaker name\n */\n @State() notetakerName: string = '';\n\n /**\n * State for video recording\n */\n @State() videoRecording: boolean = false;\n\n /**\n * State for audio recording\n */\n @State() audioRecording: boolean = false;\n\n /**\n * State for transcription\n */\n @State() transcription: boolean = false;\n\n /**\n * State for AI summary\n */\n @State() summary: boolean = false;\n\n /**\n * State for AI summary custom instructions\n */\n @State() summaryCustomInstructions: string = '';\n\n /**\n * State for AI action items\n */\n @State() actionItems: boolean = false;\n\n /**\n * State for AI action items custom instructions\n */\n @State() actionItemsCustomInstructions: string = '';\n\n /**\n * State for validation error\n */\n @State() validationError: string = '';\n\n /**\n * State for summary custom instructions error\n */\n @State() summaryInstructionsError: string = '';\n\n /**\n * State for action items custom instructions error\n */\n @State() actionItemsInstructionsError: string = '';\n\n /**\n * Maximum character limit for custom instructions\n */\n private readonly MAX_CUSTOM_INSTRUCTIONS_LENGTH = 1500;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * This event is fired when the notetaker configuration changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * This event is fired when an error occurs in the notetaker configuration.\n */\n @Event() notetakerError!: EventEmitter<{\n error: string;\n reason: string;\n context?: Record<string, any>;\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-notetaker-config', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-notetaker-config', 'selectedConfigurationChangedHandler', newValue);\n const notetaker = newValue?.scheduler?.notetaker_settings;\n if (notetaker) {\n this.enabled = notetaker.enabled ?? false;\n this.showUiConsentMessage = notetaker.show_ui_consent_message ?? false;\n this.notetakerName = notetaker.notetaker_name ?? '';\n this.videoRecording = notetaker.meeting_settings?.video_recording ?? false;\n this.audioRecording = notetaker.meeting_settings?.audio_recording ?? false;\n this.transcription = notetaker.meeting_settings?.transcription ?? false;\n this.summary = notetaker.meeting_settings?.summary ?? false;\n this.summaryCustomInstructions = notetaker.meeting_settings?.summary_settings?.custom_instructions ?? '';\n this.actionItems = notetaker.meeting_settings?.action_items ?? false;\n this.actionItemsCustomInstructions = notetaker.meeting_settings?.action_items_settings?.custom_instructions ?? '';\n } else {\n // Reset to defaults\n this.enabled = false;\n this.showUiConsentMessage = false;\n this.notetakerName = '';\n this.videoRecording = false;\n this.audioRecording = false;\n this.transcription = false;\n this.summary = false;\n this.summaryCustomInstructions = '';\n this.actionItems = false;\n this.actionItemsCustomInstructions = '';\n }\n this.validateAndEmit(false);\n }\n\n @Watch('conferencing')\n conferencingChangedHandler(newValue: Conference | undefined, oldValue?: Conference | undefined) {\n debug('nylas-notetaker-config', 'conferencingChangedHandler', { newValue, oldValue });\n\n const wasConfigured = !!(oldValue && oldValue.provider);\n const isConfigured = !!(newValue && newValue.provider);\n\n // Log state transitions for debugging\n if (!wasConfigured && isConfigured) {\n debug('nylas-notetaker-config', 'Conferencing enabled - notetaker can now be configured');\n } else if (wasConfigured && !isConfigured) {\n debug('nylas-notetaker-config', 'Conferencing disabled - clearing notetaker settings');\n }\n\n // If conferencing is disabled/cleared, automatically unset notetaker\n if (!newValue || !newValue.provider) {\n this.enabled = false;\n this.showUiConsentMessage = false;\n this.notetakerName = '';\n this.videoRecording = false;\n this.audioRecording = false;\n this.transcription = false;\n this.summary = false;\n this.summaryCustomInstructions = '';\n this.actionItems = false;\n this.actionItemsCustomInstructions = '';\n this.validateAndEmit(true);\n } else if (isConfigured) {\n // Conferencing is now configured - trigger validation to ensure state is consistent\n this.validateAndEmit(false);\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n connectedCallback() {\n debug('nylas-notetaker-config', '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-notetaker-config', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-notetaker-config', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n // Check if conferencing is configured\n if (!this.conferencing || !this.conferencing.provider) {\n this.conferencingChangedHandler(this.conferencing);\n }\n }\n\n disconnectedCallback() {\n debug('nylas-notetaker-config', 'disconnectedCallback');\n }\n\n /**\n * Public method to programmatically update conferencing configuration\n */\n @Method()\n async updateConferencing(conferencing: Conference | undefined): Promise<void> {\n debug('nylas-notetaker-config', 'updateConferencing', conferencing);\n this.conferencing = conferencing;\n // The @Watch decorator will automatically trigger conferencingChangedHandler\n }\n\n /**\n * Public method to programmatically set notetaker enabled state\n * @returns Object with success status and optional error message\n */\n @Method()\n async setNotetakerEnabled(enabled: boolean): Promise<{ success: boolean; error?: string }> {\n if (!this.isConferencingConfigured) {\n const error = 'Cannot enable notetaker: conferencing is not configured';\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'conferencing_not_configured',\n context: { enabled },\n });\n return { success: false, error };\n }\n\n this.enabled = enabled;\n\n // When enabling Notetaker, default enable video, audio recording, and transcription\n if (enabled) {\n this.videoRecording = true;\n this.audioRecording = true;\n this.transcription = true;\n }\n\n // Validate and emit - validation errors are stored in state, not returned\n this.validateAndEmit(true, true);\n // Return success: true if the operation succeeded (conferencing was configured)\n // Validation errors are available via getNotetakerState().validationError\n return { success: true };\n }\n\n /**\n * Public method to programmatically set a notetaker option\n * @param option - The option name (e.g., 'notetakerName', 'videoRecording', 'audioRecording', etc.)\n * @param value - The value to set (boolean for checkboxes, string for inputs)\n * @returns Object with success status and optional error message\n */\n @Method()\n async setNotetakerOption(option: string, value: boolean | string): Promise<{ success: boolean; error?: string }> {\n // notetakerName can always be set, regardless of conferencing status\n if (option === 'notetakerName') {\n if (typeof value !== 'string') {\n return { success: false, error: 'notetakerName must be a string' };\n }\n this.notetakerName = value;\n // Name can be set even if notetaker is not enabled or conferencing is not configured\n // Validate and emit but always return success\n this.validateAndEmit(true, true);\n return { success: true };\n }\n\n // For all other options, conferencing must be configured\n if (!this.isConferencingConfigured) {\n const error = `Cannot set ${option}: conferencing is not configured`;\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'conferencing_not_configured',\n context: { option, value },\n });\n return { success: false, error };\n }\n\n switch (option) {\n case 'enabled':\n return this.setNotetakerEnabled(value === true);\n case 'showUiConsentMessage':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'showUiConsentMessage must be a boolean' };\n }\n this.showUiConsentMessage = value;\n break;\n case 'videoRecording':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'videoRecording must be a boolean' };\n }\n this.videoRecording = value;\n break;\n case 'audioRecording':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'audioRecording must be a boolean' };\n }\n this.audioRecording = value;\n // When disabling audio recording, also disable transcription, summary, and action items\n if (!value) {\n this.transcription = false;\n this.summary = false;\n this.actionItems = false;\n this.summaryCustomInstructions = '';\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'transcription':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'transcription must be a boolean' };\n }\n if (value && !this.audioRecording) {\n const error = 'Cannot enable transcription: audio recording must be enabled first';\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'audio_recording_required',\n context: { option, value },\n });\n return { success: false, error };\n }\n this.transcription = value;\n // When disabling transcription, also disable summary and action items\n if (!value) {\n this.summary = false;\n this.actionItems = false;\n this.summaryCustomInstructions = '';\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'summary':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'summary must be a boolean' };\n }\n if (value && !this.transcription) {\n const error = 'Cannot enable summary: transcription must be enabled first';\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'transcription_required',\n context: { option, value },\n });\n return { success: false, error };\n }\n this.summary = value;\n if (!value) {\n this.summaryCustomInstructions = '';\n }\n break;\n case 'actionItems':\n if (typeof value !== 'boolean') {\n return { success: false, error: 'actionItems must be a boolean' };\n }\n if (value && !this.transcription) {\n const error = 'Cannot enable action items: transcription must be enabled first';\n debug('nylas-notetaker-config:', error);\n this.notetakerError.emit({\n error,\n reason: 'transcription_required',\n context: { option, value },\n });\n return { success: false, error };\n }\n this.actionItems = value;\n if (!value) {\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'summaryCustomInstructions':\n if (typeof value !== 'string') {\n return { success: false, error: 'summaryCustomInstructions must be a string' };\n }\n this.summaryCustomInstructions = value;\n break;\n case 'actionItemsCustomInstructions':\n if (typeof value !== 'string') {\n return { success: false, error: 'actionItemsCustomInstructions must be a string' };\n }\n this.actionItemsCustomInstructions = value;\n break;\n default:\n return { success: false, error: `Unknown option: ${option}` };\n }\n\n // Validate and emit - validation errors are stored in state, not returned\n this.validateAndEmit(true, true);\n // Return success: true if the operation succeeded\n // Validation errors are available via getNotetakerState().validationError\n return { success: true };\n }\n\n /**\n * Public method to get current notetaker state\n * @returns Object containing all current state values\n */\n @Method()\n async getNotetakerState(): Promise<NotetakerState> {\n return {\n enabled: this.enabled,\n notetakerName: this.notetakerName,\n showUiConsentMessage: this.showUiConsentMessage,\n videoRecording: this.videoRecording,\n audioRecording: this.audioRecording,\n transcription: this.transcription,\n summary: this.summary,\n actionItems: this.actionItems,\n summaryCustomInstructions: this.summaryCustomInstructions,\n actionItemsCustomInstructions: this.actionItemsCustomInstructions,\n isConferencingConfigured: this.isConferencingConfigured,\n conferencing: this.conferencing,\n validationError: this.validationError,\n summaryInstructionsError: this.summaryInstructionsError,\n actionItemsInstructionsError: this.actionItemsInstructionsError,\n };\n }\n\n /**\n * Check if conferencing is configured\n */\n get isConferencingConfigured(): boolean {\n return !!(this.conferencing && this.conferencing.provider);\n }\n\n /**\n * Check if at least one setting is enabled\n */\n get hasAtLeastOneSetting(): boolean {\n return this.videoRecording || this.audioRecording || this.transcription || this.summary || this.actionItems;\n }\n\n /**\n * Validate the notetaker configuration\n */\n validate(): boolean {\n this.validationError = '';\n this.summaryInstructionsError = '';\n this.actionItemsInstructionsError = '';\n\n // If notetaker is enabled, name is required\n if (this.enabled && !this.notetakerName.trim()) {\n this.validationError = i18next.t('nylasNotetakerConfig.validation.nameRequired') || 'Notetaker name is required when recording is enabled.';\n return false;\n }\n\n // If notetaker is enabled, at least one setting must be enabled\n if (this.enabled && !this.hasAtLeastOneSetting) {\n this.validationError = i18next.t('nylasNotetakerConfig.validation.atLeastOneSettingRequired') || 'At least one recording or AI feature must be enabled.';\n return false;\n }\n\n // Validate that transcription requires audio recording\n if (this.transcription && !this.audioRecording) {\n this.validationError = i18next.t('nylasNotetakerConfig.validation.audioRecordingRequired') || 'Audio recording must be enabled to use transcription.';\n return false;\n }\n\n // Validate that summary or action items require transcription\n if ((this.summary || this.actionItems) && !this.transcription) {\n this.validationError = i18next.t('nylasNotetakerConfig.validation.transcriptionRequired') || 'Transcription must be enabled to use AI summary or action items features.';\n return false;\n }\n\n // Validate summary custom instructions length\n if (this.summary && this.summaryCustomInstructions.length > this.MAX_CUSTOM_INSTRUCTIONS_LENGTH) {\n this.summaryInstructionsError =\n i18next.t('nylasNotetakerConfig.validation.customInstructionsMaxLength', { max: this.MAX_CUSTOM_INSTRUCTIONS_LENGTH }) ||\n `Additional prompt cannot exceed ${this.MAX_CUSTOM_INSTRUCTIONS_LENGTH} characters.`;\n this.validationError = this.summaryInstructionsError;\n return false;\n }\n\n // Validate action items custom instructions length\n if (this.actionItems && this.actionItemsCustomInstructions.length > this.MAX_CUSTOM_INSTRUCTIONS_LENGTH) {\n this.actionItemsInstructionsError =\n i18next.t('nylasNotetakerConfig.validation.customInstructionsMaxLength', { max: this.MAX_CUSTOM_INSTRUCTIONS_LENGTH }) ||\n `Additional prompt cannot exceed ${this.MAX_CUSTOM_INSTRUCTIONS_LENGTH} characters.`;\n this.validationError = this.actionItemsInstructionsError;\n return false;\n }\n\n return true;\n }\n\n /**\n * Build the Notetaker object from current state\n */\n buildNotetakerObject(): Notetaker | null {\n // If conferencing is not configured, return { enabled: false } to preserve the notetaker payload\n if (!this.isConferencingConfigured) {\n return { enabled: false };\n }\n\n // If not enabled but conferencing is configured, explicitly return { enabled: false }\n // This ensures the API receives the disabled state instead of omitting the field\n if (!this.enabled) {\n return { enabled: false };\n }\n\n const meetingSettings: any = {};\n\n // Always set boolean values explicitly to ensure unchecked options are sent as false\n meetingSettings.video_recording = this.videoRecording;\n meetingSettings.audio_recording = this.audioRecording;\n meetingSettings.transcription = this.transcription;\n meetingSettings.summary = this.summary;\n meetingSettings.action_items = this.actionItems;\n\n // Add custom instructions only when the feature is enabled and instructions exist\n if (this.summary && this.summaryCustomInstructions.trim()) {\n meetingSettings.summary_settings = {\n custom_instructions: this.summaryCustomInstructions.trim(),\n };\n }\n if (this.actionItems && this.actionItemsCustomInstructions.trim()) {\n meetingSettings.action_items_settings = {\n custom_instructions: this.actionItemsCustomInstructions.trim(),\n };\n }\n\n const notetaker: Notetaker = {\n enabled: true,\n show_ui_consent_message: this.showUiConsentMessage,\n notetaker_name: this.notetakerName.trim(),\n };\n\n if (Object.keys(meetingSettings).length > 0) {\n notetaker.meeting_settings = meetingSettings;\n }\n\n return notetaker;\n }\n\n /**\n * Validate and emit the value\n */\n validateAndEmit(valueChanged: boolean = true, forceRerender: boolean = false): boolean {\n const isValid = this.validate();\n\n if (isValid) {\n const notetaker = this.buildNotetakerObject();\n const value = notetaker ? JSON.stringify(notetaker) : JSON.stringify(null);\n\n if (valueChanged) {\n this.valueChanged.emit({\n value,\n name: this.name,\n });\n }\n\n if (this.isInternalsAvailable) {\n this.internals.setFormValue(value, this.name);\n this.internals.setValidity({});\n }\n\n // Force update if requested (useful for programmatic state changes)\n if (forceRerender) {\n // Trigger re-render by accessing a state property\n forceUpdate(this);\n }\n } else {\n if (this.isInternalsAvailable) {\n this.internals.setFormValue('', this.name);\n this.internals.setValidity(\n {\n customError: true,\n },\n this.validationError,\n );\n }\n }\n\n return isValid;\n }\n\n get isInternalsAvailable() {\n return this.internals !== undefined && typeof this.internals.setFormValue === 'function';\n }\n\n @Listen('nylasFormCheckboxToggled', { target: 'document' })\n nylasFormCheckboxToggledHandler(event: CustomEvent<{ checked: boolean; name: string }>) {\n debug('nylas-notetaker-config', 'nylasFormCheckboxToggledHandler', event.detail);\n const { name, checked } = event.detail;\n\n // Only handle events from this component's children\n if (!name.startsWith('notetaker-')) {\n return;\n }\n\n // Don't allow any changes if conferencing is not configured\n if (!this.isConferencingConfigured) {\n const errorMessage = `Cannot ${checked ? 'enable' : 'disable'} ${name}: conferencing is not configured`;\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'conferencing_not_configured',\n context: { checkboxName: name, checked },\n });\n return;\n }\n\n switch (name) {\n case 'notetaker-enabled':\n this.enabled = checked;\n // When enabling Notetaker, default enable video, audio recording, and transcription\n if (checked) {\n this.videoRecording = true;\n this.audioRecording = true;\n this.transcription = true;\n }\n break;\n case 'notetaker-show-consent':\n this.showUiConsentMessage = checked;\n break;\n case 'notetaker-video':\n this.videoRecording = checked;\n break;\n case 'notetaker-audio':\n this.audioRecording = checked;\n // When disabling audio recording, also disable transcription, summary, and action items\n if (!checked) {\n this.transcription = false;\n this.summary = false;\n this.actionItems = false;\n // Clear custom instructions when disabling audio recording\n this.summaryCustomInstructions = '';\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'notetaker-transcription':\n // Only allow enabling transcription if audio recording is enabled\n if (checked && !this.audioRecording) {\n const errorMessage = 'Cannot enable transcription: audio recording must be enabled first';\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'audio_recording_required',\n context: { checkboxName: name, checked },\n });\n return;\n }\n this.transcription = checked;\n // When disabling transcription, also disable summary and action items\n if (!checked) {\n this.summary = false;\n this.actionItems = false;\n // Clear custom instructions when disabling transcription\n this.summaryCustomInstructions = '';\n this.actionItemsCustomInstructions = '';\n }\n break;\n case 'notetaker-summary':\n // Only allow enabling summary if transcription is enabled\n if (checked && !this.transcription) {\n const errorMessage = 'Cannot enable summary: transcription must be enabled first';\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'transcription_required',\n context: { checkboxName: name, checked },\n });\n return;\n }\n this.summary = checked;\n // Clear custom instructions when disabling summary\n if (!checked) {\n this.summaryCustomInstructions = '';\n }\n break;\n case 'notetaker-action-items':\n // Only allow enabling action items if transcription is enabled\n if (checked && !this.transcription) {\n const errorMessage = 'Cannot enable action items: transcription must be enabled first';\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'transcription_required',\n context: { checkboxName: name, checked },\n });\n return;\n }\n this.actionItems = checked;\n // Clear custom instructions when disabling action items\n if (!checked) {\n this.actionItemsCustomInstructions = '';\n }\n break;\n }\n this.validateAndEmit();\n }\n\n @Listen('nylasFormInputChanged', { target: 'document' })\n nylasFormInputChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-notetaker-config', 'nylasFormInputChangedHandler', event.detail);\n const { name, value } = event.detail;\n\n // Only handle events from this component's children\n if (!name.startsWith('notetaker-')) {\n return;\n }\n\n // notetaker-name can always be set, regardless of conferencing status\n if (name === 'notetaker-name') {\n this.notetakerName = value;\n this.validateAndEmit();\n return;\n }\n\n // For all other inputs, conferencing must be configured\n if (!this.isConferencingConfigured) {\n const errorMessage = `Cannot set ${name}: conferencing is not configured`;\n debug('nylas-notetaker-config:', errorMessage);\n this.notetakerError.emit({\n error: errorMessage,\n reason: 'conferencing_not_configured',\n context: { inputName: name, value },\n });\n return;\n }\n\n switch (name) {\n case 'notetaker-summary-instructions':\n this.summaryCustomInstructions = value;\n // Clear error when user starts typing\n if (this.summaryInstructionsError && value.length <= this.MAX_CUSTOM_INSTRUCTIONS_LENGTH) {\n this.summaryInstructionsError = '';\n }\n break;\n case 'notetaker-action-items-instructions':\n this.actionItemsCustomInstructions = value;\n // Clear error when user starts typing\n if (this.actionItemsInstructionsError && value.length <= this.MAX_CUSTOM_INSTRUCTIONS_LENGTH) {\n this.actionItemsInstructionsError = '';\n }\n break;\n }\n this.validateAndEmit();\n }\n\n @RegisterComponent<NylasNotetakerConfig, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-notetaker-config',\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 isDisabled = !this.isConferencingConfigured;\n\n return (\n <Host>\n <div class=\"nylas-notetaker-config\" part=\"nntc\">\n <div class=\"header\" part=\"nntc__header\">\n <h3>{i18next.t('nylasNotetakerConfig.headerTitle') || 'Notetaker settings'}</h3>\n <p>{i18next.t('nylasNotetakerConfig.headerSubTitle') || 'Configure AI-powered meeting recording and note-taking.'}</p>\n </div>\n\n <div class=\"content\" part=\"nntc__content\">\n {isDisabled && (\n <div class=\"info-message\" role=\"status\">\n {i18next.t('nylasNotetakerConfig.info.conferencingRequired') ||\n 'Conferencing must be enabled to use Notetaker. Please configure conferencing in the Event Info tab first.'}\n </div>\n )}\n\n {/* Primary enable toggle */}\n <div class={`primary-toggle ${isDisabled ? 'checkbox-disabled' : ''}`} part=\"nntc__primary-toggle\">\n <checkbox-component\n name=\"notetaker-enabled\"\n label={i18next.t('nylasNotetakerConfig.basicSettings.recordMeeting.label') || 'Enable Notetaker for this event'}\n checked={this.enabled}\n readOnly={isDisabled}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.basicSettings.recordMeeting.label') || 'Enable Notetaker for this event'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.basicSettings.recordMeeting.tooltip.desc') ||\n 'When enabled, Notetaker will automatically join booked meetings to record and generate AI-powered notes.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n\n {/* Basic settings section */}\n <div class=\"section\" part=\"nntc__section\">\n <h4 class=\"section-title\" part=\"nntc__section-title\">\n {i18next.t('nylasNotetakerConfig.basicSettings.title') || 'Basic settings'}\n </h4>\n <div class=\"section-content\">\n <div class=\"input-container\" part=\"nntc__input\">\n <input-component\n name=\"notetaker-name\"\n label={i18next.t('nylasNotetakerConfig.basicSettings.name.label') || 'Notetaker display name'}\n defaultValue={this.notetakerName}\n required={this.enabled}\n readOnly={isDisabled || !this.enabled}\n placeholder={i18next.t('nylasNotetakerConfig.basicSettings.name.placeholder') || 'e.g., Nylas Notetaker'}\n themeConfig={this.themeConfig}\n />\n <p class=\"input-help-text\">\n {i18next.t('nylasNotetakerConfig.basicSettings.name.tooltip.desc') || 'The name that will appear for the Notetaker bot when it joins your meetings.'}\n </p>\n </div>\n <div class={`checkbox-container ${isDisabled || !this.enabled ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-show-consent\"\n label={i18next.t('nylasNotetakerConfig.basicSettings.collectConsent.label') || 'Collect user consent during booking'}\n checked={this.showUiConsentMessage}\n readOnly={isDisabled || !this.enabled}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.basicSettings.collectConsent.label') || 'Collect user consent during booking'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.basicSettings.collectConsent.tooltip.desc') ||\n 'Display a consent message to meeting participants during the booking process, informing them that the meeting will be recorded.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n </div>\n </div>\n\n {/* Recording section */}\n <div class=\"section\" part=\"nntc__section\">\n <h4 class=\"section-title\" part=\"nntc__section-title\">\n {i18next.t('nylasNotetakerConfig.recording.title') || 'Recording options'}\n </h4>\n <p class=\"section-description\" part=\"nntc__section-description\">\n {i18next.t('nylasNotetakerConfig.recording.description') || 'Select what you want to capture from your meetings.'}\n </p>\n <div class=\"section-content\">\n <div class={`checkbox-container ${isDisabled || !this.enabled ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-video\"\n label={i18next.t('nylasNotetakerConfig.recording.video.label') || 'Video recording'}\n checked={this.videoRecording}\n readOnly={isDisabled || !this.enabled}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.recording.video.label') || 'Video recording'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.recording.video.tooltip.desc') || 'Record video from the meeting. Video files will be available after the meeting ends.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n <div class={`checkbox-container ${isDisabled || !this.enabled ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-audio\"\n label={i18next.t('nylasNotetakerConfig.recording.audio.label') || 'Audio recording'}\n checked={this.audioRecording}\n readOnly={isDisabled || !this.enabled}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.recording.audio.label') || 'Audio recording'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.recording.audio.tooltip.desc') ||\n 'Record audio from the meeting. Audio files will be available after the meeting ends. Required for transcription and AI features.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n <div class={`checkbox-container ${isDisabled || !this.enabled || !this.audioRecording ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-transcription\"\n label={i18next.t('nylasNotetakerConfig.recording.transcription.label') || 'Transcription'}\n checked={this.transcription}\n readOnly={isDisabled || !this.enabled || !this.audioRecording}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.recording.transcription.label') || 'Transcription'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.recording.transcription.tooltip.desc') ||\n 'Generate a text transcript of the meeting conversation. Requires audio recording. Required for AI features.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n </div>\n </div>\n\n {/* AI features section */}\n <div class=\"section\" part=\"nntc__section\">\n <h4 class=\"section-title\" part=\"nntc__section-title\">\n {i18next.t('nylasNotetakerConfig.aiFeatures.title') || 'AI-powered features'}\n </h4>\n <p class=\"section-description\" part=\"nntc__section-description\">\n {i18next.t('nylasNotetakerConfig.aiFeatures.description') || 'Enhance your meetings with AI-generated summaries and action items.'}\n </p>\n <div class=\"section-content\">\n <div class={`checkbox-container ${isDisabled || !this.enabled || !this.transcription ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-summary\"\n label={i18next.t('nylasNotetakerConfig.aiFeatures.summary.label') || 'AI summary'}\n checked={this.summary}\n readOnly={isDisabled || !this.enabled || !this.transcription}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.aiFeatures.summary.label') || 'AI summary'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.aiFeatures.summary.tooltip.desc') ||\n 'Generate an AI-powered summary of the meeting, including key discussion points and decisions. Requires audio recording and transcription to be enabled.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n {this.summary && (\n <div class=\"textarea-container\" part=\"nntc__textarea\">\n <textarea-component\n name=\"notetaker-summary-instructions\"\n label={i18next.t('nylasNotetakerConfig.aiFeatures.summary.instructionsLabel') || 'Additional prompt'}\n defaultValue={this.summaryCustomInstructions}\n placeholder={i18next.t('nylasNotetakerConfig.aiFeatures.summary.instructionsPlaceholder') || 'Enter additional context for AI summary'}\n readOnly={isDisabled || !this.enabled}\n maxLength={this.MAX_CUSTOM_INSTRUCTIONS_LENGTH}\n themeConfig={this.themeConfig}\n />\n {this.summaryInstructionsError && (\n <div class=\"field-error-message\" role=\"alert\">\n {this.summaryInstructionsError}\n </div>\n )}\n {!this.summaryInstructionsError && (\n <div class=\"character-count\">\n {this.summaryCustomInstructions.length} / {this.MAX_CUSTOM_INSTRUCTIONS_LENGTH}\n </div>\n )}\n </div>\n )}\n <div class={`checkbox-container ${isDisabled || !this.enabled || !this.transcription ? 'checkbox-disabled' : ''}`} part=\"nntc__checkbox\">\n <checkbox-component\n name=\"notetaker-action-items\"\n label={i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.label') || 'AI action items'}\n checked={this.actionItems}\n readOnly={isDisabled || !this.enabled || !this.transcription}\n themeConfig={this.themeConfig}\n >\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">{i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.label') || 'AI action items'}</p>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.tooltip.desc') ||\n 'Automatically extract action items, tasks, and to-dos mentioned during the meeting. Requires audio recording and transcription to be enabled.'}\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n {this.actionItems && (\n <div class=\"textarea-container\" part=\"nntc__textarea\">\n <textarea-component\n name=\"notetaker-action-items-instructions\"\n label={i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.instructionsLabel') || 'Additional prompt'}\n defaultValue={this.actionItemsCustomInstructions}\n placeholder={i18next.t('nylasNotetakerConfig.aiFeatures.actionItems.instructionsPlaceholder') || 'Enter additional context for AI action items'}\n readOnly={isDisabled || !this.enabled}\n maxLength={this.MAX_CUSTOM_INSTRUCTIONS_LENGTH}\n themeConfig={this.themeConfig}\n />\n {this.actionItemsInstructionsError && (\n <div class=\"field-error-message\" role=\"alert\">\n {this.actionItemsInstructionsError}\n </div>\n )}\n {!this.actionItemsInstructionsError && (\n <div class=\"character-count\">\n {this.actionItemsCustomInstructions.length} / {this.MAX_CUSTOM_INSTRUCTIONS_LENGTH}\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {this.validationError && (\n <div class=\"error-message\" role=\"alert\">\n {this.validationError}\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
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 { h as dayjs, w as utc, x as timezone, y as normalizeDateInput, z as addDaysToCurrentDate, A as isSameMonth, a as debug, B as getLastDayOfMonth, C as getFirstDayOfMonth, E as convertMinutesToHoursAndMinutes, G as translateMonth, H as isSameDay } from './p-
|
|
4
|
-
import { i as instance } from './p-
|
|
2
|
+
import { R as RegisterComponent } from './p-jHq8WTky.js';
|
|
3
|
+
import { h as dayjs, w as utc, x as timezone, y as normalizeDateInput, z as addDaysToCurrentDate, A as isSameMonth, L as LANGUAGE_CODE, a as debug, B as getLastDayOfMonth, C as getFirstDayOfMonth, E as convertMinutesToHoursAndMinutes, G as translateMonth, H as isSameDay } from './p-xxFdByBn.js';
|
|
4
|
+
import { i as instance } from './p-BjxQTsOy.js';
|
|
5
5
|
import { d as defineCustomElement$3 } from './p-ao6VxuAL.js';
|
|
6
6
|
import { d as defineCustomElement$2 } from './p-BoUo2hc7.js';
|
|
7
7
|
import { d as defineCustomElement$1 } from './p-DEbbVkgj.js';
|
|
@@ -214,7 +214,9 @@ const NylasDatePicker = proxyCustomElement(class NylasDatePicker extends H {
|
|
|
214
214
|
});
|
|
215
215
|
}
|
|
216
216
|
disconnectedCallback() { }
|
|
217
|
-
componentWillLoad() {
|
|
217
|
+
componentWillLoad() {
|
|
218
|
+
instance.changeLanguage(this.selectedLanguage || LANGUAGE_CODE.en);
|
|
219
|
+
}
|
|
218
220
|
componentDidLoad() {
|
|
219
221
|
debug(`[nylas-date-picker] Component did load`);
|
|
220
222
|
const normalizedSelectedDate = normalizeDateInput(this.selectedDate);
|
|
@@ -271,7 +273,8 @@ const NylasDatePicker = proxyCustomElement(class NylasDatePicker extends H {
|
|
|
271
273
|
});
|
|
272
274
|
}
|
|
273
275
|
render() {
|
|
274
|
-
|
|
276
|
+
const translate = instance.getFixedT(this.selectedLanguage || LANGUAGE_CODE.en);
|
|
277
|
+
return (h(Host, { key: 'dcc46db0068283196ab8617c1871b235561c0741', part: "ndp" }, h("div", { key: '27a11154a60e94b8eebdf9810cba62119e90b0e3', class: "nylas-date-picker" }, h("div", { key: '3ee9525a4ce02fd8dfa8b9da74123c33164b51b2', class: "title", part: "ndp__title" }, this.configSettings?.name ? (h("h1", null, this.configSettings?.name)) : (this.configSettings?.organizer?.name && (h("h1", null, h("person-icon", null), this.configSettings?.organizer?.name || 'Organizer'))), h("p", { key: '341a72b18785b8b34998d1654cdb975647df5d97' }, h("clock-icon", { key: '3d347b0279c632a8a95bb65ee3832a59a1a7ce60' }), this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration, this.selectedLanguage || LANGUAGE_CODE.en) : `- ${translate('time.minutes')}`)), h("div", { key: '72589db519389a9138dddff513af7cc284d64842', class: 'header flex-row' }, h("h2", { key: '868817329700310b7f82eb8a3caa782aedf2eadd', part: 'ndp__month-header' }, h("strong", { key: '146ece2d48408a3484fd099381d07282930221b8' }, translateMonth(this.month.toLocaleDateString('en-US', { month: 'long' }).toLowerCase())), "\u00A0", this.month.toLocaleDateString(undefined, { year: 'numeric' })), h("div", { key: '55aea9cfd07bcc22edc49ddfd5975329a67767a3', class: 'pagination' }, h("button", { key: '9fde702e6af54191d84be04897ea523860bed605', title: "Previous month", onClick: () => this.changeMonth(-1), class: { 'chevron-left': true, 'button': true }, disabled: this.month <= new Date(), part: "ndp__month-button" }, h("chevron-icon", { key: '11c4ad0702a08aa995dcc23cbc7f4e07ab91701b' })), h("button", { key: '1d70b32e763ef45a933d151037449165e9d3ea91', title: "Next month", onClick: () => this.changeMonth(1), class: { 'chevron-right': true, 'button': true }, disabled: this.disableNextMonthButton, part: "ndp__month-button" }, h("chevron-icon", { key: '1146af05e22e6fb03ee85bf2a90a5cc707d5c132' })))), h("div", { key: 'a374ed9a29d3d94ae3c481deaaf7b6035d66b14a', class: 'dates' }, [
|
|
275
278
|
instance.t('days.sunday'),
|
|
276
279
|
instance.t('days.monday'),
|
|
277
280
|
instance.t('days.tuesday'),
|
|
@@ -386,6 +389,6 @@ function defineCustomElement() {
|
|
|
386
389
|
}
|
|
387
390
|
|
|
388
391
|
export { NylasDatePicker as N, defineCustomElement as d };
|
|
389
|
-
//# sourceMappingURL=p-
|
|
392
|
+
//# sourceMappingURL=p-CSqqWusO.js.map
|
|
390
393
|
|
|
391
|
-
//# sourceMappingURL=p-
|
|
394
|
+
//# sourceMappingURL=p-CSqqWusO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-CSqqWusO.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/interval.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/duration.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/day.js","src/components/scheduler/nylas-date-picker/nylas-date-picker.scss?tag=nylas-date-picker&encapsulation=shadow","src/components/scheduler/nylas-date-picker/nylas-date-picker.tsx"],"sourcesContent":["const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n min-height: 444px;\n @include default-css-variables;\n\n @media #{$mobile} {\n min-height: auto;\n }\n}\n\n.nylas-date-picker {\n display: flex;\n gap: 1rem;\n flex-direction: column;\n}\n\n.header {\n margin: 0 0.5rem;\n height: 48px;\n\n h2 {\n font-size: 1.3125rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--nylas-base-800);\n\n strong {\n font-weight: 600;\n }\n }\n}\n\n.title {\n margin: 0 -1.25rem;\n display: flex;\n flex-direction: column;\n padding: 0 1.5rem;\n gap: 0.5rem;\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n color: var(--nylas-base-800);\n\n h1 {\n max-width: 376px;\n margin-bottom: 0;\n font-size: 18px;\n line-height: 20px;\n font-weight: 600;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n\n p {\n margin-top: 0;\n font-size: 16px;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n\n 50% {\n background-color: var(--nylas-base-100);\n }\n\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.dates {\n display: grid;\n justify-items: center;\n grid-template-columns: repeat(7, 1fr);\n gap: 0.5rem;\n margin-bottom: 24px;\n\n .date {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 48px;\n width: 48px;\n min-width: 2rem;\n min-height: 2rem;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n font-weight: 600;\n font-family: inherit;\n color: var(--nylas-base-text);\n background-color: var(--nylas-base-100);\n cursor: pointer;\n\n &:hover:not(:disabled) {\n box-shadow: 0 0 0 2px var(--nylas-base-500) inset;\n }\n\n border: none;\n\n &.date.current-month {\n color: var(--nylas-base-800);\n }\n\n &.date.selected {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n font-weight: 700;\n }\n\n &.date.day-skeleton {\n color: var(--nylas-base-300);\n }\n\n &:disabled {\n color: var(--nylas-base-300);\n background-color: transparent;\n font-weight: 400;\n cursor: not-allowed;\n }\n\n @media #{$mobile} {\n width: -webkit-fill-available;\n width: -moz-available;\n width: fill-available;\n }\n\n @media #{$x-small-mobile} {\n height: 38px;\n min-width: none;\n }\n }\n\n .day {\n font-size: 12px;\n color: var(--nylas-base-800);\n font-weight: 600;\n letter-spacing: 0.5px;\n height: 32px;\n display: flex;\n align-items: center;\n\n @media #{$mobile} {\n font-size: 14px;\n }\n }\n\n .date.day-skeleton {\n height: 48px;\n width: 48px;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n background-color: var(--nylas-base-50);\n\n @media #{$x-small-mobile} {\n width: 38px;\n height: 38px;\n min-width: none;\n }\n }\n\n .date.current-day::after {\n content: '';\n position: absolute;\n bottom: 6px;\n left: 50%;\n transform: translateX(-50%);\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--nylas-base-500);\n }\n\n .date.current-day.selected::after {\n background-color: var(--nylas-base-100);\n }\n}\n\n.pagination {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n min-width: 92px;\n\n .chevron-right {\n transform: rotate(180deg);\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\n background-color: transparent;\n color: var(--nylas-base-800);\n cursor: pointer;\n\n &:hover {\n background-color: var(--nylas-base-50);\n }\n\n border: none;\n\n &:active {\n background-color: var(--nylas-base-100);\n }\n\n &:disabled {\n background-color: transparent;\n color: var(--nylas-base-300);\n cursor: not-allowed;\n }\n }\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n color: var(--nylas-base-500);\n}","import { RegisterComponent } from '@/common/register-component';\nimport {\n addDaysToCurrentDate,\n convertMinutesToHoursAndMinutes,\n getFirstDayOfMonth,\n getLastDayOfMonth,\n isSameDay,\n isSameMonth,\n normalizeDateInput,\n translateMonth,\n} from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { timeDay } from 'd3-time';\nimport { NylasSchedulerConnector } from '../../..';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\nimport { debug } from '@/utils/utils';\nimport { ThemeConfig } from '@nylas/core';\nimport dayjs from 'dayjs';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\n\n// Initialize dayjs plugins needed for timezone handling\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\n/**\n * The `nylas-date-picker` component is a UI component that allows users to select a date.\n *\n * @part ndp - The date picker host.\n * @part ndp__title - The title.\n * @part ndp__month-header - The month header.\n * @part ndp__month-button - The month button.\n * @part ndp__day - The day.\n * @part ndp__date - The date.\n * @part ndp__date--selected - The selected date.\n * @part ndp__date--current-day - The current day.\n * @part ndp__date--current-month - The dates in the current month.\n * @part ndp__date--disabled - The disabled dates.\n */\n@Component({\n tag: 'nylas-date-picker',\n styleUrl: 'nylas-date-picker.scss',\n shadow: true,\n})\nexport class NylasDatePicker {\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasDatePickerElement;\n\n /**\n * @standalone\n * The dates that are selectable.\n */\n @Prop() selectableDates?: Array<Date | string | number>;\n\n /**\n * @standalone\n * The config settings.\n */\n @Prop() configSettings?: ConfigSettings;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected date.\n */\n @Prop() selectedDate?: Date | string | number;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The event duration.\n */\n @Prop() readonly eventDuration?: number;\n\n /**\n * The month to display.\n */\n @State() month: Date = normalizeDateInput(this.selectedDate) || new Date();\n\n /**\n * The dates to render.\n */\n @State() dates: Date[] = this.getDates();\n\n /**\n * The state to disable the next month button.\n */\n @State() disableNextMonthButton: boolean = false;\n\n /**\n * The state to store the selected dates as per the timezone.\n */\n @State() selectableDatesTimezone: Date[] = [];\n\n /**\n * This event is fired when a date is selected.\n */\n @Event() dateSelected!: EventEmitter<Date>;\n\n /**\n * This event is fired when the month is changed.\n */\n @Event() monthChanged!: EventEmitter<Date>;\n\n @Watch('configSettings')\n configSettingsChanged(_newConfigSettings: ConfigSettings) {\n this.updateNextMonthButtonState();\n }\n\n private updateNextMonthButtonState() {\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = this.configSettings?.scheduler?.available_days_in_future;\n if (availableDaysInFuture === undefined) {\n return;\n }\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n this.disableNextMonthButton = endDate.getTime() < nextMonth.getTime();\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: string) {\n i18next.changeLanguage(newLanguage);\n }\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newSelectedDate: Date | string | number) {\n const normalizedSelectedDate = normalizeDateInput(newSelectedDate);\n if (!normalizedSelectedDate) {\n this.month = new Date();\n } else {\n // Convert selectedDate to a browser-local Date with the correct day in the selected timezone\n const localizedDate = this.convertDatesToTimezone([normalizedSelectedDate], this.selectedTimezone)[0];\n if (!isSameMonth(localizedDate, this.month)) {\n this.month = localizedDate;\n }\n }\n this.dates = this.getDates();\n }\n\n /**\n * Compare a calendar grid date (browser-local timezone) with a date that may be in a different timezone.\n * Extracts the day from targetDate in the selected timezone and compares with the calendar date's\n * browser-local day components. This prevents the \"one day behind\" bug (CUST-5246) when the selected\n * timezone is ahead of the browser timezone (e.g., Australia/Sydney vs America/New_York).\n */\n private isSameDayAsSelected(calendarDate: Date, targetDate: Date | string | number): boolean {\n const normalizedTargetDate = normalizeDateInput(targetDate);\n if (!normalizedTargetDate) {\n return false;\n }\n const targetInTz = dayjs(normalizedTargetDate).tz(this.selectedTimezone);\n return calendarDate.getFullYear() === targetInTz.year() && calendarDate.getMonth() === targetInTz.month() && calendarDate.getDate() === targetInTz.date();\n }\n\n /**\n * Helper method to convert dates to the specified timezone, preserving only the date part\n */\n private convertDatesToTimezone(dates: Array<Date | string | number> | undefined, targetTimezone: string): Date[] {\n if (!dates || dates.length === 0) {\n return [];\n }\n\n return dates\n .map(d => normalizeDateInput(d))\n .filter((d): d is Date => !!d)\n .map(d => {\n const tzDate = dayjs(d).tz(targetTimezone);\n return new Date(tzDate.year(), tzDate.month(), tzDate.date());\n });\n }\n\n @Watch('selectedTimezone')\n selectedTimezoneChanged(newSelectedTimezone: string) {\n this.selectableDatesTimezone = this.convertDatesToTimezone(this.selectableDates, newSelectedTimezone);\n\n // Recompute month when selectedDate exists — the same absolute instant may\n // land in a different calendar month in the new timezone.\n const normalizedSelectedDate = normalizeDateInput(this.selectedDate);\n if (normalizedSelectedDate) {\n const localizedDate = this.convertDatesToTimezone([normalizedSelectedDate], newSelectedTimezone)[0];\n if (!isSameMonth(localizedDate, this.month)) {\n this.month = localizedDate;\n this.dates = this.getDates();\n this.updateNextMonthButtonState();\n }\n }\n }\n\n @Watch('selectableDates')\n selectableDatesChanged(newSelectableDates: Array<Date | string | number> | undefined) {\n this.selectableDatesTimezone = this.convertDatesToTimezone(newSelectableDates, this.selectedTimezone);\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 i18next.changeLanguage(this.selectedLanguage || LANGUAGE_CODE.en);\n }\n\n componentDidLoad() {\n debug(`[nylas-date-picker] Component did load`);\n const normalizedSelectedDate = normalizeDateInput(this.selectedDate);\n this.month = normalizedSelectedDate ? this.convertDatesToTimezone([normalizedSelectedDate], this.selectedTimezone)[0] : new Date();\n this.dates = this.getDates();\n this.selectableDatesTimezone = this.convertDatesToTimezone(this.selectableDates, this.selectedTimezone);\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 * Get the dates to render, including the days from the previous and next months.\n * @returns The dates to render.\n */\n private getDates() {\n const lastDayOfMonth = getLastDayOfMonth(this.month);\n const firstDayOfMonth = getFirstDayOfMonth(this.month);\n\n return timeDay.range(timeDay.offset(firstDayOfMonth, -firstDayOfMonth.getDay()), timeDay.offset(lastDayOfMonth, 7 - lastDayOfMonth.getDay()));\n }\n\n /**\n * Select a date.\n * @param date The date to select (in local timezone from the calendar grid).\n *\n * The calendar grid displays dates as local timezone Date objects. When a user clicks\n * on a date, we need to convert it to represent that same calendar day in the\n * SELECTED timezone, not the user's local timezone. This ensures that if the user\n * has selected America/Los_Angeles but their local timezone is America/Toronto,\n * clicking on \"January 8th\" will create a Date representing January 8th in Los Angeles.\n */\n private selectDate(date?: Date) {\n if (!date) {\n this.dateSelected.emit(date);\n return;\n }\n\n // Get the calendar day (year, month, date) from the clicked date (which is in local timezone)\n const year = date.getFullYear();\n const month = date.getMonth();\n const day = date.getDate();\n\n // Create a new Date representing noon on that calendar day in the SELECTED timezone\n // We use noon to avoid edge cases near midnight\n const dateInSelectedTimezone = dayjs.tz(`${year}-${String(month + 1).padStart(2, '0')}-${String(day).padStart(2, '0')} 12:00`, this.selectedTimezone);\n\n this.dateSelected.emit(dateInSelectedTimezone.toDate());\n }\n\n /**\n * Change the month.\n * @param change The change in months.\n */\n private changeMonth(change: number) {\n this.month = new Date(this.month.getFullYear(), this.month.getMonth() + change, 1);\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = this.configSettings?.scheduler?.available_days_in_future;\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n this.dates = this.getDates();\n this.monthChanged.emit(this.month);\n }\n\n private isSelected(date: Date | undefined, selectedDate: Date | string | number | undefined, selectableDates: Array<Date | string | number> | undefined) {\n return date && selectedDate && this.isSameDayAsSelected(date, selectedDate) && selectableDates && selectableDates?.length > 0;\n }\n\n private isDisabled(date: Date | undefined) {\n if (!date || !this.selectableDatesTimezone || this.selectableDatesTimezone.length === 0) {\n return true;\n }\n\n // Compare only the date parts (year, month, day), ignoring time\n return !this.selectableDatesTimezone.some(d => {\n return date.getFullYear() === d.getFullYear() && date.getMonth() === d.getMonth() && date.getDate() === d.getDate();\n });\n }\n\n @RegisterComponent<NylasDatePicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-date-picker',\n stateToProps: new Map([\n ['scheduler.selectableDates', 'selectableDates'],\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.eventDuration', 'eventDuration'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.themeConfig', 'themeConfig'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ]),\n eventToProps: {\n dateSelected: async (event: CustomEvent<Date>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'dateSelected', event.detail);\n nylasSchedulerConnector.scheduler.selectDate(event.detail);\n },\n monthChanged: async (event: CustomEvent<Date>, _nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'monthChanged', event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const translate = i18next.getFixedT(this.selectedLanguage || LANGUAGE_CODE.en);\n\n return (\n <Host part=\"ndp\">\n <div class=\"nylas-date-picker\">\n <div class=\"title\" part=\"ndp__title\">\n {this.configSettings?.name ? (\n <h1>{this.configSettings?.name}</h1>\n ) : (\n this.configSettings?.organizer?.name && (\n <h1>\n <person-icon />\n {this.configSettings?.organizer?.name || 'Organizer'}\n </h1>\n )\n )}\n <p>\n <clock-icon />\n {this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration, this.selectedLanguage || LANGUAGE_CODE.en) : `- ${translate('time.minutes')}`}\n </p>\n </div>\n <div class={'header flex-row'}>\n <h2 part={'ndp__month-header'}>\n <strong>{translateMonth(this.month.toLocaleDateString('en-US', { month: 'long' }).toLowerCase())}</strong>\n \n {this.month.toLocaleDateString(undefined, { year: 'numeric' })}\n </h2>\n <div class={'pagination'}>\n <button\n title=\"Previous month\"\n onClick={() => this.changeMonth(-1)}\n class={{ 'chevron-left': true, 'button': true }}\n disabled={this.month <= new Date()}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n <button\n title=\"Next month\"\n onClick={() => this.changeMonth(1)}\n class={{ 'chevron-right': true, 'button': true }}\n disabled={this.disableNextMonthButton}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n </div>\n </div>\n\n <div class={'dates'}>\n {[\n i18next.t('days.sunday'),\n i18next.t('days.monday'),\n i18next.t('days.tuesday'),\n i18next.t('days.wednesday'),\n i18next.t('days.thursday'),\n i18next.t('days.friday'),\n i18next.t('days.saturday'),\n ].map(day => {\n return (\n <div class={'day'} part=\"ndp__day\">\n {day}\n </div>\n );\n })}\n {this.dates.map((date, i) => {\n const isDisabled = this.isDisabled(date);\n\n if (this.isLoading) {\n return (\n <button\n disabled\n class={{\n 'date day-skeleton': true,\n 'current-month': isSameMonth(date, this.month),\n }}\n style={{ animationDelay: `${i * 20}ms` }}\n part={`ndp__date ndp__date--disabled`}\n >\n {date.getDate()}\n </button>\n );\n }\n return (\n <button\n class={{\n 'date': true,\n 'selected': !!(this.selectedDate && this.isSameDayAsSelected(date, this.selectedDate) && this.selectableDates && this.selectableDates?.length > 0),\n 'current-day': isSameDay(date, new Date()),\n 'current-month': isSameMonth(date, this.month),\n }}\n aria-label={date.toLocaleDateString(undefined, { dateStyle: 'full' })}\n disabled={isDisabled}\n onClick={() => this.selectDate(date)}\n part={`ndp__date ${this.isSelected(date, this.selectedDate, this.selectableDates) ? 'ndp__date--selected' : ''} ${isSameDay(date, new Date()) ? 'ndp__date--current-day' : ''} ${isSameMonth(date, this.month) ? 'ndp__date--current-month' : ''}`}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|