@nylas/web-elements 2.4.1 → 2.5.0-canary-20260306042320

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.
Files changed (758) hide show
  1. package/dist/cdn/input-color-picker/input-color-picker.es.js +3 -3
  2. package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +2893 -2839
  3. package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +286 -273
  4. package/dist/cjs/add-circle-icon_2.cjs.entry.js +2 -2
  5. package/dist/cjs/archive-icon.cjs.entry.js +1 -1
  6. package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
  7. package/dist/cjs/bold-icon.cjs.entry.js +1 -1
  8. package/dist/cjs/button-component_2.cjs.entry.js +2 -2
  9. package/dist/cjs/calendar-agenda-fill-icon_39.cjs.entry.js +86 -62
  10. package/dist/cjs/calendar-agenda-fill-icon_39.cjs.entry.js.map +1 -1
  11. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +1 -1
  12. package/dist/cjs/calendar-check-icon.cjs.entry.js +1 -1
  13. package/dist/cjs/calendar-icon.cjs.entry.js +1 -1
  14. package/dist/cjs/checkbox-component.cjs.entry.js +1 -1
  15. package/dist/cjs/checkbox-group_4.cjs.entry.js +5 -5
  16. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/checkmark-icon_15.cjs.entry.js +44 -23
  18. package/dist/cjs/checkmark-icon_15.cjs.entry.js.map +1 -1
  19. package/dist/cjs/chevron-icon_3.cjs.entry.js +4 -4
  20. package/dist/cjs/clock-icon_4.cjs.entry.js +4 -4
  21. package/dist/cjs/delete-icon.cjs.entry.js +1 -1
  22. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  23. package/dist/cjs/folder-icon.cjs.entry.js +1 -1
  24. package/dist/cjs/forward-icon.cjs.entry.js +1 -1
  25. package/dist/cjs/globe-icon_3.cjs.entry.js +5 -5
  26. package/dist/cjs/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.cjs.js.map +1 -1
  27. package/dist/cjs/google-logo-icon_6.cjs.entry.js +19 -17
  28. package/dist/cjs/google-logo-icon_6.cjs.entry.js.map +1 -1
  29. package/dist/cjs/google-meet-icon_5.cjs.entry.js +5 -5
  30. package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
  31. package/dist/cjs/info-icon_2.cjs.entry.js +3 -3
  32. package/dist/cjs/input-component.cjs.entry.js +1 -1
  33. package/dist/cjs/input-dropdown_2.cjs.entry.js +2 -2
  34. package/dist/cjs/italic-icon.cjs.entry.js +1 -1
  35. package/dist/cjs/loader.cjs.js +1 -1
  36. package/dist/cjs/multi-select-dropdown.cjs.entry.js +2 -2
  37. package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js +4 -4
  38. package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
  39. package/dist/cjs/nylas-notification_2.cjs.entry.js +2 -2
  40. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +13 -6
  41. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nylas-scheduler-editor.entry.cjs.js.map +1 -1
  43. package/dist/cjs/nylas-scheduling.cjs.entry.js +38 -19
  44. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nylas-scheduling.entry.cjs.js.map +1 -1
  46. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  47. package/dist/cjs/person-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/play-icon.cjs.entry.js +1 -1
  49. package/dist/cjs/radio-button-group.cjs.entry.js +1 -1
  50. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  51. package/dist/cjs/reply-all-icon.cjs.entry.js +1 -1
  52. package/dist/cjs/reply-icon.cjs.entry.js +1 -1
  53. package/dist/cjs/sent-icon.cjs.entry.js +1 -1
  54. package/dist/cjs/spam-icon.cjs.entry.js +1 -1
  55. package/dist/cjs/star-icon.cjs.entry.js +1 -1
  56. package/dist/cjs/stop-icon.cjs.entry.js +1 -1
  57. package/dist/cjs/textarea-component.cjs.entry.js +1 -1
  58. package/dist/cjs/toggle-switch.cjs.entry.js +1 -1
  59. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  60. package/dist/cjs/trash-fill-icon.cjs.entry.js +1 -1
  61. package/dist/cjs/underline-icon.cjs.entry.js +1 -1
  62. package/dist/cjs/{version-BpVJo5VP.js → version-Co332DgG.js} +3 -3
  63. package/dist/{esm/version-BCn0rl0y.js.map → cjs/version-Co332DgG.js.map} +1 -1
  64. package/dist/collection/common/icons/add-circle.js +1 -1
  65. package/dist/collection/common/icons/archive.js +1 -1
  66. package/dist/collection/common/icons/arrow.js +1 -1
  67. package/dist/collection/common/icons/bold.js +1 -1
  68. package/dist/collection/common/icons/calendar-agenda-fill.js +1 -1
  69. package/dist/collection/common/icons/calendar-agenda.js +1 -1
  70. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  71. package/dist/collection/common/icons/calendar-check.js +1 -1
  72. package/dist/collection/common/icons/calendar-info.js +1 -1
  73. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  74. package/dist/collection/common/icons/calendar.js +1 -1
  75. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  76. package/dist/collection/common/icons/checkmark.js +1 -1
  77. package/dist/collection/common/icons/chevron.js +1 -1
  78. package/dist/collection/common/icons/clock.js +1 -1
  79. package/dist/collection/common/icons/close.js +1 -1
  80. package/dist/collection/common/icons/copy.js +1 -1
  81. package/dist/collection/common/icons/delete.js +1 -1
  82. package/dist/collection/common/icons/document-refresh.js +1 -1
  83. package/dist/collection/common/icons/dragable.js +1 -1
  84. package/dist/collection/common/icons/edit.js +1 -1
  85. package/dist/collection/common/icons/envelope-fill.js +1 -1
  86. package/dist/collection/common/icons/envelope.js +1 -1
  87. package/dist/collection/common/icons/eye.js +1 -1
  88. package/dist/collection/common/icons/feedback-icon.js +1 -1
  89. package/dist/collection/common/icons/flow.js +1 -1
  90. package/dist/collection/common/icons/folder.js +1 -1
  91. package/dist/collection/common/icons/forward.js +1 -1
  92. package/dist/collection/common/icons/globe.js +1 -1
  93. package/dist/collection/common/icons/google-logo.js +1 -1
  94. package/dist/collection/common/icons/google-meet.js +1 -1
  95. package/dist/collection/common/icons/inbox.js +1 -1
  96. package/dist/collection/common/icons/info.js +1 -1
  97. package/dist/collection/common/icons/italic.js +1 -1
  98. package/dist/collection/common/icons/loading.js +1 -1
  99. package/dist/collection/common/icons/location-off.js +1 -1
  100. package/dist/collection/common/icons/location.js +1 -1
  101. package/dist/collection/common/icons/microsof-teams.js +1 -1
  102. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  103. package/dist/collection/common/icons/nylas-logo.js +1 -1
  104. package/dist/collection/common/icons/paintbrush-fill.js +1 -1
  105. package/dist/collection/common/icons/paintbrush.js +1 -1
  106. package/dist/collection/common/icons/people.js +1 -1
  107. package/dist/collection/common/icons/person-clipboard.js +1 -1
  108. package/dist/collection/common/icons/person.js +1 -1
  109. package/dist/collection/common/icons/play.js +1 -1
  110. package/dist/collection/common/icons/plus.js +1 -1
  111. package/dist/collection/common/icons/refresh.js +1 -1
  112. package/dist/collection/common/icons/reply-all.js +1 -1
  113. package/dist/collection/common/icons/reply.js +1 -1
  114. package/dist/collection/common/icons/search.js +1 -1
  115. package/dist/collection/common/icons/sent.js +1 -1
  116. package/dist/collection/common/icons/spam.js +1 -1
  117. package/dist/collection/common/icons/star.js +1 -1
  118. package/dist/collection/common/icons/stop.js +1 -1
  119. package/dist/collection/common/icons/translate.js +1 -1
  120. package/dist/collection/common/icons/trash-fill.js +1 -1
  121. package/dist/collection/common/icons/trash.js +1 -1
  122. package/dist/collection/common/icons/underline.js +1 -1
  123. package/dist/collection/common/icons/warning.js +1 -1
  124. package/dist/collection/common/icons/zoom.js +1 -1
  125. package/dist/collection/components/design-system/button-component/button-component.js +1 -1
  126. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js +1 -1
  127. package/dist/collection/components/design-system/checkbox-group/checkbox-group.js +1 -1
  128. package/dist/collection/components/design-system/input-color-picker/input-color-picker.js +2 -2
  129. package/dist/collection/components/design-system/input-component/input-component.js +1 -1
  130. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +1 -1
  131. package/dist/collection/components/design-system/input-image-url/input-image-url.js +1 -1
  132. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  133. package/dist/collection/components/design-system/nylas-date-component/nylas-date-component.js +1 -1
  134. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js +1 -1
  135. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +2 -2
  136. package/dist/collection/components/design-system/textarea-component/textarea-component.js +1 -1
  137. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  138. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js +1 -1
  139. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +2 -2
  140. package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.js +1 -1
  141. package/dist/collection/components/scheduler/nylas-feedback-form/nylas-feedback-form.js +2 -2
  142. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  143. package/dist/collection/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.js +2 -2
  144. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +33 -17
  145. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
  146. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +50 -9
  147. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  148. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +1 -1
  149. package/dist/collection/components/scheduler-editor/nylas-booking-confirmation-redirect/nylas-booking-confirmation-redirect.js +1 -1
  150. package/dist/collection/components/scheduler-editor/nylas-booking-confirmation-type/nylas-booking-confirmation-type.js +1 -1
  151. package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.js +2 -2
  152. package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +1 -1
  153. package/dist/collection/components/scheduler-editor/nylas-confirmation-email/nylas-confirmation-email.js +2 -2
  154. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.js +21 -10
  155. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.js.map +1 -1
  156. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  157. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js +1 -1
  158. package/dist/collection/components/scheduler-editor/nylas-disable-emails/nylas-disable-emails.js +1 -1
  159. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +11 -9
  160. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  161. package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js +5 -5
  162. package/dist/collection/components/scheduler-editor/nylas-event-capacity/nylas-event-capacity.js +1 -1
  163. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  164. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  165. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +1 -1
  166. package/dist/collection/components/scheduler-editor/nylas-event-timeslot/nylas-event-timeslot.js +3 -3
  167. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  168. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +1 -1
  169. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js +1 -1
  170. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
  171. package/dist/collection/components/scheduler-editor/nylas-notetaker-config/nylas-notetaker-config.js +8 -8
  172. package/dist/collection/components/scheduler-editor/nylas-only-specific-time-availability/nylas-only-specific-time-availability.js +1 -1
  173. package/dist/collection/components/scheduler-editor/nylas-page-name/nylas-page-name.js +1 -1
  174. package/dist/collection/components/scheduler-editor/nylas-page-styling/nylas-page-styling.js +1 -1
  175. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.js +21 -8
  176. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.js.map +1 -1
  177. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +2 -2
  178. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js.map +1 -1
  179. package/dist/collection/components/scheduler-editor/nylas-reminder-emails/nylas-reminder-emails.js +3 -3
  180. package/dist/collection/components/scheduler-editor/nylas-reminder-time/nylas-reminder-time.js +1 -1
  181. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +41 -4
  182. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  183. package/dist/collection/components/scheduler-editor/nylas-specific-time-availability-picker/nylas-specific-time-availability-picker.js +2 -2
  184. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +3 -3
  185. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +1 -1
  186. package/dist/collection/connector/shared/api/scheduler.js +3 -0
  187. package/dist/collection/connector/shared/api/scheduler.js.map +1 -1
  188. package/dist/collection/stores/scheduler-config-store.js +1 -1
  189. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  190. package/dist/collection/version.js +1 -1
  191. package/dist/collection/version.js.map +1 -1
  192. package/dist/components/add-circle-icon.js +1 -1
  193. package/dist/components/archive-icon.js +1 -1
  194. package/dist/components/arrow-icon.js +1 -1
  195. package/dist/components/bold-icon.js +1 -1
  196. package/dist/components/button-component.js +1 -1
  197. package/dist/components/calendar-agenda-fill-icon.js +1 -1
  198. package/dist/components/calendar-agenda-icon.js +1 -1
  199. package/dist/components/calendar-cancel-icon.js +1 -1
  200. package/dist/components/calendar-check-icon.js +1 -1
  201. package/dist/components/calendar-icon.js +1 -1
  202. package/dist/components/calendar-info-icon.js +1 -1
  203. package/dist/components/calendar-patterns-icon.js +1 -1
  204. package/dist/components/checkbox-component.js +1 -1
  205. package/dist/components/checkbox-group.js +1 -1
  206. package/dist/components/checkmark-circle-icon.js +1 -1
  207. package/dist/components/checkmark-icon.js +1 -1
  208. package/dist/components/chevron-icon.js +1 -1
  209. package/dist/components/clock-icon.js +1 -1
  210. package/dist/components/close-icon.js +1 -1
  211. package/dist/components/copy-icon.js +1 -1
  212. package/dist/components/delete-icon.js +1 -1
  213. package/dist/components/document-refresh-icon.js +1 -1
  214. package/dist/components/dragable-icon.js +1 -1
  215. package/dist/components/edit-icon.js +1 -1
  216. package/dist/components/envelope-fill-icon.js +1 -1
  217. package/dist/components/envelope-icon.js +1 -1
  218. package/dist/components/eye-icon.js +1 -1
  219. package/dist/components/feedback-icon.js +1 -1
  220. package/dist/components/flow-icon.js +1 -1
  221. package/dist/components/folder-icon.js +1 -1
  222. package/dist/components/forward-icon.js +1 -1
  223. package/dist/components/globe-icon.js +1 -1
  224. package/dist/components/google-logo-icon.js +1 -1
  225. package/dist/components/google-meet-icon.js +1 -1
  226. package/dist/components/inbox-icon.js +1 -1
  227. package/dist/components/info-icon.js +1 -1
  228. package/dist/components/input-color-picker.js +1 -1
  229. package/dist/components/input-component.js +1 -1
  230. package/dist/components/input-dropdown.js +1 -1
  231. package/dist/components/input-image-url.js +1 -1
  232. package/dist/components/italic-icon.js +1 -1
  233. package/dist/components/loading-icon.js +1 -1
  234. package/dist/components/location-icon.js +1 -1
  235. package/dist/components/location-off-icon.js +1 -1
  236. package/dist/components/microsoft-logo-icon.js +1 -1
  237. package/dist/components/microsoft-teams-icon.js +1 -1
  238. package/dist/components/multi-select-dropdown.js +1 -1
  239. package/dist/components/nylas-additional-participants.js +1 -1
  240. package/dist/components/nylas-availability-picker.js +1 -1
  241. package/dist/components/nylas-booked-event-card.js +1 -1
  242. package/dist/components/nylas-booking-calendar-picker.js +1 -1
  243. package/dist/components/nylas-booking-confirmation-redirect.js +1 -1
  244. package/dist/components/nylas-booking-confirmation-type.js +1 -1
  245. package/dist/components/nylas-booking-form-config.js +1 -1
  246. package/dist/components/nylas-booking-form.js +1 -1
  247. package/dist/components/nylas-buffer-time.js +1 -1
  248. package/dist/components/nylas-calendar-picker.js +1 -1
  249. package/dist/components/nylas-cancel-booking-form.js +1 -1
  250. package/dist/components/nylas-cancellation-policy.js +1 -1
  251. package/dist/components/nylas-cancelled-event-card.js +1 -1
  252. package/dist/components/nylas-confirmation-email.js +1 -1
  253. package/dist/components/nylas-confirmed-event-card.js +1 -1
  254. package/dist/components/nylas-connected-calendars.js +1 -1
  255. package/dist/components/nylas-custom-booking-flow.js +1 -1
  256. package/dist/components/nylas-custom-event-slug.js +1 -1
  257. package/dist/components/nylas-customize-booking-settings.js +1 -1
  258. package/dist/components/nylas-date-component.js +1 -1
  259. package/dist/components/nylas-date-picker.js +1 -1
  260. package/dist/components/nylas-disable-emails.js +1 -1
  261. package/dist/components/nylas-editor-tabs-group.js +1 -1
  262. package/dist/components/nylas-editor-tabs.js +1 -1
  263. package/dist/components/nylas-event-calendar.js +1 -1
  264. package/dist/components/nylas-event-capacity.js +1 -1
  265. package/dist/components/nylas-event-description.js +1 -1
  266. package/dist/components/nylas-event-duration.js +1 -1
  267. package/dist/components/nylas-event-info.js +1 -1
  268. package/dist/components/nylas-event-limits.js +1 -1
  269. package/dist/components/nylas-event-location.js +1 -1
  270. package/dist/components/nylas-event-timeslot.js +1 -1
  271. package/dist/components/nylas-event-title.js +1 -1
  272. package/dist/components/nylas-feedback-form.js +1 -1
  273. package/dist/components/nylas-form-card.js +1 -1
  274. package/dist/components/nylas-limit-future-bookings.js +1 -1
  275. package/dist/components/nylas-list-configurations.js +1 -1
  276. package/dist/components/nylas-locale-switch.js +1 -1
  277. package/dist/components/nylas-logo.js +1 -1
  278. package/dist/components/nylas-min-booking-notice.js +1 -1
  279. package/dist/components/nylas-min-cancellation-notice.js +1 -1
  280. package/dist/components/nylas-notetaker-config.js +1 -1
  281. package/dist/components/nylas-notification.js +1 -1
  282. package/dist/components/nylas-only-specific-time-availability.js +1 -1
  283. package/dist/components/nylas-organizer-confirmation-card.js +1 -1
  284. package/dist/components/nylas-page-name.js +1 -1
  285. package/dist/components/nylas-page-styling.js +1 -1
  286. package/dist/components/nylas-participant-booking-calendars.js +1 -1
  287. package/dist/components/nylas-participants-custom-availability.js +1 -1
  288. package/dist/components/nylas-reminder-emails.js +1 -1
  289. package/dist/components/nylas-reminder-time.js +1 -1
  290. package/dist/components/nylas-scheduler-editor.js +113 -106
  291. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  292. package/dist/components/nylas-scheduling-method.js +1 -1
  293. package/dist/components/nylas-scheduling.js +76 -57
  294. package/dist/components/nylas-scheduling.js.map +1 -1
  295. package/dist/components/nylas-select-event-type.js +1 -1
  296. package/dist/components/nylas-selected-event-card.js +1 -1
  297. package/dist/components/nylas-specific-time-availability-picker.js +1 -1
  298. package/dist/components/nylas-time-window-picker.js +1 -1
  299. package/dist/components/nylas-timeslot-interval.js +1 -1
  300. package/dist/components/nylas-timeslot-picker.js +1 -1
  301. package/dist/components/{p-BK05OJWJ.js → p-0Q791asW.js} +10 -10
  302. package/dist/components/{p-BK05OJWJ.js.map → p-0Q791asW.js.map} +1 -1
  303. package/dist/components/{p-B54Kgpd1.js → p-5RXhzvUo.js} +15 -15
  304. package/dist/components/{p-B54Kgpd1.js.map → p-5RXhzvUo.js.map} +1 -1
  305. package/dist/components/{p-DnRMuXBv.js → p-6A8ylLCU.js} +7 -7
  306. package/dist/components/{p-DnRMuXBv.js.map → p-6A8ylLCU.js.map} +1 -1
  307. package/dist/components/{p-dBa2aR6u.js → p-8f-LJhGH.js} +17 -17
  308. package/dist/components/{p-dBa2aR6u.js.map → p-8f-LJhGH.js.map} +1 -1
  309. package/dist/components/{p-DbTGA7PK.js → p-9SuQgutb.js} +5 -5
  310. package/dist/components/{p-DbTGA7PK.js.map → p-9SuQgutb.js.map} +1 -1
  311. package/dist/components/{p-D5p5Z11R.js → p-B0-YJO0f.js} +5 -5
  312. package/dist/components/{p-D5p5Z11R.js.map → p-B0-YJO0f.js.map} +1 -1
  313. package/dist/components/{p-n1uQQdTd.js → p-B2EksfAF.js} +3 -3
  314. package/dist/components/{p-n1uQQdTd.js.map → p-B2EksfAF.js.map} +1 -1
  315. package/dist/components/{p-Bkoea0ab.js → p-B2LU95MT.js} +3 -3
  316. package/dist/components/{p-Bkoea0ab.js.map → p-B2LU95MT.js.map} +1 -1
  317. package/dist/components/{p-Deswp92f.js → p-B9a2SDWB.js} +8 -8
  318. package/dist/components/{p-Deswp92f.js.map → p-B9a2SDWB.js.map} +1 -1
  319. package/dist/components/{p-BW5AWWWU.js → p-BAKh5tMf.js} +3 -3
  320. package/dist/components/{p-BW5AWWWU.js.map → p-BAKh5tMf.js.map} +1 -1
  321. package/dist/components/{p-CRjHH_OM.js → p-BD4aqMeC.js} +3 -3
  322. package/dist/components/{p-CRjHH_OM.js.map → p-BD4aqMeC.js.map} +1 -1
  323. package/dist/components/{p-wFPFZcNc.js → p-BF0muZ9G.js} +3 -3
  324. package/dist/components/{p-wFPFZcNc.js.map → p-BF0muZ9G.js.map} +1 -1
  325. package/dist/components/{p-Dhs6n8pM.js → p-BI99l5Mr.js} +3 -3
  326. package/dist/components/{p-Dhs6n8pM.js.map → p-BI99l5Mr.js.map} +1 -1
  327. package/dist/components/{p-PH-ASHZS.js → p-BNuHkEZZ.js} +3 -3
  328. package/dist/components/{p-PH-ASHZS.js.map → p-BNuHkEZZ.js.map} +1 -1
  329. package/dist/components/{p-C9beWH2f.js → p-BOk080VZ.js} +7 -7
  330. package/dist/components/{p-C9beWH2f.js.map → p-BOk080VZ.js.map} +1 -1
  331. package/dist/components/{p-Bpeu-ygG.js → p-BPbPSFbO.js} +10 -10
  332. package/dist/components/{p-Bpeu-ygG.js.map → p-BPbPSFbO.js.map} +1 -1
  333. package/dist/components/{p-CGxeg--J.js → p-BQsgOTb4.js} +14 -14
  334. package/dist/components/{p-CGxeg--J.js.map → p-BQsgOTb4.js.map} +1 -1
  335. package/dist/components/{p-DPClTQN0.js → p-BRjK4HIS.js} +10 -10
  336. package/dist/components/{p-DPClTQN0.js.map → p-BRjK4HIS.js.map} +1 -1
  337. package/dist/components/{p-S5MMQ3kK.js → p-BSfQxQEN.js} +3 -3
  338. package/dist/components/{p-S5MMQ3kK.js.map → p-BSfQxQEN.js.map} +1 -1
  339. package/dist/components/{p-WCXOX3Ou.js → p-BT5kT23k.js} +3 -3
  340. package/dist/components/{p-WCXOX3Ou.js.map → p-BT5kT23k.js.map} +1 -1
  341. package/dist/components/{p-DU3FxQJW.js → p-BTWclWyF.js} +5 -5
  342. package/dist/components/{p-DU3FxQJW.js.map → p-BTWclWyF.js.map} +1 -1
  343. package/dist/components/{p-Dvm3cFRX.js → p-BVH0Klhu.js} +4 -4
  344. package/dist/components/{p-Dvm3cFRX.js.map → p-BVH0Klhu.js.map} +1 -1
  345. package/dist/components/{p-DTF0fIhr.js → p-B_Qi3sM4.js} +3 -3
  346. package/dist/components/{p-DTF0fIhr.js.map → p-B_Qi3sM4.js.map} +1 -1
  347. package/dist/components/{p-1lKplrc1.js → p-BbQVpnV2.js} +5 -5
  348. package/dist/components/{p-1lKplrc1.js.map → p-BbQVpnV2.js.map} +1 -1
  349. package/dist/components/{p-k3eh7IEY.js → p-BhVGvOQU.js} +4 -4
  350. package/dist/components/{p-k3eh7IEY.js.map → p-BhVGvOQU.js.map} +1 -1
  351. package/dist/components/{p-Dhuiox3C.js → p-BjvgBBDi.js} +7 -7
  352. package/dist/components/{p-Dhuiox3C.js.map → p-BjvgBBDi.js.map} +1 -1
  353. package/dist/components/{p-B4WU6Ddk.js → p-BkqJQBCp.js} +3 -3
  354. package/dist/components/{p-B4WU6Ddk.js.map → p-BkqJQBCp.js.map} +1 -1
  355. package/dist/components/{p-C9OPB0dE.js → p-BluyqSV4.js} +12 -12
  356. package/dist/components/{p-C9OPB0dE.js.map → p-BluyqSV4.js.map} +1 -1
  357. package/dist/components/{p-BBKmpMW8.js → p-BmBJwWDS.js} +6 -6
  358. package/dist/components/{p-BBKmpMW8.js.map → p-BmBJwWDS.js.map} +1 -1
  359. package/dist/components/{p-D1LkVzVP.js → p-BmFTnJHK.js} +6 -6
  360. package/dist/components/{p-D1LkVzVP.js.map → p-BmFTnJHK.js.map} +1 -1
  361. package/dist/components/{p-sbWcoagv.js → p-BnEkgCIs.js} +3 -3
  362. package/dist/components/{p-sbWcoagv.js.map → p-BnEkgCIs.js.map} +1 -1
  363. package/dist/components/{p-BQqYYMC9.js → p-BoUo2hc7.js} +3 -3
  364. package/dist/components/{p-BQqYYMC9.js.map → p-BoUo2hc7.js.map} +1 -1
  365. package/dist/components/{p-CxX2L0KD.js → p-BrOgWk7y.js} +3 -3
  366. package/dist/components/{p-CxX2L0KD.js.map → p-BrOgWk7y.js.map} +1 -1
  367. package/dist/components/{p-CK4A4BDU.js → p-BxsadZ25.js} +8 -8
  368. package/dist/components/{p-CK4A4BDU.js.map → p-BxsadZ25.js.map} +1 -1
  369. package/dist/components/{p-B-gCWV_D.js → p-ByDfkWkX.js} +3 -3
  370. package/dist/components/{p-B-gCWV_D.js.map → p-ByDfkWkX.js.map} +1 -1
  371. package/dist/components/{p-B7pr9t7K.js → p-C0W947JI.js} +6 -6
  372. package/dist/components/{p-B7pr9t7K.js.map → p-C0W947JI.js.map} +1 -1
  373. package/dist/components/{p-BPwvrBru.js → p-C3knoHon.js} +4 -4
  374. package/dist/components/{p-BPwvrBru.js.map → p-C3knoHon.js.map} +1 -1
  375. package/dist/components/{p-CZF2moAV.js → p-C4BZ4XFc.js} +3 -3
  376. package/dist/components/{p-CZF2moAV.js.map → p-C4BZ4XFc.js.map} +1 -1
  377. package/dist/components/{p--JWPNuJw.js → p-C4RTQIyO.js} +3 -3
  378. package/dist/components/{p--JWPNuJw.js.map → p-C4RTQIyO.js.map} +1 -1
  379. package/dist/components/{p-GAHE0QsH.js → p-C6FGSOHu.js} +8 -8
  380. package/dist/components/{p-GAHE0QsH.js.map → p-C6FGSOHu.js.map} +1 -1
  381. package/dist/components/{p-Ccv_qdzg.js → p-C6yDHOLr.js} +6 -6
  382. package/dist/components/{p-Ccv_qdzg.js.map → p-C6yDHOLr.js.map} +1 -1
  383. package/dist/components/{p-BWj2o6Z2.js → p-C7J83Us-.js} +3 -3
  384. package/dist/components/{p-BWj2o6Z2.js.map → p-C7J83Us-.js.map} +1 -1
  385. package/dist/components/{p-hYRQCAHR.js → p-C7ZpwRD0.js} +3 -3
  386. package/dist/components/{p-hYRQCAHR.js.map → p-C7ZpwRD0.js.map} +1 -1
  387. package/dist/components/{p-I6ZJueEV.js → p-C8tr7RQP.js} +14 -14
  388. package/dist/components/{p-I6ZJueEV.js.map → p-C8tr7RQP.js.map} +1 -1
  389. package/dist/components/{p-DDuJfpmS.js → p-C9Mlv9rC.js} +3 -3
  390. package/dist/components/{p-DDuJfpmS.js.map → p-C9Mlv9rC.js.map} +1 -1
  391. package/dist/components/{p-3TuqcJ7a.js → p-CBBEkysd.js} +3 -3
  392. package/dist/components/{p-3TuqcJ7a.js.map → p-CBBEkysd.js.map} +1 -1
  393. package/dist/components/{p-B8zO9u9G.js → p-CDDw-hf8.js} +3 -3
  394. package/dist/components/{p-B8zO9u9G.js.map → p-CDDw-hf8.js.map} +1 -1
  395. package/dist/components/{p-D9TpXP_3.js → p-CFeDwD40.js} +3 -3
  396. package/dist/components/{p-D9TpXP_3.js.map → p-CFeDwD40.js.map} +1 -1
  397. package/dist/components/{p-B75UH_79.js → p-CHuh_iTR.js} +5 -5
  398. package/dist/components/{p-B75UH_79.js.map → p-CHuh_iTR.js.map} +1 -1
  399. package/dist/components/{p-CnuLK086.js → p-CJvmK-NM.js} +3 -3
  400. package/dist/components/{p-CnuLK086.js.map → p-CJvmK-NM.js.map} +1 -1
  401. package/dist/components/{p-BbMIB-Yc.js → p-CMzKWvKv.js} +3 -3
  402. package/dist/components/{p-BbMIB-Yc.js.map → p-CMzKWvKv.js.map} +1 -1
  403. package/dist/components/{p-Fc2FiFbz.js → p-COXbf1MO.js} +16 -16
  404. package/dist/components/{p-Fc2FiFbz.js.map → p-COXbf1MO.js.map} +1 -1
  405. package/dist/components/{p-BXdPZfqZ.js → p-CT64yPEO.js} +3 -3
  406. package/dist/components/{p-BXdPZfqZ.js.map → p-CT64yPEO.js.map} +1 -1
  407. package/dist/components/{p-Ba5u-TNq.js → p-CWWiQA0c.js} +6 -6
  408. package/dist/components/{p-Ba5u-TNq.js.map → p-CWWiQA0c.js.map} +1 -1
  409. package/dist/components/{p-Bo40Tzgq.js → p-CaQExWbD.js} +10 -10
  410. package/dist/components/{p-Bo40Tzgq.js.map → p-CaQExWbD.js.map} +1 -1
  411. package/dist/components/{p-DVTv2Hp1.js → p-CahZPm95.js} +4 -4
  412. package/dist/components/{p-DVTv2Hp1.js.map → p-CahZPm95.js.map} +1 -1
  413. package/dist/components/{p-B35dXoaU.js → p-Ce8gcoEa.js} +3 -3
  414. package/dist/components/{p-B35dXoaU.js.map → p-Ce8gcoEa.js.map} +1 -1
  415. package/dist/components/{p-D_1SiUrv.js → p-ChXM0wCn.js} +3 -3
  416. package/dist/components/{p-D_1SiUrv.js.map → p-ChXM0wCn.js.map} +1 -1
  417. package/dist/components/{p-CjPOfL98.js → p-CrEiNqrO.js} +20 -20
  418. package/dist/components/p-CrEiNqrO.js.map +1 -0
  419. package/dist/components/{p-DcgnP4PE.js → p-Cs_iJUbv.js} +3 -3
  420. package/dist/components/{p-DcgnP4PE.js.map → p-Cs_iJUbv.js.map} +1 -1
  421. package/dist/components/{p-DywCqDUg.js → p-CvLWbTI_.js} +3 -3
  422. package/dist/components/{p-DywCqDUg.js.map → p-CvLWbTI_.js.map} +1 -1
  423. package/dist/components/{p-BA0crRT4.js → p-Cyk3GcD_.js} +3 -3
  424. package/dist/components/{p-BA0crRT4.js.map → p-Cyk3GcD_.js.map} +1 -1
  425. package/dist/components/{p-DFnxqEjY.js → p-CykUOtqt.js} +5 -5
  426. package/dist/components/{p-DFnxqEjY.js.map → p-CykUOtqt.js.map} +1 -1
  427. package/dist/components/{p-D0Ur_s8w.js → p-CyzGRI94.js} +3 -3
  428. package/dist/components/{p-D0Ur_s8w.js.map → p-CyzGRI94.js.map} +1 -1
  429. package/dist/components/{p-DHEweiQ6.js → p-CzVZs3uZ.js} +3 -3
  430. package/dist/components/{p-DHEweiQ6.js.map → p-CzVZs3uZ.js.map} +1 -1
  431. package/dist/components/{p-3GhnM4Rs.js → p-D0g7xlgg.js} +17 -17
  432. package/dist/components/{p-3GhnM4Rs.js.map → p-D0g7xlgg.js.map} +1 -1
  433. package/dist/components/{p-BqxHAMYj.js → p-D0sMDSI5.js} +7 -7
  434. package/dist/components/{p-BqxHAMYj.js.map → p-D0sMDSI5.js.map} +1 -1
  435. package/dist/components/{p-BHKS010u.js → p-D1kxrvKw.js} +102 -100
  436. package/dist/components/p-D1kxrvKw.js.map +1 -0
  437. package/dist/components/{p-D0_t-TnJ.js → p-D2ELUj7W.js} +82 -82
  438. package/dist/components/{p-D0_t-TnJ.js.map → p-D2ELUj7W.js.map} +1 -1
  439. package/dist/components/{p-B2WOW0ov.js → p-D2FugEkX.js} +9 -9
  440. package/dist/components/{p-B2WOW0ov.js.map → p-D2FugEkX.js.map} +1 -1
  441. package/dist/components/{p-Dary9zXr.js → p-D3_U2Yis.js} +5 -5
  442. package/dist/components/{p-Dary9zXr.js.map → p-D3_U2Yis.js.map} +1 -1
  443. package/dist/components/{p-pbifVvbz.js → p-D59M0kgu.js} +6 -6
  444. package/dist/components/{p-pbifVvbz.js.map → p-D59M0kgu.js.map} +1 -1
  445. package/dist/components/{p-C7vQiSqU.js → p-D7z2dNXN.js} +3 -3
  446. package/dist/components/{p-C7vQiSqU.js.map → p-D7z2dNXN.js.map} +1 -1
  447. package/dist/components/{p-BGfs-kGd.js → p-DBHtQK2b.js} +3 -3
  448. package/dist/components/{p-BGfs-kGd.js.map → p-DBHtQK2b.js.map} +1 -1
  449. package/dist/components/{p-BPmIPX7g.js → p-DEbbVkgj.js} +3 -3
  450. package/dist/components/{p-BPmIPX7g.js.map → p-DEbbVkgj.js.map} +1 -1
  451. package/dist/components/{p-DPvhc5UR.js → p-DGWTdjcf.js} +7 -7
  452. package/dist/components/{p-DPvhc5UR.js.map → p-DGWTdjcf.js.map} +1 -1
  453. package/dist/components/{p-BB995eYS.js → p-DJcRuzNc.js} +6 -6
  454. package/dist/components/{p-BB995eYS.js.map → p-DJcRuzNc.js.map} +1 -1
  455. package/dist/components/{p-DL2k-3Y9.js → p-DNZkEEGF.js} +7 -7
  456. package/dist/components/{p-DL2k-3Y9.js.map → p-DNZkEEGF.js.map} +1 -1
  457. package/dist/components/{p-D2BnadaF.js → p-DPmhcLAV.js} +4 -4
  458. package/dist/components/{p-D2BnadaF.js.map → p-DPmhcLAV.js.map} +1 -1
  459. package/dist/components/{p-D07tmsA6.js → p-DPwhlVlN.js} +3 -3
  460. package/dist/components/{p-D07tmsA6.js.map → p-DPwhlVlN.js.map} +1 -1
  461. package/dist/components/{p-C-FqPkG1.js → p-DS6Ijr4M.js} +3 -3
  462. package/dist/components/{p-C-FqPkG1.js.map → p-DS6Ijr4M.js.map} +1 -1
  463. package/dist/components/{p-brI0OtLp.js → p-DZky0cSu.js} +21 -21
  464. package/dist/components/{p-brI0OtLp.js.map → p-DZky0cSu.js.map} +1 -1
  465. package/dist/components/{p-BB2JXH5u.js → p-DcjGlnBR.js} +3 -3
  466. package/dist/components/{p-BB2JXH5u.js.map → p-DcjGlnBR.js.map} +1 -1
  467. package/dist/components/{p-CeGr8vNo.js → p-DgCBdNz4.js} +4 -4
  468. package/dist/components/{p-CeGr8vNo.js.map → p-DgCBdNz4.js.map} +1 -1
  469. package/dist/components/{p-BO38LdDr.js → p-Dj1TLa3T.js} +3 -3
  470. package/dist/components/{p-BO38LdDr.js.map → p-Dj1TLa3T.js.map} +1 -1
  471. package/dist/components/{p-Ha2t2y12.js → p-Dl0Yur5r.js} +3 -3
  472. package/dist/components/{p-Ha2t2y12.js.map → p-Dl0Yur5r.js.map} +1 -1
  473. package/dist/components/{p-8bLDlCqt.js → p-Do-hiOVl.js} +6 -6
  474. package/dist/components/{p-8bLDlCqt.js.map → p-Do-hiOVl.js.map} +1 -1
  475. package/dist/components/{p-MHQuGZu-.js → p-DoJYki91.js} +5 -5
  476. package/dist/components/{p-MHQuGZu-.js.map → p-DoJYki91.js.map} +1 -1
  477. package/dist/components/{p-BP2IBV8d.js → p-DqM3uP9H.js} +39 -18
  478. package/dist/components/p-DqM3uP9H.js.map +1 -0
  479. package/dist/components/{p-D0zqlv9X.js → p-DsMKWaSN.js} +7 -7
  480. package/dist/components/{p-D0zqlv9X.js.map → p-DsMKWaSN.js.map} +1 -1
  481. package/dist/components/{p-CcJs1phT.js → p-DuVwrI20.js} +4 -4
  482. package/dist/components/{p-CcJs1phT.js.map → p-DuVwrI20.js.map} +1 -1
  483. package/dist/components/{p-B6_vWkUg.js → p-DwLh5aVI.js} +3 -3
  484. package/dist/components/{p-B6_vWkUg.js.map → p-DwLh5aVI.js.map} +1 -1
  485. package/dist/components/{p-Hj9jbKPX.js → p-DxDoo-4C.js} +4 -4
  486. package/dist/components/{p-Hj9jbKPX.js.map → p-DxDoo-4C.js.map} +1 -1
  487. package/dist/components/{p-_fPTbZgX.js → p-G4bkKoDi.js} +33 -33
  488. package/dist/components/{p-_fPTbZgX.js.map → p-G4bkKoDi.js.map} +1 -1
  489. package/dist/components/{p-CE-erUmL.js → p-Gm-vN7E1.js} +4 -4
  490. package/dist/components/{p-CE-erUmL.js.map → p-Gm-vN7E1.js.map} +1 -1
  491. package/dist/components/{p-9REldQO4.js → p-HeijVgBd.js} +8 -8
  492. package/dist/components/{p-9REldQO4.js.map → p-HeijVgBd.js.map} +1 -1
  493. package/dist/components/{p-CKo-5Qfq.js → p-LtcdluKm.js} +13 -13
  494. package/dist/components/{p-CKo-5Qfq.js.map → p-LtcdluKm.js.map} +1 -1
  495. package/dist/components/{p-B1gsLDiL.js → p-NBNWXBut.js} +9 -9
  496. package/dist/components/{p-B1gsLDiL.js.map → p-NBNWXBut.js.map} +1 -1
  497. package/dist/components/{p-BVrJG89A.js → p-OhUC7F_g.js} +3 -3
  498. package/dist/components/{p-BVrJG89A.js.map → p-OhUC7F_g.js.map} +1 -1
  499. package/dist/components/{p-Bfn8MxOP.js → p-QqIA-4UU.js} +5 -5
  500. package/dist/components/{p-Bfn8MxOP.js.map → p-QqIA-4UU.js.map} +1 -1
  501. package/dist/components/{p-2_78I5nY.js → p-UNYO4Uen.js} +3 -3
  502. package/dist/components/{p-2_78I5nY.js.map → p-UNYO4Uen.js.map} +1 -1
  503. package/dist/components/{p-LGPQBsXs.js → p-_gwYX3vh.js} +10 -10
  504. package/dist/components/{p-LGPQBsXs.js.map → p-_gwYX3vh.js.map} +1 -1
  505. package/dist/components/{p-BaI67hQ_.js → p-ao6VxuAL.js} +3 -3
  506. package/dist/components/{p-BaI67hQ_.js.map → p-ao6VxuAL.js.map} +1 -1
  507. package/dist/components/{p-DAvS1ihh.js → p-d3kelm3z.js} +3 -3
  508. package/dist/components/{p-DAvS1ihh.js.map → p-d3kelm3z.js.map} +1 -1
  509. package/dist/components/{p-CSGxrebs.js → p-hipsVOV5.js} +3 -3
  510. package/dist/components/{p-CSGxrebs.js.map → p-hipsVOV5.js.map} +1 -1
  511. package/dist/components/{p-CQ-EyvqC.js → p-icAweFo6.js} +4 -4
  512. package/dist/components/{p-CQ-EyvqC.js.map → p-icAweFo6.js.map} +1 -1
  513. package/dist/components/{p-CC5LBxvb.js → p-jBYg7WMS.js} +3 -3
  514. package/dist/components/{p-CC5LBxvb.js.map → p-jBYg7WMS.js.map} +1 -1
  515. package/dist/components/{p-DYNQu4cB.js → p-k68ZYeHL.js} +8 -8
  516. package/dist/components/{p-DYNQu4cB.js.map → p-k68ZYeHL.js.map} +1 -1
  517. package/dist/components/{p-dlRUGWVl.js → p-kbilJltW.js} +3 -3
  518. package/dist/components/{p-dlRUGWVl.js.map → p-kbilJltW.js.map} +1 -1
  519. package/dist/components/{p-Cm33KFk-.js → p-ollg-iFp.js} +29 -18
  520. package/dist/components/p-ollg-iFp.js.map +1 -0
  521. package/dist/components/{p-C8RnCnvv.js → p-q7g_LEwC.js} +3 -3
  522. package/dist/components/{p-C8RnCnvv.js.map → p-q7g_LEwC.js.map} +1 -1
  523. package/dist/components/{p-lJd3klAU.js → p-rrunpGAl.js} +15 -15
  524. package/dist/components/{p-lJd3klAU.js.map → p-rrunpGAl.js.map} +1 -1
  525. package/dist/components/{p-BUp6TlwK.js → p-tVUFrM9G.js} +29 -16
  526. package/dist/components/p-tVUFrM9G.js.map +1 -0
  527. package/dist/components/{p-idvnK5Rl.js → p-wphqTozF.js} +6 -6
  528. package/dist/components/{p-idvnK5Rl.js.map → p-wphqTozF.js.map} +1 -1
  529. package/dist/components/{p-RvuIq5wt.js → p-xMlGGw2N.js} +3 -3
  530. package/dist/components/{p-RvuIq5wt.js.map → p-xMlGGw2N.js.map} +1 -1
  531. package/dist/components/paintbrush-fill-icon.js +1 -1
  532. package/dist/components/paintbrush-icon.js +1 -1
  533. package/dist/components/people-icon.js +1 -1
  534. package/dist/components/person-clipboard-icon.js +1 -1
  535. package/dist/components/person-icon.js +1 -1
  536. package/dist/components/play-icon.js +1 -1
  537. package/dist/components/plus-icon.js +1 -1
  538. package/dist/components/radio-button-group.js +1 -1
  539. package/dist/components/refresh-icon.js +1 -1
  540. package/dist/components/reply-all-icon.js +1 -1
  541. package/dist/components/reply-icon.js +1 -1
  542. package/dist/components/search-icon.js +1 -1
  543. package/dist/components/select-dropdown.js +1 -1
  544. package/dist/components/sent-icon.js +1 -1
  545. package/dist/components/spam-icon.js +1 -1
  546. package/dist/components/star-icon.js +1 -1
  547. package/dist/components/stop-icon.js +1 -1
  548. package/dist/components/textarea-component.js +1 -1
  549. package/dist/components/time-period-selector.js +1 -1
  550. package/dist/components/toggle-switch.js +1 -1
  551. package/dist/components/tooltip-component.js +1 -1
  552. package/dist/components/translate-icon.js +1 -1
  553. package/dist/components/trash-fill-icon.js +1 -1
  554. package/dist/components/trash-icon.js +1 -1
  555. package/dist/components/underline-icon.js +1 -1
  556. package/dist/components/warning-icon.js +1 -1
  557. package/dist/components/zoom-icon.js +1 -1
  558. package/dist/esm/add-circle-icon_2.entry.js +2 -2
  559. package/dist/esm/archive-icon.entry.js +1 -1
  560. package/dist/esm/arrow-icon.entry.js +1 -1
  561. package/dist/esm/bold-icon.entry.js +1 -1
  562. package/dist/esm/button-component_2.entry.js +2 -2
  563. package/dist/esm/calendar-agenda-fill-icon_39.entry.js +86 -62
  564. package/dist/esm/calendar-agenda-fill-icon_39.entry.js.map +1 -1
  565. package/dist/esm/calendar-cancel-icon.entry.js +1 -1
  566. package/dist/esm/calendar-check-icon.entry.js +1 -1
  567. package/dist/esm/calendar-icon.entry.js +1 -1
  568. package/dist/esm/checkbox-component.entry.js +1 -1
  569. package/dist/esm/checkbox-group_4.entry.js +5 -5
  570. package/dist/esm/checkmark-circle-icon.entry.js +1 -1
  571. package/dist/esm/checkmark-icon_15.entry.js +44 -23
  572. package/dist/esm/checkmark-icon_15.entry.js.map +1 -1
  573. package/dist/esm/chevron-icon_3.entry.js +4 -4
  574. package/dist/esm/clock-icon_4.entry.js +4 -4
  575. package/dist/esm/delete-icon.entry.js +1 -1
  576. package/dist/esm/document-refresh-icon.entry.js +1 -1
  577. package/dist/esm/folder-icon.entry.js +1 -1
  578. package/dist/esm/forward-icon.entry.js +1 -1
  579. package/dist/esm/globe-icon_3.entry.js +5 -5
  580. package/dist/esm/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.js.map +1 -1
  581. package/dist/esm/google-logo-icon_6.entry.js +19 -17
  582. package/dist/esm/google-logo-icon_6.entry.js.map +1 -1
  583. package/dist/esm/google-meet-icon_5.entry.js +5 -5
  584. package/dist/esm/inbox-icon.entry.js +1 -1
  585. package/dist/esm/info-icon_2.entry.js +3 -3
  586. package/dist/esm/input-component.entry.js +1 -1
  587. package/dist/esm/input-dropdown_2.entry.js +2 -2
  588. package/dist/esm/italic-icon.entry.js +1 -1
  589. package/dist/esm/loader.js +1 -1
  590. package/dist/esm/multi-select-dropdown.entry.js +2 -2
  591. package/dist/esm/nylas-booked-event-card_11.entry.js +4 -4
  592. package/dist/esm/nylas-form-card.entry.js +1 -1
  593. package/dist/esm/nylas-notification_2.entry.js +2 -2
  594. package/dist/esm/nylas-scheduler-editor.entry.js +13 -6
  595. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  596. package/dist/esm/nylas-scheduling.entry.js +38 -19
  597. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  598. package/dist/esm/nylas-web-elements.js +1 -1
  599. package/dist/esm/person-icon.entry.js +1 -1
  600. package/dist/esm/play-icon.entry.js +1 -1
  601. package/dist/esm/radio-button-group.entry.js +1 -1
  602. package/dist/esm/refresh-icon.entry.js +1 -1
  603. package/dist/esm/reply-all-icon.entry.js +1 -1
  604. package/dist/esm/reply-icon.entry.js +1 -1
  605. package/dist/esm/sent-icon.entry.js +1 -1
  606. package/dist/esm/spam-icon.entry.js +1 -1
  607. package/dist/esm/star-icon.entry.js +1 -1
  608. package/dist/esm/stop-icon.entry.js +1 -1
  609. package/dist/esm/textarea-component.entry.js +1 -1
  610. package/dist/esm/toggle-switch.entry.js +1 -1
  611. package/dist/esm/translate-icon.entry.js +1 -1
  612. package/dist/esm/trash-fill-icon.entry.js +1 -1
  613. package/dist/esm/underline-icon.entry.js +1 -1
  614. package/dist/esm/{version-BCn0rl0y.js → version-ClDvNLDf.js} +3 -3
  615. package/dist/{cjs/version-BpVJo5VP.js.map → esm/version-ClDvNLDf.js.map} +1 -1
  616. package/dist/nylas-web-elements/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.esm.js.map +1 -1
  617. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.esm.js.map +1 -1
  618. package/dist/nylas-web-elements/nylas-scheduling.entry.esm.js.map +1 -1
  619. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  620. package/dist/nylas-web-elements/{p-9e4672ac.entry.js → p-02343d66.entry.js} +2 -2
  621. package/dist/nylas-web-elements/{p-053363a5.entry.js → p-11f478bd.entry.js} +2 -2
  622. package/dist/nylas-web-elements/p-12a29e9d.entry.js +11 -0
  623. package/dist/nylas-web-elements/p-12a29e9d.entry.js.map +1 -0
  624. package/dist/nylas-web-elements/p-16db18a3.entry.js +2 -0
  625. package/dist/nylas-web-elements/{p-5d087249.entry.js → p-1741705d.entry.js} +2 -2
  626. package/dist/nylas-web-elements/{p-52a66db6.entry.js → p-219fd6f9.entry.js} +2 -2
  627. package/dist/nylas-web-elements/{p-c0a17829.entry.js → p-37c5834c.entry.js} +2 -2
  628. package/dist/nylas-web-elements/p-37eedc9d.entry.js +2 -0
  629. package/dist/nylas-web-elements/{p-c50fdabc.entry.js → p-38d830c6.entry.js} +2 -2
  630. package/dist/nylas-web-elements/{p-13a88760.entry.js → p-3d1fd865.entry.js} +2 -2
  631. package/dist/nylas-web-elements/p-43c3f331.entry.js +2 -0
  632. package/dist/nylas-web-elements/p-55b2df61.entry.js +2 -0
  633. package/dist/nylas-web-elements/{p-5b01e519.entry.js → p-5a861a93.entry.js} +2 -2
  634. package/dist/nylas-web-elements/{p-843fff90.entry.js → p-62d0c211.entry.js} +2 -2
  635. package/dist/nylas-web-elements/p-68195a72.entry.js +2 -0
  636. package/dist/nylas-web-elements/{p-dfc63fe6.entry.js → p-7930474b.entry.js} +2 -2
  637. package/dist/nylas-web-elements/{p-b184b489.entry.js → p-7bc4f51f.entry.js} +2 -2
  638. package/dist/nylas-web-elements/{p-07beb85c.entry.js → p-7fe0b3bb.entry.js} +2 -2
  639. package/dist/nylas-web-elements/{p-b2c497eb.entry.js → p-84c3921f.entry.js} +2 -2
  640. package/dist/nylas-web-elements/p-88e89256.entry.js +2 -0
  641. package/dist/nylas-web-elements/{p-1398e461.entry.js → p-8b55669a.entry.js} +2 -2
  642. package/dist/nylas-web-elements/p-913511c9.entry.js +2 -0
  643. package/dist/nylas-web-elements/p-913511c9.entry.js.map +1 -0
  644. package/dist/nylas-web-elements/{p-8256e49f.entry.js → p-932456ba.entry.js} +2 -2
  645. package/dist/nylas-web-elements/{p-3b4ce792.entry.js → p-974fce52.entry.js} +2 -2
  646. package/dist/nylas-web-elements/{p-051c1704.entry.js → p-991b94bd.entry.js} +2 -2
  647. package/dist/nylas-web-elements/{p-d1948f4c.entry.js → p-9dd10333.entry.js} +2 -2
  648. package/dist/nylas-web-elements/p-ClDvNLDf.js +2 -0
  649. package/dist/nylas-web-elements/{p-BCn0rl0y.js.map → p-ClDvNLDf.js.map} +1 -1
  650. package/dist/nylas-web-elements/{p-8bcf3b85.entry.js → p-a3b1ac68.entry.js} +2 -2
  651. package/dist/nylas-web-elements/p-a3baa9bf.entry.js +2 -0
  652. package/dist/nylas-web-elements/p-a94cbeb7.entry.js +2 -0
  653. package/dist/nylas-web-elements/{p-a64038fa.entry.js → p-af340293.entry.js} +2 -2
  654. package/dist/nylas-web-elements/{p-8ea62358.entry.js → p-b6eb8c04.entry.js} +2 -2
  655. package/dist/nylas-web-elements/p-bafa8e30.entry.js +2 -0
  656. package/dist/nylas-web-elements/p-bafa8e30.entry.js.map +1 -0
  657. package/dist/nylas-web-elements/p-bca85255.entry.js +2 -0
  658. package/dist/nylas-web-elements/p-bf9adc08.entry.js +8 -0
  659. package/dist/nylas-web-elements/p-bf9adc08.entry.js.map +1 -0
  660. package/dist/nylas-web-elements/{p-0dd59c68.entry.js → p-c0f88f23.entry.js} +2 -2
  661. package/dist/nylas-web-elements/{p-d20045de.entry.js → p-c59fc361.entry.js} +2 -2
  662. package/dist/nylas-web-elements/{p-4e81d20a.entry.js → p-c96b6f73.entry.js} +2 -2
  663. package/dist/nylas-web-elements/p-d2f6e3d9.entry.js +2 -0
  664. package/dist/nylas-web-elements/p-d2f6e3d9.entry.js.map +1 -0
  665. package/dist/nylas-web-elements/{p-c760d10c.entry.js → p-d752c738.entry.js} +2 -2
  666. package/dist/nylas-web-elements/p-de990849.entry.js +2 -0
  667. package/dist/nylas-web-elements/p-e2dd457a.entry.js +2 -0
  668. package/dist/nylas-web-elements/p-e734cde9.entry.js +2 -0
  669. package/dist/nylas-web-elements/p-ed89219a.entry.js +2 -0
  670. package/dist/nylas-web-elements/p-f0406089.entry.js +2 -0
  671. package/dist/nylas-web-elements/{p-059379cf.entry.js → p-f3622337.entry.js} +2 -2
  672. package/dist/nylas-web-elements/{p-714cfaaa.entry.js → p-f4516330.entry.js} +2 -2
  673. package/dist/nylas-web-elements/p-f7f2c232.entry.js +2 -0
  674. package/dist/nylas-web-elements/{p-401fd416.entry.js → p-f84b98e9.entry.js} +2 -2
  675. package/dist/stencil.config.js +9 -1
  676. package/dist/stencil.config.js.map +1 -1
  677. package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +2 -1
  678. package/dist/types/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.d.ts +1 -0
  679. package/dist/types/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.d.ts +1 -0
  680. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +9 -0
  681. package/dist/types/components.d.ts +10 -0
  682. package/dist/types/connector/shared/api/scheduler.d.ts +1 -0
  683. package/dist/types/version.d.ts +1 -1
  684. package/package.json +1 -1
  685. package/dist/components/p-BHKS010u.js.map +0 -1
  686. package/dist/components/p-BP2IBV8d.js.map +0 -1
  687. package/dist/components/p-BUp6TlwK.js.map +0 -1
  688. package/dist/components/p-CjPOfL98.js.map +0 -1
  689. package/dist/components/p-Cm33KFk-.js.map +0 -1
  690. package/dist/nylas-web-elements/p-00454d48.entry.js +0 -2
  691. package/dist/nylas-web-elements/p-00454d48.entry.js.map +0 -1
  692. package/dist/nylas-web-elements/p-038c59e1.entry.js +0 -2
  693. package/dist/nylas-web-elements/p-0c5c41bf.entry.js +0 -2
  694. package/dist/nylas-web-elements/p-106cec0c.entry.js +0 -2
  695. package/dist/nylas-web-elements/p-212e4c6b.entry.js +0 -2
  696. package/dist/nylas-web-elements/p-25966881.entry.js +0 -8
  697. package/dist/nylas-web-elements/p-25966881.entry.js.map +0 -1
  698. package/dist/nylas-web-elements/p-2e732ba2.entry.js +0 -2
  699. package/dist/nylas-web-elements/p-3001a2db.entry.js +0 -2
  700. package/dist/nylas-web-elements/p-351a0c32.entry.js +0 -2
  701. package/dist/nylas-web-elements/p-3cb90051.entry.js +0 -2
  702. package/dist/nylas-web-elements/p-3cb90051.entry.js.map +0 -1
  703. package/dist/nylas-web-elements/p-531412c9.entry.js +0 -2
  704. package/dist/nylas-web-elements/p-616b6000.entry.js +0 -2
  705. package/dist/nylas-web-elements/p-6604dde1.entry.js +0 -11
  706. package/dist/nylas-web-elements/p-6604dde1.entry.js.map +0 -1
  707. package/dist/nylas-web-elements/p-6e899199.entry.js +0 -2
  708. package/dist/nylas-web-elements/p-7117e2e0.entry.js +0 -2
  709. package/dist/nylas-web-elements/p-8823bc36.entry.js +0 -2
  710. package/dist/nylas-web-elements/p-9758d9fc.entry.js +0 -2
  711. package/dist/nylas-web-elements/p-9758d9fc.entry.js.map +0 -1
  712. package/dist/nylas-web-elements/p-BCn0rl0y.js +0 -2
  713. package/dist/nylas-web-elements/p-b5d145cd.entry.js +0 -2
  714. package/dist/nylas-web-elements/p-de00f363.entry.js +0 -2
  715. package/dist/nylas-web-elements/p-fb4fece1.entry.js +0 -2
  716. /package/dist/nylas-web-elements/{p-9e4672ac.entry.js.map → p-02343d66.entry.js.map} +0 -0
  717. /package/dist/nylas-web-elements/{p-053363a5.entry.js.map → p-11f478bd.entry.js.map} +0 -0
  718. /package/dist/nylas-web-elements/{p-7117e2e0.entry.js.map → p-16db18a3.entry.js.map} +0 -0
  719. /package/dist/nylas-web-elements/{p-5d087249.entry.js.map → p-1741705d.entry.js.map} +0 -0
  720. /package/dist/nylas-web-elements/{p-52a66db6.entry.js.map → p-219fd6f9.entry.js.map} +0 -0
  721. /package/dist/nylas-web-elements/{p-c0a17829.entry.js.map → p-37c5834c.entry.js.map} +0 -0
  722. /package/dist/nylas-web-elements/{p-8823bc36.entry.js.map → p-37eedc9d.entry.js.map} +0 -0
  723. /package/dist/nylas-web-elements/{p-c50fdabc.entry.js.map → p-38d830c6.entry.js.map} +0 -0
  724. /package/dist/nylas-web-elements/{p-13a88760.entry.js.map → p-3d1fd865.entry.js.map} +0 -0
  725. /package/dist/nylas-web-elements/{p-531412c9.entry.js.map → p-43c3f331.entry.js.map} +0 -0
  726. /package/dist/nylas-web-elements/{p-212e4c6b.entry.js.map → p-55b2df61.entry.js.map} +0 -0
  727. /package/dist/nylas-web-elements/{p-5b01e519.entry.js.map → p-5a861a93.entry.js.map} +0 -0
  728. /package/dist/nylas-web-elements/{p-843fff90.entry.js.map → p-62d0c211.entry.js.map} +0 -0
  729. /package/dist/nylas-web-elements/{p-b5d145cd.entry.js.map → p-68195a72.entry.js.map} +0 -0
  730. /package/dist/nylas-web-elements/{p-dfc63fe6.entry.js.map → p-7930474b.entry.js.map} +0 -0
  731. /package/dist/nylas-web-elements/{p-b184b489.entry.js.map → p-7bc4f51f.entry.js.map} +0 -0
  732. /package/dist/nylas-web-elements/{p-07beb85c.entry.js.map → p-7fe0b3bb.entry.js.map} +0 -0
  733. /package/dist/nylas-web-elements/{p-b2c497eb.entry.js.map → p-84c3921f.entry.js.map} +0 -0
  734. /package/dist/nylas-web-elements/{p-fb4fece1.entry.js.map → p-88e89256.entry.js.map} +0 -0
  735. /package/dist/nylas-web-elements/{p-1398e461.entry.js.map → p-8b55669a.entry.js.map} +0 -0
  736. /package/dist/nylas-web-elements/{p-8256e49f.entry.js.map → p-932456ba.entry.js.map} +0 -0
  737. /package/dist/nylas-web-elements/{p-3b4ce792.entry.js.map → p-974fce52.entry.js.map} +0 -0
  738. /package/dist/nylas-web-elements/{p-051c1704.entry.js.map → p-991b94bd.entry.js.map} +0 -0
  739. /package/dist/nylas-web-elements/{p-d1948f4c.entry.js.map → p-9dd10333.entry.js.map} +0 -0
  740. /package/dist/nylas-web-elements/{p-8bcf3b85.entry.js.map → p-a3b1ac68.entry.js.map} +0 -0
  741. /package/dist/nylas-web-elements/{p-de00f363.entry.js.map → p-a3baa9bf.entry.js.map} +0 -0
  742. /package/dist/nylas-web-elements/{p-351a0c32.entry.js.map → p-a94cbeb7.entry.js.map} +0 -0
  743. /package/dist/nylas-web-elements/{p-a64038fa.entry.js.map → p-af340293.entry.js.map} +0 -0
  744. /package/dist/nylas-web-elements/{p-8ea62358.entry.js.map → p-b6eb8c04.entry.js.map} +0 -0
  745. /package/dist/nylas-web-elements/{p-2e732ba2.entry.js.map → p-bca85255.entry.js.map} +0 -0
  746. /package/dist/nylas-web-elements/{p-0dd59c68.entry.js.map → p-c0f88f23.entry.js.map} +0 -0
  747. /package/dist/nylas-web-elements/{p-d20045de.entry.js.map → p-c59fc361.entry.js.map} +0 -0
  748. /package/dist/nylas-web-elements/{p-4e81d20a.entry.js.map → p-c96b6f73.entry.js.map} +0 -0
  749. /package/dist/nylas-web-elements/{p-c760d10c.entry.js.map → p-d752c738.entry.js.map} +0 -0
  750. /package/dist/nylas-web-elements/{p-3001a2db.entry.js.map → p-de990849.entry.js.map} +0 -0
  751. /package/dist/nylas-web-elements/{p-616b6000.entry.js.map → p-e2dd457a.entry.js.map} +0 -0
  752. /package/dist/nylas-web-elements/{p-106cec0c.entry.js.map → p-e734cde9.entry.js.map} +0 -0
  753. /package/dist/nylas-web-elements/{p-6e899199.entry.js.map → p-ed89219a.entry.js.map} +0 -0
  754. /package/dist/nylas-web-elements/{p-0c5c41bf.entry.js.map → p-f0406089.entry.js.map} +0 -0
  755. /package/dist/nylas-web-elements/{p-059379cf.entry.js.map → p-f3622337.entry.js.map} +0 -0
  756. /package/dist/nylas-web-elements/{p-714cfaaa.entry.js.map → p-f4516330.entry.js.map} +0 -0
  757. /package/dist/nylas-web-elements/{p-038c59e1.entry.js.map → p-f7f2c232.entry.js.map} +0 -0
  758. /package/dist/nylas-web-elements/{p-401fd416.entry.js.map → p-f84b98e9.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"nylas-participants-custom-availability.js","sourceRoot":"","sources":["../../../../../src/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, error } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, OpenHours, Participant, ParticipantAvailability, SpecificTimeAvailability, ThemeConfig } from '@nylas/core';\nimport { DEFAULT_OPEN_HOURS } from '@/common/constants';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-participants-custom-availability` component is a form input for setting custom availability for participants.\n *\n * @part npca - The participants custom availability container\n * @part npca__header - The header of the participants custom availability\n * @part npca__validation-error - The validation error message container\n * @part npca__content - The content of the participants custom availability\n * @part npca__participant-container - The participant container\n * @part npca__participant-title - The title of the participant\n * @part npca__participant-toggle--container - The toggle container for the participant\n * @part npca__toggle-label - The label of the toggle\n * @part npca_toggle-input - The input of the toggle\n * @part npca_toggle-slider - The slider of the toggle\n */\n@Component({\n tag: 'nylas-participants-custom-availability',\n styleUrl: 'nylas-participants-custom-availability.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasParticipantsCustomAvailability {\n @Element() host!: HTMLNylasParticipantsCustomAvailabilityElement;\n private participantFormRef!: HTMLFormElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the participants custom availability.\n */\n @Prop() name: string = 'participant-custom-availability';\n\n /**\n * @standalone\n * The participants selected in the add participants section.\n */\n @Prop() participants: Participant[] = this.selectedConfiguration?.participants || [];\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * This event is fired when the participants custom availability changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The state to store the custom availability setting for participants.\n */\n @State() selectedParticipants: {\n [key: string]: {\n setCustom: boolean;\n tab: 'availability' | 'specific-time-availability';\n isOpen: boolean;\n openHours: OpenHours[];\n specificTimesAvailability: SpecificTimeAvailability[];\n name: string;\n availability?: ParticipantAvailability;\n timezone?: string;\n onlySpecificTimeAvailability?: boolean;\n };\n } = this.setParticipants(this.participants);\n\n /**\n * The validation error message for the component.\n */\n @State() validationError: string = '';\n\n // Watchers\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-participants-custom-availability', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('participants')\n participantsChangedHandler(newValue: Participant[], oldValue: Participant[]) {\n debug('nylas-participants-custom-availability', 'participantsChangedHandler', newValue, oldValue);\n if (!newValue || !oldValue || JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n this.selectedParticipants = this.setParticipants(newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration, oldValue: Configuration) {\n debug('nylas-participants-custom-availability', 'selectedConfigurationChangedHandler', newValue, oldValue);\n if (!newValue || !oldValue || JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n if (newValue?.participants) {\n this.selectedParticipants = this.setParticipants(newValue?.participants);\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n // Lifecycle Methods\n connectedCallback() {\n debug('nylas-participants-custom-availability', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {\n debug('nylas-participants-custom-availability', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-participants-custom-availability', 'componentWillLoad');\n }\n\n componentDidLoad() {\n debug('nylas-participants-custom-availability', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedParticipants = this.setParticipants(this.selectedConfiguration?.participants);\n } else {\n this.selectedParticipants = this.setParticipants(this.participants);\n }\n // Run validation on initial load\n this.updateFormValue();\n }\n\n // Event Handlers\n @Listen('nylasFormSwitchToggled')\n nylasFormSwitchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: boolean }>) {\n debug('nylas-participants-custom-availability', 'nylasFormSwitchToggledHandler', event.detail);\n\n // Check if this is a toggle for \"only specific time availability\"\n if (event.detail.name.startsWith('only-specific-time-')) {\n const participantEmail = event.detail.name.replace('only-specific-time-', '');\n if (this.selectedParticipants[participantEmail]) {\n this.selectedParticipants[participantEmail]['onlySpecificTimeAvailability'] = event.detail.checked;\n // When enabling only specific time, switch to specific time tab\n if (event.detail.checked) {\n this.selectedParticipants[participantEmail]['tab'] = 'specific-time-availability';\n }\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }\n return;\n }\n\n const existingParticipant = this.selectedConfiguration?.participants.find(participant => participant.email === event.detail.name);\n const existingOpenHours = existingParticipant?.availability?.open_hours || [];\n const openHours = existingOpenHours?.length > 0 ? existingOpenHours : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours || [];\n const timeZone =\n existingOpenHours && existingOpenHours.length > 0\n ? existingParticipant?.timezone\n : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours?.at(0)?.timezone ||\n this.selectedConfiguration?.event_booking?.timezone ||\n window.Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n const existingSpecificTimeAvailability = existingParticipant?.specific_time_availability || [];\n const specificTimesAvailability = existingSpecificTimeAvailability?.length > 0 ? existingSpecificTimeAvailability : [];\n this.selectedParticipants[event.detail.name]['isOpen'] = event.detail.checked;\n this.selectedParticipants[event.detail.name]['tab'] = 'availability';\n this.selectedParticipants[event.detail.name]['setCustom'] = event.detail.checked;\n this.selectedParticipants[event.detail.name]['openHours'] = event.detail.checked ? (openHours?.length > 0 ? openHours : DEFAULT_OPEN_HOURS) : [];\n this.selectedParticipants[event.detail.name]['timezone'] = event.detail.checked ? timeZone : undefined;\n this.selectedParticipants[event.detail.name]['specificTimesAvailability'] = event.detail.checked ? specificTimesAvailability : [];\n // Reset onlySpecificTimeAvailability to false when custom availability is turned off\n this.selectedParticipants[event.detail.name]['onlySpecificTimeAvailability'] = event.detail.checked\n ? this.selectedParticipants[event.detail.name]['onlySpecificTimeAvailability'] || false\n : false;\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }\n\n @Listen('valueChanged')\n handleValueChanged(event: CustomEvent) {\n debug('[nylas-editor-tabs]', 'handleValueChanged', event);\n const { name, value } = event.detail;\n if (!name.startsWith('participant-availability-') && !name.startsWith('participant-specific-time-availability-')) {\n return;\n }\n\n // Parse the JSON value once - can contain { openHours: OpenHours[], timezone: string } or SpecificTimeAvailability[]\n let jsonValue;\n try {\n jsonValue = JSON.parse(value);\n } catch (err) {\n error(`Failed to parse JSON for participant ${name}:`, err);\n return;\n }\n\n // Validate the form\n if (this.isInternalsAvailable) {\n if (!this.participantFormRef.checkValidity()) {\n this.internals.setValidity({ customError: true }, 'Please fix the overlapping time ranges.');\n return;\n } else {\n this.internals.setValidity({});\n }\n }\n\n if (name.startsWith('participant-availability-')) {\n // Expected name format: \"participant-availability-{participantId}-{uniqueKey}\"\n // We extract the unique key (4th segment) to identify the specific participant\n const nameParts = name.split('-');\n if (nameParts.length < 4) {\n debug(`Malformed participant name format: ${name}. Expected format: \"participant-availability-{participantId}-{uniqueKey}\"`);\n return;\n }\n\n const key = nameParts[3];\n if (!this.selectedParticipants[key]) return;\n const existingOpenHours = jsonValue.openHours || [];\n const openHours = existingOpenHours?.length > 0 ? existingOpenHours : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours || [];\n this.selectedParticipants[key]['openHours'] = openHours;\n this.selectedParticipants[key]['tab'] = 'availability';\n if (jsonValue.timezone) {\n this.selectedParticipants[key]['timezone'] = jsonValue.timezone;\n // Also sync to specific times availability so it is consistent\n this.selectedParticipants[key]['specificTimesAvailability'] = (this.selectedParticipants[key]['specificTimesAvailability'] || []).map(entry => ({\n ...entry,\n timezone: jsonValue.timezone,\n }));\n }\n } else if (name.startsWith('participant-specific-time-availability')) {\n // Expected name format: \"participant-specific-time-availability-{index}-{uniqueKey}\"\n // Extract the unique key (6th segment) to identify the specific participant\n const nameParts = name.split('-');\n if (nameParts.length < 6) {\n debug(`Malformed participant specific date name format: ${name}. Expected format: \"participant-specific-time-availability-{index}-{uniqueKey}\"`);\n return;\n }\n\n const key = nameParts[5];\n if (!this.selectedParticipants[key]) return;\n const existingSpecificTimeAvailability = jsonValue || [];\n this.selectedParticipants[key]['specificTimesAvailability'] = existingSpecificTimeAvailability;\n this.selectedParticipants[key]['tab'] = 'specific-time-availability';\n\n // Sync timezone from specific time availability\n if (existingSpecificTimeAvailability.length > 0 && existingSpecificTimeAvailability[0].timezone) {\n const newTimezone = existingSpecificTimeAvailability[0].timezone;\n this.selectedParticipants[key]['timezone'] = newTimezone;\n // Also sync to open hours so it is consistent\n this.selectedParticipants[key]['openHours'] = (this.selectedParticipants[key]['openHours'] || []).map(entry => ({\n ...entry,\n timezone: newTimezone,\n }));\n }\n }\n\n this.selectedParticipants = { ...this.selectedParticipants };\n\n this.updateFormValue();\n }\n\n updateFormValue() {\n const participantOpenHours = {};\n const participantSpecificTimeAvailability = {};\n const participantOnlySpecificTimeAvailability = {};\n Object.keys(this.selectedParticipants).forEach(key => {\n participantOpenHours[key] = this.selectedParticipants[key].openHours;\n participantSpecificTimeAvailability[key] = this.selectedParticipants[key].specificTimesAvailability || [];\n participantOnlySpecificTimeAvailability[key] = this.selectedParticipants[key].onlySpecificTimeAvailability || false;\n });\n\n // Validate that participants with \"only specific time availability\" have at least one specific time entry\n const invalidParticipants = Object.keys(this.selectedParticipants).filter(key => {\n const participant = this.selectedParticipants[key];\n return participant.onlySpecificTimeAvailability && (!participant.specificTimesAvailability || participant.specificTimesAvailability.length === 0);\n });\n\n if (invalidParticipants.length > 0) {\n const participantNames = invalidParticipants.map(key => this.selectedParticipants[key].name).join(', ');\n const errorMessage = i18next.t('nylasParticipantCustomAvailability.specificTimeRequired', { participantName: participantNames });\n this.validationError = errorMessage;\n if (this.isInternalsAvailable) {\n this.internals.setValidity({ customError: true }, errorMessage);\n }\n } else {\n this.validationError = '';\n if (this.isInternalsAvailable) {\n this.internals.setValidity({});\n }\n }\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantOpenHours), this.name);\n this.valueChanged.emit({ value: JSON.stringify(participantOpenHours), name: this.name });\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantSpecificTimeAvailability), `${this.name}-specific-time`);\n this.valueChanged.emit({ value: JSON.stringify(participantSpecificTimeAvailability), name: `${this.name}-specific-time` });\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantOnlySpecificTimeAvailability), `${this.name}-only-specific-time`);\n this.valueChanged.emit({ value: JSON.stringify(participantOnlySpecificTimeAvailability), name: `${this.name}-only-specific-time` });\n }\n\n setParticipants(participants: Participant[]) {\n const selectedParticipants = {};\n participants?.forEach(participant => {\n const onlySpecificTime = participant.only_specific_time_availability || false;\n const hasOpenHours = Boolean(participant.availability?.open_hours && participant.availability.open_hours.length > 0);\n const hasSpecificTime = Boolean(participant.specific_time_availability && participant.specific_time_availability.length > 0);\n const hasCustomAvailability = hasOpenHours || hasSpecificTime;\n\n selectedParticipants[participant.email] = {\n isOpen: hasCustomAvailability, // Open the section if custom availability is configured\n setCustom: hasOpenHours,\n openHours: participant.availability?.open_hours || [],\n name: participant.name || participant.email,\n availability: participant.availability,\n timezone: participant.timezone,\n specificTimesAvailability: participant.specific_time_availability || [],\n onlySpecificTimeAvailability: onlySpecificTime,\n // Default to specific-time-availability tab if only specific time is enabled\n tab: onlySpecificTime ? 'specific-time-availability' : 'availability',\n };\n });\n return selectedParticipants;\n }\n\n /**\n * This method is essentially a workaround to check if the internals are available because\n * the unit tests in stencil do not support the internals.\n * @returns boolean\n */\n get isInternalsAvailable() {\n return this.internals !== undefined && typeof this.internals.setFormValue === 'function' && typeof this.internals.setValidity === 'function';\n }\n\n @RegisterComponent<NylasParticipantsCustomAvailability, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-participants-custom-availability',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"nylas-participants-custom-availability\" part=\"npca\">\n <div class=\"header\" part=\"npca__header\">\n <h3>{i18next.t('nylasParticipantCustomAvailability.headerTitle')}</h3>\n <p>{i18next.t('nylasParticipantCustomAvailability.headerSubTitle')}</p>\n </div>\n {this.validationError && (\n <div class=\"validation-error\" part=\"npca__validation-error\">\n <span>{this.validationError}</span>\n </div>\n )}\n <div class=\"content\" part=\"npca__content\">\n <form ref={el => (this.participantFormRef = el as HTMLFormElement)}>\n {Object.keys(this.selectedParticipants).map((key, index) => {\n const participant = this.selectedParticipants[key];\n const participantOpenHours = participant.availability?.open_hours || [];\n if (!participant || !participant.name || !participant.availability) return;\n return (\n <div class=\"participant-container\" part=\"npca__participant-container\" key={`participant-conatiner-${index}`}>\n <div class=\"participant-title\" part=\"npca__participant-title\">\n <p>{i18next.t('nylasParticipantCustomAvailability.participantOpenHoursTitle', { participantName: participant.name })}</p>\n <div class=\"participant-toggle\" part=\"npca__participant-toggle--container\">\n <toggle-switch\n exportparts=\"ts_label: npca__toggle-label, ts_input: npca_toggle-input, ts_slider: npca_toggle-slider\"\n name={key}\n checked={!!participant?.openHours && participant?.openHours.length > 0}\n themeConfig={this.themeConfig}\n />\n <span\n class={`chevron ${participant.isOpen ? 'open' : 'closed'} ${participant.setCustom ? '' : 'disabled'}`}\n onClick={() => {\n if (!participant.setCustom) return;\n this.selectedParticipants[key].isOpen = !participant.isOpen;\n this.selectedParticipants[key].tab = 'availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n </div>\n {participant.isOpen && (\n <div class=\"participant-only-specific-time-container\">\n <div class=\"participant-only-specific-time-checkbox\">\n <label>\n <input\n type=\"checkbox\"\n checked={participant.onlySpecificTimeAvailability}\n onChange={(e: any) => {\n this.selectedParticipants[key]['onlySpecificTimeAvailability'] = e.target.checked;\n if (e.target.checked) {\n this.selectedParticipants[key]['tab'] = 'specific-time-availability';\n }\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }}\n />\n <span>{i18next.t('nylasParticipantCustomAvailability.onlySpecificTimeAvailability', { participantName: participant.name })}</span>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" width=\"14\" height=\"14\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasParticipantCustomAvailability.onlySpecificTimeAvailabilityTooltip', { participantName: participant.name })}\n </span>\n </tooltip-component>\n </label>\n </div>\n </div>\n )}\n {participant.isOpen && (\n <div class={`participant-tabs ${participant.onlySpecificTimeAvailability ? 'single-tab' : ''}`} part=\"npca__participant-tabs\">\n {!participant.onlySpecificTimeAvailability && (\n <div\n class={`participant-tab ${participant.tab === 'availability' ? 'active' : ''}`}\n part=\"npca__participant-tab\"\n onClick={() => {\n this.selectedParticipants[key].tab = 'availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <span>{i18next.t('nylasParticipantCustomAvailability.participantAvailabilityTab')}</span>\n </div>\n )}\n <div\n class={`participant-tab ${participant.tab === 'specific-time-availability' ? 'active' : ''}`}\n part=\"npca__participant-tab\"\n onClick={() => {\n this.selectedParticipants[key].tab = 'specific-time-availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <span>{i18next.t('nylasParticipantCustomAvailability.participantSpecificTimeAvailabilityTab')}</span>\n </div>\n </div>\n )}\n {participant.tab === 'availability' && participant.isOpen && !participant.onlySpecificTimeAvailability && (\n <nylas-availability-picker\n key={index}\n name={`participant-availability-${index}-${key}`}\n openHours={participantOpenHours}\n defaultTimezone={participant.timezone}\n hideHeader={true}\n />\n )}\n {participant.tab === 'specific-time-availability' && participant.isOpen && (\n <nylas-specific-time-availability-picker\n key={index}\n name={`participant-specific-time-availability-${index}-${key}`}\n defaultTimezone={participant.timezone}\n specificTimesAvailability={participant.specificTimesAvailability}\n hideHeader={true}\n />\n )}\n </div>\n );\n })}\n </form>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"nylas-participants-custom-availability.js","sourceRoot":"","sources":["../../../../../src/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, error } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration, OpenHours, Participant, ParticipantAvailability, SpecificTimeAvailability, ThemeConfig } from '@nylas/core';\nimport { DEFAULT_OPEN_HOURS } from '@/common/constants';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-participants-custom-availability` component is a form input for setting custom availability for participants.\n *\n * @part npca - The participants custom availability container\n * @part npca__header - The header of the participants custom availability\n * @part npca__validation-error - The validation error message container\n * @part npca__content - The content of the participants custom availability\n * @part npca__participant-container - The participant container\n * @part npca__participant-title - The title of the participant\n * @part npca__participant-toggle--container - The toggle container for the participant\n * @part npca__toggle-label - The label of the toggle\n * @part npca_toggle-input - The input of the toggle\n * @part npca_toggle-slider - The slider of the toggle\n */\n@Component({\n tag: 'nylas-participants-custom-availability',\n styleUrl: 'nylas-participants-custom-availability.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasParticipantsCustomAvailability {\n @Element() host!: HTMLNylasParticipantsCustomAvailabilityElement;\n private participantFormRef!: HTMLFormElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the participants custom availability.\n */\n @Prop() name: string = 'participant-custom-availability';\n\n /**\n * @standalone\n * The participants selected in the add participants section.\n */\n @Prop() participants: Participant[] = this.selectedConfiguration?.participants || [];\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * This event is fired when the participants custom availability changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The state to store the custom availability setting for participants.\n */\n @State() selectedParticipants: {\n [key: string]: {\n setCustom: boolean;\n tab: 'availability' | 'specific-time-availability';\n isOpen: boolean;\n openHours: OpenHours[];\n specificTimesAvailability: SpecificTimeAvailability[];\n name: string;\n availability?: ParticipantAvailability;\n timezone?: string;\n onlySpecificTimeAvailability?: boolean;\n };\n } = this.setParticipants(this.participants);\n\n /**\n * The validation error message for the component.\n */\n @State() validationError: string = '';\n\n // Watchers\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-participants-custom-availability', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('participants')\n participantsChangedHandler(newValue: Participant[], oldValue: Participant[]) {\n debug('nylas-participants-custom-availability', 'participantsChangedHandler', newValue, oldValue);\n if (!newValue || !oldValue || JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n this.selectedParticipants = this.setParticipants(newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration, oldValue: Configuration) {\n debug('nylas-participants-custom-availability', 'selectedConfigurationChangedHandler', newValue, oldValue);\n if (!newValue || !oldValue || JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n if (newValue?.participants) {\n this.selectedParticipants = this.setParticipants(newValue?.participants);\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n // Lifecycle Methods\n connectedCallback() {\n debug('nylas-participants-custom-availability', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {\n debug('nylas-participants-custom-availability', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-participants-custom-availability', 'componentWillLoad');\n }\n\n componentDidLoad() {\n debug('nylas-participants-custom-availability', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedParticipants = this.setParticipants(this.selectedConfiguration?.participants);\n } else {\n this.selectedParticipants = this.setParticipants(this.participants);\n }\n // Run validation on initial load\n this.updateFormValue();\n }\n\n // Event Handlers\n @Listen('nylasFormSwitchToggled')\n nylasFormSwitchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: boolean }>) {\n debug('nylas-participants-custom-availability', 'nylasFormSwitchToggledHandler', event.detail);\n\n // Check if this is a toggle for \"only specific time availability\"\n if (event.detail.name.startsWith('only-specific-time-')) {\n const participantEmail = event.detail.name.replace('only-specific-time-', '');\n if (this.selectedParticipants[participantEmail]) {\n this.selectedParticipants[participantEmail]['onlySpecificTimeAvailability'] = event.detail.checked;\n // When enabling only specific time, switch to specific time tab\n if (event.detail.checked) {\n this.selectedParticipants[participantEmail]['tab'] = 'specific-time-availability';\n }\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }\n return;\n }\n\n const existingParticipant = this.selectedConfiguration?.participants.find(participant => participant.email === event.detail.name);\n const existingOpenHours = existingParticipant?.availability?.open_hours || [];\n const openHours = existingOpenHours?.length > 0 ? existingOpenHours : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours || [];\n const timeZone =\n existingOpenHours && existingOpenHours.length > 0\n ? existingParticipant?.timezone\n : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours?.at(0)?.timezone ||\n this.selectedConfiguration?.event_booking?.timezone ||\n window.Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n const existingSpecificTimeAvailability = existingParticipant?.specific_time_availability || [];\n const specificTimesAvailability = existingSpecificTimeAvailability?.length > 0 ? existingSpecificTimeAvailability : [];\n this.selectedParticipants[event.detail.name]['isOpen'] = event.detail.checked;\n this.selectedParticipants[event.detail.name]['tab'] = 'availability';\n this.selectedParticipants[event.detail.name]['setCustom'] = event.detail.checked;\n this.selectedParticipants[event.detail.name]['openHours'] = event.detail.checked ? (openHours?.length > 0 ? openHours : DEFAULT_OPEN_HOURS) : [];\n this.selectedParticipants[event.detail.name]['timezone'] = event.detail.checked ? timeZone : undefined;\n this.selectedParticipants[event.detail.name]['specificTimesAvailability'] = event.detail.checked ? specificTimesAvailability : [];\n // Reset onlySpecificTimeAvailability to false when custom availability is turned off\n this.selectedParticipants[event.detail.name]['onlySpecificTimeAvailability'] = event.detail.checked\n ? this.selectedParticipants[event.detail.name]['onlySpecificTimeAvailability'] || false\n : false;\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }\n\n @Listen('valueChanged')\n handleValueChanged(event: CustomEvent) {\n debug('[nylas-editor-tabs]', 'handleValueChanged', event);\n const { name, value } = event.detail;\n if (!name.startsWith('participant-availability-') && !name.startsWith('participant-specific-time-availability-')) {\n return;\n }\n\n // Parse the JSON value once - can contain { openHours: OpenHours[], timezone: string } or SpecificTimeAvailability[]\n let jsonValue;\n try {\n jsonValue = JSON.parse(value);\n } catch (err) {\n error(`Failed to parse JSON for participant ${name}:`, err);\n return;\n }\n\n // Validate the form\n if (this.isInternalsAvailable) {\n if (!this.participantFormRef.checkValidity()) {\n this.internals.setValidity({ customError: true }, 'Please fix the overlapping time ranges.');\n return;\n } else {\n this.internals.setValidity({});\n }\n }\n\n if (name.startsWith('participant-availability-')) {\n // Expected name format: \"participant-availability-{participantId}-{uniqueKey}\"\n // We extract the unique key (4th segment) to identify the specific participant\n const nameParts = name.split('-');\n if (nameParts.length < 4) {\n debug(`Malformed participant name format: ${name}. Expected format: \"participant-availability-{participantId}-{uniqueKey}\"`);\n return;\n }\n\n const key = nameParts[3];\n if (!this.selectedParticipants[key]) return;\n const existingOpenHours = jsonValue.openHours || [];\n const openHours = existingOpenHours?.length > 0 ? existingOpenHours : this.selectedConfiguration?.availability?.availability_rules?.default_open_hours || [];\n this.selectedParticipants[key]['openHours'] = openHours;\n this.selectedParticipants[key]['tab'] = 'availability';\n if (jsonValue.timezone) {\n this.selectedParticipants[key]['timezone'] = jsonValue.timezone;\n // Also sync to specific times availability so it is consistent\n this.selectedParticipants[key]['specificTimesAvailability'] = (this.selectedParticipants[key]['specificTimesAvailability'] || []).map(entry => ({\n ...entry,\n timezone: jsonValue.timezone,\n }));\n }\n } else if (name.startsWith('participant-specific-time-availability')) {\n // Expected name format: \"participant-specific-time-availability-{index}-{uniqueKey}\"\n // Extract the unique key (6th segment) to identify the specific participant\n const nameParts = name.split('-');\n if (nameParts.length < 6) {\n debug(`Malformed participant specific date name format: ${name}. Expected format: \"participant-specific-time-availability-{index}-{uniqueKey}\"`);\n return;\n }\n\n const key = nameParts[5];\n if (!this.selectedParticipants[key]) return;\n const existingSpecificTimeAvailability = jsonValue || [];\n this.selectedParticipants[key]['specificTimesAvailability'] = existingSpecificTimeAvailability;\n this.selectedParticipants[key]['tab'] = 'specific-time-availability';\n\n // Sync timezone from specific time availability\n if (existingSpecificTimeAvailability.length > 0 && existingSpecificTimeAvailability[0].timezone) {\n const newTimezone = existingSpecificTimeAvailability[0].timezone;\n this.selectedParticipants[key]['timezone'] = newTimezone;\n // Also sync to open hours so it is consistent\n this.selectedParticipants[key]['openHours'] = (this.selectedParticipants[key]['openHours'] || []).map(entry => ({\n ...entry,\n timezone: newTimezone,\n }));\n }\n }\n\n this.selectedParticipants = { ...this.selectedParticipants };\n\n this.updateFormValue();\n }\n\n updateFormValue() {\n const participantOpenHours = {};\n const participantSpecificTimeAvailability = {};\n const participantOnlySpecificTimeAvailability = {};\n Object.keys(this.selectedParticipants).forEach(key => {\n participantOpenHours[key] = this.selectedParticipants[key].openHours;\n participantSpecificTimeAvailability[key] = this.selectedParticipants[key].specificTimesAvailability || [];\n participantOnlySpecificTimeAvailability[key] = this.selectedParticipants[key].onlySpecificTimeAvailability || false;\n });\n\n // Validate that participants with \"only specific time availability\" have at least one specific time entry\n const invalidParticipants = Object.keys(this.selectedParticipants).filter(key => {\n const participant = this.selectedParticipants[key];\n return participant.onlySpecificTimeAvailability && (!participant.specificTimesAvailability || participant.specificTimesAvailability.length === 0);\n });\n\n if (invalidParticipants.length > 0) {\n const participantNames = invalidParticipants.map(key => this.selectedParticipants[key].name).join(', ');\n const errorMessage = i18next.t('nylasParticipantCustomAvailability.specificTimeRequired', { participantName: participantNames });\n this.validationError = errorMessage;\n if (this.isInternalsAvailable) {\n this.internals.setValidity({ customError: true }, errorMessage);\n }\n } else {\n this.validationError = '';\n if (this.isInternalsAvailable) {\n this.internals.setValidity({});\n }\n }\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantOpenHours), this.name);\n this.valueChanged.emit({ value: JSON.stringify(participantOpenHours), name: this.name });\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantSpecificTimeAvailability), `${this.name}-specific-time`);\n this.valueChanged.emit({ value: JSON.stringify(participantSpecificTimeAvailability), name: `${this.name}-specific-time` });\n\n this.isInternalsAvailable && this.internals.setFormValue(JSON.stringify(participantOnlySpecificTimeAvailability), `${this.name}-only-specific-time`);\n this.valueChanged.emit({ value: JSON.stringify(participantOnlySpecificTimeAvailability), name: `${this.name}-only-specific-time` });\n }\n\n setParticipants(participants: Participant[]) {\n const selectedParticipants = {};\n participants?.forEach(participant => {\n const onlySpecificTime = participant.only_specific_time_availability || false;\n const hasOpenHours = Boolean(participant.availability?.open_hours && participant.availability.open_hours.length > 0);\n const hasSpecificTime = Boolean(participant.specific_time_availability && participant.specific_time_availability.length > 0);\n const hasCustomAvailability = hasOpenHours || hasSpecificTime;\n\n selectedParticipants[participant.email] = {\n isOpen: hasCustomAvailability, // Open the section if custom availability is configured\n setCustom: hasOpenHours,\n openHours: participant.availability?.open_hours || [],\n name: participant.name || participant.email,\n availability: participant.availability,\n timezone: participant.timezone,\n specificTimesAvailability: participant.specific_time_availability || [],\n onlySpecificTimeAvailability: onlySpecificTime,\n // Default to specific-time-availability tab if only specific time is enabled\n tab: onlySpecificTime ? 'specific-time-availability' : 'availability',\n };\n });\n return selectedParticipants;\n }\n\n /**\n * This method is essentially a workaround to check if the internals are available because\n * the unit tests in stencil do not support the internals.\n * @returns boolean\n */\n get isInternalsAvailable() {\n return this.internals !== undefined && typeof this.internals.setFormValue === 'function' && typeof this.internals.setValidity === 'function';\n }\n\n @RegisterComponent<NylasParticipantsCustomAvailability, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-participants-custom-availability',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"nylas-participants-custom-availability\" part=\"npca\">\n <div class=\"header\" part=\"npca__header\">\n <h3>{i18next.t('nylasParticipantCustomAvailability.headerTitle')}</h3>\n <p>{i18next.t('nylasParticipantCustomAvailability.headerSubTitle')}</p>\n </div>\n {this.validationError && (\n <div class=\"validation-error\" part=\"npca__validation-error\">\n <span>{this.validationError}</span>\n </div>\n )}\n <div class=\"content\" part=\"npca__content\">\n <form ref={el => (this.participantFormRef = el as HTMLFormElement)}>\n {Object.keys(this.selectedParticipants).map((key, index) => {\n const participant = this.selectedParticipants[key];\n const participantOpenHours = participant.availability?.open_hours || [];\n if (!participant || !participant.name) return;\n return (\n <div class=\"participant-container\" part=\"npca__participant-container\" key={`participant-conatiner-${index}`}>\n <div class=\"participant-title\" part=\"npca__participant-title\">\n <p>{i18next.t('nylasParticipantCustomAvailability.participantOpenHoursTitle', { participantName: participant.name })}</p>\n <div class=\"participant-toggle\" part=\"npca__participant-toggle--container\">\n <toggle-switch\n exportparts=\"ts_label: npca__toggle-label, ts_input: npca_toggle-input, ts_slider: npca_toggle-slider\"\n name={key}\n checked={!!participant?.openHours && participant?.openHours.length > 0}\n themeConfig={this.themeConfig}\n />\n <span\n class={`chevron ${participant.isOpen ? 'open' : 'closed'} ${participant.setCustom ? '' : 'disabled'}`}\n onClick={() => {\n if (!participant.setCustom) return;\n this.selectedParticipants[key].isOpen = !participant.isOpen;\n this.selectedParticipants[key].tab = 'availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n </div>\n {participant.isOpen && (\n <div class=\"participant-only-specific-time-container\">\n <div class=\"participant-only-specific-time-checkbox\">\n <label>\n <input\n type=\"checkbox\"\n checked={participant.onlySpecificTimeAvailability}\n onChange={(e: any) => {\n this.selectedParticipants[key]['onlySpecificTimeAvailability'] = e.target.checked;\n if (e.target.checked) {\n this.selectedParticipants[key]['tab'] = 'specific-time-availability';\n }\n this.selectedParticipants = { ...this.selectedParticipants };\n this.updateFormValue();\n }}\n />\n <span>{i18next.t('nylasParticipantCustomAvailability.onlySpecificTimeAvailability', { participantName: participant.name })}</span>\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" width=\"14\" height=\"14\" />\n <span slot=\"tooltip-content\">\n {i18next.t('nylasParticipantCustomAvailability.onlySpecificTimeAvailabilityTooltip', { participantName: participant.name })}\n </span>\n </tooltip-component>\n </label>\n </div>\n </div>\n )}\n {participant.isOpen && (\n <div class={`participant-tabs ${participant.onlySpecificTimeAvailability ? 'single-tab' : ''}`} part=\"npca__participant-tabs\">\n {!participant.onlySpecificTimeAvailability && (\n <div\n class={`participant-tab ${participant.tab === 'availability' ? 'active' : ''}`}\n part=\"npca__participant-tab\"\n onClick={() => {\n this.selectedParticipants[key].tab = 'availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <span>{i18next.t('nylasParticipantCustomAvailability.participantAvailabilityTab')}</span>\n </div>\n )}\n <div\n class={`participant-tab ${participant.tab === 'specific-time-availability' ? 'active' : ''}`}\n part=\"npca__participant-tab\"\n onClick={() => {\n this.selectedParticipants[key].tab = 'specific-time-availability';\n this.selectedParticipants = { ...this.selectedParticipants };\n }}\n >\n <span>{i18next.t('nylasParticipantCustomAvailability.participantSpecificTimeAvailabilityTab')}</span>\n </div>\n </div>\n )}\n {participant.tab === 'availability' && participant.isOpen && !participant.onlySpecificTimeAvailability && (\n <nylas-availability-picker\n key={index}\n name={`participant-availability-${index}-${key}`}\n openHours={participantOpenHours}\n defaultTimezone={participant.timezone}\n hideHeader={true}\n />\n )}\n {participant.tab === 'specific-time-availability' && participant.isOpen && (\n <nylas-specific-time-availability-picker\n key={index}\n name={`participant-specific-time-availability-${index}-${key}`}\n defaultTimezone={participant.timezone}\n specificTimesAvailability={participant.specificTimesAvailability}\n hideHeader={true}\n />\n )}\n </div>\n );\n })}\n </form>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -211,7 +211,7 @@ export class NylasReminderEmails {
211
211
  if (this.selectedConfiguration?.type === 'group') {
212
212
  recipientOptions = recipientOptions.filter(option => option.value !== 'all');
213
213
  }
214
- return (h(Host, { key: '3f23744e11c061ce7b2227cc031ee60740097a42' }, h("div", { key: '30f536b81acb6ae72327336d332f74606f23689c', class: "cards-container" }, this.reminders.map((reminder, index) => {
214
+ return (h(Host, { key: '5e6aaf20bcbd25eb2bf2bbe63e6a1558a4b8270b' }, h("div", { key: '1d8c31310cab40219b18663db6ed145ae7ef5540', class: "cards-container" }, this.reminders.map((reminder, index) => {
215
215
  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
216
216
  ? i18next.t('nylasReminderEmails.headerTitle_withOrganizer', { organizerName: ` ${organizerName}` })
217
217
  : i18next.t('nylasReminderEmails.headerTitle')), h("p", null, i18next.t('nylasReminderEmails.headerSubTitle'))), !reminder.editing ? (h("button-component", { variant: 'basic', key: `edit-${index} `, clickHandler: event => {
@@ -229,10 +229,10 @@ export class NylasReminderEmails {
229
229
  } }, 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
230
230
  ? i18next.t('nylasReminderEmails.emailSubject.placeholder_withOrganizer', { organizerName: organizerName })
231
231
  : i18next.t('nylasReminderEmails.emailSubject.placeholder'), defaultValue: reminder?.email_subject || '', themeConfig: this.themeConfig }))))) : (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;
232
- })), h("button-component", { key: '983a81a634411d1e1b1714bd121113e90d9b3a12', class: "create-reminder", variant: 'basic', clickHandler: event => {
232
+ })), h("button-component", { key: '4a8afa10d177cbe82de9395a95f33c8ec1b68475', class: "create-reminder", variant: 'basic', clickHandler: event => {
233
233
  event.preventDefault();
234
234
  this.addReminder();
235
- } }, h("plus-icon", { key: '58760774d66c7fdd5bd7c01d9a50d6d1ecb70b2a', width: "16", height: "16" }), i18next.t('nylasReminderEmails.newReminderButtonText'))));
235
+ } }, h("plus-icon", { key: 'c7fa6634aeedf4090b9a8b611903fee5dc431fba', width: "16", height: "16" }), i18next.t('nylasReminderEmails.newReminderButtonText'))));
236
236
  }
237
237
  static get is() { return "nylas-reminder-emails"; }
238
238
  static get encapsulation() { return "shadow"; }
@@ -144,7 +144,7 @@ export class NylasReminderTime {
144
144
  }
145
145
  render() {
146
146
  const showTimePeriodSelector = typeof this.selectedNumber == 'number' && typeof this.selectedPeriod == 'string';
147
- return (h(Host, { key: '4a624beaa489d4fad2397bb216a964129e585be0' }, h("div", { key: 'cbcf38454f4f34690807acc83d7b19d1b3bdac70', class: "nylas-reminder-time", part: "nrt" }, h("div", { key: '97f2ab05f44f0952f57e21827607a047317c47a2', class: "nylas-reminder-time__wrapper" }, showTimePeriodSelector && (h("time-period-selector", { key: '7304bcee34bdecbe7ab853b71b4e4e891c70edfa', id: "limit-future-bookings", part: "nrt__time-period-selector", hasError: this.errorState, timePeriods: [
147
+ return (h(Host, { key: '385ed7c26be8961ea8a3a38136a935ed7eea94da' }, h("div", { key: '105c3fe6b87f82b5b3d4f19e9af0732cc6bfa00e', class: "nylas-reminder-time", part: "nrt" }, h("div", { key: 'f7ed0f2b641d31c8e19477c5a534295fb10d37ad', class: "nylas-reminder-time__wrapper" }, showTimePeriodSelector && (h("time-period-selector", { key: '9632d0a83fc484bf202ba6d9f1904c06aa8dc515', id: "limit-future-bookings", part: "nrt__time-period-selector", hasError: this.errorState, timePeriods: [
148
148
  { value: 'minute', label: i18next.t('timeDuration', { context: 'minute' }) },
149
149
  { value: 'hour', label: i18next.t('timeDuration', { context: 'hour' }) },
150
150
  { value: 'day', label: i18next.t('timePeriod', { context: 'day' }) },
@@ -76,7 +76,7 @@ export class NylasSchedulerEditor {
76
76
  this.stores = {
77
77
  schedulerConfig: CreateNylasSchedulerConfigStore({
78
78
  ...this.defaultSchedulerConfigState,
79
- additionalParticipants: filteredAdditionalParticipants,
79
+ additionalParticipants: filteredAdditionalParticipants || [],
80
80
  participantFetch: this.participantFetch,
81
81
  participantFetchGrantId: this.participantFetchGrantId,
82
82
  participantSearch: this.participantSearch,
@@ -227,6 +227,12 @@ export class NylasSchedulerEditor {
227
227
  async unregisterComponentHandler(event) {
228
228
  this.baseProvider?.unregisterComponent(event.detail);
229
229
  }
230
+ handleChildSchedulerError(event) {
231
+ this.nylasSchedulerEditorError.emit({
232
+ notification: event.detail.notification,
233
+ host: this.host,
234
+ });
235
+ }
230
236
  nylasFormDropdownChangedHandler(event) {
231
237
  const { name, value } = event.detail;
232
238
  if (name === 'language') {
@@ -258,12 +264,12 @@ export class NylasSchedulerEditor {
258
264
  const isGroupType = this.stores?.schedulerConfig?.state.selectedEventType === CONFIGURATION_EVENT_TYPE.group ||
259
265
  this.stores?.schedulerConfig?.state.selectedConfiguration?.type === CONFIGURATION_EVENT_TYPE.group;
260
266
  debug(`[nylas-scheduler-editor] render mode: ${this.mode}`);
261
- return (h(Host, { key: 'd3ee5ff25afe6c8c70bbc8ed793fc860ecf4784f' }, h("div", { key: 'd43718a32cd6fd4109fe0997c003cc08bd041e50', class: "scheduler-editor-header", part: "nse__header" }, h("h1", { key: '413f459fd104b217568244ce512833275ebe886a', class: "scheduler-editor-title", part: "nse__title" }, h("calendar-icon", { key: 'bc07bcc58723eff767bea3570da177987dd77b1e', width: "18", height: "18" }), i18next.t('schedulerEditorTitle'), h("tooltip-component", { key: '63df854061e27aeea719b32425de9544c3119565' }, h("info-icon", { key: '05d94b2953ca7de7598d34cf55ae9a2383216b8a', slot: "tooltip-icon" }), h("span", { key: '820e59fd3c0757a71bf3cb17bc9727bf7ad983b2', slot: "tooltip-content" }, this.version))), h("div", { key: 'd35dc4c3b54831ca77a4335ca2dae4c4bfffd2b7', class: {
267
+ return (h(Host, { key: '7ae9c69f70976b60451f2919deee5a8669d3c0db' }, h("div", { key: '6bc8488ffbeb1e01f26982b98d4f89c1d77349ab', class: "scheduler-editor-header", part: "nse__header" }, h("h1", { key: '60c0b74e81395bfe2d8b36e2038f9efdcded1e10', class: "scheduler-editor-title", part: "nse__title" }, h("calendar-icon", { key: '3a506ce8e21760b338c22ecc1312d12970a71889', width: "18", height: "18" }), i18next.t('schedulerEditorTitle'), h("tooltip-component", { key: '6df1ac0763214b93bf0a843a449bc0bf94f50a0c' }, h("info-icon", { key: 'aa307ef25fd624f5215cda7bba221a899032e137', slot: "tooltip-icon" }), h("span", { key: '837785e2a23ff3226539ae6687ed4ba9843d2f22', slot: "tooltip-content" }, this.version))), h("div", { key: 'a433f3181464ff75fce3eba3b41c13f75d0f3150', class: {
262
268
  language: true,
263
- }, part: "nse__language" }, h("select-dropdown", { key: '4cf694e54fdffdeb7780bea291f32ab8544027b5', name: "language", searchPlaceholder: i18next.t('search'), options: languageOptions, withChevron: false, themeConfig: this.themeConfig, defaultSelectedOption: languageOptions.find(lang => lang.value == this.selectedLanguage), exportparts: "sd_dropdown: nse__language-dropdown, sd_dropdown-button: nse__language-drop-button, sd_dropdown-content: nse__language-drop-content, sd_dropdown_label: nse__language-drop-label" }, h("span", { key: 'e370b369fe5cf3791849928813d897df0e68c4d4', slot: "select-icon" }, h("translate-icon", { key: '5ea9cac3200af9de9ea42c29534466e2c6a807bf', width: "20", height: "20" })))), h("button", { key: '46d854228168ff6e140dc14c8a147e045e549345', class: "scheduler-editor-close", title: "logout", onClick: e => this.handleSchedulerConfigCloseClicked(e), part: "nse__close-button" }, h("close-icon", { key: '26046880a1c1bfad7d9d2d16081f2d8e65fc72bc', width: "18", height: "18" }))), h("div", { key: '3f583b3af557540e3ab420556fe1dcbaa73541ee', class: {
269
+ }, part: "nse__language" }, h("select-dropdown", { key: '8802c5e63e34b290550d77cd6f5cdaf102a4bdde', name: "language", searchPlaceholder: i18next.t('search'), options: languageOptions, withChevron: false, themeConfig: this.themeConfig, defaultSelectedOption: languageOptions.find(lang => lang.value == this.selectedLanguage), exportparts: "sd_dropdown: nse__language-dropdown, sd_dropdown-button: nse__language-drop-button, sd_dropdown-content: nse__language-drop-content, sd_dropdown_label: nse__language-drop-label" }, h("span", { key: 'd0694de40feee738ac6e83118bd11ed37883c125', slot: "select-icon" }, h("translate-icon", { key: '7a1fe0c9b810195b8f07498da91dcfc707c87182', width: "20", height: "20" })))), h("button", { key: 'a019246667bceb4cdc610ac2569c2d6d19abfea6', class: "scheduler-editor-close", title: "logout", onClick: e => this.handleSchedulerConfigCloseClicked(e), part: "nse__close-button" }, h("close-icon", { key: '41ef8292ca6e94dd373586a4b7d75b13b2bdac2b', width: "18", height: "18" }))), h("div", { key: '75ea8e5ee6f6933b0582853ced0a4afc0bf3c72b', class: {
264
270
  'scheduler-editor-content': true,
265
271
  'scheduler-editor-content--group': isGroupType,
266
- }, part: "nse__content" }, this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === null && (h("div", { key: '69c4c7220c8b0d0c7cf477d6f12db0bd4743d32c', class: "list-configurations", part: "nse__list-configurations" }, h("nylas-list-configurations", { key: 'ac5c69a1dcdba648bcf072a67c0f6594d87c7419', themeConfig: this.themeConfig, exportparts: "nlc__create-new-cta, actions__dropdown, actions__dropdown-button, actions__dropdown-content, actions-Copy, actions-Preview, actions-Delete" }))), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create-select' && (h("nylas-select-event-type", { key: 'ec029ad5355ec53ec29f1420f1035495aaee85f0', themeConfig: this.themeConfig })), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create' && isGroupType && (h("nylas-editor-tabs-group", { key: '25dc3ee096afcbf7d3669a80993e827eb8ad0914', mode: "composable", themeConfig: this.themeConfig }, h(ExpressFlow, { key: 'c064e23887ee149f4b6e8c414a9d1a213baa20a2', selectedEventType: this.stores?.schedulerConfig?.state?.selectedEventType || CONFIGURATION_EVENT_TYPE.one_on_one, currentUser: this.stores?.schedulerConfig?.state.currentUser, calendars: this.stores?.schedulerConfig?.state?.calendars, selectedConfiguration: this.stores?.schedulerConfig?.state?.selectedConfiguration }))), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create' && !isGroupType && (h("nylas-editor-tabs", { key: 'b5c0d67378bdaa75bf465b0448438f34b1a9681a', mode: "composable", enableNotetaker: this.enableNotetaker, themeConfig: this.themeConfig }, h(ExpressFlow, { key: '6b9fda228b1637f62ed3cce00ee49897f5907bb9', selectedEventType: this.stores?.schedulerConfig?.state?.selectedEventType || CONFIGURATION_EVENT_TYPE.one_on_one, currentUser: this.stores?.schedulerConfig?.state.currentUser, calendars: this.stores?.schedulerConfig?.state?.calendars, selectedConfiguration: this.stores?.schedulerConfig?.state?.selectedConfiguration }))), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'edit' && isGroupType && (h("nylas-editor-tabs-group", { key: selectedConfigId, mode: this.mode, themeConfig: this.themeConfig }, this.mode === 'composable' && h("slot", { key: '8626e68383922eb414b6357f236a06071803da7f' }), this.mode === 'app' && hasSlot && (h("div", { style: { display: 'none' }, slot: "custom-page-style-inputs", key: selectedConfigId }, h("slot", { key: 'fb4f28829a5a078ed2418f0de5da1f8a5701c117', name: "custom-page-style-inputs" }))))), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'edit' && !isGroupType && (h("nylas-editor-tabs", { key: selectedConfigId, mode: this.mode, enableNotetaker: this.enableNotetaker, themeConfig: this.themeConfig }, this.mode === 'composable' && h("slot", { key: '86004b9778064437fcce5b0cb8d7e0c1cd780f89' }), this.mode === 'app' && hasSlot && (h("div", { style: { display: 'none' }, slot: "custom-page-style-inputs", key: selectedConfigId }, h("slot", { key: 'f3be21019acedd114501a145df614887173fac05', name: "custom-page-style-inputs" }))))), !this.stores?.schedulerConfig?.state.currentUser && (h("slot", { key: 'b1641293b76cb0546c6601a69edf42a7d2082169', name: "login-required" }, h(LoginRequired, { key: '6d203e017bec9bd43b3157586527acf37ab6465d', authenticationUrl: this.authenticationUrl }))))));
272
+ }, part: "nse__content" }, this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === null && this.mode === 'composable' && h("slot", { key: '146c0f20245d53e0bad7fa0ca27cf71921403e55' }), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === null && this.mode !== 'composable' && (h("div", { key: '7335d2bd68978adaca20abf4c6045862c7b85713', class: "list-configurations", part: "nse__list-configurations" }, h("nylas-list-configurations", { key: '1b2f65cbd58f1ce0f23dd56cfad95b4f8fcdf546', themeConfig: this.themeConfig, exportparts: "nlc__create-new-cta, actions__dropdown, actions__dropdown-button, actions__dropdown-content, actions-Copy, actions-Preview, actions-Delete" }))), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create-select' && (h("nylas-select-event-type", { key: '8743d98955807b8eac8b61290c9f4c7caa9f9381', themeConfig: this.themeConfig })), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create' && isGroupType && (h("nylas-editor-tabs-group", { key: 'fa573c6f4c236c4f102845dac6c24abcd0adb865', mode: "composable", themeConfig: this.themeConfig }, h(ExpressFlow, { key: '0e71d4969425c9e5d6a5a23cb4924ac2bc3df7f3', selectedEventType: this.stores?.schedulerConfig?.state?.selectedEventType || CONFIGURATION_EVENT_TYPE.one_on_one, currentUser: this.stores?.schedulerConfig?.state.currentUser, calendars: this.stores?.schedulerConfig?.state?.calendars, selectedConfiguration: this.stores?.schedulerConfig?.state?.selectedConfiguration }))), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create' && !isGroupType && (h("nylas-editor-tabs", { key: '3a38a632e2c40a9cf1772a71993a5783c14b55e1', mode: "composable", enableNotetaker: this.enableNotetaker, themeConfig: this.themeConfig }, h(ExpressFlow, { key: 'b2a56cc573383e2e53e9aef60ee98b6e4d031685', selectedEventType: this.stores?.schedulerConfig?.state?.selectedEventType || CONFIGURATION_EVENT_TYPE.one_on_one, currentUser: this.stores?.schedulerConfig?.state.currentUser, calendars: this.stores?.schedulerConfig?.state?.calendars, selectedConfiguration: this.stores?.schedulerConfig?.state?.selectedConfiguration }))), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'edit' && isGroupType && (h("nylas-editor-tabs-group", { key: selectedConfigId, mode: this.mode, themeConfig: this.themeConfig }, this.mode === 'composable' && h("slot", { key: '1348fb0f18743b7ef60a0d1e9bc288c9f7b5f4b1' }), this.mode === 'app' && hasSlot && (h("div", { style: { display: 'none' }, slot: "custom-page-style-inputs", key: selectedConfigId }, h("slot", { key: '46f7d32f2cef19be5c85b4f679fca1761dcdd6d5', name: "custom-page-style-inputs" }))))), this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'edit' && !isGroupType && (h("nylas-editor-tabs", { key: selectedConfigId, mode: this.mode, enableNotetaker: this.enableNotetaker, themeConfig: this.themeConfig }, this.mode === 'composable' && h("slot", { key: '3eeda32fd79b251f390d75e02aed57c27292f38b' }), this.mode === 'app' && hasSlot && (h("div", { style: { display: 'none' }, slot: "custom-page-style-inputs", key: selectedConfigId }, h("slot", { key: '1c15548d2df7ec41ed099f72fe3004f2c93316a7', name: "custom-page-style-inputs" }))))), !this.stores?.schedulerConfig?.state.currentUser && (h("slot", { key: 'eeeff8142f1850ffa9f7c1eb4fb79070a08e05f2', name: "login-required" }, h(LoginRequired, { key: 'a06cbfb8711fc2ad6d4b01a5a1a8376fb2b685f1', authenticationUrl: this.authenticationUrl }))))));
267
273
  }
268
274
  static get is() { return "nylas-scheduler-editor"; }
269
275
  static get encapsulation() { return "shadow"; }
@@ -912,6 +918,31 @@ export class NylasSchedulerEditor {
912
918
  }
913
919
  }
914
920
  }
921
+ }, {
922
+ "method": "nylasSchedulerEditorError",
923
+ "name": "nylasSchedulerEditorError",
924
+ "bubbles": true,
925
+ "cancelable": false,
926
+ "composed": true,
927
+ "docs": {
928
+ "tags": [],
929
+ "text": "This event is fired when an error occurs in the scheduler editor or any of its child components.\nIt captures `nylasSchedulerError` events from child components (nylas-editor-tabs,\nnylas-list-configurations, etc.) and re-emits them as `nylasSchedulerEditorError`.\nIn React, use the `onNylasSchedulerEditorError` prop to handle these errors."
930
+ },
931
+ "complexType": {
932
+ "original": "{ notification: Notification; host: HTMLElement }",
933
+ "resolved": "{ notification: Notification; host: HTMLElement; }",
934
+ "references": {
935
+ "Notification": {
936
+ "location": "import",
937
+ "path": "@/types/index",
938
+ "id": "src/types/index.ts::Notification"
939
+ },
940
+ "HTMLElement": {
941
+ "location": "global",
942
+ "id": "global::HTMLElement"
943
+ }
944
+ }
945
+ }
915
946
  }];
916
947
  }
917
948
  static get methods() {
@@ -1012,6 +1043,12 @@ export class NylasSchedulerEditor {
1012
1043
  "target": undefined,
1013
1044
  "capture": false,
1014
1045
  "passive": false
1046
+ }, {
1047
+ "name": "nylasSchedulerError",
1048
+ "method": "handleChildSchedulerError",
1049
+ "target": undefined,
1050
+ "capture": false,
1051
+ "passive": false
1015
1052
  }, {
1016
1053
  "name": "nylasFormDropdownChanged",
1017
1054
  "method": "nylasFormDropdownChangedHandler",
@@ -1 +1 @@
1
- {"version":3,"file":"nylas-scheduler-editor.js","sourceRoot":"","sources":["../../../../../src/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAY,2BAA2B,EAA8B,MAAM,4BAA4B,CAAC;AAE/G,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,+BAA+B,EAAiE,MAAM,iCAAiC,CAAC;AACjJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAU,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,WAAW,MAAM,eAAe,CAAC;AAIxC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAyB,aAAa,EAAE,YAAY,EAAU,MAAM,oBAAoB,CAAC;AAC1H,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BpC,MAAM,OAAO,oBAAoB;IALjC;QA8DU,mBAAc,GAAiC,EAAE,CAAC;QAWX,yBAAoB,GAAW,EAAE,CAAC;QAc3C,SAAI,GAAyB,KAAK,CAAC;QA4BhC,mBAAc,GAAW,EAAE,CAAC;QAkB/B,iBAAY,GAAY,KAAK,CAAC;QAQnD,uBAAkB,GAAa,IAAI,CAAC;QAkBpC,kBAAa,GAAa,IAAI,CAAC;QAME,oBAAe,GAAa,KAAK,CAAC;QAgBnE,qBAAgB,GAAsB;YACrD,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE,IAAI;YACtB,KAAK,EAAE,IAAI;SACZ,CAAC;QAqCO,mCAA8B,GAAY,IAAI,CAAC;QAK/C,qBAAgB,GAAkB,IAAI,CAAC,eAAe,IAAI,aAAa,CAAC,EAAE,CAAC;QAM3E,gBAAW,GAAW,CAAC,CAAC;QAKxB,YAAO,GAAW,OAAO,CAAC;QAyT3B,sCAAiC,GAAG,CAAC,MAAa,EAAE,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,6BAA6B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzD,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACjC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;QAOM,sBAAiB,GAAG,KAAK,EAAE,QAAiB,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACxE,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEvE,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,CAAC,CAAC;KAuHH;IAxcC,iBAAiB;QACf,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAGpD,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAMpD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,MAAM,8BAA8B,GAAG,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;YACvF,MAAM,iBAAiB,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1I,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1E,OAAO;oBACL,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,SAAS,EAAE,iBAAiB;iBAC7B,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG;YACZ,eAAe,EAAE,+BAA+B,CAAC;gBAC/C,GAAG,IAAI,CAAC,2BAA2B;gBACnC,sBAAsB,EAAE,8BAA8B;gBACtD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;gBACrD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,eAAe,IAAI,aAAa,CAAC,EAAE;gBAC1D,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC;SACH,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAKjE,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAGhC,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;gBACrC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;gBAC7F,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBACxF,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;wBACpC,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAGH,YAAY,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;gBAClC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACvD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACvC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBACxF,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;wBACpC,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,GAAG,IAAI,2BAA2B,CAAC,YAAY,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5H,MAAM,yBAAyB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAChF,IAAI,CAAC,6BAA6B,GAAG,IAAI,6BAA6B,CAAC;YACrE,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,yBAAyB,EAAE,yBAAyB;SACrD,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;YAC7F,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACxF,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACvD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACvC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBACxF,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;wBACpC,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAGD,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,uBAAuB,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YAC7E,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAEzE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACnD,CAAC;IASD,KAAK,CAAC,sBAAsB,CAAC,kBAA0B;QACrD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,6BAA6B,EAAE,eAAe,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YACpG,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YAEN,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAKD,uBAAuB;QACrB,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjF,CAAC;IAGD,kBAAkB,CAAC,MAA+C;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjC,IAAI,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,OAAO,CAAC,iBAAiB,CACvB,IAAI,EACJ,aAAa,EACb,MAAM,CAAC,IAAI,CAAC,EACZ,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAGD,mBAAmB,CAAC,MAAe;QACjC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAGD,0BAA0B,CAAC,MAA8C;QACvE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAGD,sBAAsB,CAAC,MAAwB;QAC7C,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAGD,kBAAkB,CAAC,MAAoB;QAErC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAOO,gBAAgB,CAAC,WAAyB;QAChD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAQD,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;IACtC,CAAC;IAQD,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,6BAA6B,CAAC;IAC5C,CAAC;IASD,KAAK,CAAC,wBAAwB,CAAC,KAAiD;QAC9E,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IASD,KAAK,CAAC,0BAA0B,CAAC,KAAiD;QAChF,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAGD,+BAA+B,CAC7B,KAGE;QAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACrC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,KAAsB,CAAC,CAAC;YAC9D,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAMO,KAAK,CAAC,eAAe,CAAC,WAAiB;QAC7C,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAE9D,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC;QAEzE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAClH,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAiCD,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACvF,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC;YACxB,KAAK,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;QACJ,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,iBAAiB,KAAK,wBAAwB,CAAC,KAAK;YACvF,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,qBAA4C,EAAE,IAAI,KAAK,wBAAwB,CAAC,KAAK,CAAC;QAE7H,KAAK,CAAC,yCAAyC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5D,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAC,aAAa;gBACrD,2DAAI,KAAK,EAAC,wBAAwB,EAAC,IAAI,EAAC,YAAY;oBAClD,sEAAe,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG;oBACvC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;oBAClC;wBACE,kEAAW,IAAI,EAAC,cAAc,GAAG;wBACjC,6DAAM,IAAI,EAAC,iBAAiB,IAAE,IAAI,CAAC,OAAO,CAAQ,CAChC,CACjB;gBACL,4DACE,KAAK,EAAE;wBACL,QAAQ,EAAE,IAAI;qBACf,EACD,IAAI,EAAC,eAAe;oBAEpB,wEACE,IAAI,EAAC,UAAU,EACf,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EACtC,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,qBAAqB,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,EACxF,WAAW,EAAC,kLAAkL;wBAE9L,6DAAM,IAAI,EAAC,aAAa;4BACtB,uEAAgB,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,CACpC,CACS,CACd;gBACN,+DAAQ,KAAK,EAAC,wBAAwB,EAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC,mBAAmB;oBACrI,mEAAY,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,CAC9B,CACL;YACN,4DACE,KAAK,EAAE;oBACL,0BAA0B,EAAE,IAAI;oBAChC,iCAAiC,EAAE,WAAW;iBAC/C,EACD,IAAI,EAAC,cAAc;gBAElB,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,CACvG,4DAAK,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,0BAA0B;oBAC9D,kFACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAC,6IAA6I,GAC9H,CACzB,CACP;gBACA,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,eAAe,IAAI,CAClH,gFAAyB,WAAW,EAAE,IAAI,CAAC,WAAW,GAA4B,CACnF;gBACA,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,WAAW,IAAI,CAE1H,gFAAyB,IAAI,EAAC,YAAY,EAAC,WAAW,EAAE,IAAI,CAAC,WAAW;oBACtE,EAAC,WAAW,qDACV,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,IAAI,wBAAwB,CAAC,UAAU,EAChH,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,EAC5D,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EACzD,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB,GACjF,CACsB,CAC3B;gBACA,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,WAAW,IAAI,CAE3H,0EAAmB,IAAI,EAAC,YAAY,EAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW;oBACvG,EAAC,WAAW,qDACV,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,IAAI,wBAAwB,CAAC,UAAU,EAChH,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,EAC5D,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EACzD,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB,GACjF,CACgB,CACrB;gBACA,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,IAAI,CACxH,+BAAyB,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC3F,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,8DAAQ;oBACtC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,IAAI,CACjC,WAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAC,0BAA0B,EAAC,GAAG,EAAE,gBAAgB;wBACpF,6DAAM,IAAI,EAAC,0BAA0B,GAAG,CACpC,CACP,CACuB,CAC3B;gBACA,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,WAAW,IAAI,CACzH,yBAAmB,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC5H,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,8DAAQ;oBACtC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,IAAI,CACjC,WAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAC,0BAA0B,EAAC,GAAG,EAAE,gBAAgB;wBACpF,6DAAM,IAAI,EAAC,0BAA0B,GAAG,CACpC,CACP,CACiB,CACrB;gBACA,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,IAAI,CACnD,6DAAM,IAAI,EAAC,gBAAgB;oBACzB,EAAC,aAAa,qDAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,GAAI,CACvD,CACR,CACG,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { NylasBaseProvider } from '@/common/abstract-provider';\nimport type { SchedulerEditorEventOverride } from '@/common/component-types';\nimport { AuthArgs, NylasIdentityRequestWrapper, User, type NylasApiRequest } from '@/common/nylas-api-request';\nimport { RegisteredComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { CreateNylasSchedulerConfigStore, NylasSchedulerConfigStoreState, NylasSchedulerConfigStoreType } from '@/stores/scheduler-config-store';\nimport { debug, error } from '@/utils/utils';\nimport { Config, NylasSessions } from '@nylas/identity';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { LoginRequired } from './LoginRequired';\nimport ExpressFlow from './ExpressFlow';\nimport { AdditionalParticipant, GroupConfiguration, EnableEventTypes, ThemeConfig } from '@nylas/core';\nimport type { ParticipantFetch, ParticipantSearch } from '@/types';\nimport { Tab } from '../nylas-editor-tabs/tab-contents';\nimport i18next from '@/utils/i18n';\nimport { CONFIGURATION_EVENT_TYPE, EXPERIMENTAL_FEATURES, LANGUAGE_CODE, LANGUAGE_MAP, Locale } from '@/common/constants';\nimport { version } from '@/version';\n\n/**\n * The `nylas-scheduler-editor` component is a form that allows users to configure the settings for the Nylas Scheduler.\n *\n * @slot login-required - This slot is used to display a message when the user is not logged in.\n * @slot custom-page-style-inputs - This slot is used in \"app\" mode to pass a custom page style form to the nylas-page-styling component.\n *\n * @part nse__header - The header of the scheduler editor.\n * @part nse__title - The title of the scheduler editor.\n * @part nse__close-button - The close button of the scheduler editor. Use this part to hide the close button.\n * @part nse__content - The content of the scheduler editor. Use this part to adjust the height of the editor.\n * @part nse__list-configurations - The list of configurations. Use this part to adjust the height of the list.\n * @part nse__login-required - The login required component.\n * @part nse__login-required-card - The card of the login required component.\n * @part nse__login-required-text - The text of the login required component.\n * @part nse__login-required-google-button - The Google button of the login required component.\n * @part nse__login-required-microsoft-button - The Microsoft button of the login required component.\n * @part nse__login-required-other-provider-button - The other provider button of the login required component.\n * @part nse__login-required-disclaimer-text - The icon of the login required component.\n */\n@Component({\n tag: 'nylas-scheduler-editor',\n styleUrl: 'nylas-scheduler-editor.scss',\n shadow: true,\n})\nexport class NylasSchedulerEditor {\n /**\n * Stores to be used by the provider.\n */\n private stores?: {\n schedulerConfig: NylasSchedulerConfigStoreType;\n };\n\n /**\n * This is a base provide that defines the common methods and properties\n * that all providers should have.\n *\n * Because stencil does not support abstract classes, we have to use a\n * property to store the base provider instance.\n */\n private baseProvider?: NylasBaseProvider<Exclude<typeof this.stores, undefined>>;\n\n /**\n * The Nylas Scheduler Config Connector instance.\n * The brains of the provider. It manages data fetching and state synchronization.\n */\n private nylasSchedulerConfigConnector?: NylasSchedulerConfigConnector;\n\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasSchedulerEditorElement;\n\n /***\n * The configuration id to use for the scheduler editor.\n * If provided, then the scheduler editor will try and fetch the configuration\n * with the provided id. If found, it will automatically load the editor\n * with the configuration settings for editing.\n */\n @Prop({ mutable: true }) configurationId?: string;\n\n /**\n * The Nylas Api Request instance.\n * Used to make requests to the Nylas API.\n */\n @Prop({ mutable: true }) nylasApiRequest?: NylasApiRequest;\n\n /**\n * The Nylas Sessions configuration.\n * Used to configure the Nylas Sessions instance.\n */\n @Prop() nylasSessionsConfig?: Config;\n\n /**\n * The default authentication arguments to use when authenticating a user.\n */\n @Prop() defaultAuthArgs?: AuthArgs[];\n\n /**\n * This provides a way to override the default event handlers.\n */\n @Prop() eventOverrides: SchedulerEditorEventOverride = {};\n\n /**\n * The scheduler preview link used when the user clicks the preview button.\n * If `requiresSlug` is true, you can use the placeholder `{slug}` to insert the slug in the link for Nylas hosted scheduling pages.\n * Additionally, you can use the placeholder `{config.id}` to insert the configuration ID anywhere in the link.\n * For example: `https://book.nylas.com/us/<YOUR_NYLAS_APP_CLIENT_ID>/{slug}`.\n * `us` denotes the region. Replace it with the appropriate region of your application.\n * Replace `<YOUR_NYLAS_APP_CLIENT_ID>` with your Nylas app client ID.\n * Note: Nylas hosted scheduling pages are only available for public configurations.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n\n /**\n * The default scheduler config store state.\n * Used to set the initial state of the scheduler config store.\n * This state can be used to pass defaults to newly created configurations.\n */\n @Prop({ attribute: 'default-scheduler-config-store-state' }) readonly defaultSchedulerConfigState?: Partial<NylasSchedulerConfigStoreState>;\n\n /**\n * This is used to set the mode for the scheduler config.\n * The mode can be 'app' or 'composable'.\n * The default mode is 'app'.\n */\n @Prop({ attribute: 'mode' }) readonly mode: 'app' | 'composable' = 'app';\n\n /**\n * This prop is used to populate the additional participants and\n * their availability in the scheduler editor.\n */\n @Prop({ attribute: 'additional-participants' }) additionalParticipants?: AdditionalParticipant[];\n\n /**\n * Callback to fetch full participant info by emails when loading a config for edit.\n * Receives { emails, grantId? }. Use when participants are stored externally (e.g. 1M+ in DB).\n */\n @Prop({ attribute: 'participant-fetch' }) participantFetch?: ParticipantFetch;\n\n /**\n * Grant ID to pass to participantFetch when available (e.g. from multi-account).\n */\n @Prop({ attribute: 'participant-fetch-grant-id' }) participantFetchGrantId?: string;\n\n /**\n * Callback to search participants by query for autocomplete.\n */\n @Prop({ attribute: 'participant-search' }) participantSearch?: ParticipantSearch;\n\n /**\n * This optional prop is used to hide tabs in the editor. Available tabs are:\n * eventInfo, availability, participants, bookingOptions, bookingForm\n */\n @Prop({ attribute: 'hide-editor-tabs' }) hideEditorTabs?: Tab[] = [];\n\n /**\n * This prop will be used to populate the conference provider options in the editor.\n * The key is the provider name ('zoom') and the value is the grant id.\n * We currently support same provider ('google', 'microsoft') for all participants and 'zoom' for cross-provider conferencing.\n */\n @Prop({ attribute: 'conference-providers' }) conferenceProviders?: Record<string, string>;\n\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. If using Nylas hosted scheduling pages, the `schedulerPreviewLink` prop can be set to redirect to a public configuration as follows:\n * `https://book.nylas.com/us/<YOUR_NYLAS_APP_CLIENT_ID>/{slug}`.\n * `us` denotes the region. Replace it with the appropriate region of your application.\n * Replace `<YOUR_NYLAS_APP_CLIENT_ID>` with your Nylas app client ID. The `{slug}` placeholder is replaced with the appropriate slug when the scheduler preview button is clicked.\n * Note: Nylas hosted scheduling pages are only available for public configurations.\n */\n @Prop({ attribute: 'requires-slug' }) requiresSlug: boolean = false;\n\n /**\n * Indicates if the user feedback feature is enabled.\n * By default, this is set to true. When enabled, the user feedback\n * feature will be available in the edit mode.\n * To disable the user feedback feature, set this prop to false.\n */\n @Prop() readonly enableUserFeedback?: boolean = true;\n\n /**\n * This prop will allow to set a default language for the Nylas scheduling page.\n */\n @Prop() readonly defaultLanguage?: LANGUAGE_CODE;\n\n /**\n * This prop will allow to override the default localization strings for each language.\n * Nylas scheduling page currently support the following language codes: en, es, fr, de, sv, zh, ja, nl.\n */\n @Prop() readonly localization?: Partial<Record<LANGUAGE_CODE, Locale>>;\n\n /**\n * This prop will allow to show / hide the option to manage nylas branding in the email template.\n * By default, this is set to true. When enabled, the option to show/hide nylas branding will be shown in the email template.\n * To disable the option to show/hide nylas branding, set this prop to false.\n */\n @Prop() readonly nylasBranding?: boolean = true;\n\n /**\n * This prop enables or disables the ability to configure Notetaker for scheduling pages.\n * By default, this is set to false. When enabled, the Notetaker configuration component will be shown in the Event Info tab.\n */\n @Prop({ attribute: 'enable-notetaker' }) readonly enableNotetaker?: boolean = false;\n\n /**\n * This prop is to opt in to experimental features.\n * Ex: { 'group_events': true }\n */\n @Prop() readonly experimentalFeatures?: Record<EXPERIMENTAL_FEATURES, boolean>;\n\n /**\n * Controls which event types are enabled in the Scheduler.\n *\n * - By default, all event types are enabled and users will see a selection screen when creating a new event.\n * - You can disable specific event types by setting them to `false`.\n * - At least one event type must remain enabled at all times.\n * - If only one event type is enabled, the event type selection screen will be skipped.\n */\n @Prop() readonly enableEventTypes?: EnableEventTypes = {\n one_on_one: true,\n collective: true,\n max_fairness: true,\n max_availability: true,\n group: true,\n };\n\n /**\n * Theme config, used to automatically generate a theme with color palette and\n * CSS variables to customize the look and feel of the Nylas Scheduler.\n */\n @Prop() readonly themeConfig?: ThemeConfig;\n /**\n * This event is fired when the provider is initialized.\n * By default, this event handles determining if the user is logged in or not.\n * In addition, it fetches the provided configuration if a valid configuration id is provided.\n */\n @Event({ cancelable: true }) readonly init!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the the NylasAuth isAuthenticated state changes\n * to true.\n */\n @Event({ cancelable: true }) readonly loggedIn!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the the NylasAuth isAuthenticated state changes\n * to false.\n */\n @Event({ cancelable: true }) readonly loggedOut!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the close button on scheduler config is clicked.\n */\n @Event({ cancelable: true }) readonly schedulerConfigCloseClicked!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * Automatically register components that have the `@RegisterComponent` decorator.\n * If this is set to false, you will need to manually register components using the\n * `registerComponent` method.\n * @default true\n */\n @State() automaticComponentRegistration: boolean = true;\n\n /**\n * This state will track the current selected language of the scheduler page.\n */\n @State() selectedLanguage: LANGUAGE_CODE = this.defaultLanguage || LANGUAGE_CODE.en;\n\n /**\n * This state will track the current language version of the state.\n * This is used to force the component to re-render when the localization prop is updated.\n */\n @State() langVersion: number = 0;\n\n /**\n * The version of the Nylas Scheduler.\n */\n @State() version: string = version;\n\n connectedCallback() {\n debug(`[nylas-scheduler-editor] connectedCallback`);\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n async componentWillLoad() {\n debug(`[nylas-scheduler-editor] componentWillLoad`);\n\n // Yield to allow the React wrapper (@stencil/react-output-target/runtime)\n // to set properties via useLayoutEffect before we read them.\n // Without this, componentWillLoad runs before props like nylasSessionsConfig\n // and nylasApiRequest are set, causing the auth page to appear on re-renders.\n await Promise.resolve();\n\n const filteredAdditionalParticipants = this.additionalParticipants?.filter(participant => {\n const filteredCalendars = participant.calendars?.length > 0 ? participant.calendars.filter(calendar => calendar.id && calendar.name) : [];\n if (participant.name && participant.email && filteredCalendars.length > 0) {\n return {\n name: participant.name,\n email: participant.email,\n calendars: filteredCalendars,\n };\n }\n });\n this.stores = {\n schedulerConfig: CreateNylasSchedulerConfigStore({\n ...this.defaultSchedulerConfigState,\n additionalParticipants: filteredAdditionalParticipants,\n participantFetch: this.participantFetch,\n participantFetchGrantId: this.participantFetchGrantId,\n participantSearch: this.participantSearch,\n conferenceProviders: this.conferenceProviders,\n requiresSlug: this.requiresSlug,\n selectedLanguage: this.defaultLanguage || LANGUAGE_CODE.en,\n nylasBranding: this.nylasBranding,\n experimentalFeatures: this.experimentalFeatures,\n enableEventTypes: this.enableEventTypes,\n themeConfig: this.themeConfig,\n }),\n };\n\n if (!this.nylasApiRequest && this.nylasSessionsConfig) {\n const nylasSession = new NylasSessions(this.nylasSessionsConfig);\n\n // We must check if the user is logged in before continuing\n // otherwise, a PCKE code will not be generated and the user\n // will not be able to log in.\n await nylasSession.isLoggedIn();\n\n // Watch for login events so that we can automatically update the state\n nylasSession.onLoginSuccess(async () => {\n const currentUser = await this.nylasSchedulerConfigConnector?.schedulerConfig?.currentUser();\n if (currentUser) {\n const loggedInEvent = this.loggedIn.emit(this.host);\n if ('loggedIn' in this.eventOverrides) {\n await this.eventOverrides.loggedIn(loggedInEvent, this.nylasSchedulerConfigConnector);\n }\n if (!loggedInEvent.defaultPrevented) {\n await this.loggedInHandler(currentUser);\n }\n }\n });\n\n // Watch for logout events so that we can automatically update the state\n nylasSession.onLoginFail(async () => {\n this.stores?.schedulerConfig?.set('currentUser', null);\n const loggedOutEvent = this.loggedOut.emit(this.host);\n if ('loggedOut' in this.eventOverrides) {\n await this.eventOverrides.loggedOut(loggedOutEvent, this.nylasSchedulerConfigConnector);\n if (loggedOutEvent.defaultPrevented) {\n return;\n }\n }\n });\n\n this.nylasApiRequest = new NylasIdentityRequestWrapper(nylasSession);\n }\n\n if (this.nylasApiRequest && this.defaultAuthArgs) {\n this.nylasApiRequest.setDefaultAuthArgs(this.defaultAuthArgs);\n }\n\n this.baseProvider = new NylasBaseProvider(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides);\n\n const nylasSchedulerConfigStore = this.baseProvider.getStore('schedulerConfig');\n this.nylasSchedulerConfigConnector = new NylasSchedulerConfigConnector({\n nylasApiRequest: this.nylasApiRequest,\n nylasSchedulerConfigStore: nylasSchedulerConfigStore,\n });\n\n const initEvent = this.init.emit(this.host);\n if ('init' in this.eventOverrides) {\n await this.eventOverrides.init(initEvent, this.nylasSchedulerConfigConnector);\n }\n\n if (!initEvent.defaultPrevented) {\n const currentUser = await this.nylasSchedulerConfigConnector?.schedulerConfig?.currentUser();\n if (currentUser) {\n const loggedInEvent = this.loggedIn.emit(this.host);\n if ('loggedIn' in this.eventOverrides) {\n await this.eventOverrides.loggedIn(loggedInEvent, this.nylasSchedulerConfigConnector);\n }\n if (!loggedInEvent.defaultPrevented) {\n await this.loggedInHandler(currentUser);\n }\n } else {\n this.stores?.schedulerConfig?.set('currentUser', null);\n const loggedOutEvent = this.loggedOut.emit(this.host);\n if ('loggedOut' in this.eventOverrides) {\n await this.eventOverrides.loggedOut(loggedOutEvent, this.nylasSchedulerConfigConnector);\n if (loggedOutEvent.defaultPrevented) {\n return;\n }\n }\n }\n }\n\n // Watch for store changes\n this.stores?.schedulerConfig?.onChange('selectedConfiguration', async config => {\n if (config && config.id) {\n this.configurationId = config.id;\n }\n });\n\n this.baseProvider?.componentWillLoad(this.nylasSchedulerConfigConnector);\n // Override theme\n this.applyThemeConfig(this.themeConfig);\n }\n\n async componentDidLoad() {\n debug(`[nylas-scheduler-editor] componentDidLoad`);\n await this.baseProvider?.componentDidLoad();\n this.updateLocalization(this.localization);\n this.version = version;\n }\n\n async componentDisconnected() {\n await this.baseProvider?.componentDisconnected();\n }\n\n /**\n * Watch for changes to the configuration id and automatically fetch the configuration\n * when the configuration id changes. If the configuration id is cleared, then the\n * configuration is cleared as well.\n * @param newConfigurationId The new configuration id\n */\n @Watch('configurationId')\n async configurationIdChanged(newConfigurationId: string) {\n if (newConfigurationId) {\n await this.nylasSchedulerConfigConnector?.schedulerConfig?.getConfigurationById(newConfigurationId);\n this.stores?.schedulerConfig?.set('action', 'edit');\n } else {\n // Clear the configuration\n this.stores?.schedulerConfig?.set('selectedConfiguration', {});\n this.stores?.schedulerConfig?.set('action', null);\n }\n }\n\n @Watch('participantFetch')\n @Watch('participantFetchGrantId')\n @Watch('participantSearch')\n participantPropsChanged() {\n this.stores?.schedulerConfig?.set('participantFetch', this.participantFetch);\n this.stores?.schedulerConfig?.set('participantFetchGrantId', this.participantFetchGrantId);\n this.stores?.schedulerConfig?.set('participantSearch', this.participantSearch);\n }\n\n @Watch('localization')\n updateLocalization(newVal?: Partial<Record<LANGUAGE_CODE, Locale>>) {\n if (!newVal) {\n return;\n }\n\n Object.keys(newVal).forEach(lang => {\n if (!(lang in LANGUAGE_CODE)) {\n return;\n }\n i18next.addResourceBundle(\n lang,\n 'translation',\n newVal[lang],\n false, // Merge with existing translations\n true, // Replace the existing translations with the same key\n );\n });\n this.langVersion++;\n }\n\n @Watch('nylasBranding')\n updateNylasBranding(newVal: boolean) {\n this.stores?.schedulerConfig?.set('nylasBranding', newVal);\n }\n\n @Watch('experimentalFeatures')\n updateExperimentalFeatures(newVal: Record<EXPERIMENTAL_FEATURES, boolean>) {\n this.stores?.schedulerConfig?.set('experimentalFeatures', newVal);\n }\n\n @Watch('enableEventTypes')\n updateEnableEventTypes(newVal: EnableEventTypes) {\n this.stores?.schedulerConfig?.set('enableEventTypes', newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChanged(newVal?: ThemeConfig) {\n // Set the theme config in the store, hosted page will use this to apply/re-apply the theme\n this.baseProvider?.getStore('schedulerConfig')?.set('themeConfig', newVal);\n this.applyThemeConfig(newVal);\n }\n\n /**\n * This method is used to apply the theme config to the host element.\n * Sets CSS custom properties and marks the component as themed to prevent FOUC.\n * @param themeConfig The theme config to apply.\n */\n private applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * This method is used to get the NylasSchedulerConfigStore instance.\n * You can use this instance to update or get the state of the store.\n * @returns Promise<NylasSchedulerConfigStoreType | undefined>\n */\n @Method()\n async store(): Promise<NylasSchedulerConfigStoreType | undefined> {\n return this.stores?.schedulerConfig;\n }\n\n /**\n * This method is used to get the NylasSchedulerConfigConnector instance.\n * You can use this instance to make requests to the Nylas API.\n * @returns Promise<NylasSchedulerConfigConnector | undefined>\n */\n @Method()\n async schedulerConnector(): Promise<NylasSchedulerConfigConnector | undefined> {\n return this.nylasSchedulerConfigConnector;\n }\n\n /**\n * This is a custom event handler that is used to register a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to register\n * @returns Promise<void>\n */\n @Listen('registerComponent')\n async registerComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.registerComponent(event.detail);\n }\n\n /**\n * This is a custom event handler that is used to unregister a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to unregister\n * @returns Promise<void>\n */\n @Listen('unregisterComponent')\n async unregisterComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.unregisterComponent(event.detail);\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'language') {\n this.selectedLanguage = LANGUAGE_CODE[value as LANGUAGE_CODE];\n i18next.changeLanguage(this.selectedLanguage);\n this.stores?.schedulerConfig?.set('selectedLanguage', this.selectedLanguage);\n }\n }\n\n /**\n * Upon login, set the current user and fetch the configuration and calendars.\n * @param currentUser The current user that is logged in\n */\n private async loggedInHandler(currentUser: User) {\n this.stores?.schedulerConfig?.set('currentUser', currentUser);\n\n if (!this.nylasSchedulerConfigConnector) {\n return;\n }\n\n await this.nylasSchedulerConfigConnector.schedulerConfig?.getCalendars();\n\n if (this.configurationId) {\n const data = await this.nylasSchedulerConfigConnector.schedulerConfig?.getConfigurationById(this.configurationId);\n if (data && data[0]?.id) {\n this.stores?.schedulerConfig?.set('action', 'edit');\n }\n }\n }\n\n /**\n * This is a custom event handler that is used to update the state of the provider.\n */\n private handleSchedulerConfigCloseClicked = (_event: Event) => {\n const event = this.schedulerConfigCloseClicked.emit(this.host);\n if ('schedulerConfigCloseClicked' in this.eventOverrides) {\n this.eventOverrides.schedulerConfigCloseClicked(event, this.nylasSchedulerConfigConnector);\n }\n\n if (!event.defaultPrevented) {\n localStorage.removeItem('grant');\n localStorage.removeItem('user');\n window.location.reload();\n }\n };\n\n /**\n * This method is used to get the authentication URL for a provider.\n * @param provider The provider to get the authentication URL for (e.g. google, microsoft, etc.)\n * @returns Promise<string> The authentication URL to redirect the user for the provider\n */\n private authenticationUrl = async (provider?: string) => {\n if (!this.nylasApiRequest) {\n error(`[nylas-scheduler-editor] Nylas API Request is not initialized.`);\n return '';\n }\n const url = await this.nylasApiRequest.authenticationUrl({ provider });\n\n return url || '';\n };\n\n render() {\n const hasSlot = this.host.querySelector('[slot=\"custom-page-style-inputs\"]');\n const selectedConfigId = this.stores?.schedulerConfig?.state.selectedConfiguration?.id;\n const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n const isGroupType =\n this.stores?.schedulerConfig?.state.selectedEventType === CONFIGURATION_EVENT_TYPE.group ||\n (this.stores?.schedulerConfig?.state.selectedConfiguration as GroupConfiguration)?.type === CONFIGURATION_EVENT_TYPE.group;\n\n debug(`[nylas-scheduler-editor] render mode: ${this.mode}`);\n\n return (\n <Host>\n <div class=\"scheduler-editor-header\" part=\"nse__header\">\n <h1 class=\"scheduler-editor-title\" part=\"nse__title\">\n <calendar-icon width=\"18\" height=\"18\" />\n {i18next.t('schedulerEditorTitle')}\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{this.version}</span>\n </tooltip-component>\n </h1>\n <div\n class={{\n language: true,\n }}\n part=\"nse__language\"\n >\n <select-dropdown\n name=\"language\"\n searchPlaceholder={i18next.t('search')}\n options={languageOptions}\n withChevron={false}\n themeConfig={this.themeConfig}\n defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}\n exportparts=\"sd_dropdown: nse__language-dropdown, sd_dropdown-button: nse__language-drop-button, sd_dropdown-content: nse__language-drop-content, sd_dropdown_label: nse__language-drop-label\"\n >\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <button class=\"scheduler-editor-close\" title=\"logout\" onClick={e => this.handleSchedulerConfigCloseClicked(e)} part=\"nse__close-button\">\n <close-icon width=\"18\" height=\"18\" />\n </button>\n </div>\n <div\n class={{\n 'scheduler-editor-content': true,\n 'scheduler-editor-content--group': isGroupType,\n }}\n part=\"nse__content\"\n >\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === null && (\n <div class=\"list-configurations\" part=\"nse__list-configurations\">\n <nylas-list-configurations\n themeConfig={this.themeConfig}\n exportparts=\"nlc__create-new-cta, actions__dropdown, actions__dropdown-button, actions__dropdown-content, actions-Copy, actions-Preview, actions-Delete\"\n ></nylas-list-configurations>\n </div>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create-select' && (\n <nylas-select-event-type themeConfig={this.themeConfig}></nylas-select-event-type>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create' && isGroupType && (\n // If the mode is 'app', then render the editor tabs in a composable mode with children for creating a new configuration (Express flow).\n <nylas-editor-tabs-group mode=\"composable\" themeConfig={this.themeConfig}>\n <ExpressFlow\n selectedEventType={this.stores?.schedulerConfig?.state?.selectedEventType || CONFIGURATION_EVENT_TYPE.one_on_one}\n currentUser={this.stores?.schedulerConfig?.state.currentUser}\n calendars={this.stores?.schedulerConfig?.state?.calendars}\n selectedConfiguration={this.stores?.schedulerConfig?.state?.selectedConfiguration}\n />\n </nylas-editor-tabs-group>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create' && !isGroupType && (\n // If the mode is 'app', then render the editor tabs in a composable mode with children for creating a new configuration (Express flow).\n <nylas-editor-tabs mode=\"composable\" enableNotetaker={this.enableNotetaker} themeConfig={this.themeConfig}>\n <ExpressFlow\n selectedEventType={this.stores?.schedulerConfig?.state?.selectedEventType || CONFIGURATION_EVENT_TYPE.one_on_one}\n currentUser={this.stores?.schedulerConfig?.state.currentUser}\n calendars={this.stores?.schedulerConfig?.state?.calendars}\n selectedConfiguration={this.stores?.schedulerConfig?.state?.selectedConfiguration}\n />\n </nylas-editor-tabs>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'edit' && isGroupType && (\n <nylas-editor-tabs-group key={selectedConfigId} mode={this.mode} themeConfig={this.themeConfig}>\n {this.mode === 'composable' && <slot />}\n {this.mode === 'app' && hasSlot && (\n <div style={{ display: 'none' }} slot=\"custom-page-style-inputs\" key={selectedConfigId}>\n <slot name=\"custom-page-style-inputs\" />\n </div>\n )}\n </nylas-editor-tabs-group>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'edit' && !isGroupType && (\n <nylas-editor-tabs key={selectedConfigId} mode={this.mode} enableNotetaker={this.enableNotetaker} themeConfig={this.themeConfig}>\n {this.mode === 'composable' && <slot />}\n {this.mode === 'app' && hasSlot && (\n <div style={{ display: 'none' }} slot=\"custom-page-style-inputs\" key={selectedConfigId}>\n <slot name=\"custom-page-style-inputs\" />\n </div>\n )}\n </nylas-editor-tabs>\n )}\n {!this.stores?.schedulerConfig?.state.currentUser && (\n <slot name=\"login-required\">\n <LoginRequired authenticationUrl={this.authenticationUrl} />\n </slot>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"nylas-scheduler-editor.js","sourceRoot":"","sources":["../../../../../src/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.tsx"],"names":[],"mappings":"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","sourcesContent":["import { NylasBaseProvider } from '@/common/abstract-provider';\nimport type { SchedulerEditorEventOverride } from '@/common/component-types';\nimport { AuthArgs, NylasIdentityRequestWrapper, User, type NylasApiRequest } from '@/common/nylas-api-request';\nimport { RegisteredComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { CreateNylasSchedulerConfigStore, NylasSchedulerConfigStoreState, NylasSchedulerConfigStoreType } from '@/stores/scheduler-config-store';\nimport { debug, error } from '@/utils/utils';\nimport { Config, NylasSessions } from '@nylas/identity';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { LoginRequired } from './LoginRequired';\nimport ExpressFlow from './ExpressFlow';\nimport { AdditionalParticipant, GroupConfiguration, EnableEventTypes, ThemeConfig } from '@nylas/core';\nimport type { Notification } from '@/types/index';\nimport type { ParticipantFetch, ParticipantSearch } from '@/types';\nimport { Tab } from '../nylas-editor-tabs/tab-contents';\nimport i18next from '@/utils/i18n';\nimport { CONFIGURATION_EVENT_TYPE, EXPERIMENTAL_FEATURES, LANGUAGE_CODE, LANGUAGE_MAP, Locale } from '@/common/constants';\nimport { version } from '@/version';\n\n/**\n * The `nylas-scheduler-editor` component is a form that allows users to configure the settings for the Nylas Scheduler.\n *\n * @slot login-required - This slot is used to display a message when the user is not logged in.\n * @slot custom-page-style-inputs - This slot is used in \"app\" mode to pass a custom page style form to the nylas-page-styling component.\n *\n * @part nse__header - The header of the scheduler editor.\n * @part nse__title - The title of the scheduler editor.\n * @part nse__close-button - The close button of the scheduler editor. Use this part to hide the close button.\n * @part nse__content - The content of the scheduler editor. Use this part to adjust the height of the editor.\n * @part nse__list-configurations - The list of configurations. Use this part to adjust the height of the list.\n * @part nse__login-required - The login required component.\n * @part nse__login-required-card - The card of the login required component.\n * @part nse__login-required-text - The text of the login required component.\n * @part nse__login-required-google-button - The Google button of the login required component.\n * @part nse__login-required-microsoft-button - The Microsoft button of the login required component.\n * @part nse__login-required-other-provider-button - The other provider button of the login required component.\n * @part nse__login-required-disclaimer-text - The icon of the login required component.\n */\n@Component({\n tag: 'nylas-scheduler-editor',\n styleUrl: 'nylas-scheduler-editor.scss',\n shadow: true,\n})\nexport class NylasSchedulerEditor {\n /**\n * Stores to be used by the provider.\n */\n private stores?: {\n schedulerConfig: NylasSchedulerConfigStoreType;\n };\n\n /**\n * This is a base provide that defines the common methods and properties\n * that all providers should have.\n *\n * Because stencil does not support abstract classes, we have to use a\n * property to store the base provider instance.\n */\n private baseProvider?: NylasBaseProvider<Exclude<typeof this.stores, undefined>>;\n\n /**\n * The Nylas Scheduler Config Connector instance.\n * The brains of the provider. It manages data fetching and state synchronization.\n */\n private nylasSchedulerConfigConnector?: NylasSchedulerConfigConnector;\n\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasSchedulerEditorElement;\n\n /***\n * The configuration id to use for the scheduler editor.\n * If provided, then the scheduler editor will try and fetch the configuration\n * with the provided id. If found, it will automatically load the editor\n * with the configuration settings for editing.\n */\n @Prop({ mutable: true }) configurationId?: string;\n\n /**\n * The Nylas Api Request instance.\n * Used to make requests to the Nylas API.\n */\n @Prop({ mutable: true }) nylasApiRequest?: NylasApiRequest;\n\n /**\n * The Nylas Sessions configuration.\n * Used to configure the Nylas Sessions instance.\n */\n @Prop() nylasSessionsConfig?: Config;\n\n /**\n * The default authentication arguments to use when authenticating a user.\n */\n @Prop() defaultAuthArgs?: AuthArgs[];\n\n /**\n * This provides a way to override the default event handlers.\n */\n @Prop() eventOverrides: SchedulerEditorEventOverride = {};\n\n /**\n * The scheduler preview link used when the user clicks the preview button.\n * If `requiresSlug` is true, you can use the placeholder `{slug}` to insert the slug in the link for Nylas hosted scheduling pages.\n * Additionally, you can use the placeholder `{config.id}` to insert the configuration ID anywhere in the link.\n * For example: `https://book.nylas.com/us/<YOUR_NYLAS_APP_CLIENT_ID>/{slug}`.\n * `us` denotes the region. Replace it with the appropriate region of your application.\n * Replace `<YOUR_NYLAS_APP_CLIENT_ID>` with your Nylas app client ID.\n * Note: Nylas hosted scheduling pages are only available for public configurations.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n\n /**\n * The default scheduler config store state.\n * Used to set the initial state of the scheduler config store.\n * This state can be used to pass defaults to newly created configurations.\n */\n @Prop({ attribute: 'default-scheduler-config-store-state' }) readonly defaultSchedulerConfigState?: Partial<NylasSchedulerConfigStoreState>;\n\n /**\n * This is used to set the mode for the scheduler config.\n * The mode can be 'app' or 'composable'.\n * The default mode is 'app'.\n */\n @Prop({ attribute: 'mode' }) readonly mode: 'app' | 'composable' = 'app';\n\n /**\n * This prop is used to populate the additional participants and\n * their availability in the scheduler editor.\n */\n @Prop({ attribute: 'additional-participants' }) additionalParticipants?: AdditionalParticipant[];\n\n /**\n * Callback to fetch full participant info by emails when loading a config for edit.\n * Receives { emails, grantId? }. Use when participants are stored externally (e.g. 1M+ in DB).\n */\n @Prop({ attribute: 'participant-fetch' }) participantFetch?: ParticipantFetch;\n\n /**\n * Grant ID to pass to participantFetch when available (e.g. from multi-account).\n */\n @Prop({ attribute: 'participant-fetch-grant-id' }) participantFetchGrantId?: string;\n\n /**\n * Callback to search participants by query for autocomplete.\n */\n @Prop({ attribute: 'participant-search' }) participantSearch?: ParticipantSearch;\n\n /**\n * This optional prop is used to hide tabs in the editor. Available tabs are:\n * eventInfo, availability, participants, bookingOptions, bookingForm\n */\n @Prop({ attribute: 'hide-editor-tabs' }) hideEditorTabs?: Tab[] = [];\n\n /**\n * This prop will be used to populate the conference provider options in the editor.\n * The key is the provider name ('zoom') and the value is the grant id.\n * We currently support same provider ('google', 'microsoft') for all participants and 'zoom' for cross-provider conferencing.\n */\n @Prop({ attribute: 'conference-providers' }) conferenceProviders?: Record<string, string>;\n\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. If using Nylas hosted scheduling pages, the `schedulerPreviewLink` prop can be set to redirect to a public configuration as follows:\n * `https://book.nylas.com/us/<YOUR_NYLAS_APP_CLIENT_ID>/{slug}`.\n * `us` denotes the region. Replace it with the appropriate region of your application.\n * Replace `<YOUR_NYLAS_APP_CLIENT_ID>` with your Nylas app client ID. The `{slug}` placeholder is replaced with the appropriate slug when the scheduler preview button is clicked.\n * Note: Nylas hosted scheduling pages are only available for public configurations.\n */\n @Prop({ attribute: 'requires-slug' }) requiresSlug: boolean = false;\n\n /**\n * Indicates if the user feedback feature is enabled.\n * By default, this is set to true. When enabled, the user feedback\n * feature will be available in the edit mode.\n * To disable the user feedback feature, set this prop to false.\n */\n @Prop() readonly enableUserFeedback?: boolean = true;\n\n /**\n * This prop will allow to set a default language for the Nylas scheduling page.\n */\n @Prop() readonly defaultLanguage?: LANGUAGE_CODE;\n\n /**\n * This prop will allow to override the default localization strings for each language.\n * Nylas scheduling page currently support the following language codes: en, es, fr, de, sv, zh, ja, nl.\n */\n @Prop() readonly localization?: Partial<Record<LANGUAGE_CODE, Locale>>;\n\n /**\n * This prop will allow to show / hide the option to manage nylas branding in the email template.\n * By default, this is set to true. When enabled, the option to show/hide nylas branding will be shown in the email template.\n * To disable the option to show/hide nylas branding, set this prop to false.\n */\n @Prop() readonly nylasBranding?: boolean = true;\n\n /**\n * This prop enables or disables the ability to configure Notetaker for scheduling pages.\n * By default, this is set to false. When enabled, the Notetaker configuration component will be shown in the Event Info tab.\n */\n @Prop({ attribute: 'enable-notetaker' }) readonly enableNotetaker?: boolean = false;\n\n /**\n * This prop is to opt in to experimental features.\n * Ex: { 'group_events': true }\n */\n @Prop() readonly experimentalFeatures?: Record<EXPERIMENTAL_FEATURES, boolean>;\n\n /**\n * Controls which event types are enabled in the Scheduler.\n *\n * - By default, all event types are enabled and users will see a selection screen when creating a new event.\n * - You can disable specific event types by setting them to `false`.\n * - At least one event type must remain enabled at all times.\n * - If only one event type is enabled, the event type selection screen will be skipped.\n */\n @Prop() readonly enableEventTypes?: EnableEventTypes = {\n one_on_one: true,\n collective: true,\n max_fairness: true,\n max_availability: true,\n group: true,\n };\n\n /**\n * Theme config, used to automatically generate a theme with color palette and\n * CSS variables to customize the look and feel of the Nylas Scheduler.\n */\n @Prop() readonly themeConfig?: ThemeConfig;\n /**\n * This event is fired when the provider is initialized.\n * By default, this event handles determining if the user is logged in or not.\n * In addition, it fetches the provided configuration if a valid configuration id is provided.\n */\n @Event({ cancelable: true }) readonly init!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the the NylasAuth isAuthenticated state changes\n * to true.\n */\n @Event({ cancelable: true }) readonly loggedIn!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the the NylasAuth isAuthenticated state changes\n * to false.\n */\n @Event({ cancelable: true }) readonly loggedOut!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the close button on scheduler config is clicked.\n */\n @Event({ cancelable: true }) readonly schedulerConfigCloseClicked!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when an error occurs in the scheduler editor or any of its child components.\n * It captures `nylasSchedulerError` events from child components (nylas-editor-tabs,\n * nylas-list-configurations, etc.) and re-emits them as `nylasSchedulerEditorError`.\n * In React, use the `onNylasSchedulerEditorError` prop to handle these errors.\n */\n @Event({ eventName: 'nylasSchedulerEditorError', cancelable: false })\n nylasSchedulerEditorError!: EventEmitter<{ notification: Notification; host: HTMLElement }>;\n\n /**\n * Automatically register components that have the `@RegisterComponent` decorator.\n * If this is set to false, you will need to manually register components using the\n * `registerComponent` method.\n * @default true\n */\n @State() automaticComponentRegistration: boolean = true;\n\n /**\n * This state will track the current selected language of the scheduler page.\n */\n @State() selectedLanguage: LANGUAGE_CODE = this.defaultLanguage || LANGUAGE_CODE.en;\n\n /**\n * This state will track the current language version of the state.\n * This is used to force the component to re-render when the localization prop is updated.\n */\n @State() langVersion: number = 0;\n\n /**\n * The version of the Nylas Scheduler.\n */\n @State() version: string = version;\n\n connectedCallback() {\n debug(`[nylas-scheduler-editor] connectedCallback`);\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n async componentWillLoad() {\n debug(`[nylas-scheduler-editor] componentWillLoad`);\n\n // Yield to allow the React wrapper (@stencil/react-output-target/runtime)\n // to set properties via useLayoutEffect before we read them.\n // Without this, componentWillLoad runs before props like nylasSessionsConfig\n // and nylasApiRequest are set, causing the auth page to appear on re-renders.\n await Promise.resolve();\n\n const filteredAdditionalParticipants = this.additionalParticipants?.filter(participant => {\n const filteredCalendars = participant.calendars?.length > 0 ? participant.calendars.filter(calendar => calendar.id && calendar.name) : [];\n if (participant.name && participant.email && filteredCalendars.length > 0) {\n return {\n name: participant.name,\n email: participant.email,\n calendars: filteredCalendars,\n };\n }\n });\n this.stores = {\n schedulerConfig: CreateNylasSchedulerConfigStore({\n ...this.defaultSchedulerConfigState,\n additionalParticipants: filteredAdditionalParticipants || [],\n participantFetch: this.participantFetch,\n participantFetchGrantId: this.participantFetchGrantId,\n participantSearch: this.participantSearch,\n conferenceProviders: this.conferenceProviders,\n requiresSlug: this.requiresSlug,\n selectedLanguage: this.defaultLanguage || LANGUAGE_CODE.en,\n nylasBranding: this.nylasBranding,\n experimentalFeatures: this.experimentalFeatures,\n enableEventTypes: this.enableEventTypes,\n themeConfig: this.themeConfig,\n }),\n };\n\n if (!this.nylasApiRequest && this.nylasSessionsConfig) {\n const nylasSession = new NylasSessions(this.nylasSessionsConfig);\n\n // We must check if the user is logged in before continuing\n // otherwise, a PCKE code will not be generated and the user\n // will not be able to log in.\n await nylasSession.isLoggedIn();\n\n // Watch for login events so that we can automatically update the state\n nylasSession.onLoginSuccess(async () => {\n const currentUser = await this.nylasSchedulerConfigConnector?.schedulerConfig?.currentUser();\n if (currentUser) {\n const loggedInEvent = this.loggedIn.emit(this.host);\n if ('loggedIn' in this.eventOverrides) {\n await this.eventOverrides.loggedIn(loggedInEvent, this.nylasSchedulerConfigConnector);\n }\n if (!loggedInEvent.defaultPrevented) {\n await this.loggedInHandler(currentUser);\n }\n }\n });\n\n // Watch for logout events so that we can automatically update the state\n nylasSession.onLoginFail(async () => {\n this.stores?.schedulerConfig?.set('currentUser', null);\n const loggedOutEvent = this.loggedOut.emit(this.host);\n if ('loggedOut' in this.eventOverrides) {\n await this.eventOverrides.loggedOut(loggedOutEvent, this.nylasSchedulerConfigConnector);\n if (loggedOutEvent.defaultPrevented) {\n return;\n }\n }\n });\n\n this.nylasApiRequest = new NylasIdentityRequestWrapper(nylasSession);\n }\n\n if (this.nylasApiRequest && this.defaultAuthArgs) {\n this.nylasApiRequest.setDefaultAuthArgs(this.defaultAuthArgs);\n }\n\n this.baseProvider = new NylasBaseProvider(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides);\n\n const nylasSchedulerConfigStore = this.baseProvider.getStore('schedulerConfig');\n this.nylasSchedulerConfigConnector = new NylasSchedulerConfigConnector({\n nylasApiRequest: this.nylasApiRequest,\n nylasSchedulerConfigStore: nylasSchedulerConfigStore,\n });\n\n const initEvent = this.init.emit(this.host);\n if ('init' in this.eventOverrides) {\n await this.eventOverrides.init(initEvent, this.nylasSchedulerConfigConnector);\n }\n\n if (!initEvent.defaultPrevented) {\n const currentUser = await this.nylasSchedulerConfigConnector?.schedulerConfig?.currentUser();\n if (currentUser) {\n const loggedInEvent = this.loggedIn.emit(this.host);\n if ('loggedIn' in this.eventOverrides) {\n await this.eventOverrides.loggedIn(loggedInEvent, this.nylasSchedulerConfigConnector);\n }\n if (!loggedInEvent.defaultPrevented) {\n await this.loggedInHandler(currentUser);\n }\n } else {\n this.stores?.schedulerConfig?.set('currentUser', null);\n const loggedOutEvent = this.loggedOut.emit(this.host);\n if ('loggedOut' in this.eventOverrides) {\n await this.eventOverrides.loggedOut(loggedOutEvent, this.nylasSchedulerConfigConnector);\n if (loggedOutEvent.defaultPrevented) {\n return;\n }\n }\n }\n }\n\n // Watch for store changes\n this.stores?.schedulerConfig?.onChange('selectedConfiguration', async config => {\n if (config && config.id) {\n this.configurationId = config.id;\n }\n });\n\n this.baseProvider?.componentWillLoad(this.nylasSchedulerConfigConnector);\n // Override theme\n this.applyThemeConfig(this.themeConfig);\n }\n\n async componentDidLoad() {\n debug(`[nylas-scheduler-editor] componentDidLoad`);\n await this.baseProvider?.componentDidLoad();\n this.updateLocalization(this.localization);\n this.version = version;\n }\n\n async componentDisconnected() {\n await this.baseProvider?.componentDisconnected();\n }\n\n /**\n * Watch for changes to the configuration id and automatically fetch the configuration\n * when the configuration id changes. If the configuration id is cleared, then the\n * configuration is cleared as well.\n * @param newConfigurationId The new configuration id\n */\n @Watch('configurationId')\n async configurationIdChanged(newConfigurationId: string) {\n if (newConfigurationId) {\n await this.nylasSchedulerConfigConnector?.schedulerConfig?.getConfigurationById(newConfigurationId);\n this.stores?.schedulerConfig?.set('action', 'edit');\n } else {\n // Clear the configuration\n this.stores?.schedulerConfig?.set('selectedConfiguration', {});\n this.stores?.schedulerConfig?.set('action', null);\n }\n }\n\n @Watch('participantFetch')\n @Watch('participantFetchGrantId')\n @Watch('participantSearch')\n participantPropsChanged() {\n this.stores?.schedulerConfig?.set('participantFetch', this.participantFetch);\n this.stores?.schedulerConfig?.set('participantFetchGrantId', this.participantFetchGrantId);\n this.stores?.schedulerConfig?.set('participantSearch', this.participantSearch);\n }\n\n @Watch('localization')\n updateLocalization(newVal?: Partial<Record<LANGUAGE_CODE, Locale>>) {\n if (!newVal) {\n return;\n }\n\n Object.keys(newVal).forEach(lang => {\n if (!(lang in LANGUAGE_CODE)) {\n return;\n }\n i18next.addResourceBundle(\n lang,\n 'translation',\n newVal[lang],\n false, // Merge with existing translations\n true, // Replace the existing translations with the same key\n );\n });\n this.langVersion++;\n }\n\n @Watch('nylasBranding')\n updateNylasBranding(newVal: boolean) {\n this.stores?.schedulerConfig?.set('nylasBranding', newVal);\n }\n\n @Watch('experimentalFeatures')\n updateExperimentalFeatures(newVal: Record<EXPERIMENTAL_FEATURES, boolean>) {\n this.stores?.schedulerConfig?.set('experimentalFeatures', newVal);\n }\n\n @Watch('enableEventTypes')\n updateEnableEventTypes(newVal: EnableEventTypes) {\n this.stores?.schedulerConfig?.set('enableEventTypes', newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChanged(newVal?: ThemeConfig) {\n // Set the theme config in the store, hosted page will use this to apply/re-apply the theme\n this.baseProvider?.getStore('schedulerConfig')?.set('themeConfig', newVal);\n this.applyThemeConfig(newVal);\n }\n\n /**\n * This method is used to apply the theme config to the host element.\n * Sets CSS custom properties and marks the component as themed to prevent FOUC.\n * @param themeConfig The theme config to apply.\n */\n private applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * This method is used to get the NylasSchedulerConfigStore instance.\n * You can use this instance to update or get the state of the store.\n * @returns Promise<NylasSchedulerConfigStoreType | undefined>\n */\n @Method()\n async store(): Promise<NylasSchedulerConfigStoreType | undefined> {\n return this.stores?.schedulerConfig;\n }\n\n /**\n * This method is used to get the NylasSchedulerConfigConnector instance.\n * You can use this instance to make requests to the Nylas API.\n * @returns Promise<NylasSchedulerConfigConnector | undefined>\n */\n @Method()\n async schedulerConnector(): Promise<NylasSchedulerConfigConnector | undefined> {\n return this.nylasSchedulerConfigConnector;\n }\n\n /**\n * This is a custom event handler that is used to register a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to register\n * @returns Promise<void>\n */\n @Listen('registerComponent')\n async registerComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.registerComponent(event.detail);\n }\n\n /**\n * This is a custom event handler that is used to unregister a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to unregister\n * @returns Promise<void>\n */\n @Listen('unregisterComponent')\n async unregisterComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.unregisterComponent(event.detail);\n }\n\n @Listen('nylasSchedulerError')\n handleChildSchedulerError(event: CustomEvent<{ notification: Notification; host: HTMLElement }>) {\n this.nylasSchedulerEditorError.emit({\n notification: event.detail.notification,\n host: this.host,\n });\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'language') {\n this.selectedLanguage = LANGUAGE_CODE[value as LANGUAGE_CODE];\n i18next.changeLanguage(this.selectedLanguage);\n this.stores?.schedulerConfig?.set('selectedLanguage', this.selectedLanguage);\n }\n }\n\n /**\n * Upon login, set the current user and fetch the configuration and calendars.\n * @param currentUser The current user that is logged in\n */\n private async loggedInHandler(currentUser: User) {\n this.stores?.schedulerConfig?.set('currentUser', currentUser);\n\n if (!this.nylasSchedulerConfigConnector) {\n return;\n }\n\n await this.nylasSchedulerConfigConnector.schedulerConfig?.getCalendars();\n\n if (this.configurationId) {\n const data = await this.nylasSchedulerConfigConnector.schedulerConfig?.getConfigurationById(this.configurationId);\n if (data && data[0]?.id) {\n this.stores?.schedulerConfig?.set('action', 'edit');\n }\n }\n }\n\n /**\n * This is a custom event handler that is used to update the state of the provider.\n */\n private handleSchedulerConfigCloseClicked = (_event: Event) => {\n const event = this.schedulerConfigCloseClicked.emit(this.host);\n if ('schedulerConfigCloseClicked' in this.eventOverrides) {\n this.eventOverrides.schedulerConfigCloseClicked(event, this.nylasSchedulerConfigConnector);\n }\n\n if (!event.defaultPrevented) {\n localStorage.removeItem('grant');\n localStorage.removeItem('user');\n window.location.reload();\n }\n };\n\n /**\n * This method is used to get the authentication URL for a provider.\n * @param provider The provider to get the authentication URL for (e.g. google, microsoft, etc.)\n * @returns Promise<string> The authentication URL to redirect the user for the provider\n */\n private authenticationUrl = async (provider?: string) => {\n if (!this.nylasApiRequest) {\n error(`[nylas-scheduler-editor] Nylas API Request is not initialized.`);\n return '';\n }\n const url = await this.nylasApiRequest.authenticationUrl({ provider });\n\n return url || '';\n };\n\n render() {\n const hasSlot = this.host.querySelector('[slot=\"custom-page-style-inputs\"]');\n const selectedConfigId = this.stores?.schedulerConfig?.state.selectedConfiguration?.id;\n const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n const isGroupType =\n this.stores?.schedulerConfig?.state.selectedEventType === CONFIGURATION_EVENT_TYPE.group ||\n (this.stores?.schedulerConfig?.state.selectedConfiguration as GroupConfiguration)?.type === CONFIGURATION_EVENT_TYPE.group;\n\n debug(`[nylas-scheduler-editor] render mode: ${this.mode}`);\n\n return (\n <Host>\n <div class=\"scheduler-editor-header\" part=\"nse__header\">\n <h1 class=\"scheduler-editor-title\" part=\"nse__title\">\n <calendar-icon width=\"18\" height=\"18\" />\n {i18next.t('schedulerEditorTitle')}\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{this.version}</span>\n </tooltip-component>\n </h1>\n <div\n class={{\n language: true,\n }}\n part=\"nse__language\"\n >\n <select-dropdown\n name=\"language\"\n searchPlaceholder={i18next.t('search')}\n options={languageOptions}\n withChevron={false}\n themeConfig={this.themeConfig}\n defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}\n exportparts=\"sd_dropdown: nse__language-dropdown, sd_dropdown-button: nse__language-drop-button, sd_dropdown-content: nse__language-drop-content, sd_dropdown_label: nse__language-drop-label\"\n >\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <button class=\"scheduler-editor-close\" title=\"logout\" onClick={e => this.handleSchedulerConfigCloseClicked(e)} part=\"nse__close-button\">\n <close-icon width=\"18\" height=\"18\" />\n </button>\n </div>\n <div\n class={{\n 'scheduler-editor-content': true,\n 'scheduler-editor-content--group': isGroupType,\n }}\n part=\"nse__content\"\n >\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === null && this.mode === 'composable' && <slot />}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === null && this.mode !== 'composable' && (\n <div class=\"list-configurations\" part=\"nse__list-configurations\">\n <nylas-list-configurations\n themeConfig={this.themeConfig}\n exportparts=\"nlc__create-new-cta, actions__dropdown, actions__dropdown-button, actions__dropdown-content, actions-Copy, actions-Preview, actions-Delete\"\n ></nylas-list-configurations>\n </div>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create-select' && (\n <nylas-select-event-type themeConfig={this.themeConfig}></nylas-select-event-type>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create' && isGroupType && (\n // If the mode is 'app', then render the editor tabs in a composable mode with children for creating a new configuration (Express flow).\n <nylas-editor-tabs-group mode=\"composable\" themeConfig={this.themeConfig}>\n <ExpressFlow\n selectedEventType={this.stores?.schedulerConfig?.state?.selectedEventType || CONFIGURATION_EVENT_TYPE.one_on_one}\n currentUser={this.stores?.schedulerConfig?.state.currentUser}\n calendars={this.stores?.schedulerConfig?.state?.calendars}\n selectedConfiguration={this.stores?.schedulerConfig?.state?.selectedConfiguration}\n />\n </nylas-editor-tabs-group>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'create' && !isGroupType && (\n // If the mode is 'app', then render the editor tabs in a composable mode with children for creating a new configuration (Express flow).\n <nylas-editor-tabs mode=\"composable\" enableNotetaker={this.enableNotetaker} themeConfig={this.themeConfig}>\n <ExpressFlow\n selectedEventType={this.stores?.schedulerConfig?.state?.selectedEventType || CONFIGURATION_EVENT_TYPE.one_on_one}\n currentUser={this.stores?.schedulerConfig?.state.currentUser}\n calendars={this.stores?.schedulerConfig?.state?.calendars}\n selectedConfiguration={this.stores?.schedulerConfig?.state?.selectedConfiguration}\n />\n </nylas-editor-tabs>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'edit' && isGroupType && (\n <nylas-editor-tabs-group key={selectedConfigId} mode={this.mode} themeConfig={this.themeConfig}>\n {this.mode === 'composable' && <slot />}\n {this.mode === 'app' && hasSlot && (\n <div style={{ display: 'none' }} slot=\"custom-page-style-inputs\" key={selectedConfigId}>\n <slot name=\"custom-page-style-inputs\" />\n </div>\n )}\n </nylas-editor-tabs-group>\n )}\n {this.stores?.schedulerConfig?.state.currentUser && this.stores.schedulerConfig.state.action === 'edit' && !isGroupType && (\n <nylas-editor-tabs key={selectedConfigId} mode={this.mode} enableNotetaker={this.enableNotetaker} themeConfig={this.themeConfig}>\n {this.mode === 'composable' && <slot />}\n {this.mode === 'app' && hasSlot && (\n <div style={{ display: 'none' }} slot=\"custom-page-style-inputs\" key={selectedConfigId}>\n <slot name=\"custom-page-style-inputs\" />\n </div>\n )}\n </nylas-editor-tabs>\n )}\n {!this.stores?.schedulerConfig?.state.currentUser && (\n <slot name=\"login-required\">\n <LoginRequired authenticationUrl={this.authenticationUrl} />\n </slot>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}