@nylas/web-elements 2.0.1 → 2.0.3
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 +191 -95
- package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +10418 -10260
- package/dist/cjs/{abstract-provider-ca4f7e4f.js → abstract-provider-f84a6735.js} +2 -2
- package/dist/cjs/{abstract-provider-ca4f7e4f.js.map → abstract-provider-f84a6735.js.map} +1 -1
- package/dist/cjs/app-globals-ee500b74.js.map +1 -1
- package/dist/cjs/calendar-agenda-fill-icon_36.cjs.entry.js +36 -21
- package/dist/cjs/calendar-agenda-fill-icon_36.cjs.entry.js.map +1 -1
- package/dist/cjs/{calendar-check-icon_2.cjs.entry.js → calendar-check-icon.cjs.entry.js} +3 -19
- package/dist/cjs/calendar-check-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/checkbox-component_2.cjs.entry.js +1 -1
- package/dist/cjs/checkbox-group_4.cjs.entry.js +3 -3
- package/dist/cjs/checkmark-circle-icon.cjs.entry.js +24 -0
- package/dist/cjs/checkmark-circle-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/checkmark-icon_15.cjs.entry.js +11 -7
- package/dist/cjs/checkmark-icon_15.cjs.entry.js.map +1 -1
- package/dist/cjs/{customParseFormat-bb3a23c5.js → customParseFormat-95790293.js} +2 -2
- package/dist/cjs/{customParseFormat-bb3a23c5.js.map → customParseFormat-95790293.js.map} +1 -1
- package/dist/cjs/{feedbackSync-1c5ec9aa.js → feedbackSync-4ed99749.js} +2 -2
- package/dist/cjs/{feedbackSync-1c5ec9aa.js.map → feedbackSync-4ed99749.js.map} +1 -1
- package/dist/cjs/globe-icon_2.cjs.entry.js +2 -2
- package/dist/cjs/google-logo-icon_6.cjs.entry.js +8 -8
- package/dist/cjs/index-e07e3a7e.js +6 -2
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{index.es-c563f3ba.js → index.es-62161daa.js} +2 -2
- package/dist/cjs/{index.es-c563f3ba.js.map → index.es-62161daa.js.map} +1 -1
- 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-4d148ff1.js → nylas-api-request-03d7f604.js} +2 -2
- package/dist/cjs/{nylas-api-request-4d148ff1.js.map → nylas-api-request-03d7f604.js.map} +1 -1
- package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js +82 -25
- 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 +6 -6
- package/dist/cjs/nylas-scheduling.cjs.entry.js +42 -14
- package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
- package/dist/cjs/nylas-web-elements.cjs.js +1 -1
- package/dist/cjs/{register-component-70744713.js → register-component-f4ad9751.js} +2 -2
- package/dist/cjs/{register-component-70744713.js.map → register-component-f4ad9751.js.map} +1 -1
- package/dist/cjs/textarea-component.cjs.entry.js +1 -1
- package/dist/cjs/{utils-dd3b6f4c.js → utils-03b13826.js} +154 -55
- package/dist/cjs/utils-03b13826.js.map +1 -0
- package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js +11 -3
- package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +49 -4
- package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-booking-form/test/nylas-booking-form.spec.js +3 -3
- package/dist/collection/components/scheduler/nylas-booking-form/test/nylas-booking-form.spec.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +37 -1
- package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +34 -2
- package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.css +1 -1
- package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.js +34 -1
- package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +10 -4
- package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.js +10 -2
- package/dist/collection/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.css +13 -0
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +66 -7
- package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-scheduling/test/nylas-scheduling.spec.js +33 -0
- package/dist/collection/components/scheduler/nylas-scheduling/test/nylas-scheduling.spec.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +20 -5
- package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js.map +1 -1
- package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +12 -6
- package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-booking-confirmation-redirect/nylas-booking-confirmation-redirect.js +12 -6
- package/dist/collection/components/scheduler-editor/nylas-booking-confirmation-redirect/nylas-booking-confirmation-redirect.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-confirmation-email/nylas-confirmation-email.js +6 -3
- package/dist/collection/components/scheduler-editor/nylas-confirmation-email/nylas-confirmation-email.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-custom-event-slug/nylas-custom-event-slug.js +14 -8
- package/dist/collection/components/scheduler-editor/nylas-custom-event-slug/nylas-custom-event-slug.js.map +1 -1
- package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +3 -3
- package/dist/collection/components/scheduler-editor/nylas-event-calendar/nylas-event-calendar.js +1 -1
- package/dist/collection/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.js +8 -4
- package/dist/collection/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/nylas-additional-participants2.js +12 -6
- package/dist/components/nylas-additional-participants2.js.map +1 -1
- package/dist/components/nylas-booked-event-card2.js +13 -6
- package/dist/components/nylas-booked-event-card2.js.map +1 -1
- package/dist/components/nylas-booking-confirmation-redirect2.js +12 -6
- package/dist/components/nylas-booking-confirmation-redirect2.js.map +1 -1
- package/dist/components/nylas-booking-form2.js +28 -6
- package/dist/components/nylas-booking-form2.js.map +1 -1
- package/dist/components/nylas-cancel-booking-form2.js +13 -3
- package/dist/components/nylas-cancel-booking-form2.js.map +1 -1
- package/dist/components/nylas-cancelled-event-card2.js +12 -3
- package/dist/components/nylas-cancelled-event-card2.js.map +1 -1
- package/dist/components/nylas-confirmation-email2.js +6 -3
- package/dist/components/nylas-confirmation-email2.js.map +1 -1
- package/dist/components/nylas-confirmed-event-card2.js +18 -8
- package/dist/components/nylas-confirmed-event-card2.js.map +1 -1
- package/dist/components/nylas-custom-event-slug2.js +15 -9
- package/dist/components/nylas-custom-event-slug2.js.map +1 -1
- package/dist/components/nylas-date-picker2.js +1 -1
- package/dist/components/nylas-date-picker2.js.map +1 -1
- package/dist/components/nylas-editor-tabs-group2.js +2 -2
- package/dist/components/nylas-editor-tabs2.js +2 -2
- package/dist/components/nylas-organizer-confirmation-card2.js +12 -5
- package/dist/components/nylas-organizer-confirmation-card2.js.map +1 -1
- package/dist/components/nylas-reminder-emails2.js +8 -4
- package/dist/components/nylas-reminder-emails2.js.map +1 -1
- package/dist/components/nylas-scheduler-editor.js +2 -2
- package/dist/components/nylas-scheduling.js +42 -12
- package/dist/components/nylas-scheduling.js.map +1 -1
- package/dist/components/nylas-selected-event-card2.js +12 -5
- package/dist/components/nylas-selected-event-card2.js.map +1 -1
- package/dist/components/nylas-timeslot-picker2.js.map +1 -1
- package/dist/components/utils.js +153 -54
- package/dist/components/utils.js.map +1 -1
- package/dist/esm/{abstract-provider-efe136bd.js → abstract-provider-bdb7d9b4.js} +2 -2
- package/dist/esm/{abstract-provider-efe136bd.js.map → abstract-provider-bdb7d9b4.js.map} +1 -1
- package/dist/esm/app-globals-295a87be.js.map +1 -1
- package/dist/esm/calendar-agenda-fill-icon_36.entry.js +36 -21
- package/dist/esm/calendar-agenda-fill-icon_36.entry.js.map +1 -1
- package/dist/esm/{calendar-check-icon_2.entry.js → calendar-check-icon.entry.js} +4 -19
- package/dist/esm/calendar-check-icon.entry.js.map +1 -0
- package/dist/esm/checkbox-component_2.entry.js +1 -1
- package/dist/esm/checkbox-group_4.entry.js +3 -3
- package/dist/esm/checkmark-circle-icon.entry.js +20 -0
- package/dist/esm/checkmark-circle-icon.entry.js.map +1 -0
- package/dist/esm/checkmark-icon_15.entry.js +11 -7
- package/dist/esm/checkmark-icon_15.entry.js.map +1 -1
- package/dist/esm/{customParseFormat-edc38d83.js → customParseFormat-f0d21eb3.js} +2 -2
- package/dist/esm/{customParseFormat-edc38d83.js.map → customParseFormat-f0d21eb3.js.map} +1 -1
- package/dist/esm/{feedbackSync-e4378c0b.js → feedbackSync-b9c9e719.js} +2 -2
- package/dist/esm/{feedbackSync-e4378c0b.js.map → feedbackSync-b9c9e719.js.map} +1 -1
- package/dist/esm/globe-icon_2.entry.js +2 -2
- package/dist/esm/google-logo-icon_6.entry.js +8 -8
- package/dist/esm/index-091600eb.js +6 -2
- package/dist/esm/{index.es-6a9d55cf.js → index.es-ccb2a286.js} +2 -2
- package/dist/esm/{index.es-6a9d55cf.js.map → index.es-ccb2a286.js.map} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/input-component.entry.js +1 -1
- package/dist/esm/input-dropdown_2.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/multi-select-dropdown.entry.js +1 -1
- package/dist/esm/{nylas-api-request-f2e4e9b6.js → nylas-api-request-7d702661.js} +2 -2
- package/dist/esm/{nylas-api-request-f2e4e9b6.js.map → nylas-api-request-7d702661.js.map} +1 -1
- package/dist/esm/nylas-booked-event-card_11.entry.js +82 -25
- 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 +6 -6
- package/dist/esm/nylas-scheduling.entry.js +43 -15
- package/dist/esm/nylas-scheduling.entry.js.map +1 -1
- package/dist/esm/nylas-web-elements.js +1 -1
- package/dist/esm/{register-component-a1c3d7b4.js → register-component-9d4ceee5.js} +2 -2
- package/dist/esm/{register-component-a1c3d7b4.js.map → register-component-9d4ceee5.js.map} +1 -1
- package/dist/esm/textarea-component.entry.js +1 -1
- package/dist/esm/{utils-b7f9cbcc.js → utils-fb8a9ce4.js} +154 -55
- package/dist/esm/utils-fb8a9ce4.js.map +1 -0
- 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/nylas-web-elements.esm.js.map +1 -1
- package/dist/nylas-web-elements/{p-3ce8e281.js → p-094be30f.js} +2 -2
- package/dist/nylas-web-elements/p-18c58ea1.entry.js +2 -0
- package/dist/nylas-web-elements/p-18c58ea1.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-c12c18b2.entry.js → p-1dbaf879.entry.js} +2 -2
- package/dist/nylas-web-elements/p-2830522f.entry.js +2 -0
- package/dist/nylas-web-elements/p-2830522f.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-35297f33.entry.js → p-3b56d656.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-8e7882a1.js → p-3c8b7ba1.js} +2 -2
- package/dist/nylas-web-elements/{p-3204882f.entry.js → p-3f5e1e6b.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-5aae729f.js → p-4c1fafb4.js} +2 -2
- package/dist/nylas-web-elements/p-522270a2.entry.js +2 -0
- package/dist/nylas-web-elements/p-522270a2.entry.js.map +1 -0
- package/dist/nylas-web-elements/p-67e936ce.entry.js +2 -0
- package/dist/nylas-web-elements/p-67e936ce.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-9e11eb2c.js → p-6d8e2c6b.js} +2 -2
- package/dist/nylas-web-elements/{p-3362cf82.entry.js → p-8f82f281.entry.js} +2 -2
- package/dist/nylas-web-elements/p-920812bd.entry.js +8 -0
- package/dist/nylas-web-elements/p-920812bd.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-b40f7a77.entry.js → p-a42f41f7.entry.js} +2 -2
- package/dist/nylas-web-elements/p-a6e2e49c.js.map +1 -1
- package/dist/nylas-web-elements/{p-8340d845.entry.js → p-aad611b4.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-6e56eb3f.js → p-ab88518b.js} +2 -2
- package/dist/nylas-web-elements/{p-5cf6301e.entry.js → p-b3500bf1.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-4d8f9740.entry.js → p-b6d863e0.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-50c255fa.entry.js → p-b8cf836f.entry.js} +2 -2
- package/dist/nylas-web-elements/{p-996c827d.entry.js → p-bf37be06.entry.js} +2 -2
- package/dist/nylas-web-elements/p-de4b01ac.entry.js +2 -0
- package/dist/nylas-web-elements/p-de4b01ac.entry.js.map +1 -0
- package/dist/nylas-web-elements/{p-308e7adb.entry.js → p-f42e87c6.entry.js} +3 -3
- package/dist/nylas-web-elements/{p-dea32251.js → p-f4825eb1.js} +2 -2
- package/dist/nylas-web-elements/p-faa30369.js +14 -0
- package/dist/nylas-web-elements/{p-59e4ab2d.js.map → p-faa30369.js.map} +1 -1
- package/dist/types/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.d.ts +2 -0
- package/dist/types/components/scheduler/nylas-booking-form/nylas-booking-form.d.ts +7 -0
- package/dist/types/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.d.ts +3 -0
- package/dist/types/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.d.ts +3 -1
- package/dist/types/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.d.ts +3 -1
- package/dist/types/components/scheduler/nylas-date-picker/nylas-date-picker.d.ts +2 -1
- package/dist/types/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.d.ts +2 -0
- package/dist/types/components/scheduler/nylas-scheduling/nylas-scheduling.d.ts +6 -0
- package/dist/types/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.d.ts +3 -1
- package/dist/types/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.d.ts +2 -1
- package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +2 -0
- package/dist/types/components/scheduler-editor/nylas-booking-confirmation-redirect/nylas-booking-confirmation-redirect.d.ts +2 -0
- package/dist/types/components/scheduler-editor/nylas-custom-event-slug/nylas-custom-event-slug.d.ts +2 -0
- package/dist/types/components.d.ts +46 -6
- package/package.json +3 -5
- package/dist/cjs/calendar-check-icon_2.cjs.entry.js.map +0 -1
- package/dist/cjs/utils-dd3b6f4c.js.map +0 -1
- package/dist/esm/calendar-check-icon_2.entry.js.map +0 -1
- package/dist/esm/utils-b7f9cbcc.js.map +0 -1
- package/dist/nylas-web-elements/p-2b52b854.entry.js +0 -2
- package/dist/nylas-web-elements/p-2b52b854.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-59e4ab2d.js +0 -14
- package/dist/nylas-web-elements/p-8a3965ba.entry.js +0 -2
- package/dist/nylas-web-elements/p-8a3965ba.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-97128be4.entry.js +0 -8
- package/dist/nylas-web-elements/p-97128be4.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-d69f9d47.entry.js +0 -2
- package/dist/nylas-web-elements/p-d69f9d47.entry.js.map +0 -1
- package/dist/nylas-web-elements/p-dcc8ca35.entry.js +0 -2
- package/dist/nylas-web-elements/p-dcc8ca35.entry.js.map +0 -1
- /package/dist/nylas-web-elements/{p-3ce8e281.js.map → p-094be30f.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-c12c18b2.entry.js.map → p-1dbaf879.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-35297f33.entry.js.map → p-3b56d656.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-8e7882a1.js.map → p-3c8b7ba1.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3204882f.entry.js.map → p-3f5e1e6b.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-5aae729f.js.map → p-4c1fafb4.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-9e11eb2c.js.map → p-6d8e2c6b.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-3362cf82.entry.js.map → p-8f82f281.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-b40f7a77.entry.js.map → p-a42f41f7.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-8340d845.entry.js.map → p-aad611b4.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-6e56eb3f.js.map → p-ab88518b.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-5cf6301e.entry.js.map → p-b3500bf1.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-4d8f9740.entry.js.map → p-b6d863e0.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-50c255fa.entry.js.map → p-b8cf836f.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-996c827d.entry.js.map → p-bf37be06.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-308e7adb.entry.js.map → p-f42e87c6.entry.js.map} +0 -0
- /package/dist/nylas-web-elements/{p-dea32251.js.map → p-f4825eb1.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nylas-custom-event-slug.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-custom-event-slug/nylas-custom-event-slug.tsx"],"names":[],"mappings":"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","sourcesContent":["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 } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-custom-event-slug` component is a UI component that allows users to add a custom URL slug for their event link.\n *\n * @part nces - The nylas-custom-event-slug container\n * @part nces__body - The body of the event communication section\n * @part nces__header - The header of the event communication section\n * @part nces__drawer-toggle--container - The card's drawer toggle container\n * @part nces__input-textfield - The custom slug input textfield\n */\n@Component({\n tag: 'nylas-custom-event-slug',\n styleUrl: 'nylas-custom-event-slug.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasCustomEventSlug {\n @Element() host!: HTMLNylasCustomEventSlugElement;\n /**\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * The default custom event slug\n */\n @Prop() defaultUrlSlug?: string;\n /**\n * Is the custom event slug card expanded\n */\n @Prop() isOpen: boolean = true;\n /**\n * Slug error message\n */\n @Prop() slugErrorMessage: string = '';\n /**\n * The name of the component\n */\n @Prop() name: string = 'custom-event-slug';\n /**\n * Indicates if a slug is required for the configuration.\n * When set to true, the user must enter a slug when creating or editing a configuration.\n * The slug is used for hosted pages that are public.\n */\n @Prop() requiresSlug: boolean = false;\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The URL slug state\n */\n @State() urlSlug!: string;\n\n /**\n * The focus state of the input container.\n */\n @State() focus = false;\n\n /**\n * The copied state for the copy to clipboard button\n */\n @State() copied = false;\n\n /**\n * This event is fired when the slug value changes\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\n }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-custom-event-slug', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-custom-event-slug', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-custom-event-slug', '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-custom-event-slug', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n console.log('No selected configuration found');\n this.urlSlug = this.defaultUrlSlug || '';\n }\n }\n\n componentWillUpdate() {\n debug('nylas-custom-event-slug', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-custom-event-slug', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-custom-event-slug', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-custom-event-slug', '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-custom-event-slug', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-custom-booking-flow', 'selectedConfigurationChangedHandler', newValue);\n this.urlSlug = newValue?.slug || this.defaultUrlSlug || '';\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 @Listen('nylasFormInputChanged')\n async nylasFormInputChangeHandler(event: CustomEvent<{ value: string; name: string }>) {\n const { name, value } = event.detail;\n this.internals.setValidity({});\n\n if (name === 'event-slug') {\n this.urlSlug = value;\n this.internals.setFormValue(JSON.stringify(value), this.name);\n this.valueChanged.emit({ value: JSON.stringify(value), name: this.name });\n }\n }\n\n @Listen('nylasFormInputFocused')\n async nylasFormInputFocusHandler() {\n this.focus = true;\n }\n\n @Listen('nylasFormInputBlurred')\n async nylasFormInputBlurHandler() {\n this.slugErrorMessage = '';\n this.internals.setValidity({});\n this.focus = false;\n if (this.requiresSlug && this.urlSlug === '') {\n this.internals.setValidity({ customError: true }, 'Slug is required');\n this.slugErrorMessage = 'Slug cannot be blank';\n return;\n }\n if (!/^[A-Za-z0-9_-]*$/.test(this.urlSlug)) {\n this.internals.setValidity({ customError: true }, 'Invalid slug: Only letters, numbers, and hyphens are allowed.');\n this.slugErrorMessage = 'Invalid slug: Only letters, numbers, and hyphens are allowed.';\n }\n }\n\n @Listen('formSubmitted', { target: 'window' })\n formSubmittedHandler(event: CustomEvent) {\n debug('nylas-event-title', 'formSubmittedHandler', event);\n this.nylasFormInputBlurHandler();\n }\n\n toggleDrawer() {\n this.isOpen = !this.isOpen;\n }\n\n async copyToClipboard() {\n try {\n await navigator.clipboard.writeText(`${this.urlSlug}`);\n\n this.copied = true;\n setTimeout(() => {\n this.copied = false;\n }, 1000);\n } catch (err) {\n console.error('Failed to copy: ', err);\n }\n }\n\n @RegisterComponent<NylasCustomEventSlug, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-custom-event-slug',\n stateToProps: new Map([\n ['schedulerConfig.requiresSlug', 'requiresSlug'],\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\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 if (!this.requiresSlug) return null;\n const isComponentReady = typeof this.urlSlug !== 'undefined';\n return (\n <Host>\n <div class=\"nylas-custom-event-slug\" part=\"nces\">\n <div class=\"header\" part=\"nces__header\">\n <div>\n <h3>{i18next.t('nylasCustomEventSlug.headerTitle')}</h3>\n <p>{i18next.t('nylasCustomEventSlug.headerSubTitle')}</p>\n </div>\n <div class=\"drawer-toggle\" part=\"nces__drawer-toggle--container\">\n <span class={`chevron ${this.isOpen ? 'open' : 'closed'} `} onClick={() => this.toggleDrawer()}>\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n </div>\n\n {this.isOpen && (\n <div class=\"nylas-custom-event-slug__body\" part=\"nces__body\">\n <div class=\"nylas-custom-event-slug__section\">\n <div class=\"nylas-custom-event-slug__row\">\n <div class=\"input-container\">\n <label>\n {i18next.t('nylasCustomEventSlug.eventSlugLabel')}\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasCustomEventSlug.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n </label>\n\n <div class={{ 'nylas-custom-event-slug__input-wrapper': true, 'focus': this.focus, 'error': !!this.slugErrorMessage }}>\n <div slot=\"prefix\" class=\"prefix\">\n /\n </div>\n {isComponentReady && (\n <input-component\n name=\"event-slug\"\n id=\"event-slug\"\n type=\"text\"\n required={false}\n placeholder=\"my-link-name\"\n exportparts=\"ic_input: nces__input-textfield\"\n defaultValue={this.urlSlug}\n />\n )}\n <div slot=\"icon\" class={{ icon: true, disabled: !this.urlSlug }} onClick={() => !this.copied && !!this.urlSlug && this.copyToClipboard()}>\n {this.copied ? (\n <div class=\"copied\">\n <checkmark-icon width=\"12\" height=\"18\" /> {i18next.t('nylasCustomEventSlug.copied')}\n </div>\n ) : (\n <copy-icon width=\"12\" height=\"18\" />\n )}\n </div>\n </div>\n {this.slugErrorMessage && <span class=\"error-message\">{this.slugErrorMessage}</span>}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nylas-custom-event-slug.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-custom-event-slug/nylas-custom-event-slug.tsx"],"names":[],"mappings":"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","sourcesContent":["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 } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-custom-event-slug` component is a UI component that allows users to add a custom URL slug for their event link.\n *\n * @part nces - The nylas-custom-event-slug container\n * @part nces__body - The body of the event communication section\n * @part nces__header - The header of the event communication section\n * @part nces__drawer-toggle--container - The card's drawer toggle container\n * @part nces__input-textfield - The custom slug input textfield\n */\n@Component({\n tag: 'nylas-custom-event-slug',\n styleUrl: 'nylas-custom-event-slug.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasCustomEventSlug {\n @Element() host!: HTMLNylasCustomEventSlugElement;\n /**\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * The default custom event slug\n */\n @Prop() defaultUrlSlug?: string;\n /**\n * Is the custom event slug card expanded\n */\n @Prop() isOpen: boolean = true;\n /**\n * Slug error message\n */\n @Prop() slugErrorMessage: string = '';\n /**\n * The name of the component\n */\n @Prop() name: string = 'custom-event-slug';\n /**\n * Indicates if a slug is required for the configuration.\n * When set to true, the user must enter a slug when creating or editing a configuration.\n * The slug is used for hosted pages that are public.\n */\n @Prop() requiresSlug: boolean = false;\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The URL slug state\n */\n @State() urlSlug!: string;\n\n /**\n * The focus state of the input container.\n */\n @State() focus = false;\n\n /**\n * The copied state for the copy to clipboard button\n */\n @State() copied = false;\n\n @State() requiredError: string = i18next.t('fieldRequired', { field: 'Slug' });\n @State() patternError: string = i18next.t('invalidInputFormat', { field: 'Slug' });\n\n /**\n * This event is fired when the slug value changes\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\n }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-custom-event-slug', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-custom-event-slug', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-custom-event-slug', '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-custom-event-slug', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n console.log('No selected configuration found');\n this.urlSlug = this.defaultUrlSlug || '';\n }\n }\n\n componentWillUpdate() {\n debug('nylas-custom-event-slug', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-custom-event-slug', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-custom-event-slug', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-custom-event-slug', '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-custom-event-slug', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-custom-booking-flow', 'selectedConfigurationChangedHandler', newValue);\n this.urlSlug = newValue?.slug || this.defaultUrlSlug || '';\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n this.requiredError = i18next.t('fieldRequired', { field: 'Slug' });\n this.patternError = i18next.t('invalidInputFormat', { field: 'Slug' });\n }\n\n @Listen('nylasFormInputChanged')\n async nylasFormInputChangeHandler(event: CustomEvent<{ value: string; name: string }>) {\n const { name, value } = event.detail;\n this.internals.setValidity({});\n\n if (name === 'event-slug') {\n this.urlSlug = value;\n this.internals.setFormValue(JSON.stringify(value), this.name);\n this.valueChanged.emit({ value: JSON.stringify(value), name: this.name });\n }\n }\n\n @Listen('nylasFormInputFocused')\n async nylasFormInputFocusHandler() {\n this.focus = true;\n }\n\n @Listen('nylasFormInputBlurred')\n async nylasFormInputBlurHandler() {\n this.slugErrorMessage = '';\n this.internals.setValidity({});\n this.focus = false;\n if (this.requiresSlug && this.urlSlug.trim() === '') {\n this.internals.setValidity({ customError: true }, i18next.t('nylasCustomEventSlug.slugRequiredErrorMessage'));\n this.slugErrorMessage = i18next.t('nylasCustomEventSlug.slugRequiredErrorMessage');\n return;\n }\n if (!/^[A-Za-z0-9._-]*$/.test(this.urlSlug.trim())) {\n this.internals.setValidity({ customError: true }, i18next.t('nylasCustomEventSlug.slugErrorMessage'));\n this.slugErrorMessage = i18next.t('nylasCustomEventSlug.slugErrorMessage');\n }\n }\n\n @Listen('formSubmitted', { target: 'window' })\n formSubmittedHandler(event: CustomEvent) {\n debug('nylas-event-title', 'formSubmittedHandler', event);\n this.nylasFormInputBlurHandler();\n }\n\n toggleDrawer() {\n this.isOpen = !this.isOpen;\n }\n\n async copyToClipboard() {\n try {\n await navigator.clipboard.writeText(`${this.urlSlug}`);\n\n this.copied = true;\n setTimeout(() => {\n this.copied = false;\n }, 1000);\n } catch (err) {\n console.error('Failed to copy: ', err);\n }\n }\n\n @RegisterComponent<NylasCustomEventSlug, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-custom-event-slug',\n stateToProps: new Map([\n ['schedulerConfig.requiresSlug', 'requiresSlug'],\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\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 if (!this.requiresSlug) return null;\n const isComponentReady = typeof this.urlSlug !== 'undefined';\n return (\n <Host>\n <div class=\"nylas-custom-event-slug\" part=\"nces\">\n <div class=\"header\" part=\"nces__header\">\n <div>\n <h3>{i18next.t('nylasCustomEventSlug.headerTitle')}</h3>\n <p>{i18next.t('nylasCustomEventSlug.headerSubTitle')}</p>\n </div>\n <div class=\"drawer-toggle\" part=\"nces__drawer-toggle--container\">\n <span class={`chevron ${this.isOpen ? 'open' : 'closed'} `} onClick={() => this.toggleDrawer()}>\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n </div>\n\n {this.isOpen && (\n <div class=\"nylas-custom-event-slug__body\" part=\"nces__body\">\n <div class=\"nylas-custom-event-slug__section\">\n <div class=\"nylas-custom-event-slug__row\">\n <div class=\"input-container\">\n <label>\n {i18next.t('nylasCustomEventSlug.eventSlugLabel')}\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasCustomEventSlug.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n </label>\n\n <div class={{ 'nylas-custom-event-slug__input-wrapper': true, 'focus': this.focus, 'error': !!this.slugErrorMessage }}>\n <div slot=\"prefix\" class=\"prefix\">\n /\n </div>\n {isComponentReady && (\n <input-component\n name=\"event-slug\"\n id=\"event-slug\"\n type=\"text\"\n required={false}\n placeholder=\"my-link-name\"\n exportparts=\"ic_input: nces__input-textfield\"\n defaultValue={this.urlSlug}\n requiredError={this.requiredError}\n patternError={this.patternError}\n />\n )}\n <div slot=\"icon\" class={{ icon: true, disabled: !this.urlSlug }} onClick={() => !this.copied && !!this.urlSlug && this.copyToClipboard()}>\n {this.copied ? (\n <div class=\"copied\">\n <checkmark-icon width=\"12\" height=\"18\" /> {i18next.t('nylasCustomEventSlug.copied')}\n </div>\n ) : (\n <copy-icon width=\"12\" height=\"18\" />\n )}\n </div>\n </div>\n {this.slugErrorMessage && <span class=\"error-message\">{this.slugErrorMessage}</span>}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -899,7 +899,7 @@ export class NylasEditorTabs {
|
|
|
899
899
|
"references": {
|
|
900
900
|
"SchedulerEventDetail": {
|
|
901
901
|
"location": "local",
|
|
902
|
-
"path": "/
|
|
902
|
+
"path": "/Users/pooja.g/poojaguggari/github/nylas/packages/nylas-web-elements/src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.tsx",
|
|
903
903
|
"id": "src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.tsx::SchedulerEventDetail"
|
|
904
904
|
}
|
|
905
905
|
}
|
|
@@ -920,7 +920,7 @@ export class NylasEditorTabs {
|
|
|
920
920
|
"references": {
|
|
921
921
|
"SchedulerEventDetail": {
|
|
922
922
|
"location": "local",
|
|
923
|
-
"path": "/
|
|
923
|
+
"path": "/Users/pooja.g/poojaguggari/github/nylas/packages/nylas-web-elements/src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.tsx",
|
|
924
924
|
"id": "src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.tsx::SchedulerEventDetail"
|
|
925
925
|
}
|
|
926
926
|
}
|
|
@@ -1058,7 +1058,7 @@ export class NylasEditorTabs {
|
|
|
1058
1058
|
},
|
|
1059
1059
|
"SchedulerEventDetail": {
|
|
1060
1060
|
"location": "local",
|
|
1061
|
-
"path": "/
|
|
1061
|
+
"path": "/Users/pooja.g/poojaguggari/github/nylas/packages/nylas-web-elements/src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.tsx",
|
|
1062
1062
|
"id": "src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.tsx::SchedulerEventDetail"
|
|
1063
1063
|
}
|
|
1064
1064
|
},
|
package/dist/collection/components/scheduler-editor/nylas-event-calendar/nylas-event-calendar.js
CHANGED
|
@@ -1073,7 +1073,7 @@ export class NylasEventCalendar {
|
|
|
1073
1073
|
"references": {
|
|
1074
1074
|
"CreateGroupEventFormState": {
|
|
1075
1075
|
"location": "local",
|
|
1076
|
-
"path": "/
|
|
1076
|
+
"path": "/Users/pooja.g/poojaguggari/github/nylas/packages/nylas-web-elements/src/components/scheduler-editor/nylas-event-calendar/nylas-event-calendar.tsx",
|
|
1077
1077
|
"id": "src/components/scheduler-editor/nylas-event-calendar/nylas-event-calendar.tsx::CreateGroupEventFormState"
|
|
1078
1078
|
}
|
|
1079
1079
|
}
|
package/dist/collection/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.js
CHANGED
|
@@ -197,7 +197,9 @@ export class NylasReminderEmails {
|
|
|
197
197
|
recipientOptions = recipientOptions.filter(option => option.value !== 'all');
|
|
198
198
|
}
|
|
199
199
|
return (h(Host, { key: 'a14f383c9531076b75a3c8848b1a866199675f95' }, h("div", { key: 'bfa9969c2318b4f3c23bc159524da0f05b571b51', class: "cards-container" }, this.reminders.map((reminder, index) => {
|
|
200
|
-
return reminder.type !== 'webhook' ? (h("div", { class: "nylas-reminder-email", part: "nre" }, h("div", { class: "header", part: "nre__header" }, h("div", null, h("h3", null,
|
|
200
|
+
return reminder.type !== 'webhook' ? (h("div", { class: "nylas-reminder-email", part: "nre" }, h("div", { class: "header", part: "nre__header" }, h("div", null, h("h3", null, organizerName
|
|
201
|
+
? i18next.t('nylasReminderEmails.headerTitle_withOrganizer', { organizerName: ` ${organizerName}` })
|
|
202
|
+
: i18next.t('nylasReminderEmails.headerTitle')), h("p", null, i18next.t('nylasReminderEmails.headerSubTitle'))), !reminder.editing ? (h("button-component", { variant: 'basic', key: `edit-${index} `, clickHandler: event => {
|
|
201
203
|
event.preventDefault();
|
|
202
204
|
reminder.editing = true;
|
|
203
205
|
this.reminders = [...this.reminders];
|
|
@@ -209,11 +211,13 @@ export class NylasReminderEmails {
|
|
|
209
211
|
this.reminders = [...this.reminders];
|
|
210
212
|
} }, h("chevron-icon", { width: "24", height: "24" }))))), reminder.editing ? (h("div", { class: "nylas-reminder-email__body", part: "nre__body" }, h("div", { class: "nylas-reminder-email__section" }, h("div", { class: "nylas-reminder-email__row" }, h("label", null, i18next.t('nylasReminderEmails.emailRecipients.label')), h("select-dropdown", { name: `recipient-${index}`, options: recipientOptions, defaultSelectedOption: recipientOptions.find(i => i.value === reminder.recipient) ?? recipientOptions[0], withSearch: false })), h("div", { class: "nylas-reminder-email__row" }, h("label", null, i18next.t('nylasReminderEmails.sendConfirmation.label'), h("span", { class: "label-icon" }, h("tooltip-component", null, h("info-icon", { slot: "tooltip-icon" }), h("span", { slot: "tooltip-content" }, i18next.t('nylasReminderEmails.sendConfirmation.tooltip.desc'))))), h("div", null, h("nylas-reminder-time", { name: `reminder-time-${index}`, eventReminderTimeMinutes: reminder.minutes_before_event, 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" }), this.reminderErrors[`reminder-time-${index}`]?.error && (h("p", { class: "error-message" }, this.reminderErrors[`reminder-time-${index}`]?.error, ' ', h("button-component", { variant: "invisible", onClick: _e => {
|
|
211
213
|
this.nylasSuggestReminderMinutes.emit({ minutes: this.reminderErrors[`reminder-time-${index}`]?.suggestion });
|
|
212
|
-
} }, this.reminderErrors[`reminder-time-${index}`]?.suggestion))))), h("div", { class: "nylas-reminder-email__block" }, h("label", null, i18next.t('nylasReminderEmails.emailSubject.label')), h("input-component", { name: `reminder-subject-${index}`, maxLength: 60, placeholder:
|
|
213
|
-
|
|
214
|
+
} }, this.reminderErrors[`reminder-time-${index}`]?.suggestion))))), h("div", { class: "nylas-reminder-email__block" }, h("label", null, i18next.t('nylasReminderEmails.emailSubject.label')), h("input-component", { name: `reminder-subject-${index}`, maxLength: 60, placeholder: organizerName
|
|
215
|
+
? i18next.t('nylasReminderEmails.emailSubject.placeholder_withOrganizer', { organizerName: organizerName })
|
|
216
|
+
: i18next.t('nylasReminderEmails.emailSubject.placeholder'), defaultValue: reminder?.email_subject || '' }))))) : (h("div", { class: "nylas-reminder-email__summary", part: "nre__summary" }, h("p", null, h("span", { class: "summary-icon" }, h("person-clipboard-icon", null)), recipientOptions.find(i => i.value === reminder.recipient)?.label), h("p", null, h("span", { class: "summary-icon" }, h("clock-icon", null)), this.formatReminderTime(reminder.minutes_before_event), " ", i18next.t('nylasReminderEmails.beforeTheEvent')))))) : null;
|
|
217
|
+
})), h("button-component", { key: 'c3ed905e5bb3a2dfd208e2ee15d687af5bce77b7', class: "create-reminder", variant: 'basic', clickHandler: event => {
|
|
214
218
|
event.preventDefault();
|
|
215
219
|
this.addReminder();
|
|
216
|
-
} }, h("plus-icon", { key: '
|
|
220
|
+
} }, h("plus-icon", { key: '7ad8981e96e6bafc71a8ee0853412b40d04063c8', width: "16", height: "16" }), i18next.t('nylasReminderEmails.newReminderButtonText'))));
|
|
217
221
|
}
|
|
218
222
|
static get is() { return "nylas-reminder-emails"; }
|
|
219
223
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nylas-reminder-emails.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.tsx"],"names":[],"mappings":"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","sourcesContent":["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 } 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 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 @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 ]),\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>{i18next.t('nylasReminderEmails.headerTitle', { organizerName: organizerName ? ` with ${organizerName} ` : '' })}</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 />\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 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={i18next.t('nylasReminderEmails.emailSubject.placeholder', { organizerName: organizerName ? ` with ${organizerName}` : '' })}\n defaultValue={reminder?.email_subject || ''}\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"]}
|
|
1
|
+
{"version":3,"file":"nylas-reminder-emails.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.tsx"],"names":[],"mappings":"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","sourcesContent":["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 } 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 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 @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 ]),\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 />\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 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 />\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.js","mappings":";;;;AAAe;;ACCR,MAAM,aAAa,GAAG,eAAe;;MCetC,KAAK,GAAG,WAAW,CAAa,EAAE;;;;;;","names":[],"sources":["src/common/global.ts","@stencil/core/internal/app-globals","src/common/nylas-theme/index.ts"],"sourcesContent":["export default async function () {}\n","import appGlobalScript from '/
|
|
1
|
+
{"file":"index.js","mappings":";;;;AAAe;;ACCR,MAAM,aAAa,GAAG,eAAe;;MCetC,KAAK,GAAG,WAAW,CAAa,EAAE;;;;;;","names":[],"sources":["src/common/global.ts","@stencil/core/internal/app-globals","src/common/nylas-theme/index.ts"],"sourcesContent":["export default async function () {}\n","import appGlobalScript from '/Users/pooja.g/poojaguggari/github/nylas/packages/nylas-web-elements/src/common/global.ts';\nexport const globalScripts = appGlobalScript;\n","import { createStore } from '@stencil/store';\n\nexport type NylasTheme = Partial<{\n '--nylas-color-primary-50': string;\n '--nylas-color-primary-100': string;\n '--nylas-color-primary-200': string;\n '--nylas-color-primary-300': string;\n '--nylas-color-primary-400': string;\n '--nylas-color-primary-500': string;\n '--nylas-color-primary-600': string;\n '--nylas-color-primary-700': string;\n '--nylas-color-primary-800': string;\n '--nylas-color-primary-900': string;\n '--nylas-color-primary-950': string;\n}>;\n\nconst store = createStore<NylasTheme>({});\n\nexport default store;\n"],"version":3}
|
|
@@ -46,6 +46,8 @@ const NylasAdditionalParticipants = proxyCustomElement(class NylasAdditionalPart
|
|
|
46
46
|
this.includeOrganizerAsParticipant = true;
|
|
47
47
|
this.isRoundRobinConfig = false;
|
|
48
48
|
this.error = '';
|
|
49
|
+
this.requiredError = '';
|
|
50
|
+
this.patternError = '';
|
|
49
51
|
}
|
|
50
52
|
elementNameChangedHandler(newValue) {
|
|
51
53
|
debug('nylas-additional-participants', 'elementNameChangedHandler', newValue);
|
|
@@ -64,6 +66,8 @@ const NylasAdditionalParticipants = proxyCustomElement(class NylasAdditionalPart
|
|
|
64
66
|
if (newVal === oldVal)
|
|
65
67
|
return;
|
|
66
68
|
instance.changeLanguage(newVal);
|
|
69
|
+
this.requiredError = instance.t('fieldRequired', { field: instance.t('email') });
|
|
70
|
+
this.patternError = instance.t('invalidInputFormat', { field: instance.t('email') });
|
|
67
71
|
if (this.error) {
|
|
68
72
|
this.error = instance.t('nylasAdditionalParticipants.error');
|
|
69
73
|
}
|
|
@@ -113,8 +117,8 @@ const NylasAdditionalParticipants = proxyCustomElement(class NylasAdditionalPart
|
|
|
113
117
|
return;
|
|
114
118
|
}
|
|
115
119
|
else if (!participant && !EMAIL_REGEX.test(event.detail.value)) {
|
|
116
|
-
this.isInternalsAvailable && this.internals.setValidity({ customError: true }, '
|
|
117
|
-
this.participantErrors[index] = '
|
|
120
|
+
this.isInternalsAvailable && this.internals.setValidity({ customError: true }, instance.t('nylasAdditionalParticipants.error_email'));
|
|
121
|
+
this.participantErrors[index] = instance.t('nylasAdditionalParticipants.error_email');
|
|
118
122
|
this.participants[index].is_valid = false;
|
|
119
123
|
this.participants = [...this.participants];
|
|
120
124
|
return;
|
|
@@ -192,17 +196,17 @@ const NylasAdditionalParticipants = proxyCustomElement(class NylasAdditionalPart
|
|
|
192
196
|
});
|
|
193
197
|
}
|
|
194
198
|
render() {
|
|
195
|
-
return (h(Host, { key: '
|
|
199
|
+
return (h(Host, { key: '4d547fe2488b5019af5d63d9691a740e8efb5f43', part: "nadtnlpart" }, h("nylas-form-card", { key: '627e61e9080b989b5871d798339e718e68bb639d', exportparts: "nfc, nfc__header" }, h("h3", { key: '447dc3fee1b9e4014a7aa6e54a01dbf84d4893ac', slot: "header-title", class: "nylas-additional-participants__title", part: "nadtnlpart__title" }, instance.t('nylasAdditionalParticipants.headerTitle')), h("p", { key: 'f116167709f9464422d4dedba69a1db6c3b55b0e', slot: "header-subtitle", class: "nylas-additional-participants__subtitle", part: "nadtnlpart__subtitle" }, instance.t('nylasAdditionalParticipants.headerSubTitle')), h("div", { key: 'f231168dcab771100276cbd76710ec0446cdfa8c', slot: "content", class: "nylas-additional-participants__content", part: "nadtnlpart__content" }, h("div", { key: '47f0cf5882fa4f88a09ba74b70136e7911cae75f' }, this.participants.map((participant, index) => {
|
|
196
200
|
return (h("div", { class: 'nylas-additional-participants__input_group', part: "nadtnlpart__input_group" }, !participant.is_organizer && h("label", null, `${instance.t('nylasAdditionalParticipants.participant')} ${index}`), h("div", { part: "nadtnlpart__input_wrapper", class: {
|
|
197
201
|
'nylas-additional-participants__input_wrapper': true,
|
|
198
202
|
'nylas-additional-participants__input_wrapper_organizer': participant?.is_organizer === true,
|
|
199
203
|
'nylas-additional-participants__input_wrapper_invalid': participant.is_valid === false,
|
|
200
204
|
'error': participant.is_valid === false,
|
|
201
|
-
} }, h("div", { class: { 'nylas-additional-participants__input': true, 'organizer': participant?.is_organizer === true }, part: "nadtnlpart__input" }, participant.is_organizer ? (h("input-component", { class: 'label-input', name: `${index}`, key: index, label: instance.t('nylasAdditionalParticipants.organizer'), required: false, readOnly: participant.is_organizer, defaultValue: participant.email }, this.isRoundRobinConfig && (h("div", { class: "required-input", slot: "additional-input" }, h("input", { type: "checkbox", name: `organizer_participant`, id: `organizer_participant`, onClick: () => {
|
|
205
|
+
} }, h("div", { class: { 'nylas-additional-participants__input': true, 'organizer': participant?.is_organizer === true }, part: "nadtnlpart__input" }, participant.is_organizer ? (h("input-component", { class: 'label-input', name: `${index}`, key: index, label: instance.t('nylasAdditionalParticipants.organizer'), required: false, requiredError: this.requiredError, patternError: this.patternError, readOnly: participant.is_organizer, defaultValue: participant.email }, this.isRoundRobinConfig && (h("div", { class: "required-input", slot: "additional-input" }, h("input", { type: "checkbox", name: `organizer_participant`, id: `organizer_participant`, onClick: () => {
|
|
202
206
|
this.includeOrganizerAsParticipant = !this.includeOrganizerAsParticipant;
|
|
203
207
|
this.updateFormValue();
|
|
204
208
|
}, checked: this.includeOrganizerAsParticipant }), h("label", { htmlFor: `organizer_participant`, "aria-label": "Include as participant" }, h("span", { class: "org-as-participant", part: "nadtnlpart__org-as-participant" }, instance.t('nylasAdditionalParticipants.organizerAsParticipant')), h("tooltip-component", { id: "organizer_participant_tooltip" }, h("info-icon", { slot: "tooltip-icon" }), h("span", { slot: "tooltip-content" }, h("strong", null, instance.t('nylasAdditionalParticipants.tooltip.includeOrganizer'), ":"), ' ', instance.t('nylasAdditionalParticipants.tooltip.includeOrganizerDesc'), " ", h("br", null), h("strong", null, instance.t('nylasAdditionalParticipants.tooltip.excludeOrganizer'), ":"), ' ', instance.t('nylasAdditionalParticipants.tooltip.excludeOrganizerDesc')))))))) : (h("input-dropdown", { id: `${index}`, name: `${index}`, filterable: true, inputValue: participant.email, options: this.getArrayDifference(this.participantOptions || [], this.participants) })), !participant.is_organizer && (h("button", { onClick: () => this.removeParticipant(index), part: "nadtnlpart__remove-participant" }, h("close-icon", null))))), !participant.is_valid && (h("p", { class: "nylas-additional-participants__error", part: "nadtnlpart__error" }, this.participantErrors[index]))));
|
|
205
|
-
}), h("p", { key: '
|
|
209
|
+
}), h("p", { key: 'd2b56b8aedb241aa6f30d7a1cd6bbb65c3b3df83', class: "nylas-additional-participants__error", part: "nadtnlpart__error" }, this.error)), h("button", { key: 'e9ae0842ddbfa5e99216104204e944931c234d2a', class: "nylas-additional-participants__add", part: "nadtnlpart__add-participant", onClick: () => this.addParticipant() }, h("add-circle-icon", { key: '72c4f18b78923e41c5bf85203dfddce1faf69c66' }), ' ', h("span", { key: 'aa8f679690c7a591d120bafb6d3df96e74db4b5e' }, this.participants.length > 1
|
|
206
210
|
? instance.t('nylasAdditionalParticipants.addParticipant', { context: 'next' })
|
|
207
211
|
: instance.t('nylasAdditionalParticipants.addParticipant', { context: 'first' })))))));
|
|
208
212
|
}
|
|
@@ -228,7 +232,9 @@ const NylasAdditionalParticipants = proxyCustomElement(class NylasAdditionalPart
|
|
|
228
232
|
"participantErrors": [32],
|
|
229
233
|
"includeOrganizerAsParticipant": [32],
|
|
230
234
|
"isRoundRobinConfig": [32],
|
|
231
|
-
"error": [32]
|
|
235
|
+
"error": [32],
|
|
236
|
+
"requiredError": [32],
|
|
237
|
+
"patternError": [32]
|
|
232
238
|
}, [[0, "inputOptionChanged", "onInputOptionChanged"]], {
|
|
233
239
|
"name": ["elementNameChangedHandler"],
|
|
234
240
|
"currentUser": ["selectedConfigurationAndCurrentUserChangedHandler"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nylas-additional-participants2.js","mappings":"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","names":["i18next"],"sources":["src/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.scss?tag=nylas-additional-participants&encapsulation=shadow","src/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n margin: 1rem;\n @include default-css-variables;\n}\n\n.nylas-additional-participants__title {\n color: var(--nylas-base-900);\n font-size: 16px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n /* 125% */\n margin: 0;\n text-align: left;\n}\n\n.nylas-additional-participants__subtitle {\n color: var(--nylas-base-600);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n /* 142.857% */\n margin: 0.25rem 0px 0px;\n text-align: left;\n}\n\n.nylas-additional-participants__content {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.nylas-additional-participants__input_group {\n padding-top: 8px;\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: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n\n span.org-as-participant {\n width: max-content;\n }\n }\n}\n\n.nylas-additional-participants__error {\n color: var(--nylas-error);\n font-size: 14px;\n font-family: var(--nylas-font-family);\n font-weight: 400;\n line-height: 16px;\n margin: 0;\n text-align: left;\n}\n\n.nylas-additional-participants__input_wrapper {\n display: flex;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-300);\n\n &.error {\n border-color: var(--nylas-error);\n }\n\n button {\n padding: 12px;\n border: none;\n border-left: 1px solid var(--nylas-base-300);\n background: none;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n }\n}\n\n.nylas-additional-participants__input_wrapper_organizer {\n border: none;\n}\n\n.nylas-additional-participants__input {\n flex: 1;\n display: flex;\n justify-content: space-between;\n\n input {\n border: none;\n outline: none;\n background: none;\n width: 100%;\n }\n\n input-dropdown {\n width: 100%;\n }\n\n input-dropdown::part(id_dropdown) {\n width: 100%;\n height: 100%;\n }\n\n input-dropdown::part(id_dropdown-input) {\n height: 100%;\n border-radius: var(--nylas-border-radius-2x);\n border: none;\n border-top-right-radius: initial;\n border-bottom-right-radius: initial;\n padding-left: 16px;\n }\n\n input-component::part(ic__input) {\n background: var(--nylas-base-50);\n }\n\n input-component::part(ic__label) {\n font-size: 14px;\n }\n\n input-component {\n div.required-input {\n display: flex;\n gap: 4px;\n\n label {\n display: flex;\n gap: 4px;\n align-items: center;\n\n tooltip-component#organizer_participant_tooltip::part(tc__content) {\n left: -84px;\n }\n }\n }\n }\n}\n\n.nylas-additional-participants__add {\n padding: 12px;\n display: flex;\n align-items: center;\n border: none;\n background: none;\n cursor: pointer;\n\n span {\n padding: 0 8px;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n }\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\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, Prop, State, Watch, h, Element, Listen, EventEmitter } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Event } from '@stencil/core';\nimport { AdditionalParticipant, Calendar, Configuration } from '@nylas/core';\nimport { User } from '@/common/nylas-api-request';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\ntype Participant = {\n name?: string;\n email: string;\n is_valid?: boolean;\n is_organizer?: boolean;\n availability?: Availability;\n booking?: Booking;\n};\ntype Availability = {\n calendar_ids: string[];\n};\ntype Booking = {\n calendar_id: string;\n};\n\n/**\n * The `nylas-additional-participants` component is a form input for adding additional participants to an event.\n *\n * @part nadtnlpart__title - The title of the component.\n * @part nadtnlpart__subtitle - The subtitle of the component.\n * @part nadtnlpart__content - The content of the component.\n * @part nadtnlpart__input_group - The input group of the component.\n * @part nadtnlpart__input_wrapper - The input wrapper of the component.\n * @part nadtnlpart__input - The input of the component.\n * @part nadtnlpart__remove-participant - The remove participant button of the component.\n * @part nadtnlpart__add-participant - The add participant button of the component.\n *\n */\n@Component({\n tag: 'nylas-additional-participants',\n styleUrl: 'nylas-additional-participants.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasAdditionalParticipants {\n @Element() host!: HTMLNylasAdditionalParticipantsElement;\n /**\n * @standalone\n * The name of the component\n */\n @Prop() name: string = 'participants';\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The logged in user\n */\n @Prop() currentUser?: User;\n /**\n * @standalone\n * The list of user's calendars.\n */\n @Prop() currentUserCalendars?: Calendar[];\n /**\n * @standalone\n * The additional participants options from the config\n */\n @Prop() participantOptions?: AdditionalParticipant[];\n /**\n * @standalone\n * The event participants\n */\n @Prop() eventParticipants?: Participant[];\n /**\n * @standalone\n * If the config is round robin\n */\n @Prop() roundRobinConfig?: boolean;\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n @AttachInternals() internals!: ElementInternals;\n @State() participants: Participant[] = this.eventParticipants ?? [];\n @State() participantErrors: { [key: string]: string } = {};\n @State() includeOrganizerAsParticipant: boolean = true;\n @State() isRoundRobinConfig: boolean = false;\n @State() error: string = '';\n\n /**\n * This event is fired when the selected participants change.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-additional-participants', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('currentUser')\n @Watch('selectedConfiguration')\n selectedConfigurationAndCurrentUserChangedHandler(newValue: unknown, _oldValue: unknown, propName: string) {\n debug('nylas-additional-participants', 'selectedConfigurationAndCurrentUserChangedHandler', newValue, this.currentUser);\n\n if (propName === 'selectedConfiguration') {\n this.updateState(newValue as Configuration, this.currentUser, false);\n } else if (propName === 'currentUser') {\n this.updateState(this.selectedConfiguration, newValue as User, false);\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n if (this.error) {\n this.error = i18next.t('nylasAdditionalParticipants.error');\n }\n }\n\n connectedCallback() {\n debug('nylas-additional-participants', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-additional-participants', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-additional-participants', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.updateState(this.selectedConfiguration, this.currentUser, false);\n } else if (this.eventParticipants) {\n this.participants = this.eventParticipants || [];\n this.isRoundRobinConfig = this.roundRobinConfig || false;\n this.updateFormValue(true);\n }\n }\n\n disconnectedCallback() {\n debug('nylas-additional-participants', 'disconnectedCallback');\n }\n\n private updateState(selectedConfig?: Configuration, currentUser?: User, valueChanged: boolean = true) {\n this.isRoundRobinConfig = selectedConfig?.availability?.availability_rules?.availability_method\n ? selectedConfig?.availability?.availability_rules?.availability_method !== 'collective'\n : false;\n this.participants = selectedConfig?.participants || this.eventParticipants || [];\n this.includeOrganizerAsParticipant = this.isRoundRobinConfig && this.participants.find(p => p.email === currentUser?.email) ? true : false;\n this.updateOrganizerAsParticipant(valueChanged);\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 @Listen('inputOptionChanged')\n onInputOptionChanged(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-additional-participants', 'onInputOptionChanged');\n const EMAIL_REGEX = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n const index = event.detail.name;\n const participant = this.participantOptions?.find(participant => participant.email === event.detail.value);\n\n if (!participant && this.isRoundRobinConfig) {\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, 'For round robin configuration, participant should be selected from the dropdown.');\n this.participantErrors[index] = 'For round robin page, participant should be selected from the dropdown.';\n this.participants[index].is_valid = false;\n this.participants = [...this.participants];\n return;\n } else if (!participant && !EMAIL_REGEX.test(event.detail.value)) {\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, 'Please enter a valid email address');\n this.participantErrors[index] = 'Please enter a valid email address';\n this.participants[index].is_valid = false;\n this.participants = [...this.participants];\n return;\n } else {\n this.participantErrors[index] = '';\n this.participants[index].is_valid = true;\n this.isInternalsAvailable && this.internals.setValidity({});\n }\n this.participants[index].email = event.detail.value;\n // Default to the is_primary calendar if available, otherwise first calendar for all participants\n const primaryCalendar = participant?.calendars?.find(calendar => calendar.is_primary);\n this.participants[index].availability =\n participant && primaryCalendar?.id ? { calendar_ids: [primaryCalendar.id] } : participant?.calendars[0]?.id ? { calendar_ids: [participant.calendars[0].id] } : undefined;\n // If round-robin config, set booking calendar to is_primary if available, otherwise first calendar for all participants\n this.participants[index].booking =\n participant && this.isRoundRobinConfig && primaryCalendar?.id\n ? { calendar_id: primaryCalendar.id }\n : this.isRoundRobinConfig && participant?.calendars[0]?.id\n ? { calendar_id: participant.calendars[0].id }\n : undefined;\n this.participants[index].name = participant?.name || event.detail.value;\n this.participants = [...this.participants];\n this.updateFormValue();\n }\n\n updateOrganizerAsParticipant(valueChanged: boolean = true) {\n const findCurrentUserInParticipants = this.participants.find(p => p.email === this.currentUser?.email);\n if (this.isRoundRobinConfig && !findCurrentUserInParticipants && this.currentUser?.email) {\n const bookingCalendarDefault = this.currentUserCalendars?.find(calendar => calendar.is_primary)?.id || this.currentUserCalendars?.[0]?.id || 'primary';\n this.participants = [\n {\n name: this.currentUser?.name,\n email: this.currentUser?.email,\n is_organizer: true,\n availability: {\n calendar_ids: [bookingCalendarDefault],\n },\n booking: {\n calendar_id: bookingCalendarDefault,\n },\n },\n ...this.participants,\n ];\n }\n this.updateFormValue(valueChanged);\n }\n\n addParticipant() {\n debug('nylas-additional-participants', 'addParticipant');\n this.participants = [...this.participants, { name: '', email: '', is_organizer: false }];\n this.updateFormValue();\n }\n removeParticipant(index: number) {\n debug('nylas-additional-participants', 'removeParticipant');\n this.participants = this.participants.filter((_, i) => i !== index);\n this.updateFormValue();\n }\n\n updateFormValue(valueChanged = true) {\n debug('nylas-additional-participants', 'updateFormValue');\n const participants = this.isRoundRobinConfig ? (this.includeOrganizerAsParticipant ? this.participants : this.participants.filter(p => !p.is_organizer)) : this.participants;\n if (participants.length === 0) {\n this.error = i18next.t('nylasAdditionalParticipants.error');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else {\n this.isInternalsAvailable && this.internals.setValidity({});\n this.error = '';\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participants), this.name);\n if (valueChanged) {\n this.valueChanged.emit({ value: JSON.stringify(participants), name: this.name });\n }\n }\n }\n\n // Filter out the participants that are already added\n getArrayDifference(array1: AdditionalParticipant[], array2: Participant[]) {\n const filtered = array1.filter(participant1 => !array2.some(participant2 => participant1.email === participant2.email));\n return filtered.map(participant => {\n return { value: participant.email, label: participant.email };\n });\n }\n\n @RegisterComponent<NylasAdditionalParticipants, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-additional-participants',\n stateToProps: new Map([\n ['schedulerConfig.additionalParticipants', 'participantOptions'],\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.currentUser', 'currentUser'],\n ['schedulerConfig.calendars', 'currentUserCalendars'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nadtnlpart\">\n <nylas-form-card exportparts=\"nfc, nfc__header\">\n <h3 slot=\"header-title\" class=\"nylas-additional-participants__title\" part=\"nadtnlpart__title\">\n {i18next.t('nylasAdditionalParticipants.headerTitle')}\n </h3>\n <p slot=\"header-subtitle\" class=\"nylas-additional-participants__subtitle\" part=\"nadtnlpart__subtitle\">\n {i18next.t('nylasAdditionalParticipants.headerSubTitle')}\n </p>\n <div slot=\"content\" class=\"nylas-additional-participants__content\" part=\"nadtnlpart__content\">\n <div>\n {this.participants.map((participant, index) => {\n return (\n <div class={'nylas-additional-participants__input_group'} part=\"nadtnlpart__input_group\">\n {!participant.is_organizer && <label>{`${i18next.t('nylasAdditionalParticipants.participant')} ${index}`}</label>}\n <div\n part=\"nadtnlpart__input_wrapper\"\n class={{\n 'nylas-additional-participants__input_wrapper': true,\n 'nylas-additional-participants__input_wrapper_organizer': participant?.is_organizer === true,\n 'nylas-additional-participants__input_wrapper_invalid': participant.is_valid === false,\n 'error': participant.is_valid === false,\n }}\n >\n <div class={{ 'nylas-additional-participants__input': true, 'organizer': participant?.is_organizer === true }} part=\"nadtnlpart__input\">\n {participant.is_organizer ? (\n <input-component\n class={'label-input'}\n name={`${index}`}\n key={index}\n label={i18next.t('nylasAdditionalParticipants.organizer')}\n required={false}\n readOnly={participant.is_organizer}\n defaultValue={participant.email}\n >\n {this.isRoundRobinConfig && (\n <div class=\"required-input\" slot=\"additional-input\">\n <input\n type=\"checkbox\"\n name={`organizer_participant`}\n id={`organizer_participant`}\n onClick={() => {\n this.includeOrganizerAsParticipant = !this.includeOrganizerAsParticipant;\n this.updateFormValue();\n }}\n checked={this.includeOrganizerAsParticipant}\n />\n <label htmlFor={`organizer_participant`} aria-label=\"Include as participant\">\n <span class=\"org-as-participant\" part=\"nadtnlpart__org-as-participant\">\n {i18next.t('nylasAdditionalParticipants.organizerAsParticipant')}\n </span>\n <tooltip-component id=\"organizer_participant_tooltip\">\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n <strong>{i18next.t('nylasAdditionalParticipants.tooltip.includeOrganizer')}:</strong>{' '}\n {i18next.t('nylasAdditionalParticipants.tooltip.includeOrganizerDesc')} <br />\n <strong>{i18next.t('nylasAdditionalParticipants.tooltip.excludeOrganizer')}:</strong>{' '}\n {i18next.t('nylasAdditionalParticipants.tooltip.excludeOrganizerDesc')}\n </span>\n </tooltip-component>\n </label>\n </div>\n )}\n </input-component>\n ) : (\n <input-dropdown\n id={`${index}`}\n name={`${index}`}\n filterable={true}\n inputValue={participant.email}\n options={this.getArrayDifference(this.participantOptions || [], this.participants)}\n />\n )}\n {!participant.is_organizer && (\n <button onClick={() => this.removeParticipant(index)} part=\"nadtnlpart__remove-participant\">\n <close-icon />\n </button>\n )}\n </div>\n </div>\n {!participant.is_valid && (\n <p class=\"nylas-additional-participants__error\" part=\"nadtnlpart__error\">\n {this.participantErrors[index]}\n </p>\n )}\n </div>\n );\n })}\n <p class=\"nylas-additional-participants__error\" part=\"nadtnlpart__error\">\n {this.error}\n </p>\n </div>\n <button class=\"nylas-additional-participants__add\" part=\"nadtnlpart__add-participant\" onClick={() => this.addParticipant()}>\n <add-circle-icon />{' '}\n <span>\n {this.participants.length > 1\n ? i18next.t('nylasAdditionalParticipants.addParticipant', { context: 'next' })\n : i18next.t('nylasAdditionalParticipants.addParticipant', { context: 'first' })}\n </span>\n </button>\n </div>\n </nylas-form-card>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"nylas-additional-participants2.js","mappings":"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","names":["i18next"],"sources":["src/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.scss?tag=nylas-additional-participants&encapsulation=shadow","src/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n margin: 1rem;\n @include default-css-variables;\n}\n\n.nylas-additional-participants__title {\n color: var(--nylas-base-900);\n font-size: 16px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n /* 125% */\n margin: 0;\n text-align: left;\n}\n\n.nylas-additional-participants__subtitle {\n color: var(--nylas-base-600);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n /* 142.857% */\n margin: 0.25rem 0px 0px;\n text-align: left;\n}\n\n.nylas-additional-participants__content {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.nylas-additional-participants__input_group {\n padding-top: 8px;\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: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n\n span.org-as-participant {\n width: max-content;\n }\n }\n}\n\n.nylas-additional-participants__error {\n color: var(--nylas-error);\n font-size: 14px;\n font-family: var(--nylas-font-family);\n font-weight: 400;\n line-height: 16px;\n margin: 0;\n text-align: left;\n}\n\n.nylas-additional-participants__input_wrapper {\n display: flex;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-300);\n\n &.error {\n border-color: var(--nylas-error);\n }\n\n button {\n padding: 12px;\n border: none;\n border-left: 1px solid var(--nylas-base-300);\n background: none;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n }\n}\n\n.nylas-additional-participants__input_wrapper_organizer {\n border: none;\n}\n\n.nylas-additional-participants__input {\n flex: 1;\n display: flex;\n justify-content: space-between;\n\n input {\n border: none;\n outline: none;\n background: none;\n width: 100%;\n }\n\n input-dropdown {\n width: 100%;\n }\n\n input-dropdown::part(id_dropdown) {\n width: 100%;\n height: 100%;\n }\n\n input-dropdown::part(id_dropdown-input) {\n height: 100%;\n border-radius: var(--nylas-border-radius-2x);\n border: none;\n border-top-right-radius: initial;\n border-bottom-right-radius: initial;\n padding-left: 16px;\n }\n\n input-component::part(ic__input) {\n background: var(--nylas-base-50);\n }\n\n input-component::part(ic__label) {\n font-size: 14px;\n }\n\n input-component {\n div.required-input {\n display: flex;\n gap: 4px;\n\n label {\n display: flex;\n gap: 4px;\n align-items: center;\n\n tooltip-component#organizer_participant_tooltip::part(tc__content) {\n left: -84px;\n }\n }\n }\n }\n}\n\n.nylas-additional-participants__add {\n padding: 12px;\n display: flex;\n align-items: center;\n border: none;\n background: none;\n cursor: pointer;\n\n span {\n padding: 0 8px;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n }\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\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, Prop, State, Watch, h, Element, Listen, EventEmitter } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Event } from '@stencil/core';\nimport { AdditionalParticipant, Calendar, Configuration } from '@nylas/core';\nimport { User } from '@/common/nylas-api-request';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\ntype Participant = {\n name?: string;\n email: string;\n is_valid?: boolean;\n is_organizer?: boolean;\n availability?: Availability;\n booking?: Booking;\n};\ntype Availability = {\n calendar_ids: string[];\n};\ntype Booking = {\n calendar_id: string;\n};\n\n/**\n * The `nylas-additional-participants` component is a form input for adding additional participants to an event.\n *\n * @part nadtnlpart__title - The title of the component.\n * @part nadtnlpart__subtitle - The subtitle of the component.\n * @part nadtnlpart__content - The content of the component.\n * @part nadtnlpart__input_group - The input group of the component.\n * @part nadtnlpart__input_wrapper - The input wrapper of the component.\n * @part nadtnlpart__input - The input of the component.\n * @part nadtnlpart__remove-participant - The remove participant button of the component.\n * @part nadtnlpart__add-participant - The add participant button of the component.\n *\n */\n@Component({\n tag: 'nylas-additional-participants',\n styleUrl: 'nylas-additional-participants.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasAdditionalParticipants {\n @Element() host!: HTMLNylasAdditionalParticipantsElement;\n /**\n * @standalone\n * The name of the component\n */\n @Prop() name: string = 'participants';\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The logged in user\n */\n @Prop() currentUser?: User;\n /**\n * @standalone\n * The list of user's calendars.\n */\n @Prop() currentUserCalendars?: Calendar[];\n /**\n * @standalone\n * The additional participants options from the config\n */\n @Prop() participantOptions?: AdditionalParticipant[];\n /**\n * @standalone\n * The event participants\n */\n @Prop() eventParticipants?: Participant[];\n /**\n * @standalone\n * If the config is round robin\n */\n @Prop() roundRobinConfig?: boolean;\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n @AttachInternals() internals!: ElementInternals;\n @State() participants: Participant[] = this.eventParticipants ?? [];\n @State() participantErrors: { [key: string]: string } = {};\n @State() includeOrganizerAsParticipant: boolean = true;\n @State() isRoundRobinConfig: boolean = false;\n @State() error: string = '';\n @State() requiredError: string = '';\n @State() patternError: string = '';\n\n /**\n * This event is fired when the selected participants change.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-additional-participants', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('currentUser')\n @Watch('selectedConfiguration')\n selectedConfigurationAndCurrentUserChangedHandler(newValue: unknown, _oldValue: unknown, propName: string) {\n debug('nylas-additional-participants', 'selectedConfigurationAndCurrentUserChangedHandler', newValue, this.currentUser);\n\n if (propName === 'selectedConfiguration') {\n this.updateState(newValue as Configuration, this.currentUser, false);\n } else if (propName === 'currentUser') {\n this.updateState(this.selectedConfiguration, newValue as User, false);\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n this.requiredError = i18next.t('fieldRequired', { field: i18next.t('email') });\n this.patternError = i18next.t('invalidInputFormat', { field: i18next.t('email') });\n if (this.error) {\n this.error = i18next.t('nylasAdditionalParticipants.error');\n }\n }\n\n connectedCallback() {\n debug('nylas-additional-participants', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-additional-participants', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-additional-participants', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.updateState(this.selectedConfiguration, this.currentUser, false);\n } else if (this.eventParticipants) {\n this.participants = this.eventParticipants || [];\n this.isRoundRobinConfig = this.roundRobinConfig || false;\n this.updateFormValue(true);\n }\n }\n\n disconnectedCallback() {\n debug('nylas-additional-participants', 'disconnectedCallback');\n }\n\n private updateState(selectedConfig?: Configuration, currentUser?: User, valueChanged: boolean = true) {\n this.isRoundRobinConfig = selectedConfig?.availability?.availability_rules?.availability_method\n ? selectedConfig?.availability?.availability_rules?.availability_method !== 'collective'\n : false;\n this.participants = selectedConfig?.participants || this.eventParticipants || [];\n this.includeOrganizerAsParticipant = this.isRoundRobinConfig && this.participants.find(p => p.email === currentUser?.email) ? true : false;\n this.updateOrganizerAsParticipant(valueChanged);\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 @Listen('inputOptionChanged')\n onInputOptionChanged(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-additional-participants', 'onInputOptionChanged');\n const EMAIL_REGEX = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n const index = event.detail.name;\n const participant = this.participantOptions?.find(participant => participant.email === event.detail.value);\n\n if (!participant && this.isRoundRobinConfig) {\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, 'For round robin configuration, participant should be selected from the dropdown.');\n this.participantErrors[index] = 'For round robin page, participant should be selected from the dropdown.';\n this.participants[index].is_valid = false;\n this.participants = [...this.participants];\n return;\n } else if (!participant && !EMAIL_REGEX.test(event.detail.value)) {\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, i18next.t('nylasAdditionalParticipants.error_email'));\n this.participantErrors[index] = i18next.t('nylasAdditionalParticipants.error_email');\n this.participants[index].is_valid = false;\n this.participants = [...this.participants];\n return;\n } else {\n this.participantErrors[index] = '';\n this.participants[index].is_valid = true;\n this.isInternalsAvailable && this.internals.setValidity({});\n }\n this.participants[index].email = event.detail.value;\n // Default to the is_primary calendar if available, otherwise first calendar for all participants\n const primaryCalendar = participant?.calendars?.find(calendar => calendar.is_primary);\n this.participants[index].availability =\n participant && primaryCalendar?.id ? { calendar_ids: [primaryCalendar.id] } : participant?.calendars[0]?.id ? { calendar_ids: [participant.calendars[0].id] } : undefined;\n // If round-robin config, set booking calendar to is_primary if available, otherwise first calendar for all participants\n this.participants[index].booking =\n participant && this.isRoundRobinConfig && primaryCalendar?.id\n ? { calendar_id: primaryCalendar.id }\n : this.isRoundRobinConfig && participant?.calendars[0]?.id\n ? { calendar_id: participant.calendars[0].id }\n : undefined;\n this.participants[index].name = participant?.name || event.detail.value;\n this.participants = [...this.participants];\n this.updateFormValue();\n }\n\n updateOrganizerAsParticipant(valueChanged: boolean = true) {\n const findCurrentUserInParticipants = this.participants.find(p => p.email === this.currentUser?.email);\n if (this.isRoundRobinConfig && !findCurrentUserInParticipants && this.currentUser?.email) {\n const bookingCalendarDefault = this.currentUserCalendars?.find(calendar => calendar.is_primary)?.id || this.currentUserCalendars?.[0]?.id || 'primary';\n this.participants = [\n {\n name: this.currentUser?.name,\n email: this.currentUser?.email,\n is_organizer: true,\n availability: {\n calendar_ids: [bookingCalendarDefault],\n },\n booking: {\n calendar_id: bookingCalendarDefault,\n },\n },\n ...this.participants,\n ];\n }\n this.updateFormValue(valueChanged);\n }\n\n addParticipant() {\n debug('nylas-additional-participants', 'addParticipant');\n this.participants = [...this.participants, { name: '', email: '', is_organizer: false }];\n this.updateFormValue();\n }\n removeParticipant(index: number) {\n debug('nylas-additional-participants', 'removeParticipant');\n this.participants = this.participants.filter((_, i) => i !== index);\n this.updateFormValue();\n }\n\n updateFormValue(valueChanged = true) {\n debug('nylas-additional-participants', 'updateFormValue');\n const participants = this.isRoundRobinConfig ? (this.includeOrganizerAsParticipant ? this.participants : this.participants.filter(p => !p.is_organizer)) : this.participants;\n if (participants.length === 0) {\n this.error = i18next.t('nylasAdditionalParticipants.error');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else {\n this.isInternalsAvailable && this.internals.setValidity({});\n this.error = '';\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participants), this.name);\n if (valueChanged) {\n this.valueChanged.emit({ value: JSON.stringify(participants), name: this.name });\n }\n }\n }\n\n // Filter out the participants that are already added\n getArrayDifference(array1: AdditionalParticipant[], array2: Participant[]) {\n const filtered = array1.filter(participant1 => !array2.some(participant2 => participant1.email === participant2.email));\n return filtered.map(participant => {\n return { value: participant.email, label: participant.email };\n });\n }\n\n @RegisterComponent<NylasAdditionalParticipants, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-additional-participants',\n stateToProps: new Map([\n ['schedulerConfig.additionalParticipants', 'participantOptions'],\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.currentUser', 'currentUser'],\n ['schedulerConfig.calendars', 'currentUserCalendars'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nadtnlpart\">\n <nylas-form-card exportparts=\"nfc, nfc__header\">\n <h3 slot=\"header-title\" class=\"nylas-additional-participants__title\" part=\"nadtnlpart__title\">\n {i18next.t('nylasAdditionalParticipants.headerTitle')}\n </h3>\n <p slot=\"header-subtitle\" class=\"nylas-additional-participants__subtitle\" part=\"nadtnlpart__subtitle\">\n {i18next.t('nylasAdditionalParticipants.headerSubTitle')}\n </p>\n <div slot=\"content\" class=\"nylas-additional-participants__content\" part=\"nadtnlpart__content\">\n <div>\n {this.participants.map((participant, index) => {\n return (\n <div class={'nylas-additional-participants__input_group'} part=\"nadtnlpart__input_group\">\n {!participant.is_organizer && <label>{`${i18next.t('nylasAdditionalParticipants.participant')} ${index}`}</label>}\n <div\n part=\"nadtnlpart__input_wrapper\"\n class={{\n 'nylas-additional-participants__input_wrapper': true,\n 'nylas-additional-participants__input_wrapper_organizer': participant?.is_organizer === true,\n 'nylas-additional-participants__input_wrapper_invalid': participant.is_valid === false,\n 'error': participant.is_valid === false,\n }}\n >\n <div class={{ 'nylas-additional-participants__input': true, 'organizer': participant?.is_organizer === true }} part=\"nadtnlpart__input\">\n {participant.is_organizer ? (\n <input-component\n class={'label-input'}\n name={`${index}`}\n key={index}\n label={i18next.t('nylasAdditionalParticipants.organizer')}\n required={false}\n requiredError={this.requiredError}\n patternError={this.patternError}\n readOnly={participant.is_organizer}\n defaultValue={participant.email}\n >\n {this.isRoundRobinConfig && (\n <div class=\"required-input\" slot=\"additional-input\">\n <input\n type=\"checkbox\"\n name={`organizer_participant`}\n id={`organizer_participant`}\n onClick={() => {\n this.includeOrganizerAsParticipant = !this.includeOrganizerAsParticipant;\n this.updateFormValue();\n }}\n checked={this.includeOrganizerAsParticipant}\n />\n <label htmlFor={`organizer_participant`} aria-label=\"Include as participant\">\n <span class=\"org-as-participant\" part=\"nadtnlpart__org-as-participant\">\n {i18next.t('nylasAdditionalParticipants.organizerAsParticipant')}\n </span>\n <tooltip-component id=\"organizer_participant_tooltip\">\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n <strong>{i18next.t('nylasAdditionalParticipants.tooltip.includeOrganizer')}:</strong>{' '}\n {i18next.t('nylasAdditionalParticipants.tooltip.includeOrganizerDesc')} <br />\n <strong>{i18next.t('nylasAdditionalParticipants.tooltip.excludeOrganizer')}:</strong>{' '}\n {i18next.t('nylasAdditionalParticipants.tooltip.excludeOrganizerDesc')}\n </span>\n </tooltip-component>\n </label>\n </div>\n )}\n </input-component>\n ) : (\n <input-dropdown\n id={`${index}`}\n name={`${index}`}\n filterable={true}\n inputValue={participant.email}\n options={this.getArrayDifference(this.participantOptions || [], this.participants)}\n />\n )}\n {!participant.is_organizer && (\n <button onClick={() => this.removeParticipant(index)} part=\"nadtnlpart__remove-participant\">\n <close-icon />\n </button>\n )}\n </div>\n </div>\n {!participant.is_valid && (\n <p class=\"nylas-additional-participants__error\" part=\"nadtnlpart__error\">\n {this.participantErrors[index]}\n </p>\n )}\n </div>\n );\n })}\n <p class=\"nylas-additional-participants__error\" part=\"nadtnlpart__error\">\n {this.error}\n </p>\n </div>\n <button class=\"nylas-additional-participants__add\" part=\"nadtnlpart__add-participant\" onClick={() => this.addParticipant()}>\n <add-circle-icon />{' '}\n <span>\n {this.participants.length > 1\n ? i18next.t('nylasAdditionalParticipants.addParticipant', { context: 'next' })\n : i18next.t('nylasAdditionalParticipants.addParticipant', { context: 'first' })}\n </span>\n </button>\n </div>\n </nylas-form-card>\n </Host>\n );\n }\n}\n"],"version":3}
|