@nylas/web-elements 0.0.0-canary-20251202205510 → 0.0.0-canary-20251202215015
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +1 -1
- package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +26 -13
- package/dist/cjs/{abstract-provider-Dmxxrbyn.js → abstract-provider-DoKrwElM.js} +3 -3
- package/dist/cjs/{abstract-provider-Dmxxrbyn.js.map → abstract-provider-DoKrwElM.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_15.cjs.entry.js +2 -2
- package/dist/cjs/{customParseFormat-erQGD2DY.js → customParseFormat-B4kVLg4K.js} +3 -3
- package/dist/cjs/{customParseFormat-erQGD2DY.js.map → customParseFormat-B4kVLg4K.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/loader.cjs.js +1 -1
- package/dist/cjs/multi-select-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/{nylas-api-request-DYg-aPS2.js → nylas-api-request-DAkJ3_Et.js} +3 -3
- package/dist/cjs/{nylas-api-request-DYg-aPS2.js.map → nylas-api-request-DAkJ3_Et.js.map} +1 -1
- package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js +34 -14
- 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 +3 -3
- package/dist/cjs/nylas-web-elements.cjs.js +1 -1
- package/dist/cjs/{register-component-B0TuWHSQ.js → register-component-hLp40v0W.js} +3 -3
- package/dist/cjs/{register-component-B0TuWHSQ.js.map → register-component-hLp40v0W.js.map} +1 -1
- package/dist/cjs/textarea-component.cjs.entry.js +1 -1
- package/dist/cjs/{utils-CWOo-QbG.js → utils-DnRflvHV.js} +3 -3
- package/dist/cjs/utils-DnRflvHV.js.map +1 -0
- package/dist/cjs/{version-BPast14X.js → version-z-n90sIJ.js} +3 -3
- package/dist/cjs/{version-BPast14X.js.map → version-z-n90sIJ.js.map} +1 -1
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +35 -11
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js.map +1 -1
- package/dist/collection/version.js +1 -1
- package/dist/collection/version.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/input-component.js +1 -1
- package/dist/components/input-image-url.js +1 -1
- package/dist/components/multi-select-dropdown.js +1 -1
- package/dist/components/nylas-additional-participants.js +1 -1
- package/dist/components/nylas-availability-picker.js +1 -1
- package/dist/components/nylas-booked-event-card.js +1 -1
- package/dist/components/nylas-booking-calendar-picker.js +1 -1
- package/dist/components/nylas-booking-confirmation-redirect.js +1 -1
- package/dist/components/nylas-booking-confirmation-type.js +1 -1
- package/dist/components/nylas-booking-form-config.js +1 -1
- package/dist/components/nylas-booking-form.js +1 -1
- package/dist/components/nylas-buffer-time.js +1 -1
- package/dist/components/nylas-calendar-picker.js +1 -1
- package/dist/components/nylas-cancel-booking-form.js +1 -1
- package/dist/components/nylas-cancellation-policy.js +1 -1
- package/dist/components/nylas-cancelled-event-card.js +1 -1
- package/dist/components/nylas-confirmation-email.js +1 -1
- package/dist/components/nylas-confirmed-event-card.js +1 -1
- package/dist/components/nylas-connected-calendars.js +1 -1
- package/dist/components/nylas-custom-booking-flow.js +1 -1
- package/dist/components/nylas-custom-event-slug.js +1 -1
- package/dist/components/nylas-customize-booking-settings.js +1 -1
- package/dist/components/nylas-date-component.js +1 -1
- package/dist/components/nylas-date-picker.js +1 -1
- package/dist/components/nylas-disable-emails.js +1 -1
- package/dist/components/nylas-editor-tabs-group.js +1 -1
- package/dist/components/nylas-editor-tabs.js +1 -1
- package/dist/components/nylas-event-calendar.js +1 -1
- package/dist/components/nylas-event-capacity.js +1 -1
- package/dist/components/nylas-event-description.js +1 -1
- package/dist/components/nylas-event-duration.js +1 -1
- package/dist/components/nylas-event-info.js +1 -1
- package/dist/components/nylas-event-limits.js +1 -1
- package/dist/components/nylas-event-location.js +1 -1
- package/dist/components/nylas-event-timeslot.js +1 -1
- package/dist/components/nylas-event-title.js +1 -1
- package/dist/components/nylas-feedback-form.js +1 -1
- package/dist/components/nylas-form-card.js +1 -1
- package/dist/components/nylas-limit-future-bookings.js +1 -1
- package/dist/components/nylas-list-configurations.js +1 -1
- package/dist/components/nylas-locale-switch.js +1 -1
- package/dist/components/nylas-min-booking-notice.js +1 -1
- package/dist/components/nylas-min-cancellation-notice.js +1 -1
- package/dist/components/nylas-notetaker-config.js +1 -1
- package/dist/components/nylas-notification.js +1 -1
- package/dist/components/nylas-only-specific-time-availability.js +1 -1
- package/dist/components/nylas-organizer-confirmation-card.js +1 -1
- package/dist/components/nylas-page-name.js +1 -1
- package/dist/components/nylas-page-styling.js +1 -1
- package/dist/components/nylas-participant-booking-calendars.js +1 -1
- package/dist/components/nylas-participants-custom-availability.js +1 -1
- package/dist/components/nylas-reminder-emails.js +1 -1
- package/dist/components/nylas-reminder-time.js +1 -1
- package/dist/components/nylas-scheduler-editor.js +56 -56
- package/dist/components/nylas-scheduling-method.js +1 -1
- package/dist/components/nylas-scheduling.js +19 -19
- 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-CHrFrkWg.js → p-6ChZ1Qbz.js} +4 -4
- package/dist/components/{p-CHrFrkWg.js.map → p-6ChZ1Qbz.js.map} +1 -1
- package/dist/components/{p-BWuqxd0-.js → p-71j5L-dt.js} +5 -5
- package/dist/components/{p-BWuqxd0-.js.map → p-71j5L-dt.js.map} +1 -1
- package/dist/components/{p-RdM6EOvn.js → p-7sBPfdYI.js} +17 -17
- package/dist/components/{p-RdM6EOvn.js.map → p-7sBPfdYI.js.map} +1 -1
- package/dist/components/{p-CwExJf3p.js → p-AW961heI.js} +7 -7
- package/dist/components/{p-CwExJf3p.js.map → p-AW961heI.js.map} +1 -1
- package/dist/components/{p-Xz9vYJkl.js → p-B0DrSwKH.js} +5 -5
- package/dist/components/{p-Xz9vYJkl.js.map → p-B0DrSwKH.js.map} +1 -1
- package/dist/components/{p-Dbirawci.js → p-B14eRCR5.js} +3 -3
- package/dist/components/{p-Dbirawci.js.map → p-B14eRCR5.js.map} +1 -1
- package/dist/components/{p-CWTSM6yO.js → p-BJ0gZqoJ.js} +3 -3
- package/dist/components/{p-CWTSM6yO.js.map → p-BJ0gZqoJ.js.map} +1 -1
- package/dist/components/{p-B66WkprG.js → p-BLaGY2c9.js} +3 -3
- package/dist/components/{p-B66WkprG.js.map → p-BLaGY2c9.js.map} +1 -1
- package/dist/components/{p-zVAQ5U3H.js → p-BMTQXDvy.js} +5 -5
- package/dist/components/{p-zVAQ5U3H.js.map → p-BMTQXDvy.js.map} +1 -1
- package/dist/components/{p-D6N64LfQ.js → p-BaTbUdcw.js} +3 -3
- package/dist/components/{p-D6N64LfQ.js.map → p-BaTbUdcw.js.map} +1 -1
- package/dist/components/{p-DWEP06hR.js → p-BffnA_f7.js} +3 -3
- package/dist/components/{p-DWEP06hR.js.map → p-BffnA_f7.js.map} +1 -1
- package/dist/components/{p-C62uZf7r.js → p-BfrrTJGs.js} +4 -4
- package/dist/components/{p-C62uZf7r.js.map → p-BfrrTJGs.js.map} +1 -1
- package/dist/components/{p-z65sQUHF.js → p-BgWpQ57E.js} +5 -5
- package/dist/components/{p-z65sQUHF.js.map → p-BgWpQ57E.js.map} +1 -1
- package/dist/components/{p-DuxmEkPv.js → p-BmzQm3Nh.js} +5 -5
- package/dist/components/{p-DuxmEkPv.js.map → p-BmzQm3Nh.js.map} +1 -1
- package/dist/components/{p-rBm-tOur.js → p-C6nI5iTF.js} +4 -4
- package/dist/components/{p-rBm-tOur.js.map → p-C6nI5iTF.js.map} +1 -1
- package/dist/components/{p-BCuiGyoU.js → p-C8_sw1Bl.js} +4 -4
- package/dist/components/{p-BCuiGyoU.js.map → p-C8_sw1Bl.js.map} +1 -1
- package/dist/components/{p-DMZiMhDK.js → p-CBLI3JpV.js} +50 -50
- package/dist/components/{p-DMZiMhDK.js.map → p-CBLI3JpV.js.map} +1 -1
- package/dist/components/{p-4Hw__e3D.js → p-CCwI4JJ6.js} +8 -8
- package/dist/components/{p-4Hw__e3D.js.map → p-CCwI4JJ6.js.map} +1 -1
- package/dist/components/{p-cP0q4lU_.js → p-CDDvCyLe.js} +4 -4
- package/dist/components/{p-cP0q4lU_.js.map → p-CDDvCyLe.js.map} +1 -1
- package/dist/components/{p-CeB6Cbwj.js → p-CDY2803i.js} +7 -7
- package/dist/components/{p-CeB6Cbwj.js.map → p-CDY2803i.js.map} +1 -1
- package/dist/components/{p-CdgRkJo5.js → p-CGRnWG3R.js} +5 -5
- package/dist/components/{p-CdgRkJo5.js.map → p-CGRnWG3R.js.map} +1 -1
- package/dist/components/{p-Bmgc4OoC.js → p-CTibK7DI.js} +6 -6
- package/dist/components/{p-Bmgc4OoC.js.map → p-CTibK7DI.js.map} +1 -1
- package/dist/components/{p-C8b_6Mwi.js → p-CZXVRFvj.js} +5 -5
- package/dist/components/{p-C8b_6Mwi.js.map → p-CZXVRFvj.js.map} +1 -1
- package/dist/components/{p-CUbBPFuC.js → p-C_wt4VG1.js} +6 -6
- package/dist/components/{p-CUbBPFuC.js.map → p-C_wt4VG1.js.map} +1 -1
- package/dist/components/{p-CPl2QujN.js → p-Ca7_waxI.js} +5 -5
- package/dist/components/{p-CPl2QujN.js.map → p-Ca7_waxI.js.map} +1 -1
- package/dist/components/{p-DxlNq7J-.js → p-CbzGOkVl.js} +5 -5
- package/dist/components/{p-DxlNq7J-.js.map → p-CbzGOkVl.js.map} +1 -1
- package/dist/components/{p-BJC7yMYa.js → p-CeBINn7w.js} +5 -5
- package/dist/components/{p-BJC7yMYa.js.map → p-CeBINn7w.js.map} +1 -1
- package/dist/components/{p-CBt5X1k9.js → p-Ch2fnEor.js} +4 -4
- package/dist/components/{p-CBt5X1k9.js.map → p-Ch2fnEor.js.map} +1 -1
- package/dist/components/{p-Cpntx1Mu.js → p-Cmi5--r4.js} +4 -4
- package/dist/components/{p-Cpntx1Mu.js.map → p-Cmi5--r4.js.map} +1 -1
- package/dist/components/{p-BMp7KcxH.js → p-CoSrYtWD.js} +4 -4
- package/dist/components/{p-BMp7KcxH.js.map → p-CoSrYtWD.js.map} +1 -1
- package/dist/components/{p-D_9rbrrd.js → p-Cp6o6dvp.js} +4 -4
- package/dist/components/{p-D_9rbrrd.js.map → p-Cp6o6dvp.js.map} +1 -1
- package/dist/components/{p-07Ul9BQq.js → p-Cw0C2FtI.js} +39 -17
- package/dist/components/p-Cw0C2FtI.js.map +1 -0
- package/dist/components/{p-Aurz8anf.js → p-CyE6dQa1.js} +3 -3
- package/dist/components/{p-Aurz8anf.js.map → p-CyE6dQa1.js.map} +1 -1
- package/dist/components/{p-BLz815Ny.js → p-CyEL9Dys.js} +5 -5
- package/dist/components/{p-BLz815Ny.js.map → p-CyEL9Dys.js.map} +1 -1
- package/dist/components/{p-Cw2wynla.js → p-CzUnDM0S.js} +5 -5
- package/dist/components/{p-Cw2wynla.js.map → p-CzUnDM0S.js.map} +1 -1
- package/dist/components/{p-DdzrgkUr.js → p-D1kUhVgX.js} +4 -4
- package/dist/components/{p-DdzrgkUr.js.map → p-D1kUhVgX.js.map} +1 -1
- package/dist/components/{p-sKlwNeg3.js → p-D2boni88.js} +4 -4
- package/dist/components/{p-sKlwNeg3.js.map → p-D2boni88.js.map} +1 -1
- package/dist/components/{p-CMnhMEB3.js → p-D5X8shfk.js} +3 -3
- package/dist/components/{p-CMnhMEB3.js.map → p-D5X8shfk.js.map} +1 -1
- package/dist/components/{p-CztSSKob.js → p-D72GASZY.js} +6 -6
- package/dist/components/{p-CztSSKob.js.map → p-D72GASZY.js.map} +1 -1
- package/dist/components/{p-DBeFl6it.js → p-DBYtkpo-.js} +5 -5
- package/dist/components/{p-DBeFl6it.js.map → p-DBYtkpo-.js.map} +1 -1
- package/dist/components/{p-DX_efMHV.js → p-DFAeC2_5.js} +40 -40
- package/dist/components/{p-DX_efMHV.js.map → p-DFAeC2_5.js.map} +1 -1
- package/dist/components/{p-CulTX7Fr.js → p-DO1rWSYE.js} +4 -4
- package/dist/components/{p-CulTX7Fr.js.map → p-DO1rWSYE.js.map} +1 -1
- package/dist/components/{p-CrPTHsWg.js → p-DSjJ_aq0.js} +4 -4
- package/dist/components/{p-CrPTHsWg.js.map → p-DSjJ_aq0.js.map} +1 -1
- package/dist/components/{p-BFjEYRDA.js → p-DWeyMY_K.js} +4 -4
- package/dist/components/{p-BFjEYRDA.js.map → p-DWeyMY_K.js.map} +1 -1
- package/dist/components/{p-CXHIOvuw.js → p-DbaulkBW.js} +5 -5
- package/dist/components/{p-CXHIOvuw.js.map → p-DbaulkBW.js.map} +1 -1
- package/dist/components/{p-BPK0dIhW.js → p-DiYyjvXU.js} +8 -8
- package/dist/components/{p-BPK0dIhW.js.map → p-DiYyjvXU.js.map} +1 -1
- package/dist/components/{p-wg959gAI.js → p-DkQwOhaw.js} +5 -5
- package/dist/components/{p-wg959gAI.js.map → p-DkQwOhaw.js.map} +1 -1
- package/dist/components/{p-fFf19yyL.js → p-DmaMKknu.js} +5 -5
- package/dist/components/{p-fFf19yyL.js.map → p-DmaMKknu.js.map} +1 -1
- package/dist/components/{p-BHUyDM4a.js → p-DmqqlFjj.js} +3 -3
- package/dist/components/{p-BHUyDM4a.js.map → p-DmqqlFjj.js.map} +1 -1
- package/dist/components/{p-BNdXWt95.js → p-Dnr8VCvL.js} +4 -4
- package/dist/components/{p-BNdXWt95.js.map → p-Dnr8VCvL.js.map} +1 -1
- package/dist/components/{p-B6vWzWVH.js → p-DqQXniRY.js} +5 -5
- package/dist/components/{p-B6vWzWVH.js.map → p-DqQXniRY.js.map} +1 -1
- package/dist/components/{p-D5A3zAnj.js → p-DuymSQwd.js} +3 -3
- package/dist/components/{p-D5A3zAnj.js.map → p-DuymSQwd.js.map} +1 -1
- package/dist/components/{p-Q6RJB1kT.js → p-Dyw-txou.js} +8 -8
- package/dist/components/{p-Q6RJB1kT.js.map → p-Dyw-txou.js.map} +1 -1
- package/dist/components/{p-DTIl-dL0.js → p-IsvARMhz.js} +4 -4
- package/dist/components/{p-DTIl-dL0.js.map → p-IsvARMhz.js.map} +1 -1
- package/dist/components/{p-DLjTrAZQ.js → p-NBMazUZO.js} +4 -4
- package/dist/components/{p-DLjTrAZQ.js.map → p-NBMazUZO.js.map} +1 -1
- package/dist/components/{p-DwD3KXGW.js → p-YGA4H-9G.js} +4 -4
- package/dist/components/{p-DwD3KXGW.js.map → p-YGA4H-9G.js.map} +1 -1
- package/dist/components/{p-BRJUcnBZ.js → p-cuNPlg0X.js} +5 -5
- package/dist/components/{p-BRJUcnBZ.js.map → p-cuNPlg0X.js.map} +1 -1
- package/dist/components/{p-BI2p9Jc6.js → p-dUL2dkUa.js} +4 -4
- package/dist/components/{p-BI2p9Jc6.js.map → p-dUL2dkUa.js.map} +1 -1
- package/dist/components/{p-B-j_noAT.js → p-keMejSk3.js} +3 -3
- package/dist/components/{p-B-j_noAT.js.map → p-keMejSk3.js.map} +1 -1
- package/dist/components/{p-B3b2oLwS.js → p-mGdgvW-1.js} +6 -6
- package/dist/components/{p-B3b2oLwS.js.map → p-mGdgvW-1.js.map} +1 -1
- package/dist/components/{p-7omIdes5.js → p-qv7yU2pb.js} +7 -7
- package/dist/components/{p-7omIdes5.js.map → p-qv7yU2pb.js.map} +1 -1
- package/dist/components/{p-Biycd4iI.js → p-sXbbNax8.js} +4 -4
- package/dist/components/{p-Biycd4iI.js.map → p-sXbbNax8.js.map} +1 -1
- package/dist/components/{p-ickjUaoC.js → p-ttOMOXED.js} +3 -3
- package/dist/components/{p-ickjUaoC.js.map → p-ttOMOXED.js.map} +1 -1
- package/dist/components/{p-DyLPwQVe.js → p-u7v_3NZe.js} +5 -5
- package/dist/components/{p-DyLPwQVe.js.map → p-u7v_3NZe.js.map} +1 -1
- package/dist/components/{p-6w1TXINP.js → p-uxYETK9F.js} +3 -3
- package/dist/components/{p-6w1TXINP.js.map → p-uxYETK9F.js.map} +1 -1
- package/dist/components/{p-pKaQ_oN3.js → p-wbuAwPIf.js} +4 -4
- package/dist/components/{p-pKaQ_oN3.js.map → p-wbuAwPIf.js.map} +1 -1
- package/dist/components/{p-BkqJeMJc.js → p-zGaD8wi_.js} +4 -4
- package/dist/components/{p-BkqJeMJc.js.map → p-zGaD8wi_.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-DMUHtPZk.js → abstract-provider-BaO0SAV5.js} +3 -3
- package/dist/esm/{abstract-provider-DMUHtPZk.js.map → abstract-provider-BaO0SAV5.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_15.entry.js +2 -2
- package/dist/esm/{customParseFormat-DfI_KT_e.js → customParseFormat-BXULiIqM.js} +3 -3
- package/dist/esm/{customParseFormat-DfI_KT_e.js.map → customParseFormat-BXULiIqM.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/loader.js +1 -1
- package/dist/esm/multi-select-dropdown.entry.js +1 -1
- package/dist/esm/{nylas-api-request-Bfo7R-Jq.js → nylas-api-request-C-uof_ko.js} +3 -3
- package/dist/esm/{nylas-api-request-Bfo7R-Jq.js.map → nylas-api-request-C-uof_ko.js.map} +1 -1
- package/dist/esm/nylas-booked-event-card_11.entry.js +34 -14
- 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 +3 -3
- package/dist/esm/nylas-web-elements.js +1 -1
- package/dist/esm/{register-component-Mc-aGXTY.js → register-component-BWkU2nzv.js} +3 -3
- package/dist/esm/{register-component-Mc-aGXTY.js.map → register-component-BWkU2nzv.js.map} +1 -1
- package/dist/esm/textarea-component.entry.js +1 -1
- package/dist/esm/{utils-Hhz0ojc7.js → utils-qPYSsMs1.js} +3 -3
- package/dist/esm/utils-qPYSsMs1.js.map +1 -0
- package/dist/esm/{version-C8X2q4zX.js → version-C0XfEIKF.js} +3 -3
- package/dist/esm/{version-C8X2q4zX.js.map → version-C0XfEIKF.js.map} +1 -1
- package/dist/nylas-web-elements/index.esm.js +1 -1
- package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
- package/dist/nylas-web-elements/{p-98bbf87f.entry.js → p-062d7fdf.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-21d506a3.entry.js → p-308de920.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-7b418732.entry.js → p-4a7b2e75.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-34214390.entry.js → p-4d554975.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-f0097382.entry.js → p-4efc4661.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-c51215b6.entry.js → p-62c11ceb.entry.js} +2 -2
- package/dist/nylas-web-elements/p-62c11ceb.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-0a105d77.entry.js → p-694d464b.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-887ed22a.entry.js → p-750e5cc6.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-BCvV6idp.js → p-7nXSDTLA.js} +2 -2
- package/dist/nylas-web-elements/{p-BCvV6idp.js.map → p-7nXSDTLA.js.map} +1 -1
- package/dist/nylas-web-elements/{p-6c8e47a9.entry.js → p-854f1b66.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-lLLUSoaT.js → p-BMmDQ3tf.js} +2 -2
- package/dist/nylas-web-elements/{p-lLLUSoaT.js.map → p-BMmDQ3tf.js.map} +1 -1
- package/dist/nylas-web-elements/{p-C8X2q4zX.js → p-C0XfEIKF.js} +2 -2
- package/dist/nylas-web-elements/{p-C8X2q4zX.js.map → p-C0XfEIKF.js.map} +1 -1
- package/dist/nylas-web-elements/{p-BzJOftan.js → p-CiuA-WAz.js} +2 -2
- package/dist/nylas-web-elements/{p-BzJOftan.js.map → p-CiuA-WAz.js.map} +1 -1
- package/dist/nylas-web-elements/{p-fd6a12bd.entry.js → p-c7117440.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-sMJwFhkX.js → p-cIC9nmxa.js} +2 -2
- package/dist/nylas-web-elements/{p-sMJwFhkX.js.map → p-cIC9nmxa.js.map} +1 -1
- package/dist/nylas-web-elements/{p-7d369618.entry.js → p-d317b6ad.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-4bf65d9a.entry.js → p-d35c9487.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-ab87f218.entry.js → p-da93f29f.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-506c2328.entry.js → p-e6a22e75.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-Hhz0ojc7.js → p-qPYSsMs1.js} +1 -1
- package/dist/nylas-web-elements/p-qPYSsMs1.js.map +1 -0
- package/dist/types/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.d.ts +3 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
- package/dist/cjs/utils-CWOo-QbG.js.map +0 -1
- package/dist/components/p-07Ul9BQq.js.map +0 -1
- package/dist/esm/utils-Hhz0ojc7.js.map +0 -1
- package/dist/nylas-web-elements/p-Hhz0ojc7.js.map +0 -1
- package/dist/nylas-web-elements/p-c51215b6.entry.js.map +0 -1
- /package/dist/nylas-web-elements/{p-98bbf87f.entry.js.map → p-062d7fdf.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-21d506a3.entry.js.map → p-308de920.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-7b418732.entry.js.map → p-4a7b2e75.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-34214390.entry.js.map → p-4d554975.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-f0097382.entry.js.map → p-4efc4661.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-0a105d77.entry.js.map → p-694d464b.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-887ed22a.entry.js.map → p-750e5cc6.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-6c8e47a9.entry.js.map → p-854f1b66.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-fd6a12bd.entry.js.map → p-c7117440.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-7d369618.entry.js.map → p-d317b6ad.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-4bf65d9a.entry.js.map → p-d35c9487.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-ab87f218.entry.js.map → p-da93f29f.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-506c2328.entry.js.map → p-e6a22e75.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-4Hw__e3D.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.scss?tag=nylas-participants-custom-availability&encapsulation=shadow","src/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.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-participants-custom-availability {\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 .header {\n padding: 1rem;\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 p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n .validation-error {\n margin: 0;\n padding: 0.75rem 1rem;\n background-color: var(--nylas-color-red-50);\n\n span {\n font-size: 0.875rem;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-error);\n display: block;\n }\n }\n .content {\n .participant-container {\n padding-top: 8px;\n border-top: 1px solid var(--nylas-base-200);\n color: var(--nylas-base-900);\n background-color: var(--nylas-base-25);\n\n .participant-title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 4px 16px 12px;\n p {\n margin: 0;\n }\n .participant-toggle {\n display: flex;\n gap: 24px;\n align-items: center;\n .chevron {\n display: flex;\n align-self: center;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n\n &.open {\n transform: rotate(90deg);\n }\n\n &.closed {\n transform: rotate(270deg);\n }\n\n &.disabled {\n cursor: not-allowed;\n color: var(--nylas-base-300);\n &:hover {\n color: var(--nylas-base-300);\n }\n }\n }\n }\n }\n nylas-availability-picker::part(nap) {\n margin: 0;\n border: none;\n }\n nylas-specific-time-availability-picker::part(nstap) {\n margin: 0;\n border: none;\n }\n .participant-only-specific-time-container {\n padding: 8px 16px;\n border-top: 1px solid var(--nylas-base-200);\n background-color: var(--nylas-base-50);\n\n .participant-only-specific-time-checkbox {\n label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-900);\n cursor: pointer;\n\n input[type='checkbox'] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n accent-color: var(--nylas-primary);\n }\n\n span {\n flex: 1;\n }\n\n tooltip-component {\n display: flex;\n align-items: center;\n }\n }\n }\n }\n }\n .participant-tabs {\n justify-content: space-between;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n padding: 8px 16px;\n border-top: 1px solid var(--nylas-base-200);\n\n &.single-tab {\n grid-template-columns: 1fr;\n }\n }\n .participant-tab {\n cursor: pointer;\n padding: 8px 16px;\n border-radius: var(--nylas-border-radius-2x);\n background-color: var(--nylas-base-100);\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-base-600);\n &.active {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-100);\n }\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, OpenHours, Participant, ParticipantAvailability, SpecificTimeAvailability, ThemeConfig } from '@nylas/core';\nimport { DEFAULT_OPEN_HOURS } from '@/common/constants';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-participants-custom-availability` component is a form input for setting custom availability for participants.\n *\n * @part npca - The participants custom availability container\n * @part npca__header - The header of the participants custom availability\n * @part npca__validation-error - The validation error message container\n * @part npca__content - The content of the participants custom availability\n * @part npca__participant-container - The participant container\n * @part npca__participant-title - The title of the participant\n * @part npca__participant-toggle--container - The toggle container for the participant\n * @part npca__toggle-label - The label of the toggle\n * @part npca_toggle-input - The input of the toggle\n * @part npca_toggle-slider - The slider of the toggle\n */\n@Component({\n tag: 'nylas-participants-custom-availability',\n styleUrl: 'nylas-participants-custom-availability.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasParticipantsCustomAvailability {\n @Element() host!: HTMLNylasParticipantsCustomAvailabilityElement;\n private participantFormRef!: HTMLFormElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the participants custom availability.\n */\n @Prop() name: string = 'participant-custom-availability';\n\n /**\n * @standalone\n * The participants selected in the add participants section.\n */\n @Prop() participants: Participant[] = this.selectedConfiguration?.participants || [];\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * This event is fired when the participants custom availability changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The state to store the custom availability setting for participants.\n */\n @State() selectedParticipants: {\n [key: string]: {\n setCustom: boolean;\n tab: 'availability' | 'specific-time-availability';\n isOpen: boolean;\n openHours: OpenHours[];\n specificTimesAvailability: SpecificTimeAvailability[];\n name: string;\n availability?: ParticipantAvailability;\n timezone?: string;\n onlySpecificTimeAvailability?: boolean;\n };\n } = this.setParticipants(this.participants);\n\n /**\n * The validation error message for the component.\n */\n @State() validationError: string = '';\n\n // Watchers\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-participants-custom-availability', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('participants')\n participantsChangedHandler(newValue: Participant[], oldValue: Participant[]) {\n debug('nylas-participants-custom-availability', 'participantsChangedHandler', newValue, oldValue);\n if (!newValue || !oldValue || JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n this.selectedParticipants = this.setParticipants(newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration, oldValue: Configuration) {\n debug('nylas-participants-custom-availability', 'selectedConfigurationChangedHandler', newValue, oldValue);\n if (!newValue || !oldValue || JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n if (newValue?.participants) {\n this.selectedParticipants = this.setParticipants(newValue?.participants);\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 // Lifecycle Methods\n connectedCallback() {\n debug('nylas-participants-custom-availability', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-participants-custom-availability', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-participants-custom-availability', 'componentWillLoad');\n }\n\n componentDidLoad() {\n debug('nylas-participants-custom-availability', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedParticipants = this.setParticipants(this.selectedConfiguration?.participants);\n } else {\n this.selectedParticipants = this.setParticipants(this.participants);\n }\n // Run validation on initial load\n this.updateFormValue();\n }\n\n // Event Handlers\n @Listen('nylasFormSwitchToggled')\n nylasFormSwitchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: boolean }>) {\n debug('nylas-participants-custom-availability', 'nylasFormSwitchToggledHandler', event.detail);\n\n // Check if this is a toggle for \"only specific time availability\"\n if (event.detail.name.startsWith('only-specific-time-')) {\n const participantEmail = event.detail.name.replace('only-specific-time-', '');\n if (this.selectedParticipants[participantEmail]) {\n this.selectedParticipants[participantEmail]['onlySpecificTimeAvailability'] = event.detail.checked;\n // When enabling only specific time, switch to specific time tab\n if (event.detail.checked) {\n this.selectedParticipants[participantEmail]['tab'] = 'specific-time-availability';\n }\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }\n return;\n }\n\n const existingParticipant = this.selectedConfiguration?.participants.find(participant => participant.email === event.detail.name);\n const existingOpenHours = existingParticipant?.availability?.open_hours || [];\n const openHours = existingOpenHours?.length > 0 ? existingOpenHours : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours || [];\n const timeZone =\n existingOpenHours && existingOpenHours.length > 0\n ? existingParticipant?.timezone\n : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours?.at(0)?.timezone ||\n this.selectedConfiguration?.event_booking?.timezone ||\n window.Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n const existingSpecificTimeAvailability = existingParticipant?.specific_time_availability || [];\n const specificTimesAvailability = existingSpecificTimeAvailability?.length > 0 ? existingSpecificTimeAvailability : [];\n this.selectedParticipants[event.detail.name]['isOpen'] = event.detail.checked;\n this.selectedParticipants[event.detail.name]['tab'] = 'availability';\n this.selectedParticipants[event.detail.name]['setCustom'] = event.detail.checked;\n this.selectedParticipants[event.detail.name]['openHours'] = event.detail.checked ? (openHours?.length > 0 ? openHours : DEFAULT_OPEN_HOURS) : [];\n this.selectedParticipants[event.detail.name]['timezone'] = event.detail.checked ? timeZone : undefined;\n this.selectedParticipants[event.detail.name]['specificTimesAvailability'] = event.detail.checked ? specificTimesAvailability : [];\n // Reset onlySpecificTimeAvailability to false when custom availability is turned off\n this.selectedParticipants[event.detail.name]['onlySpecificTimeAvailability'] = event.detail.checked\n ? this.selectedParticipants[event.detail.name]['onlySpecificTimeAvailability'] || false\n : false;\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }\n\n @Listen('valueChanged')\n handleValueChanged(event: CustomEvent) {\n debug('[nylas-editor-tabs]', 'handleValueChanged', event);\n const { name, value } = event.detail;\n if (!name.startsWith('participant-availability-') && !name.startsWith('participant-specific-time-availability-')) {\n return;\n }\n\n // Parse the JSON value once - can contain { openHours: OpenHours[], timezone: string } or SpecificTimeAvailability[]\n let jsonValue;\n try {\n jsonValue = JSON.parse(value);\n } catch (error) {\n console.error(`Failed to parse JSON for participant ${name}:`, error);\n return;\n }\n\n // Validate the form\n if (this.isInternalsAvailable) {\n if (!this.participantFormRef.checkValidity()) {\n this.internals.setValidity({ customError: true }, 'Please fix the overlapping time ranges.');\n return;\n } else {\n this.internals.setValidity({});\n }\n }\n\n if (name.startsWith('participant-availability-')) {\n // Expected name format: \"participant-availability-{participantId}-{uniqueKey}\"\n // We extract the unique key (4th segment) to identify the specific participant\n const nameParts = name.split('-');\n if (nameParts.length < 4) {\n console.warn(`Malformed participant name format: ${name}. Expected format: \"participant-availability-{participantId}-{uniqueKey}\"`);\n return;\n }\n\n const key = nameParts[3];\n if (!this.selectedParticipants[key]) return;\n const existingOpenHours = jsonValue.openHours || [];\n const openHours = existingOpenHours?.length > 0 ? existingOpenHours : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours || [];\n this.selectedParticipants[key]['openHours'] = openHours;\n this.selectedParticipants[key]['tab'] = 'availability';\n if (jsonValue.timezone) {\n this.selectedParticipants[key]['timezone'] = jsonValue.timezone;\n // Also sync to specific times availability so it is consistent\n this.selectedParticipants[key]['specificTimesAvailability'] = (this.selectedParticipants[key]['specificTimesAvailability'] || []).map(entry => ({\n ...entry,\n timezone: jsonValue.timezone,\n }));\n }\n } else if (name.startsWith('participant-specific-time-availability')) {\n // Expected name format: \"participant-specific-time-availability-{index}-{uniqueKey}\"\n // Extract the unique key (6th segment) to identify the specific participant\n const nameParts = name.split('-');\n if (nameParts.length < 6) {\n console.warn(`Malformed participant specific date name format: ${name}. Expected format: \"participant-specific-time-availability-{index}-{uniqueKey}\"`);\n return;\n }\n\n const key = nameParts[5];\n if (!this.selectedParticipants[key]) return;\n const existingSpecificTimeAvailability = jsonValue || [];\n this.selectedParticipants[key]['specificTimesAvailability'] = existingSpecificTimeAvailability;\n this.selectedParticipants[key]['tab'] = 'specific-time-availability';\n\n // Sync timezone from specific time availability\n if (existingSpecificTimeAvailability.length > 0 && existingSpecificTimeAvailability[0].timezone) {\n const newTimezone = existingSpecificTimeAvailability[0].timezone;\n this.selectedParticipants[key]['timezone'] = newTimezone;\n // Also sync to open hours so it is consistent\n this.selectedParticipants[key]['openHours'] = (this.selectedParticipants[key]['openHours'] || []).map(entry => ({\n ...entry,\n timezone: newTimezone,\n }));\n }\n }\n\n this.selectedParticipants = { ...this.selectedParticipants };\n\n this.updateFormValue();\n }\n\n updateFormValue() {\n const participantOpenHours = {};\n const participantSpecificTimeAvailability = {};\n const participantOnlySpecificTimeAvailability = {};\n Object.keys(this.selectedParticipants).forEach(key => {\n participantOpenHours[key] = this.selectedParticipants[key].openHours;\n participantSpecificTimeAvailability[key] = this.selectedParticipants[key].specificTimesAvailability || [];\n participantOnlySpecificTimeAvailability[key] = this.selectedParticipants[key].onlySpecificTimeAvailability || false;\n });\n\n // Validate that participants with \"only specific time availability\" have at least one specific time entry\n const invalidParticipants = Object.keys(this.selectedParticipants).filter(key => {\n const participant = this.selectedParticipants[key];\n return participant.onlySpecificTimeAvailability && (!participant.specificTimesAvailability || participant.specificTimesAvailability.length === 0);\n });\n\n if (invalidParticipants.length > 0) {\n const participantNames = invalidParticipants.map(key => this.selectedParticipants[key].name).join(', ');\n const errorMessage = i18next.t('nylasParticipantCustomAvailability.specificTimeRequired', { participantName: participantNames });\n this.validationError = errorMessage;\n if (this.isInternalsAvailable) {\n this.internals.setValidity({ customError: true }, errorMessage);\n }\n } else {\n this.validationError = '';\n if (this.isInternalsAvailable) {\n this.internals.setValidity({});\n }\n }\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantOpenHours), this.name);\n this.valueChanged.emit({ value: JSON.stringify(participantOpenHours), name: this.name });\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantSpecificTimeAvailability), `${this.name}-specific-time`);\n this.valueChanged.emit({ value: JSON.stringify(participantSpecificTimeAvailability), name: `${this.name}-specific-time` });\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantOnlySpecificTimeAvailability), `${this.name}-only-specific-time`);\n this.valueChanged.emit({ value: JSON.stringify(participantOnlySpecificTimeAvailability), name: `${this.name}-only-specific-time` });\n }\n\n setParticipants(participants: Participant[]) {\n const selectedParticipants = {};\n participants?.forEach(participant => {\n const onlySpecificTime = participant.only_specific_time_availability || false;\n const hasOpenHours = Boolean(participant.availability?.open_hours && participant.availability.open_hours.length > 0);\n const hasSpecificTime = Boolean(participant.specific_time_availability && participant.specific_time_availability.length > 0);\n const hasCustomAvailability = hasOpenHours || hasSpecificTime;\n\n selectedParticipants[participant.email] = {\n isOpen: hasCustomAvailability, // Open the section if custom availability is configured\n setCustom: hasOpenHours,\n openHours: participant.availability?.open_hours || [],\n name: participant.name || participant.email,\n availability: participant.availability,\n timezone: participant.timezone,\n specificTimesAvailability: participant.specific_time_availability || [],\n onlySpecificTimeAvailability: onlySpecificTime,\n // Default to specific-time-availability tab if only specific time is enabled\n tab: onlySpecificTime ? 'specific-time-availability' : 'availability',\n };\n });\n return selectedParticipants;\n }\n\n /**\n * This method is essentially a workaround to check if the internals are available because\n * the unit tests in stencil do not support the internals.\n * @returns boolean\n */\n get isInternalsAvailable() {\n return this.internals !== undefined && typeof this.internals.setFormValue === 'function' && typeof this.internals.setValidity === 'function';\n }\n\n @RegisterComponent<NylasParticipantsCustomAvailability, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-participants-custom-availability',\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 return (\n <Host>\n <div class=\"nylas-participants-custom-availability\" part=\"npca\">\n <div class=\"header\" part=\"npca__header\">\n <h3>{i18next.t('nylasParticipantCustomAvailability.headerTitle')}</h3>\n <p>{i18next.t('nylasParticipantCustomAvailability.headerSubTitle')}</p>\n </div>\n {this.validationError && (\n <div class=\"validation-error\" part=\"npca__validation-error\">\n <span>{this.validationError}</span>\n </div>\n )}\n <div class=\"content\" part=\"npca__content\">\n <form ref={el => (this.participantFormRef = el as HTMLFormElement)}>\n {Object.keys(this.selectedParticipants).map((key, index) => {\n const participant = this.selectedParticipants[key];\n const participantOpenHours = participant.availability?.open_hours || [];\n if (!participant || !participant.name || !participant.availability) return;\n return (\n <div class=\"participant-container\" part=\"npca__participant-container\" key={`participant-conatiner-${index}`}>\n <div class=\"participant-title\" part=\"npca__participant-title\">\n <p>{i18next.t('nylasParticipantCustomAvailability.participantOpenHoursTitle', { participantName: participant.name })}</p>\n <div class=\"participant-toggle\" part=\"npca__participant-toggle--container\">\n <toggle-switch\n exportparts=\"ts_label: npca__toggle-label, ts_input: npca_toggle-input, ts_slider: npca_toggle-slider\"\n name={key}\n checked={!!participant?.openHours && participant?.openHours.length > 0}\n themeConfig={this.themeConfig}\n />\n <span\n class={`chevron ${participant.isOpen ? 'open' : 'closed'} ${participant.setCustom ? '' : 'disabled'}`}\n onClick={() => {\n if (!participant.setCustom) return;\n this.selectedParticipants[key].isOpen = !participant.isOpen;\n this.selectedParticipants[key].tab = 'availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n </div>\n {participant.isOpen && (\n <div class=\"participant-only-specific-time-container\">\n <div class=\"participant-only-specific-time-checkbox\">\n <label>\n <input\n type=\"checkbox\"\n checked={participant.onlySpecificTimeAvailability}\n onChange={(e: any) => {\n this.selectedParticipants[key]['onlySpecificTimeAvailability'] = e.target.checked;\n if (e.target.checked) {\n this.selectedParticipants[key]['tab'] = 'specific-time-availability';\n }\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }}\n />\n <span>{i18next.t('nylasParticipantCustomAvailability.onlySpecificTimeAvailability', { participantName: participant.name })}</span>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" width=\"14\" height=\"14\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasParticipantCustomAvailability.onlySpecificTimeAvailabilityTooltip', { participantName: participant.name })}\n </span>\n </tooltip-component>\n </label>\n </div>\n </div>\n )}\n {participant.isOpen && (\n <div class={`participant-tabs ${participant.onlySpecificTimeAvailability ? 'single-tab' : ''}`} part=\"npca__participant-tabs\">\n {!participant.onlySpecificTimeAvailability && (\n <div\n class={`participant-tab ${participant.tab === 'availability' ? 'active' : ''}`}\n part=\"npca__participant-tab\"\n onClick={() => {\n this.selectedParticipants[key].tab = 'availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <span>{i18next.t('nylasParticipantCustomAvailability.participantAvailabilityTab')}</span>\n </div>\n )}\n <div\n class={`participant-tab ${participant.tab === 'specific-time-availability' ? 'active' : ''}`}\n part=\"npca__participant-tab\"\n onClick={() => {\n this.selectedParticipants[key].tab = 'specific-time-availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <span>{i18next.t('nylasParticipantCustomAvailability.participantSpecificTimeAvailabilityTab')}</span>\n </div>\n </div>\n )}\n {participant.tab === 'availability' && participant.isOpen && !participant.onlySpecificTimeAvailability && (\n <nylas-availability-picker\n key={index}\n name={`participant-availability-${index}-${key}`}\n openHours={participantOpenHours}\n defaultTimezone={participant.timezone}\n hideHeader={true}\n />\n )}\n {participant.tab === 'specific-time-availability' && participant.isOpen && (\n <nylas-specific-time-availability-picker\n key={index}\n name={`participant-specific-time-availability-${index}-${key}`}\n defaultTimezone={participant.timezone}\n specificTimesAvailability={participant.specificTimesAvailability}\n hideHeader={true}\n />\n )}\n </div>\n );\n })}\n </form>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CCwI4JJ6.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.scss?tag=nylas-participants-custom-availability&encapsulation=shadow","src/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.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-participants-custom-availability {\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 .header {\n padding: 1rem;\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 p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n .validation-error {\n margin: 0;\n padding: 0.75rem 1rem;\n background-color: var(--nylas-color-red-50);\n\n span {\n font-size: 0.875rem;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-error);\n display: block;\n }\n }\n .content {\n .participant-container {\n padding-top: 8px;\n border-top: 1px solid var(--nylas-base-200);\n color: var(--nylas-base-900);\n background-color: var(--nylas-base-25);\n\n .participant-title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 4px 16px 12px;\n p {\n margin: 0;\n }\n .participant-toggle {\n display: flex;\n gap: 24px;\n align-items: center;\n .chevron {\n display: flex;\n align-self: center;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n\n &.open {\n transform: rotate(90deg);\n }\n\n &.closed {\n transform: rotate(270deg);\n }\n\n &.disabled {\n cursor: not-allowed;\n color: var(--nylas-base-300);\n &:hover {\n color: var(--nylas-base-300);\n }\n }\n }\n }\n }\n nylas-availability-picker::part(nap) {\n margin: 0;\n border: none;\n }\n nylas-specific-time-availability-picker::part(nstap) {\n margin: 0;\n border: none;\n }\n .participant-only-specific-time-container {\n padding: 8px 16px;\n border-top: 1px solid var(--nylas-base-200);\n background-color: var(--nylas-base-50);\n\n .participant-only-specific-time-checkbox {\n label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-900);\n cursor: pointer;\n\n input[type='checkbox'] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n accent-color: var(--nylas-primary);\n }\n\n span {\n flex: 1;\n }\n\n tooltip-component {\n display: flex;\n align-items: center;\n }\n }\n }\n }\n }\n .participant-tabs {\n justify-content: space-between;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n padding: 8px 16px;\n border-top: 1px solid var(--nylas-base-200);\n\n &.single-tab {\n grid-template-columns: 1fr;\n }\n }\n .participant-tab {\n cursor: pointer;\n padding: 8px 16px;\n border-radius: var(--nylas-border-radius-2x);\n background-color: var(--nylas-base-100);\n text-align: center;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-base-600);\n &.active {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-100);\n }\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, OpenHours, Participant, ParticipantAvailability, SpecificTimeAvailability, ThemeConfig } from '@nylas/core';\nimport { DEFAULT_OPEN_HOURS } from '@/common/constants';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-participants-custom-availability` component is a form input for setting custom availability for participants.\n *\n * @part npca - The participants custom availability container\n * @part npca__header - The header of the participants custom availability\n * @part npca__validation-error - The validation error message container\n * @part npca__content - The content of the participants custom availability\n * @part npca__participant-container - The participant container\n * @part npca__participant-title - The title of the participant\n * @part npca__participant-toggle--container - The toggle container for the participant\n * @part npca__toggle-label - The label of the toggle\n * @part npca_toggle-input - The input of the toggle\n * @part npca_toggle-slider - The slider of the toggle\n */\n@Component({\n tag: 'nylas-participants-custom-availability',\n styleUrl: 'nylas-participants-custom-availability.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasParticipantsCustomAvailability {\n @Element() host!: HTMLNylasParticipantsCustomAvailabilityElement;\n private participantFormRef!: HTMLFormElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the participants custom availability.\n */\n @Prop() name: string = 'participant-custom-availability';\n\n /**\n * @standalone\n * The participants selected in the add participants section.\n */\n @Prop() participants: Participant[] = this.selectedConfiguration?.participants || [];\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * This event is fired when the participants custom availability changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The state to store the custom availability setting for participants.\n */\n @State() selectedParticipants: {\n [key: string]: {\n setCustom: boolean;\n tab: 'availability' | 'specific-time-availability';\n isOpen: boolean;\n openHours: OpenHours[];\n specificTimesAvailability: SpecificTimeAvailability[];\n name: string;\n availability?: ParticipantAvailability;\n timezone?: string;\n onlySpecificTimeAvailability?: boolean;\n };\n } = this.setParticipants(this.participants);\n\n /**\n * The validation error message for the component.\n */\n @State() validationError: string = '';\n\n // Watchers\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-participants-custom-availability', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('participants')\n participantsChangedHandler(newValue: Participant[], oldValue: Participant[]) {\n debug('nylas-participants-custom-availability', 'participantsChangedHandler', newValue, oldValue);\n if (!newValue || !oldValue || JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n this.selectedParticipants = this.setParticipants(newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration, oldValue: Configuration) {\n debug('nylas-participants-custom-availability', 'selectedConfigurationChangedHandler', newValue, oldValue);\n if (!newValue || !oldValue || JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n if (newValue?.participants) {\n this.selectedParticipants = this.setParticipants(newValue?.participants);\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 // Lifecycle Methods\n connectedCallback() {\n debug('nylas-participants-custom-availability', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-participants-custom-availability', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-participants-custom-availability', 'componentWillLoad');\n }\n\n componentDidLoad() {\n debug('nylas-participants-custom-availability', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedParticipants = this.setParticipants(this.selectedConfiguration?.participants);\n } else {\n this.selectedParticipants = this.setParticipants(this.participants);\n }\n // Run validation on initial load\n this.updateFormValue();\n }\n\n // Event Handlers\n @Listen('nylasFormSwitchToggled')\n nylasFormSwitchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: boolean }>) {\n debug('nylas-participants-custom-availability', 'nylasFormSwitchToggledHandler', event.detail);\n\n // Check if this is a toggle for \"only specific time availability\"\n if (event.detail.name.startsWith('only-specific-time-')) {\n const participantEmail = event.detail.name.replace('only-specific-time-', '');\n if (this.selectedParticipants[participantEmail]) {\n this.selectedParticipants[participantEmail]['onlySpecificTimeAvailability'] = event.detail.checked;\n // When enabling only specific time, switch to specific time tab\n if (event.detail.checked) {\n this.selectedParticipants[participantEmail]['tab'] = 'specific-time-availability';\n }\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }\n return;\n }\n\n const existingParticipant = this.selectedConfiguration?.participants.find(participant => participant.email === event.detail.name);\n const existingOpenHours = existingParticipant?.availability?.open_hours || [];\n const openHours = existingOpenHours?.length > 0 ? existingOpenHours : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours || [];\n const timeZone =\n existingOpenHours && existingOpenHours.length > 0\n ? existingParticipant?.timezone\n : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours?.at(0)?.timezone ||\n this.selectedConfiguration?.event_booking?.timezone ||\n window.Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n const existingSpecificTimeAvailability = existingParticipant?.specific_time_availability || [];\n const specificTimesAvailability = existingSpecificTimeAvailability?.length > 0 ? existingSpecificTimeAvailability : [];\n this.selectedParticipants[event.detail.name]['isOpen'] = event.detail.checked;\n this.selectedParticipants[event.detail.name]['tab'] = 'availability';\n this.selectedParticipants[event.detail.name]['setCustom'] = event.detail.checked;\n this.selectedParticipants[event.detail.name]['openHours'] = event.detail.checked ? (openHours?.length > 0 ? openHours : DEFAULT_OPEN_HOURS) : [];\n this.selectedParticipants[event.detail.name]['timezone'] = event.detail.checked ? timeZone : undefined;\n this.selectedParticipants[event.detail.name]['specificTimesAvailability'] = event.detail.checked ? specificTimesAvailability : [];\n // Reset onlySpecificTimeAvailability to false when custom availability is turned off\n this.selectedParticipants[event.detail.name]['onlySpecificTimeAvailability'] = event.detail.checked\n ? this.selectedParticipants[event.detail.name]['onlySpecificTimeAvailability'] || false\n : false;\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }\n\n @Listen('valueChanged')\n handleValueChanged(event: CustomEvent) {\n debug('[nylas-editor-tabs]', 'handleValueChanged', event);\n const { name, value } = event.detail;\n if (!name.startsWith('participant-availability-') && !name.startsWith('participant-specific-time-availability-')) {\n return;\n }\n\n // Parse the JSON value once - can contain { openHours: OpenHours[], timezone: string } or SpecificTimeAvailability[]\n let jsonValue;\n try {\n jsonValue = JSON.parse(value);\n } catch (error) {\n console.error(`Failed to parse JSON for participant ${name}:`, error);\n return;\n }\n\n // Validate the form\n if (this.isInternalsAvailable) {\n if (!this.participantFormRef.checkValidity()) {\n this.internals.setValidity({ customError: true }, 'Please fix the overlapping time ranges.');\n return;\n } else {\n this.internals.setValidity({});\n }\n }\n\n if (name.startsWith('participant-availability-')) {\n // Expected name format: \"participant-availability-{participantId}-{uniqueKey}\"\n // We extract the unique key (4th segment) to identify the specific participant\n const nameParts = name.split('-');\n if (nameParts.length < 4) {\n console.warn(`Malformed participant name format: ${name}. Expected format: \"participant-availability-{participantId}-{uniqueKey}\"`);\n return;\n }\n\n const key = nameParts[3];\n if (!this.selectedParticipants[key]) return;\n const existingOpenHours = jsonValue.openHours || [];\n const openHours = existingOpenHours?.length > 0 ? existingOpenHours : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours || [];\n this.selectedParticipants[key]['openHours'] = openHours;\n this.selectedParticipants[key]['tab'] = 'availability';\n if (jsonValue.timezone) {\n this.selectedParticipants[key]['timezone'] = jsonValue.timezone;\n // Also sync to specific times availability so it is consistent\n this.selectedParticipants[key]['specificTimesAvailability'] = (this.selectedParticipants[key]['specificTimesAvailability'] || []).map(entry => ({\n ...entry,\n timezone: jsonValue.timezone,\n }));\n }\n } else if (name.startsWith('participant-specific-time-availability')) {\n // Expected name format: \"participant-specific-time-availability-{index}-{uniqueKey}\"\n // Extract the unique key (6th segment) to identify the specific participant\n const nameParts = name.split('-');\n if (nameParts.length < 6) {\n console.warn(`Malformed participant specific date name format: ${name}. Expected format: \"participant-specific-time-availability-{index}-{uniqueKey}\"`);\n return;\n }\n\n const key = nameParts[5];\n if (!this.selectedParticipants[key]) return;\n const existingSpecificTimeAvailability = jsonValue || [];\n this.selectedParticipants[key]['specificTimesAvailability'] = existingSpecificTimeAvailability;\n this.selectedParticipants[key]['tab'] = 'specific-time-availability';\n\n // Sync timezone from specific time availability\n if (existingSpecificTimeAvailability.length > 0 && existingSpecificTimeAvailability[0].timezone) {\n const newTimezone = existingSpecificTimeAvailability[0].timezone;\n this.selectedParticipants[key]['timezone'] = newTimezone;\n // Also sync to open hours so it is consistent\n this.selectedParticipants[key]['openHours'] = (this.selectedParticipants[key]['openHours'] || []).map(entry => ({\n ...entry,\n timezone: newTimezone,\n }));\n }\n }\n\n this.selectedParticipants = { ...this.selectedParticipants };\n\n this.updateFormValue();\n }\n\n updateFormValue() {\n const participantOpenHours = {};\n const participantSpecificTimeAvailability = {};\n const participantOnlySpecificTimeAvailability = {};\n Object.keys(this.selectedParticipants).forEach(key => {\n participantOpenHours[key] = this.selectedParticipants[key].openHours;\n participantSpecificTimeAvailability[key] = this.selectedParticipants[key].specificTimesAvailability || [];\n participantOnlySpecificTimeAvailability[key] = this.selectedParticipants[key].onlySpecificTimeAvailability || false;\n });\n\n // Validate that participants with \"only specific time availability\" have at least one specific time entry\n const invalidParticipants = Object.keys(this.selectedParticipants).filter(key => {\n const participant = this.selectedParticipants[key];\n return participant.onlySpecificTimeAvailability && (!participant.specificTimesAvailability || participant.specificTimesAvailability.length === 0);\n });\n\n if (invalidParticipants.length > 0) {\n const participantNames = invalidParticipants.map(key => this.selectedParticipants[key].name).join(', ');\n const errorMessage = i18next.t('nylasParticipantCustomAvailability.specificTimeRequired', { participantName: participantNames });\n this.validationError = errorMessage;\n if (this.isInternalsAvailable) {\n this.internals.setValidity({ customError: true }, errorMessage);\n }\n } else {\n this.validationError = '';\n if (this.isInternalsAvailable) {\n this.internals.setValidity({});\n }\n }\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantOpenHours), this.name);\n this.valueChanged.emit({ value: JSON.stringify(participantOpenHours), name: this.name });\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantSpecificTimeAvailability), `${this.name}-specific-time`);\n this.valueChanged.emit({ value: JSON.stringify(participantSpecificTimeAvailability), name: `${this.name}-specific-time` });\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantOnlySpecificTimeAvailability), `${this.name}-only-specific-time`);\n this.valueChanged.emit({ value: JSON.stringify(participantOnlySpecificTimeAvailability), name: `${this.name}-only-specific-time` });\n }\n\n setParticipants(participants: Participant[]) {\n const selectedParticipants = {};\n participants?.forEach(participant => {\n const onlySpecificTime = participant.only_specific_time_availability || false;\n const hasOpenHours = Boolean(participant.availability?.open_hours && participant.availability.open_hours.length > 0);\n const hasSpecificTime = Boolean(participant.specific_time_availability && participant.specific_time_availability.length > 0);\n const hasCustomAvailability = hasOpenHours || hasSpecificTime;\n\n selectedParticipants[participant.email] = {\n isOpen: hasCustomAvailability, // Open the section if custom availability is configured\n setCustom: hasOpenHours,\n openHours: participant.availability?.open_hours || [],\n name: participant.name || participant.email,\n availability: participant.availability,\n timezone: participant.timezone,\n specificTimesAvailability: participant.specific_time_availability || [],\n onlySpecificTimeAvailability: onlySpecificTime,\n // Default to specific-time-availability tab if only specific time is enabled\n tab: onlySpecificTime ? 'specific-time-availability' : 'availability',\n };\n });\n return selectedParticipants;\n }\n\n /**\n * This method is essentially a workaround to check if the internals are available because\n * the unit tests in stencil do not support the internals.\n * @returns boolean\n */\n get isInternalsAvailable() {\n return this.internals !== undefined && typeof this.internals.setFormValue === 'function' && typeof this.internals.setValidity === 'function';\n }\n\n @RegisterComponent<NylasParticipantsCustomAvailability, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-participants-custom-availability',\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 return (\n <Host>\n <div class=\"nylas-participants-custom-availability\" part=\"npca\">\n <div class=\"header\" part=\"npca__header\">\n <h3>{i18next.t('nylasParticipantCustomAvailability.headerTitle')}</h3>\n <p>{i18next.t('nylasParticipantCustomAvailability.headerSubTitle')}</p>\n </div>\n {this.validationError && (\n <div class=\"validation-error\" part=\"npca__validation-error\">\n <span>{this.validationError}</span>\n </div>\n )}\n <div class=\"content\" part=\"npca__content\">\n <form ref={el => (this.participantFormRef = el as HTMLFormElement)}>\n {Object.keys(this.selectedParticipants).map((key, index) => {\n const participant = this.selectedParticipants[key];\n const participantOpenHours = participant.availability?.open_hours || [];\n if (!participant || !participant.name || !participant.availability) return;\n return (\n <div class=\"participant-container\" part=\"npca__participant-container\" key={`participant-conatiner-${index}`}>\n <div class=\"participant-title\" part=\"npca__participant-title\">\n <p>{i18next.t('nylasParticipantCustomAvailability.participantOpenHoursTitle', { participantName: participant.name })}</p>\n <div class=\"participant-toggle\" part=\"npca__participant-toggle--container\">\n <toggle-switch\n exportparts=\"ts_label: npca__toggle-label, ts_input: npca_toggle-input, ts_slider: npca_toggle-slider\"\n name={key}\n checked={!!participant?.openHours && participant?.openHours.length > 0}\n themeConfig={this.themeConfig}\n />\n <span\n class={`chevron ${participant.isOpen ? 'open' : 'closed'} ${participant.setCustom ? '' : 'disabled'}`}\n onClick={() => {\n if (!participant.setCustom) return;\n this.selectedParticipants[key].isOpen = !participant.isOpen;\n this.selectedParticipants[key].tab = 'availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n </div>\n {participant.isOpen && (\n <div class=\"participant-only-specific-time-container\">\n <div class=\"participant-only-specific-time-checkbox\">\n <label>\n <input\n type=\"checkbox\"\n checked={participant.onlySpecificTimeAvailability}\n onChange={(e: any) => {\n this.selectedParticipants[key]['onlySpecificTimeAvailability'] = e.target.checked;\n if (e.target.checked) {\n this.selectedParticipants[key]['tab'] = 'specific-time-availability';\n }\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }}\n />\n <span>{i18next.t('nylasParticipantCustomAvailability.onlySpecificTimeAvailability', { participantName: participant.name })}</span>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" width=\"14\" height=\"14\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasParticipantCustomAvailability.onlySpecificTimeAvailabilityTooltip', { participantName: participant.name })}\n </span>\n </tooltip-component>\n </label>\n </div>\n </div>\n )}\n {participant.isOpen && (\n <div class={`participant-tabs ${participant.onlySpecificTimeAvailability ? 'single-tab' : ''}`} part=\"npca__participant-tabs\">\n {!participant.onlySpecificTimeAvailability && (\n <div\n class={`participant-tab ${participant.tab === 'availability' ? 'active' : ''}`}\n part=\"npca__participant-tab\"\n onClick={() => {\n this.selectedParticipants[key].tab = 'availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <span>{i18next.t('nylasParticipantCustomAvailability.participantAvailabilityTab')}</span>\n </div>\n )}\n <div\n class={`participant-tab ${participant.tab === 'specific-time-availability' ? 'active' : ''}`}\n part=\"npca__participant-tab\"\n onClick={() => {\n this.selectedParticipants[key].tab = 'specific-time-availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <span>{i18next.t('nylasParticipantCustomAvailability.participantSpecificTimeAvailabilityTab')}</span>\n </div>\n </div>\n )}\n {participant.tab === 'availability' && participant.isOpen && !participant.onlySpecificTimeAvailability && (\n <nylas-availability-picker\n key={index}\n name={`participant-availability-${index}-${key}`}\n openHours={participantOpenHours}\n defaultTimezone={participant.timezone}\n hideHeader={true}\n />\n )}\n {participant.tab === 'specific-time-availability' && participant.isOpen && (\n <nylas-specific-time-availability-picker\n key={index}\n name={`participant-specific-time-availability-${index}-${key}`}\n defaultTimezone={participant.timezone}\n specificTimesAvailability={participant.specificTimesAvailability}\n hideHeader={true}\n />\n )}\n </div>\n );\n })}\n </form>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
|
|
2
|
-
import { R as RegisterComponent } from './p-
|
|
3
|
-
import { a as debug, b as instance } from './p-
|
|
2
|
+
import { R as RegisterComponent } from './p-BLaGY2c9.js';
|
|
3
|
+
import { a as debug, b as instance } from './p-BJ0gZqoJ.js';
|
|
4
4
|
import { d as defineCustomElement$4 } from './p-BmAj0mhb.js';
|
|
5
5
|
import { d as defineCustomElement$3 } from './p-DTTtT3qX.js';
|
|
6
6
|
import { d as defineCustomElement$2 } from './p-BPcKgFmL.js';
|
|
@@ -240,6 +240,6 @@ function defineCustomElement() {
|
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
export { NylasEventDuration as N, defineCustomElement as d };
|
|
243
|
-
//# sourceMappingURL=p-
|
|
243
|
+
//# sourceMappingURL=p-CDDvCyLe.js.map
|
|
244
244
|
|
|
245
|
-
//# sourceMappingURL=p-
|
|
245
|
+
//# sourceMappingURL=p-CDDvCyLe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-cP0q4lU_.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.scss?tag=nylas-event-duration&encapsulation=shadow","src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-event-duration {\n display: flex;\n flex-direction: column;\n gap: 4px;\n\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 21px */\n span.required {\n color: var(--nylas-error, #cc4841);\n }\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\n.nylas-event-duration__error-container {\n max-height: 0;\n opacity: 0;\n overflow: hidden;\n transition:\n max-height 0.3s ease,\n opacity 0.3s ease;\n\n &.visible {\n max-height: 20px;\n opacity: 1;\n }\n .nylas-event-duration__error {\n color: var(--nylas-error);\n font-family: var(--nylas-font-family);\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 18px */\n }\n}\n\n.nylas-event-duration__wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n input {\n padding: 12px 16px;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n width: 48px;\n }\n\n input-dropdown::part(id_dropdown-input) {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 14px 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n }\n\n input-dropdown::part(id_dropdown-content) {\n width: 100%;\n min-width: unset;\n height: 200px;\n }\n\n input-dropdown {\n width: 80px;\n\n &.error {\n &::part(id_dropdown-input) {\n border: 1px solid var(--nylas-error);\n }\n }\n }\n select-dropdown {\n width: 120px;\n @media #{$mobile} {\n width: 100%;\n }\n }\n\n select-dropdown::part(sd_dropdown-button) {\n border: 1px solid var(--nylas-base-200);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, Listen, State, h, Element, Prop, Watch, Event, EventEmitter } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-event-duration` component is a form input for the duration of an event.\n *\n * @part ned - The event duration container\n * @part ned__dropdown - The dropdown container for the duration increment\n * @part ned__dropdown-button - The dropdown button for the duration increment\n * @part ned__dropdown-content - The dropdown content for the duration increment\n * @part ned__input_dropdown - The input dropdown container for the duration minutes\n * @part ned__input_dropdown-input - The input for the duration minutes\n * @part ned__input_dropdown-content - The dropdown content for the input duration minutes\n */\n@Component({\n tag: 'nylas-event-duration',\n styleUrl: 'nylas-event-duration.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasEventDuration {\n /**\n * The host element <nylas-event-duration>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the event duration. Default is 'duration'.\n */\n @Prop() name: string = 'duration';\n /**\n * @standalone\n * The event duration in minutes as set in the configuration.\n */\n @Prop() eventDurationMinutes?: number;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The selected event duration state. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() duration: number = this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n /**\n * The duration in minutes. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() durationMinutes!: number;\n /**\n * The duration increment. This defaults to minute(s).\n */\n @State() durationIncrement!: number;\n /**\n * The error message for the duration.\n */\n @State() error: string = '';\n /**\n * The durationMinutesOptions for the dropdown.\n */\n @State() durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-event-duration', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const configDuration = newVal?.availability?.duration_minutes;\n if (configDuration) {\n this.duration = configDuration >= 60 ? configDuration / 60 : configDuration;\n this.durationMinutes = configDuration ? configDuration : 30;\n this.durationIncrement = configDuration >= 60 ? 60 : 1;\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n if (this.error) {\n this.validateDuration();\n }\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Event emitted when the event duration changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-event-duration', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-event-duration', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n this.applyThemeConfig(this.themeConfig);\n }\n\n componentDidLoad() {\n debug('nylas-event-duration', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n this.duration = this.duration ? this.duration : this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n this.durationMinutes = this.durationMinutes ? this.durationMinutes : this.duration ? this.duration : 30;\n this.durationIncrement = this.durationIncrement ? this.durationIncrement : this.duration >= 60 ? 60 : 1;\n this.setDurationMintueOptions();\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n\n disconnectedCallback() {\n debug('nylas-event-duration', 'disconnectedCallback');\n }\n\n get isInternalsAvailable() {\n return typeof this.internals !== 'undefined' && typeof this.internals.setFormValue === 'function';\n }\n\n setDurationMintueOptions() {\n if (this.durationIncrement === 1) {\n this.durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n } else {\n this.durationMinutesOptions = Array.from({ length: 23 }, (_, i) => ({ value: (i + 1).toString(), label: (i + 1).toString() }));\n }\n return this.durationMinutesOptions;\n }\n\n validateDuration() {\n if (this.durationMinutes % 5 !== 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeMultipleOf5');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else if (this.durationMinutes <= 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeGreaterThan0');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else {\n this.error = '';\n this.isInternalsAvailable && this.internals.setValidity({});\n }\n return this.error;\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-calendar-picker', 'nylasFormDropdownChangedHandler', event.detail);\n const { value } = event.detail;\n this.durationIncrement = parseInt(value.toString());\n if (this.durationIncrement === 1) {\n this.duration = 60;\n } else {\n this.duration = 1;\n }\n this.setDurationMintueOptions();\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @Listen('inputOptionChanged')\n inputOptionChangedHandler(event: CustomEvent<{ value: number; name: string }>) {\n debug('nylas-calendar-picker', 'inputOptionChangedHandler', event.detail);\n const { value } = event.detail;\n this.duration = parseFloat(value.toString());\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @RegisterComponent<NylasEventDuration, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-event-duration',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const durationOptions = [\n { value: (1).toString(), label: i18next.t('timeDuration', { context: 'minute' }) },\n { value: (60).toString(), label: i18next.t('timeDuration', { context: 'hour' }) },\n ];\n\n return (\n <Host>\n <div class=\"nylas-event-duration\" part=\"ned\">\n <label htmlFor=\"duration\">\n {i18next.t('nylasEventDuration.headerTitle')}\n <span class=\"required\">*</span>\n </label>\n <div class=\"nylas-event-duration__wrapper\">\n <input-dropdown\n class={this.error ? 'error' : ''}\n name={'event-duration'}\n options={this.durationMinutesOptions}\n inputValue={this.duration.toString()}\n exportparts=\"id_dropdown: ned__input_dropdown, id_dropdown-input: ned__input_dropdown-input, id_dropdown-content: ned__input_dropdown-content\"\n defaultInputOption={this.durationMinutesOptions.find(i => i.value === this.duration.toString())}\n themeConfig={this.themeConfig}\n />\n {this.durationIncrement && (\n <select-dropdown\n name={'event-duration'}\n options={durationOptions}\n pluralizedLabel={\n this.duration > 1\n ? i18next.t(`time.${this.durationIncrement === 60 ? 'hours' : 'minutes'}`)\n : i18next.t(`time.${this.durationIncrement === 60 ? 'hour' : 'minute'}`)\n }\n themeConfig={this.themeConfig}\n exportparts=\"sd_dropdown: ned__dropdown, sd_dropdown-button: ned__dropdown-button, sd_dropdown-content: ned__dropdown-content\"\n defaultSelectedOption={durationOptions.find(i => i.value === this.durationIncrement.toString())}\n withSearch={false}\n />\n )}\n </div>\n <div class={`nylas-event-duration__error-container ${this.error ? 'visible' : ''}`} part=\"ned__error-container\">\n <div class=\"nylas-event-duration__error\" part=\"ned__error\">\n {this.error}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CDDvCyLe.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.scss?tag=nylas-event-duration&encapsulation=shadow","src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-event-duration {\n display: flex;\n flex-direction: column;\n gap: 4px;\n\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 21px */\n span.required {\n color: var(--nylas-error, #cc4841);\n }\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\n.nylas-event-duration__error-container {\n max-height: 0;\n opacity: 0;\n overflow: hidden;\n transition:\n max-height 0.3s ease,\n opacity 0.3s ease;\n\n &.visible {\n max-height: 20px;\n opacity: 1;\n }\n .nylas-event-duration__error {\n color: var(--nylas-error);\n font-family: var(--nylas-font-family);\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 18px */\n }\n}\n\n.nylas-event-duration__wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n input {\n padding: 12px 16px;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n width: 48px;\n }\n\n input-dropdown::part(id_dropdown-input) {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 14px 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n }\n\n input-dropdown::part(id_dropdown-content) {\n width: 100%;\n min-width: unset;\n height: 200px;\n }\n\n input-dropdown {\n width: 80px;\n\n &.error {\n &::part(id_dropdown-input) {\n border: 1px solid var(--nylas-error);\n }\n }\n }\n select-dropdown {\n width: 120px;\n @media #{$mobile} {\n width: 100%;\n }\n }\n\n select-dropdown::part(sd_dropdown-button) {\n border: 1px solid var(--nylas-base-200);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, Listen, State, h, Element, Prop, Watch, Event, EventEmitter } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-event-duration` component is a form input for the duration of an event.\n *\n * @part ned - The event duration container\n * @part ned__dropdown - The dropdown container for the duration increment\n * @part ned__dropdown-button - The dropdown button for the duration increment\n * @part ned__dropdown-content - The dropdown content for the duration increment\n * @part ned__input_dropdown - The input dropdown container for the duration minutes\n * @part ned__input_dropdown-input - The input for the duration minutes\n * @part ned__input_dropdown-content - The dropdown content for the input duration minutes\n */\n@Component({\n tag: 'nylas-event-duration',\n styleUrl: 'nylas-event-duration.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasEventDuration {\n /**\n * The host element <nylas-event-duration>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the event duration. Default is 'duration'.\n */\n @Prop() name: string = 'duration';\n /**\n * @standalone\n * The event duration in minutes as set in the configuration.\n */\n @Prop() eventDurationMinutes?: number;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The selected event duration state. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() duration: number = this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n /**\n * The duration in minutes. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() durationMinutes!: number;\n /**\n * The duration increment. This defaults to minute(s).\n */\n @State() durationIncrement!: number;\n /**\n * The error message for the duration.\n */\n @State() error: string = '';\n /**\n * The durationMinutesOptions for the dropdown.\n */\n @State() durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-event-duration', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const configDuration = newVal?.availability?.duration_minutes;\n if (configDuration) {\n this.duration = configDuration >= 60 ? configDuration / 60 : configDuration;\n this.durationMinutes = configDuration ? configDuration : 30;\n this.durationIncrement = configDuration >= 60 ? 60 : 1;\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n if (this.error) {\n this.validateDuration();\n }\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Event emitted when the event duration changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-event-duration', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-event-duration', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n this.applyThemeConfig(this.themeConfig);\n }\n\n componentDidLoad() {\n debug('nylas-event-duration', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n this.duration = this.duration ? this.duration : this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n this.durationMinutes = this.durationMinutes ? this.durationMinutes : this.duration ? this.duration : 30;\n this.durationIncrement = this.durationIncrement ? this.durationIncrement : this.duration >= 60 ? 60 : 1;\n this.setDurationMintueOptions();\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n\n disconnectedCallback() {\n debug('nylas-event-duration', 'disconnectedCallback');\n }\n\n get isInternalsAvailable() {\n return typeof this.internals !== 'undefined' && typeof this.internals.setFormValue === 'function';\n }\n\n setDurationMintueOptions() {\n if (this.durationIncrement === 1) {\n this.durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n } else {\n this.durationMinutesOptions = Array.from({ length: 23 }, (_, i) => ({ value: (i + 1).toString(), label: (i + 1).toString() }));\n }\n return this.durationMinutesOptions;\n }\n\n validateDuration() {\n if (this.durationMinutes % 5 !== 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeMultipleOf5');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else if (this.durationMinutes <= 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeGreaterThan0');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else {\n this.error = '';\n this.isInternalsAvailable && this.internals.setValidity({});\n }\n return this.error;\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-calendar-picker', 'nylasFormDropdownChangedHandler', event.detail);\n const { value } = event.detail;\n this.durationIncrement = parseInt(value.toString());\n if (this.durationIncrement === 1) {\n this.duration = 60;\n } else {\n this.duration = 1;\n }\n this.setDurationMintueOptions();\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @Listen('inputOptionChanged')\n inputOptionChangedHandler(event: CustomEvent<{ value: number; name: string }>) {\n debug('nylas-calendar-picker', 'inputOptionChangedHandler', event.detail);\n const { value } = event.detail;\n this.duration = parseFloat(value.toString());\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @RegisterComponent<NylasEventDuration, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-event-duration',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const durationOptions = [\n { value: (1).toString(), label: i18next.t('timeDuration', { context: 'minute' }) },\n { value: (60).toString(), label: i18next.t('timeDuration', { context: 'hour' }) },\n ];\n\n return (\n <Host>\n <div class=\"nylas-event-duration\" part=\"ned\">\n <label htmlFor=\"duration\">\n {i18next.t('nylasEventDuration.headerTitle')}\n <span class=\"required\">*</span>\n </label>\n <div class=\"nylas-event-duration__wrapper\">\n <input-dropdown\n class={this.error ? 'error' : ''}\n name={'event-duration'}\n options={this.durationMinutesOptions}\n inputValue={this.duration.toString()}\n exportparts=\"id_dropdown: ned__input_dropdown, id_dropdown-input: ned__input_dropdown-input, id_dropdown-content: ned__input_dropdown-content\"\n defaultInputOption={this.durationMinutesOptions.find(i => i.value === this.duration.toString())}\n themeConfig={this.themeConfig}\n />\n {this.durationIncrement && (\n <select-dropdown\n name={'event-duration'}\n options={durationOptions}\n pluralizedLabel={\n this.duration > 1\n ? i18next.t(`time.${this.durationIncrement === 60 ? 'hours' : 'minutes'}`)\n : i18next.t(`time.${this.durationIncrement === 60 ? 'hour' : 'minute'}`)\n }\n themeConfig={this.themeConfig}\n exportparts=\"sd_dropdown: ned__dropdown, sd_dropdown-button: ned__dropdown-button, sd_dropdown-content: ned__dropdown-content\"\n defaultSelectedOption={durationOptions.find(i => i.value === this.durationIncrement.toString())}\n withSearch={false}\n />\n )}\n </div>\n <div class={`nylas-event-duration__error-container ${this.error ? 'visible' : ''}`} part=\"ned__error-container\">\n <div class=\"nylas-event-duration__error\" part=\"ned__error\">\n {this.error}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
|
|
2
|
-
import { R as RegisterComponent } from './p-
|
|
3
|
-
import { a as debug, b as instance } from './p-
|
|
2
|
+
import { R as RegisterComponent } from './p-BLaGY2c9.js';
|
|
3
|
+
import { a as debug, b as instance } from './p-BJ0gZqoJ.js';
|
|
4
4
|
import { d as defineCustomElement$g } from './p-CD74XxwY.js';
|
|
5
5
|
import { d as defineCustomElement$f } from './p-BmAj0mhb.js';
|
|
6
6
|
import { d as defineCustomElement$e } from './p-BDiCM-22.js';
|
|
7
7
|
import { d as defineCustomElement$d } from './p-wcywvG4_.js';
|
|
8
8
|
import { d as defineCustomElement$c } from './p-Ctw485JT.js';
|
|
9
|
-
import { d as defineCustomElement$b } from './p-
|
|
9
|
+
import { d as defineCustomElement$b } from './p-ttOMOXED.js';
|
|
10
10
|
import { d as defineCustomElement$a } from './p-DTTtT3qX.js';
|
|
11
11
|
import { d as defineCustomElement$9 } from './p-DVz9HZ14.js';
|
|
12
|
-
import { d as defineCustomElement$8 } from './p-
|
|
12
|
+
import { d as defineCustomElement$8 } from './p-BMTQXDvy.js';
|
|
13
13
|
import { d as defineCustomElement$7 } from './p-BkdkbGpd.js';
|
|
14
14
|
import { d as defineCustomElement$6 } from './p-AxIlNiXw.js';
|
|
15
15
|
import { d as defineCustomElement$5 } from './p-BPcKgFmL.js';
|
|
16
16
|
import { d as defineCustomElement$4 } from './p-DNNbYGla.js';
|
|
17
|
-
import { d as defineCustomElement$3 } from './p-
|
|
17
|
+
import { d as defineCustomElement$3 } from './p-DmqqlFjj.js';
|
|
18
18
|
import { d as defineCustomElement$2 } from './p-Chy47KVW.js';
|
|
19
19
|
import { d as defineCustomElement$1 } from './p-CGljkH-y.js';
|
|
20
20
|
|
|
@@ -394,6 +394,6 @@ function defineCustomElement() {
|
|
|
394
394
|
}
|
|
395
395
|
|
|
396
396
|
export { NylasReminderEmails as N, defineCustomElement as d };
|
|
397
|
-
//# sourceMappingURL=p-
|
|
397
|
+
//# sourceMappingURL=p-CDY2803i.js.map
|
|
398
398
|
|
|
399
|
-
//# sourceMappingURL=p-
|
|
399
|
+
//# sourceMappingURL=p-CDY2803i.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-CeB6Cbwj.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.scss?tag=nylas-reminder-emails&encapsulation=shadow","src/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.cards-container {\n margin-bottom: 4rem;\n color: var(--nylas-base-900);\n\n .nylas-reminder-email {\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 text-align: left;\n\n .reminder-open-close-toggle {\n display: flex;\n gap: 16px;\n\n .chevron {\n display: flex;\n align-self: center;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n\n &.open {\n transform: rotate(90deg);\n }\n\n &.closed {\n transform: rotate(270deg);\n }\n\n &.disabled {\n cursor: not-allowed;\n color: var(--nylas-base-300);\n\n &:hover {\n color: var(--nylas-base-300);\n }\n }\n }\n }\n\n .header {\n padding: 1rem;\n display: grid;\n grid-template-columns: 1fr auto;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h3 {\n border-radius: var(--nylas-border-radius-2x);\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n\n .confirmation-email-toggle {\n display: flex;\n gap: 24px;\n align-items: center;\n\n .chevron {\n display: flex;\n align-self: center;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n\n &.open {\n transform: rotate(90deg);\n }\n\n &.closed {\n transform: rotate(270deg);\n }\n\n &.disabled {\n cursor: not-allowed;\n color: var(--nylas-base-300);\n\n &:hover {\n color: var(--nylas-base-300);\n }\n }\n }\n }\n }\n\n .nylas-reminder-email__body {\n display: grid;\n grid-template-columns: 1fr auto;\n background-color: var(--nylas-base-25);\n border-radius: var(--nylas-border-radius-2x);\n\n @media #{$mobile} {\n grid-template-columns: 1fr;\n }\n\n .nylas-reminder-email__section {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n color: var(--nylas-base-800);\n\n @media #{$mobile} {\n border: none;\n }\n\n .nylas-reminder-email__block {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n border-top: 1px solid var(--nylas-base-200);\n padding-top: 1rem;\n margin-top: 0.5rem;\n }\n\n .nylas-reminder-email__row {\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n gap: 1rem;\n\n &.full-width-col {\n grid-template-columns: 1fr;\n }\n\n label {\n display: flex;\n align-items: center;\n\n span.required {\n color: var(--nylas-error, #cc4841);\n }\n\n span.label-icon {\n margin-left: 4px;\n\n tooltip-component {\n display: flex;\n }\n }\n }\n\n p.error-message {\n color: var(--nylas-error);\n display: flex;\n align-items: center;\n\n button-component {\n button {\n color: blue;\n\n &:hover {\n color: var(--nylas-primary);\n }\n }\n }\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 16px;\n font-weight: 500;\n line-height: 24px;\n color: var(--nylas-base-900);\n }\n\n .company-logo-container {\n display: flex;\n gap: 32px;\n width: 100%;\n\n .input-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n }\n\n .company-logo {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 200px;\n height: 100px;\n border: var(--nylas-base-200) solid 1px;\n border-radius: var(--nylas-border-radius-2x);\n overflow: hidden;\n padding: 10px;\n }\n\n .company-logo img {\n max-height: 100%;\n max-width: 100%;\n object-fit: contain;\n object-position: center;\n }\n }\n\n span.selected-value {\n font-weight: 500;\n }\n }\n\n .subsection {\n display: flex;\n flex-direction: column;\n gap: 1rem;\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 .input-container {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n\n textarea {\n padding: 12px 16px;\n border-width: 1;\n resize: vertical;\n border-radius: 8px;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n border: 1px solid var(--nylas-base-200);\n }\n }\n }\n }\n\n .nylas-reminder-email__preview {\n width: 208px;\n background: var(--nylas-base-25);\n border-bottom-right-radius: var(--nylas-border-radius-2x);\n\n @media #{$mobile} {\n width: inherit;\n border-bottom-left-radius: var(--nylas-border-radius-2x);\n }\n\n h4 {\n font-size: 14px;\n line-height: 24px;\n color: var(--nylas-base-600);\n font-family: var(--nylas-font-family);\n font-weight: 500;\n text-align: center;\n margin: 0.75rem 0;\n }\n\n .preview-container {\n padding: 0 2rem 1rem;\n\n .slot {\n background-color: transparent;\n border-top: 1px solid var(--nylas-base-300);\n\n &.active {\n background-color: var(--nylas-base-100);\n }\n\n &:last-of-type {\n border-bottom: 1px solid var(--nylas-base-300);\n }\n }\n\n .event-slot {\n background-color: var(--nylas-base-600);\n border-top: 1px solid var(--nylas-base-300);\n }\n }\n }\n\n span.error-message {\n color: var(--nylas-error);\n }\n\n span.help-text {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n\n .nylas-reminder-email__summary {\n padding: 0.75rem 1rem;\n display: grid;\n grid-template-columns: auto 1fr;\n column-gap: 1rem;\n\n p {\n margin: 0;\n display: flex;\n align-items: center;\n column-gap: 4px;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 21px;\n color: var(--nylas-base-600);\n text-align: left;\n\n span.summary-icon {\n display: flex;\n justify-content: center;\n min-width: 20px;\n }\n }\n }\n }\n}\n\nsp-divider {\n background-color: var(--nylas-base-200);\n height: 1px;\n margin: 0.25rem 0;\n}\n\nbutton-component.create-reminder button {\n margin: 1rem;\n width: calc(100% - 2rem);\n}\n\nbutton-component.delete-btn button {\n trash-icon {\n color: var(--nylas-error);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, EventReminder, GroupConfiguration, Participant, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-reminder-emails` component is a UI component that allows users to set buffer time before and after an event.\n *\n * @part nre__tab-heading - The nylas-reminder-emails main tab heading\n * @part nre - The nylas-reminder-emails container\n * @part nre__header - The header of the event communication section\n * @part nre__body - The body of the event communication section\n * @part nre__summary - The reminder card summary container\n * @part nrt - The event reminder container\n * @part nrt__number-dropdown - The number dropdown container\n * @part nrt__number-dropdown-button - The number dropdown button\n * @part nrt__number-dropdown-content - The number dropdown content\n * @part nrt__period-dropdown - The period dropdown container\n * @part nrt__period-dropdown-button - The period dropdown button\n * @part nrt__period-dropdown-content - The period dropdown content\n * @part nrt__time-period-selector - The time period selector\n **/\n@Component({\n tag: 'nylas-reminder-emails',\n styleUrl: 'nylas-reminder-emails.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasReminderEmails {\n @Element() host!: HTMLNylasReminderEmailsElement;\n\n /**\n * The selected configuration.\n */\n @Prop() selectedConfiguration?: Configuration | GroupConfiguration;\n /**\n * The event reminders prop.\n */\n @Prop() eventReminders?: (EventReminder & { editing?: boolean })[];\n /**\n * The name of the component\n */\n @Prop() name: string = 'reminder-overrides';\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The event reminders state. Defaults to an empty array if no event reminders are present.\n */\n @State() reminders: (EventReminder & { editing?: boolean })[] =\n (this.selectedConfiguration as Configuration)?.event_booking?.reminders ??\n (this.selectedConfiguration as GroupConfiguration)?.group_booking?.reminders ??\n this.eventReminders ??\n [];\n @State() reminderErrors: {\n [key: string]: {\n error: string;\n suggestion: number;\n };\n } = {};\n @State() participants: Participant[] = (this.selectedConfiguration as Configuration)?.participants ?? [];\n\n /**\n * This event is fired when the email reminders change.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\n }>;\n\n @State() clearError: boolean = false;\n\n @Event() nylasSuggestReminderMinutes!: EventEmitter<{ minutes: number }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-reminder-emails', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-reminder-emails', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-reminder-emails', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-reminder-emails', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n this.reminders = this.eventReminders ?? [];\n this.updateRemindersFormValue(false);\n }\n }\n\n componentWillUpdate() {\n debug('nylas-reminder-emails', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-reminder-emails', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-reminder-emails', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-reminder-emails', 'componentDidRender');\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-reminder-emails', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration | GroupConfiguration) {\n debug('nylas-reminder-emails', 'selectedConfigurationChangedHandler', newVal);\n const configuration = newVal as Configuration;\n const groupConfiguration = newVal as GroupConfiguration;\n this.reminders = configuration?.event_booking?.reminders ?? groupConfiguration?.group_booking?.reminders ?? [];\n this.participants = configuration?.participants ?? [];\n this.updateRemindersFormValue(false);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('valueChanged')\n handleValueChanged(event: CustomEvent) {\n debug('nylas-reminder-emails', 'handleValueChanged', event);\n const { name, value } = event.detail;\n\n if (name.startsWith('reminder-time-')) {\n const remainder = parseInt(value) % 5;\n if (remainder !== 0) {\n this.reminderErrors[name] = {\n error: i18next.t('nylasReminderEmails.reminderMinutesValidationError'),\n suggestion: parseInt(value) + (5 - remainder),\n };\n this.reminderErrors = { ...this.reminderErrors };\n this.internals.setValidity({ customError: true }, 'Reminder time must be a multiple of 5');\n return;\n } else {\n delete this.reminderErrors[name];\n this.reminderErrors = { ...this.reminderErrors };\n this.internals.setValidity({ customError: false });\n }\n // Extract the reminder index from the name attribute (e.g. reminder-time-0)\n const [_, reminderIndex] = name.split(/(\\d+)/);\n const updatedReminders = [...this.reminders];\n updatedReminders[reminderIndex].minutes_before_event = parseInt(value);\n this.reminders = [...updatedReminders];\n this.updateRemindersFormValue();\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n handleNylasFormDropdownChanged(event: CustomEvent) {\n debug('nylas-reminder-emails', 'handleNylasFormDropdownChanged', event);\n const { name, value } = event.detail;\n if (!name.startsWith('recipient-')) {\n return;\n }\n // Extract the reminder index from the name attribute (e.g. recipient-0)\n const [_, reminderIndex] = name.split(/(\\d+)/);\n const updatedReminders = [...this.reminders];\n updatedReminders[reminderIndex].recipient = value;\n this.reminders = [...updatedReminders];\n this.updateRemindersFormValue();\n }\n\n @Listen('nylasFormInputChanged')\n handleNylasFormInputChanged(event: CustomEvent) {\n debug('nylas-reminder-emails', 'handleNylasFormInputChanged', event);\n const { name, value } = event.detail;\n if (!name.startsWith('reminder-subject-')) {\n return;\n }\n // Extract the reminder index from the name attribute (e.g. reminder-subject-0)\n const [_, reminderIndex] = name.split(/(\\d+)/);\n const updatedReminders = [...this.reminders];\n updatedReminders[reminderIndex].email_subject = value;\n this.reminders = [...updatedReminders];\n this.updateRemindersFormValue();\n }\n\n addReminder() {\n debug('nylas-reminder-emails', 'addReminder');\n const recipient = this.selectedConfiguration?.type === 'group' ? 'guest' : 'all';\n this.reminders = [\n ...this.reminders,\n {\n type: 'email',\n minutes_before_event: 30,\n editing: true,\n recipient: recipient,\n },\n ];\n this.updateRemindersFormValue();\n }\n\n deleteReminder(index: number) {\n this.reminders = this.reminders.filter((_, i) => i !== index).map(p => ({ ...p }));\n this.updateRemindersFormValue();\n }\n\n get isInternalsAvailable() {\n return this.internals !== undefined && typeof this.internals.setFormValue === 'function';\n }\n\n updateRemindersFormValue(valueChanged: boolean = true) {\n debug('nylas-reminder-emails', 'updateRemindersFormValue');\n const eventReminders = this.reminders.map(reminder => {\n const rem = { ...reminder };\n rem?.editing && delete rem.editing;\n return rem;\n });\n if (valueChanged) {\n this.valueChanged.emit({\n value: JSON.stringify(eventReminders),\n name: this.name,\n });\n }\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(eventReminders), this.name);\n }\n\n formatReminderTime(reminderTime: number) {\n switch (true) {\n case reminderTime > 24 * 60:\n return `${(reminderTime / 60 / 24).toFixed(2)} ${i18next.t('time.days')}`;\n case reminderTime === 24 * 60:\n return `1 ${i18next.t('time.days')}`;\n case reminderTime > 90 || reminderTime === 60:\n return `${(reminderTime / 60).toFixed(2)} ${i18next.t('time.hours')}`;\n default:\n return `${reminderTime} ${reminderTime > 1 ? i18next.t('time.minutes') : i18next.t('time.minute')} `;\n }\n }\n\n @RegisterComponent<NylasReminderEmails, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-reminder-emails',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n valueChanged: async (\n event: CustomEvent<{ value: string; name: string; valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void }>,\n _nylasSchedulerConfigConnector: NylasSchedulerConfigConnector,\n ) => {\n const { valueChanged } = event.detail;\n // If a handler is passed, call it.\n if (valueChanged) {\n valueChanged(event);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const organizerName = this.participants.find(p => p.is_organizer)?.name;\n let recipientOptions = [\n {\n label: i18next.t('nylasReminderEmails.recipientOptions', { context: 'all' }),\n value: 'all',\n },\n {\n label: i18next.t('nylasReminderEmails.recipientOptions', { context: 'guest' }),\n value: 'guest',\n },\n {\n label: i18next.t('nylasReminderEmails.recipientOptions', { context: 'host' }),\n value: 'host',\n },\n ];\n if (this.selectedConfiguration?.type === 'group') {\n recipientOptions = recipientOptions.filter(option => option.value !== 'all');\n }\n\n return (\n <Host>\n <div class=\"cards-container\">\n {this.reminders.map((reminder, index) => {\n return reminder.type !== 'webhook' ? (\n <div class=\"nylas-reminder-email\" part=\"nre\">\n <div class=\"header\" part=\"nre__header\">\n <div>\n <h3>\n {organizerName\n ? i18next.t('nylasReminderEmails.headerTitle_withOrganizer', { organizerName: ` ${organizerName}` })\n : i18next.t('nylasReminderEmails.headerTitle')}\n </h3>\n <p>{i18next.t('nylasReminderEmails.headerSubTitle')}</p>\n </div>\n {!reminder.editing ? (\n <button-component\n variant={'basic'}\n key={`edit-${index} `}\n clickHandler={event => {\n event.preventDefault();\n reminder.editing = true;\n this.reminders = [...this.reminders];\n }}\n >\n <edit-icon width=\"16\" height=\"16\"></edit-icon>\n {i18next.t('nylasReminderEmails.editButtonText')}\n </button-component>\n ) : (\n <div class=\"reminder-open-close-toggle\">\n <button-component\n variant={'basic'}\n class=\"delete-btn\"\n tooltip=\"Delete reminder\"\n key={`delete -${index} `}\n clickHandler={event => {\n event.preventDefault();\n this.deleteReminder(index);\n }}\n >\n <trash-icon width=\"16\" height=\"16\"></trash-icon>\n </button-component>\n <span\n class={`chevron ${reminder.editing ? 'open' : 'closed'}`}\n onClick={() => {\n reminder.editing = !reminder.editing;\n this.reminders = [...this.reminders];\n }}\n >\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n )}\n </div>\n\n {reminder.editing ? (\n <div class=\"nylas-reminder-email__body\" part=\"nre__body\">\n <div class=\"nylas-reminder-email__section\">\n <div class=\"nylas-reminder-email__row\">\n <label>{i18next.t('nylasReminderEmails.emailRecipients.label')}</label>\n <select-dropdown\n name={`recipient-${index}`}\n options={recipientOptions}\n defaultSelectedOption={recipientOptions.find(i => i.value === reminder.recipient) ?? recipientOptions[0]}\n withSearch={false}\n themeConfig={this.themeConfig}\n />\n </div>\n <div class=\"nylas-reminder-email__row\">\n <label>\n {i18next.t('nylasReminderEmails.sendConfirmation.label')}\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasReminderEmails.sendConfirmation.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n </label>\n <div>\n <nylas-reminder-time\n name={`reminder-time-${index}`}\n eventReminderTimeMinutes={reminder.minutes_before_event}\n themeConfig={this.themeConfig}\n exportparts=\"nrt, nrt__number-dropdown, nrt__number-dropdown-button, nrt__number-dropdown-content, nrt__period-dropdown, nrt__period-dropdown-button, nrt__period-dropdown-content, nrt__time-period-selector\"\n />\n {this.reminderErrors[`reminder-time-${index}`]?.error && (\n <p class=\"error-message\">\n {this.reminderErrors[`reminder-time-${index}`]?.error}{' '}\n <button-component\n variant=\"invisible\"\n onClick={_e => {\n // this.clearError = !this.clearError;\n // this.handleValueChanged({ detail: { name: `reminder-time-${index}`, value: this.reminderErrors[`reminder-time-${index}`]?.suggestion } } as CustomEvent);\n this.nylasSuggestReminderMinutes.emit({ minutes: this.reminderErrors[`reminder-time-${index}`]?.suggestion });\n }}\n >\n {this.reminderErrors[`reminder-time-${index}`]?.suggestion}\n </button-component>\n </p>\n )}\n </div>\n </div>\n <div class=\"nylas-reminder-email__block\">\n <label>{i18next.t('nylasReminderEmails.emailSubject.label')}</label>\n <input-component\n name={`reminder-subject-${index}`}\n maxLength={60}\n placeholder={\n organizerName\n ? i18next.t('nylasReminderEmails.emailSubject.placeholder_withOrganizer', { organizerName: organizerName })\n : i18next.t('nylasReminderEmails.emailSubject.placeholder')\n }\n defaultValue={reminder?.email_subject || ''}\n themeConfig={this.themeConfig}\n />\n </div>\n </div>\n </div>\n ) : (\n <div class=\"nylas-reminder-email__summary\" part=\"nre__summary\">\n <p>\n <span class=\"summary-icon\">\n <person-clipboard-icon></person-clipboard-icon>\n </span>\n {recipientOptions.find(i => i.value === reminder.recipient)?.label}\n </p>\n <p>\n <span class=\"summary-icon\">\n <clock-icon></clock-icon>\n </span>\n {this.formatReminderTime(reminder.minutes_before_event)} {i18next.t('nylasReminderEmails.beforeTheEvent')}\n </p>\n </div>\n )}\n </div>\n ) : null;\n })}\n </div>\n\n <button-component\n class=\"create-reminder\"\n variant={'basic'}\n clickHandler={event => {\n event.preventDefault();\n this.addReminder();\n }}\n >\n <plus-icon width=\"16\" height=\"16\"></plus-icon>\n {i18next.t('nylasReminderEmails.newReminderButtonText')}\n </button-component>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-CDY2803i.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.scss?tag=nylas-reminder-emails&encapsulation=shadow","src/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.cards-container {\n margin-bottom: 4rem;\n color: var(--nylas-base-900);\n\n .nylas-reminder-email {\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 text-align: left;\n\n .reminder-open-close-toggle {\n display: flex;\n gap: 16px;\n\n .chevron {\n display: flex;\n align-self: center;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n\n &.open {\n transform: rotate(90deg);\n }\n\n &.closed {\n transform: rotate(270deg);\n }\n\n &.disabled {\n cursor: not-allowed;\n color: var(--nylas-base-300);\n\n &:hover {\n color: var(--nylas-base-300);\n }\n }\n }\n }\n\n .header {\n padding: 1rem;\n display: grid;\n grid-template-columns: 1fr auto;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h3 {\n border-radius: var(--nylas-border-radius-2x);\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n\n .confirmation-email-toggle {\n display: flex;\n gap: 24px;\n align-items: center;\n\n .chevron {\n display: flex;\n align-self: center;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n\n &.open {\n transform: rotate(90deg);\n }\n\n &.closed {\n transform: rotate(270deg);\n }\n\n &.disabled {\n cursor: not-allowed;\n color: var(--nylas-base-300);\n\n &:hover {\n color: var(--nylas-base-300);\n }\n }\n }\n }\n }\n\n .nylas-reminder-email__body {\n display: grid;\n grid-template-columns: 1fr auto;\n background-color: var(--nylas-base-25);\n border-radius: var(--nylas-border-radius-2x);\n\n @media #{$mobile} {\n grid-template-columns: 1fr;\n }\n\n .nylas-reminder-email__section {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n color: var(--nylas-base-800);\n\n @media #{$mobile} {\n border: none;\n }\n\n .nylas-reminder-email__block {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n border-top: 1px solid var(--nylas-base-200);\n padding-top: 1rem;\n margin-top: 0.5rem;\n }\n\n .nylas-reminder-email__row {\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n gap: 1rem;\n\n &.full-width-col {\n grid-template-columns: 1fr;\n }\n\n label {\n display: flex;\n align-items: center;\n\n span.required {\n color: var(--nylas-error, #cc4841);\n }\n\n span.label-icon {\n margin-left: 4px;\n\n tooltip-component {\n display: flex;\n }\n }\n }\n\n p.error-message {\n color: var(--nylas-error);\n display: flex;\n align-items: center;\n\n button-component {\n button {\n color: blue;\n\n &:hover {\n color: var(--nylas-primary);\n }\n }\n }\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 16px;\n font-weight: 500;\n line-height: 24px;\n color: var(--nylas-base-900);\n }\n\n .company-logo-container {\n display: flex;\n gap: 32px;\n width: 100%;\n\n .input-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n }\n\n .company-logo {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 200px;\n height: 100px;\n border: var(--nylas-base-200) solid 1px;\n border-radius: var(--nylas-border-radius-2x);\n overflow: hidden;\n padding: 10px;\n }\n\n .company-logo img {\n max-height: 100%;\n max-width: 100%;\n object-fit: contain;\n object-position: center;\n }\n }\n\n span.selected-value {\n font-weight: 500;\n }\n }\n\n .subsection {\n display: flex;\n flex-direction: column;\n gap: 1rem;\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 .input-container {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n\n textarea {\n padding: 12px 16px;\n border-width: 1;\n resize: vertical;\n border-radius: 8px;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n border: 1px solid var(--nylas-base-200);\n }\n }\n }\n }\n\n .nylas-reminder-email__preview {\n width: 208px;\n background: var(--nylas-base-25);\n border-bottom-right-radius: var(--nylas-border-radius-2x);\n\n @media #{$mobile} {\n width: inherit;\n border-bottom-left-radius: var(--nylas-border-radius-2x);\n }\n\n h4 {\n font-size: 14px;\n line-height: 24px;\n color: var(--nylas-base-600);\n font-family: var(--nylas-font-family);\n font-weight: 500;\n text-align: center;\n margin: 0.75rem 0;\n }\n\n .preview-container {\n padding: 0 2rem 1rem;\n\n .slot {\n background-color: transparent;\n border-top: 1px solid var(--nylas-base-300);\n\n &.active {\n background-color: var(--nylas-base-100);\n }\n\n &:last-of-type {\n border-bottom: 1px solid var(--nylas-base-300);\n }\n }\n\n .event-slot {\n background-color: var(--nylas-base-600);\n border-top: 1px solid var(--nylas-base-300);\n }\n }\n }\n\n span.error-message {\n color: var(--nylas-error);\n }\n\n span.help-text {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n\n .nylas-reminder-email__summary {\n padding: 0.75rem 1rem;\n display: grid;\n grid-template-columns: auto 1fr;\n column-gap: 1rem;\n\n p {\n margin: 0;\n display: flex;\n align-items: center;\n column-gap: 4px;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 21px;\n color: var(--nylas-base-600);\n text-align: left;\n\n span.summary-icon {\n display: flex;\n justify-content: center;\n min-width: 20px;\n }\n }\n }\n }\n}\n\nsp-divider {\n background-color: var(--nylas-base-200);\n height: 1px;\n margin: 0.25rem 0;\n}\n\nbutton-component.create-reminder button {\n margin: 1rem;\n width: calc(100% - 2rem);\n}\n\nbutton-component.delete-btn button {\n trash-icon {\n color: var(--nylas-error);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, EventReminder, GroupConfiguration, Participant, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-reminder-emails` component is a UI component that allows users to set buffer time before and after an event.\n *\n * @part nre__tab-heading - The nylas-reminder-emails main tab heading\n * @part nre - The nylas-reminder-emails container\n * @part nre__header - The header of the event communication section\n * @part nre__body - The body of the event communication section\n * @part nre__summary - The reminder card summary container\n * @part nrt - The event reminder container\n * @part nrt__number-dropdown - The number dropdown container\n * @part nrt__number-dropdown-button - The number dropdown button\n * @part nrt__number-dropdown-content - The number dropdown content\n * @part nrt__period-dropdown - The period dropdown container\n * @part nrt__period-dropdown-button - The period dropdown button\n * @part nrt__period-dropdown-content - The period dropdown content\n * @part nrt__time-period-selector - The time period selector\n **/\n@Component({\n tag: 'nylas-reminder-emails',\n styleUrl: 'nylas-reminder-emails.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasReminderEmails {\n @Element() host!: HTMLNylasReminderEmailsElement;\n\n /**\n * The selected configuration.\n */\n @Prop() selectedConfiguration?: Configuration | GroupConfiguration;\n /**\n * The event reminders prop.\n */\n @Prop() eventReminders?: (EventReminder & { editing?: boolean })[];\n /**\n * The name of the component\n */\n @Prop() name: string = 'reminder-overrides';\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The event reminders state. Defaults to an empty array if no event reminders are present.\n */\n @State() reminders: (EventReminder & { editing?: boolean })[] =\n (this.selectedConfiguration as Configuration)?.event_booking?.reminders ??\n (this.selectedConfiguration as GroupConfiguration)?.group_booking?.reminders ??\n this.eventReminders ??\n [];\n @State() reminderErrors: {\n [key: string]: {\n error: string;\n suggestion: number;\n };\n } = {};\n @State() participants: Participant[] = (this.selectedConfiguration as Configuration)?.participants ?? [];\n\n /**\n * This event is fired when the email reminders change.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\n }>;\n\n @State() clearError: boolean = false;\n\n @Event() nylasSuggestReminderMinutes!: EventEmitter<{ minutes: number }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-reminder-emails', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-reminder-emails', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-reminder-emails', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-reminder-emails', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n this.reminders = this.eventReminders ?? [];\n this.updateRemindersFormValue(false);\n }\n }\n\n componentWillUpdate() {\n debug('nylas-reminder-emails', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-reminder-emails', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-reminder-emails', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-reminder-emails', 'componentDidRender');\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-reminder-emails', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration | GroupConfiguration) {\n debug('nylas-reminder-emails', 'selectedConfigurationChangedHandler', newVal);\n const configuration = newVal as Configuration;\n const groupConfiguration = newVal as GroupConfiguration;\n this.reminders = configuration?.event_booking?.reminders ?? groupConfiguration?.group_booking?.reminders ?? [];\n this.participants = configuration?.participants ?? [];\n this.updateRemindersFormValue(false);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @Listen('valueChanged')\n handleValueChanged(event: CustomEvent) {\n debug('nylas-reminder-emails', 'handleValueChanged', event);\n const { name, value } = event.detail;\n\n if (name.startsWith('reminder-time-')) {\n const remainder = parseInt(value) % 5;\n if (remainder !== 0) {\n this.reminderErrors[name] = {\n error: i18next.t('nylasReminderEmails.reminderMinutesValidationError'),\n suggestion: parseInt(value) + (5 - remainder),\n };\n this.reminderErrors = { ...this.reminderErrors };\n this.internals.setValidity({ customError: true }, 'Reminder time must be a multiple of 5');\n return;\n } else {\n delete this.reminderErrors[name];\n this.reminderErrors = { ...this.reminderErrors };\n this.internals.setValidity({ customError: false });\n }\n // Extract the reminder index from the name attribute (e.g. reminder-time-0)\n const [_, reminderIndex] = name.split(/(\\d+)/);\n const updatedReminders = [...this.reminders];\n updatedReminders[reminderIndex].minutes_before_event = parseInt(value);\n this.reminders = [...updatedReminders];\n this.updateRemindersFormValue();\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n handleNylasFormDropdownChanged(event: CustomEvent) {\n debug('nylas-reminder-emails', 'handleNylasFormDropdownChanged', event);\n const { name, value } = event.detail;\n if (!name.startsWith('recipient-')) {\n return;\n }\n // Extract the reminder index from the name attribute (e.g. recipient-0)\n const [_, reminderIndex] = name.split(/(\\d+)/);\n const updatedReminders = [...this.reminders];\n updatedReminders[reminderIndex].recipient = value;\n this.reminders = [...updatedReminders];\n this.updateRemindersFormValue();\n }\n\n @Listen('nylasFormInputChanged')\n handleNylasFormInputChanged(event: CustomEvent) {\n debug('nylas-reminder-emails', 'handleNylasFormInputChanged', event);\n const { name, value } = event.detail;\n if (!name.startsWith('reminder-subject-')) {\n return;\n }\n // Extract the reminder index from the name attribute (e.g. reminder-subject-0)\n const [_, reminderIndex] = name.split(/(\\d+)/);\n const updatedReminders = [...this.reminders];\n updatedReminders[reminderIndex].email_subject = value;\n this.reminders = [...updatedReminders];\n this.updateRemindersFormValue();\n }\n\n addReminder() {\n debug('nylas-reminder-emails', 'addReminder');\n const recipient = this.selectedConfiguration?.type === 'group' ? 'guest' : 'all';\n this.reminders = [\n ...this.reminders,\n {\n type: 'email',\n minutes_before_event: 30,\n editing: true,\n recipient: recipient,\n },\n ];\n this.updateRemindersFormValue();\n }\n\n deleteReminder(index: number) {\n this.reminders = this.reminders.filter((_, i) => i !== index).map(p => ({ ...p }));\n this.updateRemindersFormValue();\n }\n\n get isInternalsAvailable() {\n return this.internals !== undefined && typeof this.internals.setFormValue === 'function';\n }\n\n updateRemindersFormValue(valueChanged: boolean = true) {\n debug('nylas-reminder-emails', 'updateRemindersFormValue');\n const eventReminders = this.reminders.map(reminder => {\n const rem = { ...reminder };\n rem?.editing && delete rem.editing;\n return rem;\n });\n if (valueChanged) {\n this.valueChanged.emit({\n value: JSON.stringify(eventReminders),\n name: this.name,\n });\n }\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(eventReminders), this.name);\n }\n\n formatReminderTime(reminderTime: number) {\n switch (true) {\n case reminderTime > 24 * 60:\n return `${(reminderTime / 60 / 24).toFixed(2)} ${i18next.t('time.days')}`;\n case reminderTime === 24 * 60:\n return `1 ${i18next.t('time.days')}`;\n case reminderTime > 90 || reminderTime === 60:\n return `${(reminderTime / 60).toFixed(2)} ${i18next.t('time.hours')}`;\n default:\n return `${reminderTime} ${reminderTime > 1 ? i18next.t('time.minutes') : i18next.t('time.minute')} `;\n }\n }\n\n @RegisterComponent<NylasReminderEmails, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-reminder-emails',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n valueChanged: async (\n event: CustomEvent<{ value: string; name: string; valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void }>,\n _nylasSchedulerConfigConnector: NylasSchedulerConfigConnector,\n ) => {\n const { valueChanged } = event.detail;\n // If a handler is passed, call it.\n if (valueChanged) {\n valueChanged(event);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const organizerName = this.participants.find(p => p.is_organizer)?.name;\n let recipientOptions = [\n {\n label: i18next.t('nylasReminderEmails.recipientOptions', { context: 'all' }),\n value: 'all',\n },\n {\n label: i18next.t('nylasReminderEmails.recipientOptions', { context: 'guest' }),\n value: 'guest',\n },\n {\n label: i18next.t('nylasReminderEmails.recipientOptions', { context: 'host' }),\n value: 'host',\n },\n ];\n if (this.selectedConfiguration?.type === 'group') {\n recipientOptions = recipientOptions.filter(option => option.value !== 'all');\n }\n\n return (\n <Host>\n <div class=\"cards-container\">\n {this.reminders.map((reminder, index) => {\n return reminder.type !== 'webhook' ? (\n <div class=\"nylas-reminder-email\" part=\"nre\">\n <div class=\"header\" part=\"nre__header\">\n <div>\n <h3>\n {organizerName\n ? i18next.t('nylasReminderEmails.headerTitle_withOrganizer', { organizerName: ` ${organizerName}` })\n : i18next.t('nylasReminderEmails.headerTitle')}\n </h3>\n <p>{i18next.t('nylasReminderEmails.headerSubTitle')}</p>\n </div>\n {!reminder.editing ? (\n <button-component\n variant={'basic'}\n key={`edit-${index} `}\n clickHandler={event => {\n event.preventDefault();\n reminder.editing = true;\n this.reminders = [...this.reminders];\n }}\n >\n <edit-icon width=\"16\" height=\"16\"></edit-icon>\n {i18next.t('nylasReminderEmails.editButtonText')}\n </button-component>\n ) : (\n <div class=\"reminder-open-close-toggle\">\n <button-component\n variant={'basic'}\n class=\"delete-btn\"\n tooltip=\"Delete reminder\"\n key={`delete -${index} `}\n clickHandler={event => {\n event.preventDefault();\n this.deleteReminder(index);\n }}\n >\n <trash-icon width=\"16\" height=\"16\"></trash-icon>\n </button-component>\n <span\n class={`chevron ${reminder.editing ? 'open' : 'closed'}`}\n onClick={() => {\n reminder.editing = !reminder.editing;\n this.reminders = [...this.reminders];\n }}\n >\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n )}\n </div>\n\n {reminder.editing ? (\n <div class=\"nylas-reminder-email__body\" part=\"nre__body\">\n <div class=\"nylas-reminder-email__section\">\n <div class=\"nylas-reminder-email__row\">\n <label>{i18next.t('nylasReminderEmails.emailRecipients.label')}</label>\n <select-dropdown\n name={`recipient-${index}`}\n options={recipientOptions}\n defaultSelectedOption={recipientOptions.find(i => i.value === reminder.recipient) ?? recipientOptions[0]}\n withSearch={false}\n themeConfig={this.themeConfig}\n />\n </div>\n <div class=\"nylas-reminder-email__row\">\n <label>\n {i18next.t('nylasReminderEmails.sendConfirmation.label')}\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasReminderEmails.sendConfirmation.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n </label>\n <div>\n <nylas-reminder-time\n name={`reminder-time-${index}`}\n eventReminderTimeMinutes={reminder.minutes_before_event}\n themeConfig={this.themeConfig}\n exportparts=\"nrt, nrt__number-dropdown, nrt__number-dropdown-button, nrt__number-dropdown-content, nrt__period-dropdown, nrt__period-dropdown-button, nrt__period-dropdown-content, nrt__time-period-selector\"\n />\n {this.reminderErrors[`reminder-time-${index}`]?.error && (\n <p class=\"error-message\">\n {this.reminderErrors[`reminder-time-${index}`]?.error}{' '}\n <button-component\n variant=\"invisible\"\n onClick={_e => {\n // this.clearError = !this.clearError;\n // this.handleValueChanged({ detail: { name: `reminder-time-${index}`, value: this.reminderErrors[`reminder-time-${index}`]?.suggestion } } as CustomEvent);\n this.nylasSuggestReminderMinutes.emit({ minutes: this.reminderErrors[`reminder-time-${index}`]?.suggestion });\n }}\n >\n {this.reminderErrors[`reminder-time-${index}`]?.suggestion}\n </button-component>\n </p>\n )}\n </div>\n </div>\n <div class=\"nylas-reminder-email__block\">\n <label>{i18next.t('nylasReminderEmails.emailSubject.label')}</label>\n <input-component\n name={`reminder-subject-${index}`}\n maxLength={60}\n placeholder={\n organizerName\n ? i18next.t('nylasReminderEmails.emailSubject.placeholder_withOrganizer', { organizerName: organizerName })\n : i18next.t('nylasReminderEmails.emailSubject.placeholder')\n }\n defaultValue={reminder?.email_subject || ''}\n themeConfig={this.themeConfig}\n />\n </div>\n </div>\n </div>\n ) : (\n <div class=\"nylas-reminder-email__summary\" part=\"nre__summary\">\n <p>\n <span class=\"summary-icon\">\n <person-clipboard-icon></person-clipboard-icon>\n </span>\n {recipientOptions.find(i => i.value === reminder.recipient)?.label}\n </p>\n <p>\n <span class=\"summary-icon\">\n <clock-icon></clock-icon>\n </span>\n {this.formatReminderTime(reminder.minutes_before_event)} {i18next.t('nylasReminderEmails.beforeTheEvent')}\n </p>\n </div>\n )}\n </div>\n ) : null;\n })}\n </div>\n\n <button-component\n class=\"create-reminder\"\n variant={'basic'}\n clickHandler={event => {\n event.preventDefault();\n this.addReminder();\n }}\n >\n <plus-icon width=\"16\" height=\"16\"></plus-icon>\n {i18next.t('nylasReminderEmails.newReminderButtonText')}\n </button-component>\n </Host>\n );\n }\n}\n"],"version":3}
|