@nylas/web-elements 2.5.17 → 2.6.0

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 (750) 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 +129 -114
  3. package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +2542 -2476
  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 +47 -47
  10. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +1 -1
  11. package/dist/cjs/calendar-check-icon.cjs.entry.js +1 -1
  12. package/dist/cjs/calendar-icon.cjs.entry.js +1 -1
  13. package/dist/cjs/checkbox-component.cjs.entry.js +1 -1
  14. package/dist/cjs/checkbox-group_4.cjs.entry.js +5 -5
  15. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
  16. package/dist/cjs/checkmark-icon_14.cjs.entry.js +16 -16
  17. package/dist/cjs/chevron-icon_3.cjs.entry.js +4 -4
  18. package/dist/cjs/clock-icon_2.cjs.entry.js +2 -2
  19. package/dist/cjs/delete-icon.cjs.entry.js +1 -1
  20. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  21. package/dist/cjs/folder-icon.cjs.entry.js +1 -1
  22. package/dist/cjs/forward-icon.cjs.entry.js +1 -1
  23. package/dist/cjs/globe-icon_3.cjs.entry.js +5 -5
  24. package/dist/cjs/google-logo-icon_6.cjs.entry.js +13 -13
  25. package/dist/cjs/google-meet-icon_5.cjs.entry.js +5 -5
  26. package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/info-icon_2.cjs.entry.js +3 -3
  28. package/dist/cjs/input-component.cjs.entry.js +1 -1
  29. package/dist/cjs/input-dropdown_2.cjs.entry.js +2 -2
  30. package/dist/cjs/input-image-url_2.cjs.entry.js +2 -2
  31. package/dist/cjs/italic-icon.cjs.entry.js +1 -1
  32. package/dist/cjs/multi-select-dropdown.cjs.entry.js +2 -2
  33. package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js +58 -18
  34. package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
  36. package/dist/cjs/nylas-notification_2.cjs.entry.js +2 -2
  37. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +29 -4
  38. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nylas-scheduler-editor.entry.cjs.js.map +1 -1
  40. package/dist/cjs/nylas-scheduling.cjs.entry.js +41 -1
  41. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nylas-scheduling.entry.cjs.js.map +1 -1
  43. package/dist/cjs/person-icon.cjs.entry.js +1 -1
  44. package/dist/cjs/play-icon.cjs.entry.js +1 -1
  45. package/dist/cjs/plus-icon.cjs.entry.js +1 -1
  46. package/dist/cjs/radio-button-group.cjs.entry.js +1 -1
  47. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/reply-all-icon.cjs.entry.js +1 -1
  49. package/dist/cjs/reply-icon.cjs.entry.js +1 -1
  50. package/dist/cjs/sent-icon.cjs.entry.js +1 -1
  51. package/dist/cjs/spam-icon.cjs.entry.js +1 -1
  52. package/dist/cjs/star-icon.cjs.entry.js +1 -1
  53. package/dist/cjs/stop-icon.cjs.entry.js +1 -1
  54. package/dist/cjs/textarea-component.cjs.entry.js +1 -1
  55. package/dist/cjs/toggle-switch.cjs.entry.js +1 -1
  56. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  57. package/dist/cjs/trash-fill-icon.cjs.entry.js +1 -1
  58. package/dist/cjs/underline-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/{version-Dvnf44vW.js → version-CHszslqN.js} +3 -3
  60. package/dist/cjs/version-CHszslqN.js.map +1 -0
  61. package/dist/collection/common/icons/add-circle.js +1 -1
  62. package/dist/collection/common/icons/archive.js +1 -1
  63. package/dist/collection/common/icons/arrow.js +1 -1
  64. package/dist/collection/common/icons/bold.js +1 -1
  65. package/dist/collection/common/icons/calendar-agenda-fill.js +1 -1
  66. package/dist/collection/common/icons/calendar-agenda.js +1 -1
  67. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  68. package/dist/collection/common/icons/calendar-check.js +1 -1
  69. package/dist/collection/common/icons/calendar-info.js +1 -1
  70. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  71. package/dist/collection/common/icons/calendar.js +1 -1
  72. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  73. package/dist/collection/common/icons/checkmark.js +1 -1
  74. package/dist/collection/common/icons/chevron.js +1 -1
  75. package/dist/collection/common/icons/clock.js +1 -1
  76. package/dist/collection/common/icons/close.js +1 -1
  77. package/dist/collection/common/icons/copy.js +1 -1
  78. package/dist/collection/common/icons/delete.js +1 -1
  79. package/dist/collection/common/icons/document-refresh.js +1 -1
  80. package/dist/collection/common/icons/dragable.js +1 -1
  81. package/dist/collection/common/icons/edit.js +1 -1
  82. package/dist/collection/common/icons/envelope-fill.js +1 -1
  83. package/dist/collection/common/icons/envelope.js +1 -1
  84. package/dist/collection/common/icons/eye.js +1 -1
  85. package/dist/collection/common/icons/feedback-icon.js +1 -1
  86. package/dist/collection/common/icons/flow.js +1 -1
  87. package/dist/collection/common/icons/folder.js +1 -1
  88. package/dist/collection/common/icons/forward.js +1 -1
  89. package/dist/collection/common/icons/globe.js +1 -1
  90. package/dist/collection/common/icons/google-logo.js +1 -1
  91. package/dist/collection/common/icons/google-meet.js +1 -1
  92. package/dist/collection/common/icons/inbox.js +1 -1
  93. package/dist/collection/common/icons/info.js +1 -1
  94. package/dist/collection/common/icons/italic.js +1 -1
  95. package/dist/collection/common/icons/loading.js +1 -1
  96. package/dist/collection/common/icons/location-off.js +1 -1
  97. package/dist/collection/common/icons/location.js +1 -1
  98. package/dist/collection/common/icons/microsof-teams.js +1 -1
  99. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  100. package/dist/collection/common/icons/nylas-logo.js +1 -1
  101. package/dist/collection/common/icons/paintbrush-fill.js +1 -1
  102. package/dist/collection/common/icons/paintbrush.js +1 -1
  103. package/dist/collection/common/icons/people.js +1 -1
  104. package/dist/collection/common/icons/person-clipboard.js +1 -1
  105. package/dist/collection/common/icons/person.js +1 -1
  106. package/dist/collection/common/icons/play.js +1 -1
  107. package/dist/collection/common/icons/plus.js +1 -1
  108. package/dist/collection/common/icons/refresh.js +1 -1
  109. package/dist/collection/common/icons/reply-all.js +1 -1
  110. package/dist/collection/common/icons/reply.js +1 -1
  111. package/dist/collection/common/icons/search.js +1 -1
  112. package/dist/collection/common/icons/sent.js +1 -1
  113. package/dist/collection/common/icons/spam.js +1 -1
  114. package/dist/collection/common/icons/star.js +1 -1
  115. package/dist/collection/common/icons/stop.js +1 -1
  116. package/dist/collection/common/icons/translate.js +1 -1
  117. package/dist/collection/common/icons/trash-fill.js +1 -1
  118. package/dist/collection/common/icons/trash.js +1 -1
  119. package/dist/collection/common/icons/underline.js +1 -1
  120. package/dist/collection/common/icons/warning.js +1 -1
  121. package/dist/collection/common/icons/zoom.js +1 -1
  122. package/dist/collection/common/types.js.map +1 -1
  123. package/dist/collection/components/design-system/button-component/button-component.js +1 -1
  124. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js +1 -1
  125. package/dist/collection/components/design-system/checkbox-group/checkbox-group.js +1 -1
  126. package/dist/collection/components/design-system/input-color-picker/input-color-picker.js +2 -2
  127. package/dist/collection/components/design-system/input-component/input-component.js +1 -1
  128. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +1 -1
  129. package/dist/collection/components/design-system/input-image-url/input-image-url.js +1 -1
  130. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  131. package/dist/collection/components/design-system/nylas-date-component/nylas-date-component.js +1 -1
  132. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js +1 -1
  133. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +2 -2
  134. package/dist/collection/components/design-system/textarea-component/textarea-component.js +1 -1
  135. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  136. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js +1 -1
  137. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +2 -2
  138. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +85 -12
  139. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
  140. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
  141. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
  142. package/dist/collection/components/scheduler/nylas-confirmed-event-card/nylas-confirmed-event-card.js +1 -1
  143. package/dist/collection/components/scheduler/nylas-feedback-form/nylas-feedback-form.js +2 -2
  144. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  145. package/dist/collection/components/scheduler/nylas-organizer-confirmation-card/nylas-organizer-confirmation-card.js +2 -2
  146. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +21 -2
  147. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
  148. package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +2 -2
  149. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +1 -1
  150. package/dist/collection/components/scheduler-editor/nylas-booking-confirmation-redirect/nylas-booking-confirmation-redirect.js +1 -1
  151. package/dist/collection/components/scheduler-editor/nylas-booking-confirmation-type/nylas-booking-confirmation-type.js +1 -1
  152. package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.js +2 -2
  153. package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +1 -1
  154. package/dist/collection/components/scheduler-editor/nylas-confirmation-email/nylas-confirmation-email.js +2 -2
  155. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.js +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 +5 -5
  160. package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js +5 -5
  161. package/dist/collection/components/scheduler-editor/nylas-event-capacity/nylas-event-capacity.js +1 -1
  162. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +1 -1
  163. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +2 -2
  164. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  165. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  166. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +1 -1
  167. package/dist/collection/components/scheduler-editor/nylas-event-timeslot/nylas-event-timeslot.js +3 -3
  168. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +2 -2
  169. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  170. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +1 -1
  171. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js +1 -1
  172. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
  173. package/dist/collection/components/scheduler-editor/nylas-notetaker-config/nylas-notetaker-config.js +8 -8
  174. package/dist/collection/components/scheduler-editor/nylas-only-specific-time-availability/nylas-only-specific-time-availability.js +1 -1
  175. package/dist/collection/components/scheduler-editor/nylas-page-name/nylas-page-name.js +1 -1
  176. package/dist/collection/components/scheduler-editor/nylas-page-styling/nylas-page-styling.js +1 -1
  177. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.js +1 -1
  178. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +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 +3 -3
  182. package/dist/collection/components/scheduler-editor/nylas-specific-time-availability-picker/nylas-specific-time-availability-picker.js +2 -2
  183. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +3 -3
  184. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +1 -1
  185. package/dist/collection/connector/shared/api/scheduler.js +21 -0
  186. package/dist/collection/connector/shared/api/scheduler.js.map +1 -1
  187. package/dist/collection/types/index.js.map +1 -1
  188. package/dist/collection/version.js +1 -1
  189. package/dist/collection/version.js.map +1 -1
  190. package/dist/components/add-circle-icon.js +1 -1
  191. package/dist/components/archive-icon.js +1 -1
  192. package/dist/components/arrow-icon.js +1 -1
  193. package/dist/components/bold-icon.js +1 -1
  194. package/dist/components/button-component.js +1 -1
  195. package/dist/components/calendar-agenda-fill-icon.js +1 -1
  196. package/dist/components/calendar-agenda-icon.js +1 -1
  197. package/dist/components/calendar-cancel-icon.js +1 -1
  198. package/dist/components/calendar-check-icon.js +1 -1
  199. package/dist/components/calendar-icon.js +1 -1
  200. package/dist/components/calendar-info-icon.js +1 -1
  201. package/dist/components/calendar-patterns-icon.js +1 -1
  202. package/dist/components/checkbox-component.js +1 -1
  203. package/dist/components/checkbox-group.js +1 -1
  204. package/dist/components/checkmark-circle-icon.js +1 -1
  205. package/dist/components/checkmark-icon.js +1 -1
  206. package/dist/components/chevron-icon.js +1 -1
  207. package/dist/components/clock-icon.js +1 -1
  208. package/dist/components/close-icon.js +1 -1
  209. package/dist/components/copy-icon.js +1 -1
  210. package/dist/components/delete-icon.js +1 -1
  211. package/dist/components/document-refresh-icon.js +1 -1
  212. package/dist/components/dragable-icon.js +1 -1
  213. package/dist/components/edit-icon.js +1 -1
  214. package/dist/components/envelope-fill-icon.js +1 -1
  215. package/dist/components/envelope-icon.js +1 -1
  216. package/dist/components/eye-icon.js +1 -1
  217. package/dist/components/feedback-icon.js +1 -1
  218. package/dist/components/flow-icon.js +1 -1
  219. package/dist/components/folder-icon.js +1 -1
  220. package/dist/components/forward-icon.js +1 -1
  221. package/dist/components/globe-icon.js +1 -1
  222. package/dist/components/google-logo-icon.js +1 -1
  223. package/dist/components/google-meet-icon.js +1 -1
  224. package/dist/components/inbox-icon.js +1 -1
  225. package/dist/components/info-icon.js +1 -1
  226. package/dist/components/input-color-picker.js +1 -1
  227. package/dist/components/input-component.js +1 -1
  228. package/dist/components/input-dropdown.js +1 -1
  229. package/dist/components/input-image-url.js +1 -1
  230. package/dist/components/italic-icon.js +1 -1
  231. package/dist/components/loading-icon.js +1 -1
  232. package/dist/components/location-icon.js +1 -1
  233. package/dist/components/location-off-icon.js +1 -1
  234. package/dist/components/microsoft-logo-icon.js +1 -1
  235. package/dist/components/microsoft-teams-icon.js +1 -1
  236. package/dist/components/multi-select-dropdown.js +1 -1
  237. package/dist/components/nylas-additional-participants.js +1 -1
  238. package/dist/components/nylas-availability-picker.js +1 -1
  239. package/dist/components/nylas-booked-event-card.js +1 -1
  240. package/dist/components/nylas-booking-calendar-picker.js +1 -1
  241. package/dist/components/nylas-booking-confirmation-redirect.js +1 -1
  242. package/dist/components/nylas-booking-confirmation-type.js +1 -1
  243. package/dist/components/nylas-booking-form-config.js +1 -1
  244. package/dist/components/nylas-booking-form.js +1 -1
  245. package/dist/components/nylas-buffer-time.js +1 -1
  246. package/dist/components/nylas-calendar-picker.js +1 -1
  247. package/dist/components/nylas-cancel-booking-form.js +1 -1
  248. package/dist/components/nylas-cancellation-policy.js +1 -1
  249. package/dist/components/nylas-cancelled-event-card.js +1 -1
  250. package/dist/components/nylas-confirmation-email.js +1 -1
  251. package/dist/components/nylas-confirmed-event-card.js +1 -1
  252. package/dist/components/nylas-connected-calendars.js +1 -1
  253. package/dist/components/nylas-custom-booking-flow.js +1 -1
  254. package/dist/components/nylas-custom-event-slug.js +1 -1
  255. package/dist/components/nylas-customize-booking-settings.js +1 -1
  256. package/dist/components/nylas-date-component.js +1 -1
  257. package/dist/components/nylas-date-picker.js +1 -1
  258. package/dist/components/nylas-disable-emails.js +1 -1
  259. package/dist/components/nylas-editor-tabs-group.js +1 -1
  260. package/dist/components/nylas-editor-tabs.js +1 -1
  261. package/dist/components/nylas-event-calendar.js +1 -1
  262. package/dist/components/nylas-event-capacity.js +1 -1
  263. package/dist/components/nylas-event-description.js +1 -1
  264. package/dist/components/nylas-event-duration.js +1 -1
  265. package/dist/components/nylas-event-info.js +1 -1
  266. package/dist/components/nylas-event-limits.js +1 -1
  267. package/dist/components/nylas-event-location.js +1 -1
  268. package/dist/components/nylas-event-timeslot.js +1 -1
  269. package/dist/components/nylas-event-title.js +1 -1
  270. package/dist/components/nylas-feedback-form.js +1 -1
  271. package/dist/components/nylas-form-card.js +1 -1
  272. package/dist/components/nylas-limit-future-bookings.js +1 -1
  273. package/dist/components/nylas-list-configurations.js +1 -1
  274. package/dist/components/nylas-locale-switch.js +1 -1
  275. package/dist/components/nylas-logo.js +1 -1
  276. package/dist/components/nylas-min-booking-notice.js +1 -1
  277. package/dist/components/nylas-min-cancellation-notice.js +1 -1
  278. package/dist/components/nylas-notetaker-config.js +1 -1
  279. package/dist/components/nylas-notification.js +1 -1
  280. package/dist/components/nylas-only-specific-time-availability.js +1 -1
  281. package/dist/components/nylas-organizer-confirmation-card.js +1 -1
  282. package/dist/components/nylas-page-name.js +1 -1
  283. package/dist/components/nylas-page-styling.js +1 -1
  284. package/dist/components/nylas-participant-booking-calendars.js +1 -1
  285. package/dist/components/nylas-participants-custom-availability.js +1 -1
  286. package/dist/components/nylas-reminder-emails.js +1 -1
  287. package/dist/components/nylas-reminder-time.js +1 -1
  288. package/dist/components/nylas-scheduler-editor.js +128 -103
  289. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  290. package/dist/components/nylas-scheduling-method.js +1 -1
  291. package/dist/components/nylas-scheduling.js +79 -39
  292. package/dist/components/nylas-scheduling.js.map +1 -1
  293. package/dist/components/nylas-select-event-type.js +1 -1
  294. package/dist/components/nylas-selected-event-card.js +1 -1
  295. package/dist/components/nylas-specific-time-availability-picker.js +1 -1
  296. package/dist/components/nylas-time-window-picker.js +1 -1
  297. package/dist/components/nylas-timeslot-interval.js +1 -1
  298. package/dist/components/nylas-timeslot-picker.js +1 -1
  299. package/dist/components/{p-DjJOgfxK.js → p-1jCDFlwx.js} +9 -9
  300. package/dist/components/{p-DjJOgfxK.js.map → p-1jCDFlwx.js.map} +1 -1
  301. package/dist/components/{p-q7g_LEwC.js → p-36H4hxVv.js} +3 -3
  302. package/dist/components/{p-q7g_LEwC.js.map → p-36H4hxVv.js.map} +1 -1
  303. package/dist/components/{p-B2LU95MT.js → p-3FIo8Hrp.js} +3 -3
  304. package/dist/components/{p-B2LU95MT.js.map → p-3FIo8Hrp.js.map} +1 -1
  305. package/dist/components/{p-g9YD1HRv.js → p-4McmpmAg.js} +4 -4
  306. package/dist/components/{p-g9YD1HRv.js.map → p-4McmpmAg.js.map} +1 -1
  307. package/dist/components/{p-BTwTmU9e.js → p-6Seqe489.js} +21 -21
  308. package/dist/components/{p-BTwTmU9e.js.map → p-6Seqe489.js.map} +1 -1
  309. package/dist/components/{p-CL8ugNmu.js → p-8-JIv49C.js} +4 -4
  310. package/dist/components/{p-CL8ugNmu.js.map → p-8-JIv49C.js.map} +1 -1
  311. package/dist/components/{p-C4RTQIyO.js → p-9KfwmETj.js} +3 -3
  312. package/dist/components/{p-C4RTQIyO.js.map → p-9KfwmETj.js.map} +1 -1
  313. package/dist/components/{p-DGDbXfHm.js → p-B3irHRxH.js} +14 -14
  314. package/dist/components/{p-DGDbXfHm.js.map → p-B3irHRxH.js.map} +1 -1
  315. package/dist/components/{p-DZwGCUUK.js → p-B57gyFFu.js} +9 -9
  316. package/dist/components/{p-DZwGCUUK.js.map → p-B57gyFFu.js.map} +1 -1
  317. package/dist/components/{p-RPocf_FZ.js → p-BAi0-0s9.js} +19 -19
  318. package/dist/components/{p-RPocf_FZ.js.map → p-BAi0-0s9.js.map} +1 -1
  319. package/dist/components/{p-DcjGlnBR.js → p-BBWnrSjc.js} +3 -3
  320. package/dist/components/{p-DcjGlnBR.js.map → p-BBWnrSjc.js.map} +1 -1
  321. package/dist/components/{p-DBHtQK2b.js → p-BEvwJe37.js} +3 -3
  322. package/dist/components/{p-DBHtQK2b.js.map → p-BEvwJe37.js.map} +1 -1
  323. package/dist/components/{p-BuJdnN6-.js → p-BG5y4pBL.js} +4 -4
  324. package/dist/components/{p-BuJdnN6-.js.map → p-BG5y4pBL.js.map} +1 -1
  325. package/dist/components/{p-CRIlyxX5.js → p-BGcFPLlm.js} +10 -10
  326. package/dist/components/{p-CRIlyxX5.js.map → p-BGcFPLlm.js.map} +1 -1
  327. package/dist/components/{p-BoUo2hc7.js → p-BJbmwaXD.js} +3 -3
  328. package/dist/components/{p-BoUo2hc7.js.map → p-BJbmwaXD.js.map} +1 -1
  329. package/dist/components/{p-BzLxndYA.js → p-BMLPTwTQ.js} +7 -7
  330. package/dist/components/{p-BzLxndYA.js.map → p-BMLPTwTQ.js.map} +1 -1
  331. package/dist/components/{p-BrOgWk7y.js → p-BMv8LXnI.js} +3 -3
  332. package/dist/components/{p-BrOgWk7y.js.map → p-BMv8LXnI.js.map} +1 -1
  333. package/dist/components/{p-BWbQSVNH.js → p-BOYZzt-4.js} +7 -7
  334. package/dist/components/{p-BWbQSVNH.js.map → p-BOYZzt-4.js.map} +1 -1
  335. package/dist/components/{p-CdPtFwy6.js → p-BQ5o0vvR.js} +5 -5
  336. package/dist/components/{p-CdPtFwy6.js.map → p-BQ5o0vvR.js.map} +1 -1
  337. package/dist/components/{p-DPwhlVlN.js → p-BTqJQKYU.js} +3 -3
  338. package/dist/components/{p-DPwhlVlN.js.map → p-BTqJQKYU.js.map} +1 -1
  339. package/dist/components/{p-DUVwWh7e.js → p-BU16FiC8.js} +13 -13
  340. package/dist/components/{p-DUVwWh7e.js.map → p-BU16FiC8.js.map} +1 -1
  341. package/dist/components/{p-CpGRDWt9.js → p-BVIbhcW2.js} +4 -4
  342. package/dist/components/{p-CpGRDWt9.js.map → p-BVIbhcW2.js.map} +1 -1
  343. package/dist/components/{p-B2cPNmM_.js → p-BVZnq2zV.js} +9 -9
  344. package/dist/components/{p-B2cPNmM_.js.map → p-BVZnq2zV.js.map} +1 -1
  345. package/dist/components/{p-B3cnALr8.js → p-BVq4mTYg.js} +68 -28
  346. package/dist/components/p-BVq4mTYg.js.map +1 -0
  347. package/dist/components/{p-CuaQW941.js → p-BaX-h68d.js} +6 -6
  348. package/dist/components/{p-CuaQW941.js.map → p-BaX-h68d.js.map} +1 -1
  349. package/dist/components/{p-hipsVOV5.js → p-Baw3jP2X.js} +3 -3
  350. package/dist/components/{p-hipsVOV5.js.map → p-Baw3jP2X.js.map} +1 -1
  351. package/dist/components/{p-BnEkgCIs.js → p-Bbt9980R.js} +3 -3
  352. package/dist/components/{p-BnEkgCIs.js.map → p-Bbt9980R.js.map} +1 -1
  353. package/dist/components/{p-BAKh5tMf.js → p-BcHelLHv.js} +3 -3
  354. package/dist/components/{p-BAKh5tMf.js.map → p-BcHelLHv.js.map} +1 -1
  355. package/dist/components/{p-ChXM0wCn.js → p-BgzT-67i.js} +3 -3
  356. package/dist/components/{p-ChXM0wCn.js.map → p-BgzT-67i.js.map} +1 -1
  357. package/dist/components/{p-BqD6DKLT.js → p-BnLt26W8.js} +7 -7
  358. package/dist/components/{p-BqD6DKLT.js.map → p-BnLt26W8.js.map} +1 -1
  359. package/dist/components/{p-xMlGGw2N.js → p-BuYNWtp6.js} +3 -3
  360. package/dist/components/{p-xMlGGw2N.js.map → p-BuYNWtp6.js.map} +1 -1
  361. package/dist/components/{p-CyzGRI94.js → p-BvqNXgYj.js} +3 -3
  362. package/dist/components/{p-CyzGRI94.js.map → p-BvqNXgYj.js.map} +1 -1
  363. package/dist/components/{p-DDd7Mjvz.js → p-ByoRiTiK.js} +7 -7
  364. package/dist/components/{p-DDd7Mjvz.js.map → p-ByoRiTiK.js.map} +1 -1
  365. package/dist/components/{p-Ch_HOS-9.js → p-BzjixeLc.js} +7 -7
  366. package/dist/components/{p-Ch_HOS-9.js.map → p-BzjixeLc.js.map} +1 -1
  367. package/dist/components/{p-DfxhC7Fd.js → p-C1JOYWhj.js} +12 -12
  368. package/dist/components/{p-DfxhC7Fd.js.map → p-C1JOYWhj.js.map} +1 -1
  369. package/dist/components/{p-CzSowwcD.js → p-C2bWg9rc.js} +7 -7
  370. package/dist/components/{p-CzSowwcD.js.map → p-C2bWg9rc.js.map} +1 -1
  371. package/dist/components/{p-C4BZ4XFc.js → p-C35dU4J2.js} +3 -3
  372. package/dist/components/{p-C4BZ4XFc.js.map → p-C35dU4J2.js.map} +1 -1
  373. package/dist/components/{p-CvLWbTI_.js → p-C4QSwxPr.js} +3 -3
  374. package/dist/components/{p-CvLWbTI_.js.map → p-C4QSwxPr.js.map} +1 -1
  375. package/dist/components/{p-DEbbVkgj.js → p-C6ARzQ6M.js} +3 -3
  376. package/dist/components/{p-DEbbVkgj.js.map → p-C6ARzQ6M.js.map} +1 -1
  377. package/dist/components/{p-BYzkNeMW.js → p-CBjtU882.js} +5 -5
  378. package/dist/components/{p-BYzkNeMW.js.map → p-CBjtU882.js.map} +1 -1
  379. package/dist/components/{p-oRjUujH5.js → p-CDME1l9h.js} +8 -8
  380. package/dist/components/{p-oRjUujH5.js.map → p-CDME1l9h.js.map} +1 -1
  381. package/dist/components/{p-Dl0Yur5r.js → p-CGkcVt8h.js} +3 -3
  382. package/dist/components/{p-Dl0Yur5r.js.map → p-CGkcVt8h.js.map} +1 -1
  383. package/dist/components/{p-D0137Jos.js → p-CI1nvbUl.js} +10 -10
  384. package/dist/components/{p-D0137Jos.js.map → p-CI1nvbUl.js.map} +1 -1
  385. package/dist/components/{p-CUe11ohy.js → p-CKiOTF7Z.js} +7 -7
  386. package/dist/components/{p-CUe11ohy.js.map → p-CKiOTF7Z.js.map} +1 -1
  387. package/dist/components/{p-CdAJ8ry_.js → p-CNj6i-JK.js} +3 -3
  388. package/dist/components/{p-CdAJ8ry_.js.map → p-CNj6i-JK.js.map} +1 -1
  389. package/dist/components/{p-fwU4mtR0.js → p-COaWG_Zh.js} +5 -5
  390. package/dist/components/{p-fwU4mtR0.js.map → p-COaWG_Zh.js.map} +1 -1
  391. package/dist/components/{p-D5Swz0J4.js → p-CQvNQk_r.js} +10 -10
  392. package/dist/components/{p-D5Swz0J4.js.map → p-CQvNQk_r.js.map} +1 -1
  393. package/dist/components/{p-BBxu-pwN.js → p-CRWfdwTk.js} +14 -14
  394. package/dist/components/{p-BBxu-pwN.js.map → p-CRWfdwTk.js.map} +1 -1
  395. package/dist/components/{p-CahZPm95.js → p-CWNABkMS.js} +4 -4
  396. package/dist/components/{p-CahZPm95.js.map → p-CWNABkMS.js.map} +1 -1
  397. package/dist/components/p-CWplx7sA.js.map +1 -1
  398. package/dist/components/{p-CyWE9dXK.js → p-C_MBjjfN.js} +3 -3
  399. package/dist/components/{p-CyWE9dXK.js.map → p-C_MBjjfN.js.map} +1 -1
  400. package/dist/components/{p-DxDoo-4C.js → p-C_a8Brku.js} +4 -4
  401. package/dist/components/{p-DxDoo-4C.js.map → p-C_a8Brku.js.map} +1 -1
  402. package/dist/components/{p-D_daFt1t.js → p-CbIFnpIT.js} +10 -10
  403. package/dist/components/{p-D_daFt1t.js.map → p-CbIFnpIT.js.map} +1 -1
  404. package/dist/components/{p-CJvmK-NM.js → p-Cf47JDzZ.js} +3 -3
  405. package/dist/components/{p-CJvmK-NM.js.map → p-Cf47JDzZ.js.map} +1 -1
  406. package/dist/components/{p-CeKOSPvz.js → p-ChvVcov-.js} +8 -8
  407. package/dist/components/{p-CeKOSPvz.js.map → p-ChvVcov-.js.map} +1 -1
  408. package/dist/components/{p-D7z2dNXN.js → p-CixxWdv6.js} +3 -3
  409. package/dist/components/{p-D7z2dNXN.js.map → p-CixxWdv6.js.map} +1 -1
  410. package/dist/components/{p-BF0muZ9G.js → p-CkIBsfNB.js} +3 -3
  411. package/dist/components/{p-BF0muZ9G.js.map → p-CkIBsfNB.js.map} +1 -1
  412. package/dist/components/{p-BGbMXlLy.js → p-CneutSrB.js} +6 -6
  413. package/dist/components/{p-BGbMXlLy.js.map → p-CneutSrB.js.map} +1 -1
  414. package/dist/components/{p-D9mHh12b.js → p-Coy-5_RU.js} +8 -8
  415. package/dist/components/{p-D9mHh12b.js.map → p-Coy-5_RU.js.map} +1 -1
  416. package/dist/components/{p-CDDw-hf8.js → p-Cr0OL9Ww.js} +3 -3
  417. package/dist/components/{p-CDDw-hf8.js.map → p-Cr0OL9Ww.js.map} +1 -1
  418. package/dist/components/{p-CXkCnHr5.js → p-CrAcXVaG.js} +5 -5
  419. package/dist/components/{p-CXkCnHr5.js.map → p-CrAcXVaG.js.map} +1 -1
  420. package/dist/components/{p-BNuHkEZZ.js → p-CsyulOVn.js} +3 -3
  421. package/dist/components/{p-BNuHkEZZ.js.map → p-CsyulOVn.js.map} +1 -1
  422. package/dist/components/{p-DMwaGWVu.js → p-D-DEVTDE.js} +6 -6
  423. package/dist/components/{p-DMwaGWVu.js.map → p-D-DEVTDE.js.map} +1 -1
  424. package/dist/components/{p-BVH0Klhu.js → p-D0NY8UNC.js} +4 -4
  425. package/dist/components/{p-BVH0Klhu.js.map → p-D0NY8UNC.js.map} +1 -1
  426. package/dist/components/{p-BD4aqMeC.js → p-D1XyN1j_.js} +3 -3
  427. package/dist/components/{p-BD4aqMeC.js.map → p-D1XyN1j_.js.map} +1 -1
  428. package/dist/components/{p-D0qMgeBc.js → p-D30JsuKI.js} +6 -6
  429. package/dist/components/{p-D0qMgeBc.js.map → p-D30JsuKI.js.map} +1 -1
  430. package/dist/components/{p-BT5kT23k.js → p-D5y9oXD0.js} +3 -3
  431. package/dist/components/{p-BT5kT23k.js.map → p-D5y9oXD0.js.map} +1 -1
  432. package/dist/components/{p-3FTb1-in.js → p-D9XKQ809.js} +33 -33
  433. package/dist/components/{p-3FTb1-in.js.map → p-D9XKQ809.js.map} +1 -1
  434. package/dist/components/{p-BSfQxQEN.js → p-DA5RYBjv.js} +3 -3
  435. package/dist/components/{p-BSfQxQEN.js.map → p-DA5RYBjv.js.map} +1 -1
  436. package/dist/components/{p-Cyk3GcD_.js → p-DEI76q16.js} +3 -3
  437. package/dist/components/{p-Cyk3GcD_.js.map → p-DEI76q16.js.map} +1 -1
  438. package/dist/components/{p-UTn_XnKO.js → p-DEJGXMSG.js} +8 -8
  439. package/dist/components/{p-UTn_XnKO.js.map → p-DEJGXMSG.js.map} +1 -1
  440. package/dist/components/{p-DcXycU5_.js → p-DEggxpVo.js} +6 -6
  441. package/dist/components/{p-DcXycU5_.js.map → p-DEggxpVo.js.map} +1 -1
  442. package/dist/components/{p-eV80kRKP.js → p-DGEm3ZTt.js} +3 -3
  443. package/dist/components/{p-eV80kRKP.js.map → p-DGEm3ZTt.js.map} +1 -1
  444. package/dist/components/{p-Ce8gcoEa.js → p-DHb99Cgm.js} +3 -3
  445. package/dist/components/{p-Ce8gcoEa.js.map → p-DHb99Cgm.js.map} +1 -1
  446. package/dist/components/{p-CzVZs3uZ.js → p-DK6-bZYK.js} +3 -3
  447. package/dist/components/{p-CzVZs3uZ.js.map → p-DK6-bZYK.js.map} +1 -1
  448. package/dist/components/{p-CT64yPEO.js → p-DP99QPpi.js} +3 -3
  449. package/dist/components/{p-CT64yPEO.js.map → p-DP99QPpi.js.map} +1 -1
  450. package/dist/components/{p-Ctot3asB.js → p-DTNmzKXY.js} +82 -82
  451. package/dist/components/{p-Ctot3asB.js.map → p-DTNmzKXY.js.map} +1 -1
  452. package/dist/components/{p-kbilJltW.js → p-DTtKd-E-.js} +3 -3
  453. package/dist/components/{p-kbilJltW.js.map → p-DTtKd-E-.js.map} +1 -1
  454. package/dist/components/{p-Cs_iJUbv.js → p-DVNLlxnG.js} +3 -3
  455. package/dist/components/{p-Cs_iJUbv.js.map → p-DVNLlxnG.js.map} +1 -1
  456. package/dist/components/{p-Bsd63RFi.js → p-DXQVWZkn.js} +3 -3
  457. package/dist/components/{p-Bsd63RFi.js.map → p-DXQVWZkn.js.map} +1 -1
  458. package/dist/components/{p-ao6VxuAL.js → p-DY3hmp0T.js} +3 -3
  459. package/dist/components/{p-ao6VxuAL.js.map → p-DY3hmp0T.js.map} +1 -1
  460. package/dist/components/{p-CFeDwD40.js → p-DZJQ_Wck.js} +3 -3
  461. package/dist/components/{p-CFeDwD40.js.map → p-DZJQ_Wck.js.map} +1 -1
  462. package/dist/components/{p-UNYO4Uen.js → p-DZLca44K.js} +3 -3
  463. package/dist/components/{p-UNYO4Uen.js.map → p-DZLca44K.js.map} +1 -1
  464. package/dist/components/{p-Ci-pKDnr.js → p-DdUGpBp4.js} +6 -6
  465. package/dist/components/{p-Ci-pKDnr.js.map → p-DdUGpBp4.js.map} +1 -1
  466. package/dist/components/{p-O9btdnkK.js → p-DgN2U3G8.js} +15 -15
  467. package/dist/components/{p-O9btdnkK.js.map → p-DgN2U3G8.js.map} +1 -1
  468. package/dist/components/{p-Bvnci8k8.js → p-DhC3_luJ.js} +8 -8
  469. package/dist/components/{p-Bvnci8k8.js.map → p-DhC3_luJ.js.map} +1 -1
  470. package/dist/components/{p-uxA_4Zq1.js → p-Di9JUVGX.js} +9 -9
  471. package/dist/components/{p-uxA_4Zq1.js.map → p-Di9JUVGX.js.map} +1 -1
  472. package/dist/components/{p-BkqJQBCp.js → p-DjZdyHmc.js} +3 -3
  473. package/dist/components/{p-BkqJQBCp.js.map → p-DjZdyHmc.js.map} +1 -1
  474. package/dist/components/{p-CBBEkysd.js → p-DjtrM_3t.js} +3 -3
  475. package/dist/components/{p-CBBEkysd.js.map → p-DjtrM_3t.js.map} +1 -1
  476. package/dist/components/{p-C9Mlv9rC.js → p-DoA5ft2W.js} +3 -3
  477. package/dist/components/{p-C9Mlv9rC.js.map → p-DoA5ft2W.js.map} +1 -1
  478. package/dist/components/{p-Begx19Z9.js → p-DpipCjQf.js} +5 -5
  479. package/dist/components/{p-Begx19Z9.js.map → p-DpipCjQf.js.map} +1 -1
  480. package/dist/components/{p-C7ZpwRD0.js → p-DprQSn90.js} +3 -3
  481. package/dist/components/{p-C7ZpwRD0.js.map → p-DprQSn90.js.map} +1 -1
  482. package/dist/components/{p-d3kelm3z.js → p-DsvNvqOg.js} +3 -3
  483. package/dist/components/{p-d3kelm3z.js.map → p-DsvNvqOg.js.map} +1 -1
  484. package/dist/components/{p-wphqTozF.js → p-DtEl3UXW.js} +6 -6
  485. package/dist/components/{p-wphqTozF.js.map → p-DtEl3UXW.js.map} +1 -1
  486. package/dist/components/{p-BJ5a9k3B.js → p-GiOcqWdY.js} +7 -7
  487. package/dist/components/{p-BJ5a9k3B.js.map → p-GiOcqWdY.js.map} +1 -1
  488. package/dist/components/{p-C7J83Us-.js → p-IJzc7eB1.js} +3 -3
  489. package/dist/components/{p-C7J83Us-.js.map → p-IJzc7eB1.js.map} +1 -1
  490. package/dist/components/{p-jBYg7WMS.js → p-LgZAWXty.js} +3 -3
  491. package/dist/components/{p-jBYg7WMS.js.map → p-LgZAWXty.js.map} +1 -1
  492. package/dist/components/{p-NA5f_7b7.js → p-LopVARiX.js} +5 -5
  493. package/dist/components/{p-NA5f_7b7.js.map → p-LopVARiX.js.map} +1 -1
  494. package/dist/components/{p-D42UGkjM.js → p-UIE8SSzy.js} +3 -3
  495. package/dist/components/{p-D42UGkjM.js.map → p-UIE8SSzy.js.map} +1 -1
  496. package/dist/components/{p-Dj1TLa3T.js → p-VZFbCMYS.js} +3 -3
  497. package/dist/components/{p-Dj1TLa3T.js.map → p-VZFbCMYS.js.map} +1 -1
  498. package/dist/components/{p-BMmtU0fv.js → p-ViLIEy7H.js} +6 -6
  499. package/dist/components/{p-BMmtU0fv.js.map → p-ViLIEy7H.js.map} +1 -1
  500. package/dist/components/{p-qo42Sy8T.js → p-Yo5k5FWd.js} +15 -15
  501. package/dist/components/{p-qo42Sy8T.js.map → p-Yo5k5FWd.js.map} +1 -1
  502. package/dist/components/{p-2UDpTS-K.js → p-Z5I7z8cD.js} +96 -96
  503. package/dist/components/{p-2UDpTS-K.js.map → p-Z5I7z8cD.js.map} +1 -1
  504. package/dist/components/{p-nhhVpJed.js → p-cJqQhTj-.js} +10 -10
  505. package/dist/components/{p-nhhVpJed.js.map → p-cJqQhTj-.js.map} +1 -1
  506. package/dist/components/{p-LOCJMijY.js → p-cf3Hv5c6.js} +6 -6
  507. package/dist/components/{p-LOCJMijY.js.map → p-cf3Hv5c6.js.map} +1 -1
  508. package/dist/components/{p-DPPqmJvY.js → p-h9VWezZP.js} +4 -4
  509. package/dist/components/{p-DPPqmJvY.js.map → p-h9VWezZP.js.map} +1 -1
  510. package/dist/components/{p-37a4h3J_.js → p-kIZ75-15.js} +10 -10
  511. package/dist/components/{p-37a4h3J_.js.map → p-kIZ75-15.js.map} +1 -1
  512. package/dist/components/{p-DPL6BIu2.js → p-lDYP9du3.js} +9 -9
  513. package/dist/components/{p-DPL6BIu2.js.map → p-lDYP9du3.js.map} +1 -1
  514. package/dist/components/{p-D4gKLnje.js → p-mIi7Upj2.js} +16 -16
  515. package/dist/components/{p-D4gKLnje.js.map → p-mIi7Upj2.js.map} +1 -1
  516. package/dist/components/{p-CdBb4zI5.js → p-mkkcd81V.js} +17 -17
  517. package/dist/components/{p-CdBb4zI5.js.map → p-mkkcd81V.js.map} +1 -1
  518. package/dist/components/{p-DOryfnIf.js → p-mw0JEKw8.js} +5 -5
  519. package/dist/components/{p-DOryfnIf.js.map → p-mw0JEKw8.js.map} +1 -1
  520. package/dist/components/{p-DS6Ijr4M.js → p-n1qnMrWE.js} +3 -3
  521. package/dist/components/{p-DS6Ijr4M.js.map → p-n1qnMrWE.js.map} +1 -1
  522. package/dist/components/{p-wJgbEd5m.js → p-n4JDuNbH.js} +9 -9
  523. package/dist/components/{p-wJgbEd5m.js.map → p-n4JDuNbH.js.map} +1 -1
  524. package/dist/components/{p-96zW11tR.js → p-r182lPIw.js} +6 -6
  525. package/dist/components/{p-96zW11tR.js.map → p-r182lPIw.js.map} +1 -1
  526. package/dist/components/{p-ByDfkWkX.js → p-xXZAaFtS.js} +3 -3
  527. package/dist/components/{p-ByDfkWkX.js.map → p-xXZAaFtS.js.map} +1 -1
  528. package/dist/components/{p-OhUC7F_g.js → p-zT4P9vUn.js} +3 -3
  529. package/dist/components/{p-OhUC7F_g.js.map → p-zT4P9vUn.js.map} +1 -1
  530. package/dist/components/paintbrush-fill-icon.js +1 -1
  531. package/dist/components/paintbrush-icon.js +1 -1
  532. package/dist/components/people-icon.js +1 -1
  533. package/dist/components/person-clipboard-icon.js +1 -1
  534. package/dist/components/person-icon.js +1 -1
  535. package/dist/components/play-icon.js +1 -1
  536. package/dist/components/plus-icon.js +1 -1
  537. package/dist/components/radio-button-group.js +1 -1
  538. package/dist/components/refresh-icon.js +1 -1
  539. package/dist/components/reply-all-icon.js +1 -1
  540. package/dist/components/reply-icon.js +1 -1
  541. package/dist/components/search-icon.js +1 -1
  542. package/dist/components/select-dropdown.js +1 -1
  543. package/dist/components/sent-icon.js +1 -1
  544. package/dist/components/spam-icon.js +1 -1
  545. package/dist/components/star-icon.js +1 -1
  546. package/dist/components/stop-icon.js +1 -1
  547. package/dist/components/textarea-component.js +1 -1
  548. package/dist/components/time-period-selector.js +1 -1
  549. package/dist/components/toggle-switch.js +1 -1
  550. package/dist/components/tooltip-component.js +1 -1
  551. package/dist/components/translate-icon.js +1 -1
  552. package/dist/components/trash-fill-icon.js +1 -1
  553. package/dist/components/trash-icon.js +1 -1
  554. package/dist/components/underline-icon.js +1 -1
  555. package/dist/components/warning-icon.js +1 -1
  556. package/dist/components/zoom-icon.js +1 -1
  557. package/dist/esm/add-circle-icon_2.entry.js +2 -2
  558. package/dist/esm/archive-icon.entry.js +1 -1
  559. package/dist/esm/arrow-icon.entry.js +1 -1
  560. package/dist/esm/bold-icon.entry.js +1 -1
  561. package/dist/esm/button-component_2.entry.js +2 -2
  562. package/dist/esm/calendar-agenda-fill-icon_39.entry.js +47 -47
  563. package/dist/esm/calendar-cancel-icon.entry.js +1 -1
  564. package/dist/esm/calendar-check-icon.entry.js +1 -1
  565. package/dist/esm/calendar-icon.entry.js +1 -1
  566. package/dist/esm/checkbox-component.entry.js +1 -1
  567. package/dist/esm/checkbox-group_4.entry.js +5 -5
  568. package/dist/esm/checkmark-circle-icon.entry.js +1 -1
  569. package/dist/esm/checkmark-icon_14.entry.js +16 -16
  570. package/dist/esm/chevron-icon_3.entry.js +4 -4
  571. package/dist/esm/clock-icon_2.entry.js +2 -2
  572. package/dist/esm/delete-icon.entry.js +1 -1
  573. package/dist/esm/document-refresh-icon.entry.js +1 -1
  574. package/dist/esm/folder-icon.entry.js +1 -1
  575. package/dist/esm/forward-icon.entry.js +1 -1
  576. package/dist/esm/globe-icon_3.entry.js +5 -5
  577. package/dist/esm/google-logo-icon_6.entry.js +13 -13
  578. package/dist/esm/google-meet-icon_5.entry.js +5 -5
  579. package/dist/esm/inbox-icon.entry.js +1 -1
  580. package/dist/esm/info-icon_2.entry.js +3 -3
  581. package/dist/esm/input-component.entry.js +1 -1
  582. package/dist/esm/input-dropdown_2.entry.js +2 -2
  583. package/dist/esm/input-image-url_2.entry.js +2 -2
  584. package/dist/esm/italic-icon.entry.js +1 -1
  585. package/dist/esm/multi-select-dropdown.entry.js +2 -2
  586. package/dist/esm/nylas-booked-event-card_11.entry.js +59 -19
  587. package/dist/esm/nylas-booked-event-card_11.entry.js.map +1 -1
  588. package/dist/esm/nylas-form-card.entry.js +1 -1
  589. package/dist/esm/nylas-notification_2.entry.js +2 -2
  590. package/dist/esm/nylas-scheduler-editor.entry.js +29 -4
  591. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  592. package/dist/esm/nylas-scheduling.entry.js +41 -1
  593. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  594. package/dist/esm/person-icon.entry.js +1 -1
  595. package/dist/esm/play-icon.entry.js +1 -1
  596. package/dist/esm/plus-icon.entry.js +1 -1
  597. package/dist/esm/radio-button-group.entry.js +1 -1
  598. package/dist/esm/refresh-icon.entry.js +1 -1
  599. package/dist/esm/reply-all-icon.entry.js +1 -1
  600. package/dist/esm/reply-icon.entry.js +1 -1
  601. package/dist/esm/sent-icon.entry.js +1 -1
  602. package/dist/esm/spam-icon.entry.js +1 -1
  603. package/dist/esm/star-icon.entry.js +1 -1
  604. package/dist/esm/stop-icon.entry.js +1 -1
  605. package/dist/esm/textarea-component.entry.js +1 -1
  606. package/dist/esm/toggle-switch.entry.js +1 -1
  607. package/dist/esm/translate-icon.entry.js +1 -1
  608. package/dist/esm/trash-fill-icon.entry.js +1 -1
  609. package/dist/esm/underline-icon.entry.js +1 -1
  610. package/dist/esm/{version-B5EM2UED.js → version-CYTx0-4Z.js} +3 -3
  611. package/dist/esm/version-CYTx0-4Z.js.map +1 -0
  612. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.esm.js.map +1 -1
  613. package/dist/nylas-web-elements/nylas-scheduling.entry.esm.js.map +1 -1
  614. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  615. package/dist/nylas-web-elements/{p-219fd6f9.entry.js → p-00183807.entry.js} +2 -2
  616. package/dist/nylas-web-elements/p-080096b9.entry.js +2 -0
  617. package/dist/nylas-web-elements/p-204ef0b9.entry.js +2 -0
  618. package/dist/nylas-web-elements/{p-37c5834c.entry.js → p-20b88057.entry.js} +2 -2
  619. package/dist/nylas-web-elements/{p-87f52db7.entry.js → p-22a55c18.entry.js} +2 -2
  620. package/dist/nylas-web-elements/{p-11f478bd.entry.js → p-38c87a6e.entry.js} +2 -2
  621. package/dist/nylas-web-elements/{p-991b94bd.entry.js → p-3b627f4c.entry.js} +2 -2
  622. package/dist/nylas-web-elements/p-48188b92.entry.js +2 -0
  623. package/dist/nylas-web-elements/p-48188b92.entry.js.map +1 -0
  624. package/dist/nylas-web-elements/{p-932456ba.entry.js → p-4d170fc4.entry.js} +2 -2
  625. package/dist/nylas-web-elements/p-4dac5ab9.entry.js +2 -0
  626. package/dist/nylas-web-elements/{p-7fe0b3bb.entry.js.map → p-4dac5ab9.entry.js.map} +1 -1
  627. package/dist/nylas-web-elements/p-4f601ebb.entry.js +2 -0
  628. package/dist/nylas-web-elements/{p-3d1fd865.entry.js → p-50ffbf25.entry.js} +2 -2
  629. package/dist/nylas-web-elements/{p-81af9950.entry.js → p-54437b43.entry.js} +2 -2
  630. package/dist/nylas-web-elements/{p-f4516330.entry.js → p-55ce6edc.entry.js} +2 -2
  631. package/dist/nylas-web-elements/p-59d181d5.entry.js +2 -0
  632. package/dist/nylas-web-elements/{p-0ae1a52e.entry.js → p-5d3ae749.entry.js} +3 -3
  633. package/dist/nylas-web-elements/p-5d3ae749.entry.js.map +1 -0
  634. package/dist/nylas-web-elements/p-6e8fdf58.entry.js +2 -0
  635. package/dist/nylas-web-elements/p-722e1419.entry.js +2 -0
  636. package/dist/nylas-web-elements/p-72662447.entry.js +2 -0
  637. package/dist/nylas-web-elements/{p-f45da541.entry.js → p-75647771.entry.js} +2 -2
  638. package/dist/nylas-web-elements/{p-eb5b77ab.entry.js → p-759d71a9.entry.js} +2 -2
  639. package/dist/nylas-web-elements/p-7928b915.entry.js +2 -0
  640. package/dist/nylas-web-elements/{p-0745cbcc.entry.js → p-7a877959.entry.js} +2 -2
  641. package/dist/nylas-web-elements/p-7d28bcb7.entry.js +2 -0
  642. package/dist/nylas-web-elements/{p-af340293.entry.js → p-81eaa606.entry.js} +2 -2
  643. package/dist/nylas-web-elements/p-828469d5.entry.js +2 -0
  644. package/dist/nylas-web-elements/{p-c96b6f73.entry.js → p-829e73ef.entry.js} +2 -2
  645. package/dist/nylas-web-elements/p-82b39e7c.entry.js +2 -0
  646. package/dist/nylas-web-elements/p-82b39e7c.entry.js.map +1 -0
  647. package/dist/nylas-web-elements/p-9676f7ac.entry.js +2 -0
  648. package/dist/nylas-web-elements/{p-95c4f538.entry.js → p-9c0129c6.entry.js} +2 -2
  649. package/dist/nylas-web-elements/p-9cbcc79c.entry.js +2 -0
  650. package/dist/nylas-web-elements/{p-B5EM2UED.js → p-CYTx0-4Z.js} +2 -2
  651. package/dist/nylas-web-elements/p-CYTx0-4Z.js.map +1 -0
  652. package/dist/nylas-web-elements/{p-7930474b.entry.js → p-a03ea995.entry.js} +2 -2
  653. package/dist/nylas-web-elements/{p-84c3921f.entry.js → p-a6c1f77e.entry.js} +2 -2
  654. package/dist/nylas-web-elements/{p-974fce52.entry.js → p-af92dd91.entry.js} +2 -2
  655. package/dist/nylas-web-elements/{p-9dd10333.entry.js → p-b180424a.entry.js} +2 -2
  656. package/dist/nylas-web-elements/{p-1741705d.entry.js → p-bade8744.entry.js} +2 -2
  657. package/dist/nylas-web-elements/{p-fed4cb19.entry.js → p-bd7a8916.entry.js} +2 -2
  658. package/dist/nylas-web-elements/{p-02343d66.entry.js → p-be15cad1.entry.js} +2 -2
  659. package/dist/nylas-web-elements/{p-0c276fdb.entry.js → p-c107eaf2.entry.js} +2 -2
  660. package/dist/nylas-web-elements/{p-7876f3e5.entry.js → p-c273be7d.entry.js} +2 -2
  661. package/dist/nylas-web-elements/{p-a5bb5b9d.entry.js → p-c93b620f.entry.js} +2 -2
  662. package/dist/nylas-web-elements/{p-c0f88f23.entry.js → p-cd97fc2f.entry.js} +2 -2
  663. package/dist/nylas-web-elements/p-dca1f249.entry.js +2 -0
  664. package/dist/nylas-web-elements/{p-2491c840.entry.js → p-e4353ee3.entry.js} +2 -2
  665. package/dist/nylas-web-elements/{p-1618c8ac.entry.js → p-eac0a540.entry.js} +3 -3
  666. package/dist/nylas-web-elements/p-edb44a77.entry.js +2 -0
  667. package/dist/nylas-web-elements/{p-d48d8562.entry.js → p-f4449902.entry.js} +2 -2
  668. package/dist/nylas-web-elements/{p-3a8194c2.entry.js → p-f5ccd7f3.entry.js} +2 -2
  669. package/dist/nylas-web-elements/p-fdf56450.entry.js +2 -0
  670. package/dist/nylas-web-elements/p-ff27e57b.entry.js +2 -0
  671. package/dist/types/common/types.d.ts +2 -0
  672. package/dist/types/components/scheduler/nylas-booking-form/nylas-booking-form.d.ts +6 -0
  673. package/dist/types/components/scheduler/nylas-scheduling/nylas-scheduling.d.ts +1 -0
  674. package/dist/types/components.d.ts +14 -4
  675. package/dist/types/connector/shared/api/scheduler.d.ts +2 -0
  676. package/dist/types/types/index.d.ts +2 -0
  677. package/dist/types/version.d.ts +1 -1
  678. package/package.json +3 -3
  679. package/dist/cjs/version-Dvnf44vW.js.map +0 -1
  680. package/dist/components/p-B3cnALr8.js.map +0 -1
  681. package/dist/esm/version-B5EM2UED.js.map +0 -1
  682. package/dist/nylas-web-elements/p-0ae1a52e.entry.js.map +0 -1
  683. package/dist/nylas-web-elements/p-16db18a3.entry.js +0 -2
  684. package/dist/nylas-web-elements/p-37eedc9d.entry.js +0 -2
  685. package/dist/nylas-web-elements/p-43c3f331.entry.js +0 -2
  686. package/dist/nylas-web-elements/p-4a2bcec0.entry.js +0 -2
  687. package/dist/nylas-web-elements/p-55b2df61.entry.js +0 -2
  688. package/dist/nylas-web-elements/p-68195a72.entry.js +0 -2
  689. package/dist/nylas-web-elements/p-7fe0b3bb.entry.js +0 -2
  690. package/dist/nylas-web-elements/p-88e89256.entry.js +0 -2
  691. package/dist/nylas-web-elements/p-9c8a524c.entry.js +0 -2
  692. package/dist/nylas-web-elements/p-9c8a524c.entry.js.map +0 -1
  693. package/dist/nylas-web-elements/p-B5EM2UED.js.map +0 -1
  694. package/dist/nylas-web-elements/p-a3baa9bf.entry.js +0 -2
  695. package/dist/nylas-web-elements/p-a94cbeb7.entry.js +0 -2
  696. package/dist/nylas-web-elements/p-bca85255.entry.js +0 -2
  697. package/dist/nylas-web-elements/p-c7f4c268.entry.js +0 -2
  698. package/dist/nylas-web-elements/p-c7f4c268.entry.js.map +0 -1
  699. package/dist/nylas-web-elements/p-de990849.entry.js +0 -2
  700. package/dist/nylas-web-elements/p-e2dd457a.entry.js +0 -2
  701. package/dist/nylas-web-elements/p-e734cde9.entry.js +0 -2
  702. package/dist/nylas-web-elements/p-ed89219a.entry.js +0 -2
  703. package/dist/nylas-web-elements/p-f0406089.entry.js +0 -2
  704. package/dist/nylas-web-elements/p-f7f2c232.entry.js +0 -2
  705. /package/dist/nylas-web-elements/{p-219fd6f9.entry.js.map → p-00183807.entry.js.map} +0 -0
  706. /package/dist/nylas-web-elements/{p-68195a72.entry.js.map → p-080096b9.entry.js.map} +0 -0
  707. /package/dist/nylas-web-elements/{p-a3baa9bf.entry.js.map → p-204ef0b9.entry.js.map} +0 -0
  708. /package/dist/nylas-web-elements/{p-37c5834c.entry.js.map → p-20b88057.entry.js.map} +0 -0
  709. /package/dist/nylas-web-elements/{p-87f52db7.entry.js.map → p-22a55c18.entry.js.map} +0 -0
  710. /package/dist/nylas-web-elements/{p-11f478bd.entry.js.map → p-38c87a6e.entry.js.map} +0 -0
  711. /package/dist/nylas-web-elements/{p-991b94bd.entry.js.map → p-3b627f4c.entry.js.map} +0 -0
  712. /package/dist/nylas-web-elements/{p-932456ba.entry.js.map → p-4d170fc4.entry.js.map} +0 -0
  713. /package/dist/nylas-web-elements/{p-f7f2c232.entry.js.map → p-4f601ebb.entry.js.map} +0 -0
  714. /package/dist/nylas-web-elements/{p-3d1fd865.entry.js.map → p-50ffbf25.entry.js.map} +0 -0
  715. /package/dist/nylas-web-elements/{p-81af9950.entry.js.map → p-54437b43.entry.js.map} +0 -0
  716. /package/dist/nylas-web-elements/{p-f4516330.entry.js.map → p-55ce6edc.entry.js.map} +0 -0
  717. /package/dist/nylas-web-elements/{p-55b2df61.entry.js.map → p-59d181d5.entry.js.map} +0 -0
  718. /package/dist/nylas-web-elements/{p-37eedc9d.entry.js.map → p-6e8fdf58.entry.js.map} +0 -0
  719. /package/dist/nylas-web-elements/{p-88e89256.entry.js.map → p-722e1419.entry.js.map} +0 -0
  720. /package/dist/nylas-web-elements/{p-43c3f331.entry.js.map → p-72662447.entry.js.map} +0 -0
  721. /package/dist/nylas-web-elements/{p-f45da541.entry.js.map → p-75647771.entry.js.map} +0 -0
  722. /package/dist/nylas-web-elements/{p-eb5b77ab.entry.js.map → p-759d71a9.entry.js.map} +0 -0
  723. /package/dist/nylas-web-elements/{p-de990849.entry.js.map → p-7928b915.entry.js.map} +0 -0
  724. /package/dist/nylas-web-elements/{p-0745cbcc.entry.js.map → p-7a877959.entry.js.map} +0 -0
  725. /package/dist/nylas-web-elements/{p-16db18a3.entry.js.map → p-7d28bcb7.entry.js.map} +0 -0
  726. /package/dist/nylas-web-elements/{p-af340293.entry.js.map → p-81eaa606.entry.js.map} +0 -0
  727. /package/dist/nylas-web-elements/{p-bca85255.entry.js.map → p-828469d5.entry.js.map} +0 -0
  728. /package/dist/nylas-web-elements/{p-c96b6f73.entry.js.map → p-829e73ef.entry.js.map} +0 -0
  729. /package/dist/nylas-web-elements/{p-e734cde9.entry.js.map → p-9676f7ac.entry.js.map} +0 -0
  730. /package/dist/nylas-web-elements/{p-95c4f538.entry.js.map → p-9c0129c6.entry.js.map} +0 -0
  731. /package/dist/nylas-web-elements/{p-f0406089.entry.js.map → p-9cbcc79c.entry.js.map} +0 -0
  732. /package/dist/nylas-web-elements/{p-7930474b.entry.js.map → p-a03ea995.entry.js.map} +0 -0
  733. /package/dist/nylas-web-elements/{p-84c3921f.entry.js.map → p-a6c1f77e.entry.js.map} +0 -0
  734. /package/dist/nylas-web-elements/{p-974fce52.entry.js.map → p-af92dd91.entry.js.map} +0 -0
  735. /package/dist/nylas-web-elements/{p-9dd10333.entry.js.map → p-b180424a.entry.js.map} +0 -0
  736. /package/dist/nylas-web-elements/{p-1741705d.entry.js.map → p-bade8744.entry.js.map} +0 -0
  737. /package/dist/nylas-web-elements/{p-fed4cb19.entry.js.map → p-bd7a8916.entry.js.map} +0 -0
  738. /package/dist/nylas-web-elements/{p-02343d66.entry.js.map → p-be15cad1.entry.js.map} +0 -0
  739. /package/dist/nylas-web-elements/{p-0c276fdb.entry.js.map → p-c107eaf2.entry.js.map} +0 -0
  740. /package/dist/nylas-web-elements/{p-7876f3e5.entry.js.map → p-c273be7d.entry.js.map} +0 -0
  741. /package/dist/nylas-web-elements/{p-a5bb5b9d.entry.js.map → p-c93b620f.entry.js.map} +0 -0
  742. /package/dist/nylas-web-elements/{p-c0f88f23.entry.js.map → p-cd97fc2f.entry.js.map} +0 -0
  743. /package/dist/nylas-web-elements/{p-4a2bcec0.entry.js.map → p-dca1f249.entry.js.map} +0 -0
  744. /package/dist/nylas-web-elements/{p-2491c840.entry.js.map → p-e4353ee3.entry.js.map} +0 -0
  745. /package/dist/nylas-web-elements/{p-1618c8ac.entry.js.map → p-eac0a540.entry.js.map} +0 -0
  746. /package/dist/nylas-web-elements/{p-ed89219a.entry.js.map → p-edb44a77.entry.js.map} +0 -0
  747. /package/dist/nylas-web-elements/{p-d48d8562.entry.js.map → p-f4449902.entry.js.map} +0 -0
  748. /package/dist/nylas-web-elements/{p-3a8194c2.entry.js.map → p-f5ccd7f3.entry.js.map} +0 -0
  749. /package/dist/nylas-web-elements/{p-a94cbeb7.entry.js.map → p-fdf56450.entry.js.map} +0 -0
  750. /package/dist/nylas-web-elements/{p-e2dd457a.entry.js.map → p-ff27e57b.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"p-BBxu-pwN.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-event-timeslot/nylas-event-timeslot.scss?tag=nylas-event-timeslot&encapsulation=shadow","src/components/scheduler-editor/nylas-event-timeslot/nylas-event-timeslot.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n@use '../../../common/mixins/buttons' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\ndiv.nylas-event-timeslot {\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n }\n\n div.date-time-input {\n div.date-time-picker {\n display: flex;\n gap: 32px;\n\n @media #{$mobile} {\n flex-direction: column;\n gap: 16px;\n }\n\n nylas-date-component {\n width: 224px;\n\n @media #{$mobile} {\n width: 100%;\n }\n &:not(.error) {\n &::part(ic__date) {\n border-color: var(--nylas-base-200);\n }\n }\n &::part(ic__date) {\n height: 50px;\n }\n }\n\n div.time-range {\n display: flex;\n gap: 8px;\n align-items: flex-start;\n\n span {\n margin: 12px 0 0 6px;\n display: inline-flex;\n align-items: flex-start;\n }\n\n @media #{$mobile} {\n display: grid;\n grid-template-columns: 1fr 20px 1fr;\n\n nylas-time-window-picker {\n &::part(time-picker) {\n width: -webkit-fill-available;\n }\n\n &::part(time-input) {\n width: calc(100% - 8px);\n }\n }\n }\n }\n\n select-dropdown {\n width: fit-content;\n\n &::part(sd_dropdown) {\n position: relative;\n }\n\n &::part(sd_dropdown-button) {\n border: none;\n padding: 14px;\n justify-content: flex-start;\n\n &:hover {\n border: none;\n outline: none;\n color: var(--nylas-primary);\n }\n }\n\n @media #{$mobile} {\n width: -webkit-fill-available;\n\n &::part(sd_dropdown-button-selected-label) {\n max-width: fit-content;\n }\n\n &::part(sd_dropdown-content) {\n right: unset;\n width: unset;\n }\n }\n }\n }\n\n div.recurrence-options {\n margin: 8px 0;\n\n select-dropdown {\n &::part(sd_dropdown) {\n position: relative;\n }\n\n &::part(sd_dropdown-button) {\n width: fit-content;\n padding: 14px;\n border-color: var(--nylas-base-200);\n\n &:hover {\n color: var(--nylas-primary);\n }\n }\n\n &::part(sd_dropdown-content) {\n width: fit-content;\n }\n\n &::part(sd_dropdown-button-selected-label) {\n max-width: 100%;\n width: fit-content;\n font-size: 16px;\n }\n\n @media #{$mobile} {\n width: -webkit-fill-available;\n\n &::part(sd_dropdown-button-selected-label) {\n max-width: 254px;\n width: fit-content;\n }\n\n &::part(sd_dropdown-content) {\n right: unset;\n width: unset;\n }\n }\n\n @media #{$x-small-mobile} {\n &::part(sd_dropdown-button-selected-label) {\n max-width: 240px;\n }\n }\n }\n\n div.custom-recurrence-time-period,\n div.recurrence-type,\n div.recurrence-end {\n display: grid;\n align-items: center;\n gap: 16px;\n grid-template-columns: 128px 1fr;\n margin-bottom: 8px;\n select-dropdown::part(sd_dropdown-button) {\n border-color: var(--nylas-base-200);\n }\n\n @media #{$mobile} {\n grid-template-columns: 1fr;\n gap: 4px;\n margin: 16px 0;\n }\n\n time-period-selector::part(id_dropdown-input) {\n padding: 16px;\n }\n time-period-selector input-dropdown {\n &:hover {\n border: 1px solid var(--nylas-primary);\n outline: 1px solid transparent;\n }\n }\n }\n\n div.repeat-on {\n div.days {\n margin: 16px 0;\n display: flex;\n gap: 16px;\n align-items: center;\n\n div.buttons {\n display: flex;\n gap: 8px;\n margin: 8px 0;\n\n button {\n border-radius: 50%;\n border: none;\n height: 24px;\n width: 24px;\n color: var(--nylas-base-800);\n cursor: pointer;\n background: var(--nylas-base-100);\n\n &:hover {\n background-color: var(--nylas-base-500);\n color: var(--nylas-base-0);\n }\n\n &.selected {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n }\n\n &:active {\n background-color: var(--nylas-base-600);\n color: var(--nylas-base-0);\n }\n }\n }\n }\n\n div.days,\n div.custom-recurrence-ends,\n div.month-recurrence {\n display: grid;\n align-items: center;\n gap: 16px;\n grid-template-columns: 128px 1fr;\n\n @media #{$mobile} {\n grid-template-columns: 1fr;\n gap: 4px;\n margin: 16px 0;\n }\n }\n\n div.custom-recurrence-ends {\n #custom-recurrence-end-type {\n &::part(sd_dropdown-button) {\n padding: 16px;\n }\n }\n }\n\n div.custom-recurrence {\n display: flex;\n gap: 16px;\n align-items: baseline;\n\n @media #{$mobile} {\n flex-direction: column;\n align-items: flex-start;\n gap: 0;\n }\n\n div.custom-recurrence-end-after {\n display: flex;\n gap: 8px;\n align-items: center;\n\n @media #{$mobile} {\n flex-direction: column;\n align-items: flex-start;\n }\n #recurrence-end-after {\n &::part(netimeslot__input-textfield),\n &::part(ic__input) {\n border-color: var(--nylas-base-200);\n }\n }\n }\n\n nylas-date-component::part(ic__date) {\n padding: 0 16px;\n height: 52px;\n border: 1px solid var(--nylas-base-200);\n }\n }\n }\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, generateRRule, getTimezoneOffset } 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 i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE, TIMEZONE_MAP } from '@/common/constants';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport { User } from '@/common/nylas-api-request';\nimport { ThemeConfig } from '@nylas/core';\n\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nconst periodMap = {\n day: 'daily',\n week: 'weekly',\n month: 'monthly',\n year: 'yearly',\n};\n\ntype RepeatEndType = 'never' | 'on' | 'after';\ntype RecurrenceType = 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'custom';\n\n/**\n * The `nylas-event-timeslot` component is a UI component that allows users to select the event type for the scheduler configuration.\n */\n@Component({\n tag: 'nylas-event-timeslot',\n styleUrl: 'nylas-event-timeslot.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasEventTimeslot {\n @Element() host!: HTMLNylasEventTimeslotElement;\n\n /**\n * @standalone\n * The name of the component\n */\n @Prop() name: string = 'event-timeslot';\n /**\n * The initial value of the event timeslot.\n */\n @Prop() initialValue?: {\n when: {\n start_time: number;\n end_time: number;\n start_timezone: string;\n end_timezone: string;\n };\n recurrence: string[];\n };\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The current user.\n */\n @Prop() currentUser?: User;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The selected date.\n */\n @State() selectedDate!: string;\n\n /**\n * The selected start time.\n */\n @State() selectedStartTime!: string;\n\n /**\n * The selected end time.\n */\n @State() selectedEndTime!: string;\n\n /**\n * The timezone.\n */\n @State() selectedTimezone!: string;\n\n /**\n * The selected recurrence type.\n */\n @State() selectedRecurrenceType!: RecurrenceType;\n\n /**\n * Time range error.\n */\n @State() timeRangeError: boolean = false;\n\n /**\n * The selected rrule.\n */\n @State() selectedRrule!: string | null;\n\n /**\n * Recurrence options.\n */\n @State() recurrenceOptions: { label: string; value: string }[] = [];\n /**\n * Repeat every frequency.\n */\n @State() repeatEveryInterval: number = 1;\n /**\n * Repeat every period.\n */\n @State() repeatEveryFrequency: string = 'week';\n /**\n * Repeat on days.\n */\n @State() repeatOnDays: string[] = [];\n /**\n * Repeat monthly on.\n */\n @State() repeatMonthlySameDate: boolean = true;\n /**\n * Repeat end type.\n */\n @State() repeatEndType: RepeatEndType = 'never';\n /**\n * Repeat end after.\n */\n @State() repeatEndAfter: number = 1;\n /**\n * Repeat end on (custom recurrence).\n */\n @State() repeatEndOn: string | undefined;\n /**\n * Month recurrence options.\n */\n @State() monthRecurrenceOptions: { label: string; value: string }[] = [];\n /**\n * The end date for recurrence (non-custom recurrence).\n */\n @State() endDate: string | undefined;\n\n /**\n * The flag to indicate if the date input is in error state.\n */\n @State() hasDateTimeInputError: boolean = false;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * This event is fired when the value of the event location changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * This event is fired when the value of the event timeslot changes.\n */\n @Event() timeWindowFormError!: EventEmitter<{\n key: string;\n message: string;\n uniqueIdentifier?: string;\n }>;\n\n /**\n * This event is fired when the value of the event timeslot changes.\n */\n @Event() dateTimeInputError!: EventEmitter<{\n key: string;\n message: string;\n }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-event-timeslot', '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-event-timeslot', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-event-timeslot', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-event-timeslot', 'componentDidLoad');\n\n // Set defaults from initialValue or fallback to current values\n if (this.initialValue) {\n const { when, recurrence } = this.initialValue;\n\n if (when) {\n this.selectedDate = dayjs.unix(when.start_time).tz(when.start_timezone).format('YYYY-MM-DD');\n this.selectedStartTime = dayjs.unix(when.start_time).tz(when.start_timezone).format('hh:mma');\n this.selectedEndTime = dayjs.unix(when.end_time).tz(when.end_timezone).format('hh:mma');\n this.selectedTimezone = when.start_timezone;\n } else {\n this.selectedDate = new Date().toISOString().split('T')[0];\n const defaultTimes = this.getSuggestedTime();\n this.selectedStartTime = defaultTimes.startTime;\n this.selectedEndTime = defaultTimes.endTime;\n this.selectedTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n\n if (recurrence && recurrence.length > 0) {\n this.selectedRrule = recurrence[0];\n const repeatEndAfter = recurrence[0]?.split(';')?.find(s => s.includes('COUNT'));\n if (repeatEndAfter) {\n this.repeatEndAfter = parseInt(repeatEndAfter.split('=')[1]);\n }\n const daysString = recurrence[0]?.split(';')?.find(s => s.includes('BYDAY'));\n if (daysString) {\n this.repeatOnDays = daysString.split('=')[1].split(',');\n }\n const until = recurrence[0]?.split(';')?.find(s => s.includes('UNTIL'));\n if (until) {\n const untilDate = dayjs(until.split('=')[1], 'YYYYMMDDTHHmmss').toDate();\n this.repeatEndOn = dayjs(untilDate).toISOString().split('T')[0];\n this.repeatEndType = 'on';\n }\n const recurrenceType = this.getRecurrenceTypeFromRrule(recurrence[0]);\n this.selectedRecurrenceType = recurrenceType || 'none';\n } else {\n this.selectedRecurrenceType = 'none';\n this.selectedRrule = generateRRule(this.selectedDate, this.selectedRecurrenceType, undefined, undefined, this.selectedTimezone);\n }\n } else {\n this.selectedDate = new Date().toISOString().split('T')[0];\n const defaultTimes = this.getSuggestedTime();\n this.selectedStartTime = defaultTimes.startTime;\n this.selectedEndTime = defaultTimes.endTime;\n this.selectedTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n this.selectedRecurrenceType = 'none';\n this.selectedRrule = generateRRule(this.selectedDate, this.selectedRecurrenceType, undefined, undefined, this.selectedTimezone);\n }\n\n this.recurrenceOptions = this.generateRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n this.monthRecurrenceOptions = this.getMonthRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n\n // Trigger initial value change\n this.handleValueChanged(true);\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-event-timeslot', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\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 // Utility function to get the ordinal suffix (e.g., 1st, 2nd, 3rd)\n getOrdinalSuffix(n) {\n const s = ['th', 'st', 'nd', 'rd'];\n const v = n % 100;\n return n + (s[(v - 20) % 10] || s[v] || s[0]);\n }\n\n getRecurrenceTypeFromRrule(rrule: string): RecurrenceType | undefined {\n if (rrule.includes('INTERVAL')) return 'custom';\n if (rrule.includes('FREQ=DAILY')) return 'daily';\n if (rrule.includes('FREQ=WEEKLY')) return 'weekly';\n if (rrule.includes('FREQ=MONTHLY')) return 'monthly';\n if (rrule.includes('FREQ=YEARLY')) return 'yearly';\n return undefined;\n }\n\n // Function to generate dynamic recurrence options\n generateRecurrenceOptions(selectedDate: string, timezoneStr: string) {\n const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\n // Parse the date in the given timezone\n const selectedDay = dayjs.tz(selectedDate, timezoneStr);\n\n const dayOfWeek = daysOfWeek[selectedDay.day()]; // Get the day of the week (e.g., Thursday)\n\n // Determine the occurrence of the day in the month (e.g., 1st, 2nd, etc.)\n const date = selectedDay.date();\n const occurrenceInMonth = Math.ceil(date / 7); // e.g., 1st Thursday\n\n // Generate options\n return [\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.none'), value: 'none' },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.daily'), value: 'daily' },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.weekly', { dayOfWeek: dayOfWeek }), value: 'weekly' },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.monthly', { dayOfMonth: `${this.getOrdinalSuffix(occurrenceInMonth)} ${dayOfWeek}` }), value: 'monthly' },\n {\n label: i18next.t('nylasEventTimeslot.recurrenceOptions.yearly', { dateOfMonth: `${selectedDay.format('MMMM D')}` }),\n value: 'yearly',\n },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.custom'), value: 'custom' },\n ];\n }\n\n // Function to generate dynamic month recurrence options\n getMonthRecurrenceOptions(selectedDate: string, timezoneStr: string) {\n const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\n const selectedDay = dayjs.tz(selectedDate, timezoneStr);\n const dayOfWeek = daysOfWeek[selectedDay.day()]; // Get the day of the week (e.g., Thursday)\n const date = selectedDay.date();\n const occurrenceInMonth = Math.ceil(date / 7);\n\n return [\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.monthOnDay', { date: date }), value: 'monthly-same-date' },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.monthly', { dayOfMonth: `${this.getOrdinalSuffix(occurrenceInMonth)} ${dayOfWeek}` }), value: 'monthly' },\n ];\n }\n\n // Function to get the default suggested time shown in the time range picker\n getSuggestedTime() {\n const now = dayjs();\n\n // Round current time to the next 30-minute increment\n const minutes = now.minute();\n const roundedMinutes = minutes <= 30 ? 30 : 60;\n const startTime = now.set('minute', roundedMinutes).set('second', 0);\n\n // Calculate end time (30 minutes after start time)\n const endTime = startTime.add(30, 'minute');\n\n // Format the times in \"hh:mma\" format\n return {\n startTime: startTime.format('hh:mma'), // e.g., \"03:00pm\"\n endTime: endTime.format('hh:mma'), // e.g., \"03:30pm\"\n };\n }\n\n getTimezoneLabelHTML(timezone: string) {\n const offset = getTimezoneOffset(timezone);\n return (\n <span\n class=\"timezone-label\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '-webkit-fill-available',\n }}\n >\n {TIMEZONE_MAP[timezone]}{' '}\n <span\n class=\"timezone-offset\"\n style={{\n fontSize: '14px',\n fontWeight: '400',\n color: 'var(--nylas-base-500)',\n }}\n >\n {offset}\n </span>\n </span>\n );\n }\n\n // Function to check if the start time is after the end time (used for validation)\n isStartTimeAfterEndTime(startTime: string, endTime: string): boolean {\n // Parse the times using Day.js\n const start = dayjs(startTime, 'hh:mma');\n const end = dayjs(endTime, 'hh:mma');\n\n // Compare start and end times\n return start.isAfter(end);\n }\n\n isStartTimeEqualToEndTime(startTime: string, endTime: string): boolean {\n const start = dayjs(startTime, 'hh:mma');\n const end = dayjs(endTime, 'hh:mma');\n return start.isSame(end);\n }\n\n isStartTimeBeforeCurrentDate(date: string, startTime: string, timezone: string): boolean {\n const dateTime = dayjs.tz(`${date} ${startTime}`, 'YYYY-MM-DD hh:mma', timezone);\n return dateTime.isBefore(dayjs());\n }\n\n validateDateTimeInput(date: string, startTime: string, timezone: string): { isValid: boolean; errorMessage: string } {\n const dateTimeWithStartTime = dayjs.tz(`${date} ${startTime}`, 'YYYY-MM-DD hh:mma', timezone);\n const isInPast = dateTimeWithStartTime.isBefore(dayjs());\n\n return {\n isValid: !isInPast,\n errorMessage: isInPast ? i18next.t('nylasEventTimeslot.errors.startTimeBeforeCurrentDate') : '',\n };\n }\n\n // Function to get the start and end times in Unix timestamp format (used in the valueChanged event)\n getStartAndEndTimes() {\n const start_time = dayjs.tz(`${this.selectedDate} ${this.selectedStartTime}`, 'YYYY-MM-DD hh:mma', this.selectedTimezone).toDate();\n const end_time = dayjs.tz(`${this.selectedDate} ${this.selectedEndTime}`, 'YYYY-MM-DD hh:mma', this.selectedTimezone).toDate();\n\n return {\n start_time: Math.round(start_time.getTime() / 1000),\n end_time: Math.round(end_time.getTime() / 1000),\n };\n }\n\n // Function to get the custom options for the RRule\n getCustomOptions() {\n if (this.selectedRecurrenceType !== 'custom') {\n return undefined;\n }\n\n const repeatFreq = periodMap[this.repeatEveryFrequency];\n\n return {\n frequency: repeatFreq,\n interval: this.repeatEveryInterval,\n daysOfWeek: this.repeatEveryFrequency === 'week' ? this.repeatOnDays : undefined,\n monthlySameDate: this.repeatEveryFrequency === 'month' ? this.repeatMonthlySameDate : undefined,\n end: {\n type: this.repeatEndType,\n count: this.repeatEndType === 'after' ? this.repeatEndAfter : undefined,\n date: this.repeatEndType === 'on' ? this.repeatEndOn : undefined,\n },\n };\n }\n\n handleValueChanged(noValue: boolean = false) {\n const customOptions = this.getCustomOptions();\n this.selectedRrule = generateRRule(this.selectedDate, this.selectedRecurrenceType, this.repeatEndOn, customOptions, this.selectedTimezone);\n const { start_time, end_time } = this.getStartAndEndTimes();\n const internalsObj = {\n when: {\n start_time: start_time,\n end_time: end_time,\n start_timezone: this.selectedTimezone,\n end_timezone: this.selectedTimezone,\n },\n recurrence: this.selectedRrule ? [this.selectedRrule] : [],\n };\n this.internals.setFormValue(JSON.stringify(internalsObj), this.name);\n if (!noValue) {\n this.valueChanged.emit({\n value: JSON.stringify(internalsObj),\n name: this.name,\n });\n }\n }\n\n // Listeners\n @Listen('timeChange')\n setTime(event: CustomEvent<{ key: string; value: string }>) {\n const { key, value } = event.detail;\n if (key === 'event-timeslot-start-time') {\n this.selectedStartTime = value;\n } else if (key === 'event-timeslot-end-time') {\n this.selectedEndTime = value;\n }\n const validateStartTimeAfterEndTime = this.isStartTimeAfterEndTime(this.selectedStartTime, this.selectedEndTime);\n const validateStartTimeEqualToEndTime = this.isStartTimeEqualToEndTime(this.selectedStartTime, this.selectedEndTime);\n\n // Update the validation to use the validation method\n const validation = this.validateDateTimeInput(this.selectedDate, this.selectedStartTime, this.selectedTimezone);\n const validateStartTimeBeforeCurrentDate = !validation.isValid;\n\n this.timeRangeError = validateStartTimeAfterEndTime || validateStartTimeEqualToEndTime || validateStartTimeBeforeCurrentDate;\n let error = '';\n if (validateStartTimeAfterEndTime) {\n error = i18next.t('nylasEventTimeslot.errors.invalidTimeRange');\n } else if (validateStartTimeEqualToEndTime) {\n error = i18next.t('nylasEventTimeslot.errors.startTimeSameAsEndTime');\n } else if (validateStartTimeBeforeCurrentDate) {\n error = validation.errorMessage;\n } else {\n error = '';\n }\n this.timeWindowFormError.emit({\n key: this.name,\n message: error,\n uniqueIdentifier: 'time-range',\n });\n if (error) {\n return;\n }\n\n this.handleValueChanged();\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: RecurrenceType | RepeatEndType | string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.selectedTimezone = value;\n const date = dayjs(this.selectedDate);\n const validation = this.validateDateTimeInput(date.format('YYYY-MM-DD'), this.selectedStartTime, this.selectedTimezone);\n\n this.hasDateTimeInputError = !validation.isValid;\n this.dateTimeInputError.emit({\n key: this.name,\n message: validation.errorMessage,\n });\n\n if (!validation.isValid) {\n return;\n }\n } else if (name === 'recurrence-type') {\n this.selectedRecurrenceType = value as RecurrenceType;\n } else if (name === 'month-recurrence-type') {\n this.repeatMonthlySameDate = value === 'monthly-same-date';\n } else if (name === 'custom-recurrence-end-type') {\n this.repeatEndType = value as RepeatEndType;\n }\n\n this.handleValueChanged();\n }\n\n @Listen('nylasFormInputChanged')\n nylasFormInputChangedHandler(event: CustomEvent<{ value: string; name: string; error?: string }>) {\n const { name, value } = event.detail;\n if (name === 'date-time-input') {\n const date = dayjs(value);\n const validation = this.validateDateTimeInput(date.format('YYYY-MM-DD'), this.selectedStartTime, this.selectedTimezone);\n\n this.hasDateTimeInputError = !validation.isValid;\n this.dateTimeInputError.emit({\n key: this.name,\n message: validation.errorMessage,\n });\n\n if (!validation.isValid) {\n return;\n }\n\n this.selectedDate = date.format('YYYY-MM-DD');\n this.recurrenceOptions = this.generateRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n this.monthRecurrenceOptions = this.getMonthRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n } else if (name === 'recurrence-end-date' || name === 'custom-recurrence-end-date') {\n const error = event.detail?.error || '';\n this.timeWindowFormError.emit({\n key: this.name,\n message: error,\n uniqueIdentifier: name,\n });\n this.repeatEndOn = value;\n } else if (name === 'recurrence-end-after') {\n const parsedValue = parseInt(value);\n if (parsedValue < 1 || isNaN(parsedValue)) {\n this.timeWindowFormError.emit({\n key: this.name,\n message: i18next.t('fixFormErrors'),\n });\n return;\n }\n this.repeatEndAfter = parsedValue;\n }\n\n this.handleValueChanged();\n }\n\n @Listen('timePeriodChanged')\n timePeriodChangedHandler(event: CustomEvent<{ number: number; period: 'day' | 'week' | 'month' | 'year' }>) {\n const { number, period } = event.detail;\n this.repeatEveryInterval = number;\n this.repeatEveryFrequency = period;\n\n if (period === 'month') {\n this.monthRecurrenceOptions = this.getMonthRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n }\n\n this.handleValueChanged();\n }\n\n @RegisterComponent<NylasEventTimeslot, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-event-timeslot',\n stateToProps: new Map([\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.currentUser', 'currentUser'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n valueChanged: async (event: CustomEvent<{ value: string; name: string }>, _nylasConnector: NylasSchedulerConfigConnector) => {\n debug('nylas-event-timeslot', 'valueChanged', event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const icloudProvider = this.currentUser?.provider === 'icloud';\n const defaultRecurrenceOption = this.recurrenceOptions.find(option => option.value === this.selectedRecurrenceType);\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n labelHTML: this.getTimezoneLabelHTML(key),\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n const selectedTimezoneOption = timezoneOptions.find(i => i.value === this.selectedTimezone);\n const endOptions = [\n { label: i18next.t('nylasEventTimeslot.customRecurrence.endsOptions.never'), value: 'never' },\n { label: i18next.t('nylasEventTimeslot.customRecurrence.endsOptions.on'), value: 'on' },\n { label: i18next.t('nylasEventTimeslot.customRecurrence.endsOptions.after'), value: 'after' },\n ];\n const defaultEndOnDate = dayjs(this.selectedDate).add(1, 'year').toISOString().split('T')[0];\n const defaultEndAfter = this.repeatEveryFrequency === 'week' ? 4 : this.repeatEveryFrequency === 'month' ? 12 : 5;\n this.repeatEndOn = this.repeatEndOn || defaultEndOnDate;\n this.repeatEndAfter = this.repeatEndAfter || defaultEndAfter;\n const today = dayjs().tz(this.selectedTimezone);\n return (\n <Host>\n <div class=\"nylas-event-timeslot\" part=\"netimeslot\">\n <label htmlFor=\"date-time-input\">{i18next.t('nylasEventTimeslot.dateTimeLabel')}</label>\n <div class=\"date-time-input\" part=\"netimeslot__date-time-input\">\n <div class=\"date-time-picker\" part=\"netimeslot__date-time-picker\">\n <nylas-date-component\n minDate={dayjs().tz(this.selectedTimezone).toISOString().split('T')[0]}\n name=\"date-time-input\"\n defaultValue={this.selectedDate}\n id={'date-time-input'}\n class={{ error: this.hasDateTimeInputError }}\n required={true}\n hasError={this.hasDateTimeInputError}\n themeConfig={this.themeConfig}\n ></nylas-date-component>\n <div class=\"time-range\" part=\"netimeslot__time-range\">\n <nylas-time-window-picker\n id={'event-timeslot-start-time'}\n hasError={this.timeRangeError}\n time={this.selectedStartTime}\n language={this.selectedLanguage}\n name={'event-timeslot-start-time'}\n key={'event-timeslot-start-time'}\n themeConfig={this.themeConfig}\n exportparts=\"time-picker: nap__time-picker-container, time-input: nap__time-picker-input, times: nap__time-picker-times\"\n />\n <span>&ndash;</span>\n <nylas-time-window-picker\n id={'event-timeslot-end-time'}\n hasError={this.timeRangeError}\n time={this.selectedEndTime}\n language={this.selectedLanguage}\n name={'event-timeslot-end-time'}\n key={'event-timeslot-end-time'}\n minimumStartTime={this.selectedStartTime}\n themeConfig={this.themeConfig}\n exportparts=\"time-picker: nap__time-picker-container, time-input: nap__time-picker-input, times: nap__time-picker-times\"\n />\n </div>\n {selectedTimezoneOption?.label && (\n <select-dropdown\n searchPlaceholder={i18next.t('search')}\n name=\"timezone\"\n exportparts=\"sd_dropdown: nap__timezone-container, sd_dropdown-button: nap__timezone-button, sd_dropdown-content: nap__timezone-dropdown-content\"\n options={timezoneOptions}\n withChevron={false}\n defaultSelectedOption={selectedTimezoneOption}\n themeConfig={this.themeConfig}\n >\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n )}\n </div>\n {!icloudProvider && (\n // iCloud provider does not support recurrence options\n <div class=\"recurrence-options\" part=\"netimeslot__recurrence-options\">\n {defaultRecurrenceOption && defaultRecurrenceOption?.label && (\n <div class=\"recurrence-type\" part=\"netimeslot__recurrence-type\">\n <label htmlFor=\"recurrence-type\">{i18next.t('nylasEventTimeslot.recurrenceLabel')}</label>\n <select-dropdown\n withSearch={false}\n id=\"recurrence-type\"\n name=\"recurrence-type\"\n options={this.recurrenceOptions}\n themeConfig={this.themeConfig}\n defaultSelectedOption={defaultRecurrenceOption}\n exportparts=\"sd_dropdown: netimeslot__dropdown, sd_dropdown-button: netimeslot__dropdown-button, sd_dropdown-content: netimeslot__dropdown-content\"\n ></select-dropdown>\n </div>\n )}\n {this.selectedRecurrenceType !== 'custom' && this.selectedRecurrenceType !== 'none' && (\n <div class=\"recurrence-end\" part=\"netimeslot__recurrence-end\">\n <label>{i18next.t('nylasEventTimeslot.endDate')}</label>\n <nylas-date-component\n name=\"recurrence-end-date\"\n minDate={today.toISOString().split('T')[0]}\n defaultValue={this.repeatEndOn || defaultEndOnDate}\n id={'recurrence-end-date'}\n required={true}\n themeConfig={this.themeConfig}\n ></nylas-date-component>\n </div>\n )}\n\n {this.selectedRecurrenceType === 'custom' && (\n <div class=\"custom-recurrence-time-period\" part=\"netimeslot__custom-recurrence\">\n <label htmlFor=\"\">{i18next.t('nylasEventTimeslot.customRecurrence.repeatEvery')}</label>\n <time-period-selector\n id=\"custom-recurrence-time-period\"\n exportparts=\"tps__number-dropdown: netimeslot__number-dropdown, tps__number-dropdown-button: netimeslot__number-dropdown-button, tps__number-dropdown-content: netimeslot__number-dropdown-content, tps__period-dropdown: netimeslot__period-dropdown, tps__period-dropdown-button: netimeslot__period-dropdown-button, tps__period-dropdown-content: netimeslot__period-dropdown-content\"\n timePeriods={[\n { value: 'day', label: i18next.t('timePeriod', { context: 'day' }) },\n { value: 'week', label: i18next.t('timePeriod', { context: 'week' }) },\n { value: 'month', label: i18next.t('timePeriod', { context: 'month' }) },\n { value: 'year', label: i18next.t('timePeriod', { context: 'year' }) },\n ]}\n themeConfig={this.themeConfig}\n defaultSelectedNumber={this.repeatEveryInterval}\n defaultSelectedPeriod={this.repeatEveryFrequency}\n />\n </div>\n )}\n <div class=\"repeat-on\">\n {this.selectedRecurrenceType === 'custom' && this.repeatEveryFrequency === 'week' && (\n <div class=\"days\">\n <label>{i18next.t('nylasEventTimeslot.customRecurrence.repeatOn')}</label>\n <div class=\"buttons\">\n {[\n { label: 'S', value: 'SU', title: 'Sunday' },\n { label: 'M', value: 'MO', title: 'Monday' },\n { label: 'T', value: 'TU', title: 'Tuesday' },\n { label: 'W', value: 'WE', title: 'Wednesday' },\n { label: 'T', value: 'TH', title: 'Thursday' },\n { label: 'F', value: 'FR', title: 'Friday' },\n { label: 'S', value: 'SA', title: 'Saturday' },\n ].map(day => (\n <button\n class={{ selected: this.repeatOnDays.includes(day.value) }}\n title={day.title}\n onClick={() => {\n this.repeatOnDays = this.repeatOnDays.includes(day.value) ? this.repeatOnDays.filter(d => d !== day.value) : [...this.repeatOnDays, day.value];\n this.handleValueChanged();\n }}\n >\n {day.label}\n </button>\n ))}\n </div>\n </div>\n )}\n {this.selectedRecurrenceType === 'custom' && this.repeatEveryFrequency === 'month' && (\n <div class=\"month-recurrence\">\n <span></span>\n <select-dropdown\n withSearch={false}\n id=\"month-recurrence-type\"\n name=\"month-recurrence-type\"\n options={this.monthRecurrenceOptions}\n themeConfig={this.themeConfig}\n defaultSelectedOption={this.repeatMonthlySameDate ? this.monthRecurrenceOptions[0] : this.monthRecurrenceOptions[1]}\n exportparts=\"sd_dropdown: netimeslot__dropdown, sd_dropdown-button: netimeslot__dropdown-button, sd_dropdown-content: netimeslot__dropdown-content\"\n ></select-dropdown>\n </div>\n )}\n <div class=\"custom-recurrence\">\n {this.selectedRecurrenceType === 'custom' && (\n <div class=\"custom-recurrence-ends\">\n <label htmlFor=\"recurrence-type\">{i18next.t('nylasEventTimeslot.customRecurrence.ends')}</label>\n <select-dropdown\n withSearch={false}\n id=\"custom-recurrence-end-type\"\n name=\"custom-recurrence-end-type\"\n options={endOptions}\n themeConfig={this.themeConfig}\n defaultSelectedOption={endOptions.find(option => option.value === this.repeatEndType)}\n exportparts=\"sd_dropdown: netimeslot__dropdown, sd_dropdown-button: netimeslot__dropdown-button, sd_dropdown-content: netimeslot__dropdown-content\"\n ></select-dropdown>\n </div>\n )}\n {this.selectedRecurrenceType === 'custom' && this.repeatEndType === 'on' && (\n <div>\n <nylas-date-component\n name=\"custom-recurrence-end-date\"\n minDate={today.toISOString().split('T')[0]}\n defaultValue={this.repeatEndOn || defaultEndOnDate}\n id={'custom-recurrence-end-date'}\n required={true}\n themeConfig={this.themeConfig}\n ></nylas-date-component>\n </div>\n )}\n {this.selectedRecurrenceType === 'custom' && this.repeatEndType === 'after' && (\n <div class=\"custom-recurrence-end-after\">\n <input-component\n name=\"recurrence-end-after\"\n id=\"recurrence-end-after\"\n type=\"number\"\n minValue={1}\n themeConfig={this.themeConfig}\n defaultValue={defaultEndAfter.toString()}\n exportparts=\"ic_input: netimeslot__input-textfield\"\n />\n <span>{i18next.t('nylasEventTimeslot.customRecurrence.occurrences')}</span>\n </div>\n )}\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CRWfdwTk.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-event-timeslot/nylas-event-timeslot.scss?tag=nylas-event-timeslot&encapsulation=shadow","src/components/scheduler-editor/nylas-event-timeslot/nylas-event-timeslot.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n@use '../../../common/mixins/buttons' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\ndiv.nylas-event-timeslot {\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n }\n\n div.date-time-input {\n div.date-time-picker {\n display: flex;\n gap: 32px;\n\n @media #{$mobile} {\n flex-direction: column;\n gap: 16px;\n }\n\n nylas-date-component {\n width: 224px;\n\n @media #{$mobile} {\n width: 100%;\n }\n &:not(.error) {\n &::part(ic__date) {\n border-color: var(--nylas-base-200);\n }\n }\n &::part(ic__date) {\n height: 50px;\n }\n }\n\n div.time-range {\n display: flex;\n gap: 8px;\n align-items: flex-start;\n\n span {\n margin: 12px 0 0 6px;\n display: inline-flex;\n align-items: flex-start;\n }\n\n @media #{$mobile} {\n display: grid;\n grid-template-columns: 1fr 20px 1fr;\n\n nylas-time-window-picker {\n &::part(time-picker) {\n width: -webkit-fill-available;\n }\n\n &::part(time-input) {\n width: calc(100% - 8px);\n }\n }\n }\n }\n\n select-dropdown {\n width: fit-content;\n\n &::part(sd_dropdown) {\n position: relative;\n }\n\n &::part(sd_dropdown-button) {\n border: none;\n padding: 14px;\n justify-content: flex-start;\n\n &:hover {\n border: none;\n outline: none;\n color: var(--nylas-primary);\n }\n }\n\n @media #{$mobile} {\n width: -webkit-fill-available;\n\n &::part(sd_dropdown-button-selected-label) {\n max-width: fit-content;\n }\n\n &::part(sd_dropdown-content) {\n right: unset;\n width: unset;\n }\n }\n }\n }\n\n div.recurrence-options {\n margin: 8px 0;\n\n select-dropdown {\n &::part(sd_dropdown) {\n position: relative;\n }\n\n &::part(sd_dropdown-button) {\n width: fit-content;\n padding: 14px;\n border-color: var(--nylas-base-200);\n\n &:hover {\n color: var(--nylas-primary);\n }\n }\n\n &::part(sd_dropdown-content) {\n width: fit-content;\n }\n\n &::part(sd_dropdown-button-selected-label) {\n max-width: 100%;\n width: fit-content;\n font-size: 16px;\n }\n\n @media #{$mobile} {\n width: -webkit-fill-available;\n\n &::part(sd_dropdown-button-selected-label) {\n max-width: 254px;\n width: fit-content;\n }\n\n &::part(sd_dropdown-content) {\n right: unset;\n width: unset;\n }\n }\n\n @media #{$x-small-mobile} {\n &::part(sd_dropdown-button-selected-label) {\n max-width: 240px;\n }\n }\n }\n\n div.custom-recurrence-time-period,\n div.recurrence-type,\n div.recurrence-end {\n display: grid;\n align-items: center;\n gap: 16px;\n grid-template-columns: 128px 1fr;\n margin-bottom: 8px;\n select-dropdown::part(sd_dropdown-button) {\n border-color: var(--nylas-base-200);\n }\n\n @media #{$mobile} {\n grid-template-columns: 1fr;\n gap: 4px;\n margin: 16px 0;\n }\n\n time-period-selector::part(id_dropdown-input) {\n padding: 16px;\n }\n time-period-selector input-dropdown {\n &:hover {\n border: 1px solid var(--nylas-primary);\n outline: 1px solid transparent;\n }\n }\n }\n\n div.repeat-on {\n div.days {\n margin: 16px 0;\n display: flex;\n gap: 16px;\n align-items: center;\n\n div.buttons {\n display: flex;\n gap: 8px;\n margin: 8px 0;\n\n button {\n border-radius: 50%;\n border: none;\n height: 24px;\n width: 24px;\n color: var(--nylas-base-800);\n cursor: pointer;\n background: var(--nylas-base-100);\n\n &:hover {\n background-color: var(--nylas-base-500);\n color: var(--nylas-base-0);\n }\n\n &.selected {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n }\n\n &:active {\n background-color: var(--nylas-base-600);\n color: var(--nylas-base-0);\n }\n }\n }\n }\n\n div.days,\n div.custom-recurrence-ends,\n div.month-recurrence {\n display: grid;\n align-items: center;\n gap: 16px;\n grid-template-columns: 128px 1fr;\n\n @media #{$mobile} {\n grid-template-columns: 1fr;\n gap: 4px;\n margin: 16px 0;\n }\n }\n\n div.custom-recurrence-ends {\n #custom-recurrence-end-type {\n &::part(sd_dropdown-button) {\n padding: 16px;\n }\n }\n }\n\n div.custom-recurrence {\n display: flex;\n gap: 16px;\n align-items: baseline;\n\n @media #{$mobile} {\n flex-direction: column;\n align-items: flex-start;\n gap: 0;\n }\n\n div.custom-recurrence-end-after {\n display: flex;\n gap: 8px;\n align-items: center;\n\n @media #{$mobile} {\n flex-direction: column;\n align-items: flex-start;\n }\n #recurrence-end-after {\n &::part(netimeslot__input-textfield),\n &::part(ic__input) {\n border-color: var(--nylas-base-200);\n }\n }\n }\n\n nylas-date-component::part(ic__date) {\n padding: 0 16px;\n height: 52px;\n border: 1px solid var(--nylas-base-200);\n }\n }\n }\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, generateRRule, getTimezoneOffset } 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 i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE, TIMEZONE_MAP } from '@/common/constants';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport { User } from '@/common/nylas-api-request';\nimport { ThemeConfig } from '@nylas/core';\n\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nconst periodMap = {\n day: 'daily',\n week: 'weekly',\n month: 'monthly',\n year: 'yearly',\n};\n\ntype RepeatEndType = 'never' | 'on' | 'after';\ntype RecurrenceType = 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'custom';\n\n/**\n * The `nylas-event-timeslot` component is a UI component that allows users to select the event type for the scheduler configuration.\n */\n@Component({\n tag: 'nylas-event-timeslot',\n styleUrl: 'nylas-event-timeslot.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasEventTimeslot {\n @Element() host!: HTMLNylasEventTimeslotElement;\n\n /**\n * @standalone\n * The name of the component\n */\n @Prop() name: string = 'event-timeslot';\n /**\n * The initial value of the event timeslot.\n */\n @Prop() initialValue?: {\n when: {\n start_time: number;\n end_time: number;\n start_timezone: string;\n end_timezone: string;\n };\n recurrence: string[];\n };\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The current user.\n */\n @Prop() currentUser?: User;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The selected date.\n */\n @State() selectedDate!: string;\n\n /**\n * The selected start time.\n */\n @State() selectedStartTime!: string;\n\n /**\n * The selected end time.\n */\n @State() selectedEndTime!: string;\n\n /**\n * The timezone.\n */\n @State() selectedTimezone!: string;\n\n /**\n * The selected recurrence type.\n */\n @State() selectedRecurrenceType!: RecurrenceType;\n\n /**\n * Time range error.\n */\n @State() timeRangeError: boolean = false;\n\n /**\n * The selected rrule.\n */\n @State() selectedRrule!: string | null;\n\n /**\n * Recurrence options.\n */\n @State() recurrenceOptions: { label: string; value: string }[] = [];\n /**\n * Repeat every frequency.\n */\n @State() repeatEveryInterval: number = 1;\n /**\n * Repeat every period.\n */\n @State() repeatEveryFrequency: string = 'week';\n /**\n * Repeat on days.\n */\n @State() repeatOnDays: string[] = [];\n /**\n * Repeat monthly on.\n */\n @State() repeatMonthlySameDate: boolean = true;\n /**\n * Repeat end type.\n */\n @State() repeatEndType: RepeatEndType = 'never';\n /**\n * Repeat end after.\n */\n @State() repeatEndAfter: number = 1;\n /**\n * Repeat end on (custom recurrence).\n */\n @State() repeatEndOn: string | undefined;\n /**\n * Month recurrence options.\n */\n @State() monthRecurrenceOptions: { label: string; value: string }[] = [];\n /**\n * The end date for recurrence (non-custom recurrence).\n */\n @State() endDate: string | undefined;\n\n /**\n * The flag to indicate if the date input is in error state.\n */\n @State() hasDateTimeInputError: boolean = false;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * This event is fired when the value of the event location changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * This event is fired when the value of the event timeslot changes.\n */\n @Event() timeWindowFormError!: EventEmitter<{\n key: string;\n message: string;\n uniqueIdentifier?: string;\n }>;\n\n /**\n * This event is fired when the value of the event timeslot changes.\n */\n @Event() dateTimeInputError!: EventEmitter<{\n key: string;\n message: string;\n }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-event-timeslot', '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-event-timeslot', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-event-timeslot', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-event-timeslot', 'componentDidLoad');\n\n // Set defaults from initialValue or fallback to current values\n if (this.initialValue) {\n const { when, recurrence } = this.initialValue;\n\n if (when) {\n this.selectedDate = dayjs.unix(when.start_time).tz(when.start_timezone).format('YYYY-MM-DD');\n this.selectedStartTime = dayjs.unix(when.start_time).tz(when.start_timezone).format('hh:mma');\n this.selectedEndTime = dayjs.unix(when.end_time).tz(when.end_timezone).format('hh:mma');\n this.selectedTimezone = when.start_timezone;\n } else {\n this.selectedDate = new Date().toISOString().split('T')[0];\n const defaultTimes = this.getSuggestedTime();\n this.selectedStartTime = defaultTimes.startTime;\n this.selectedEndTime = defaultTimes.endTime;\n this.selectedTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n\n if (recurrence && recurrence.length > 0) {\n this.selectedRrule = recurrence[0];\n const repeatEndAfter = recurrence[0]?.split(';')?.find(s => s.includes('COUNT'));\n if (repeatEndAfter) {\n this.repeatEndAfter = parseInt(repeatEndAfter.split('=')[1]);\n }\n const daysString = recurrence[0]?.split(';')?.find(s => s.includes('BYDAY'));\n if (daysString) {\n this.repeatOnDays = daysString.split('=')[1].split(',');\n }\n const until = recurrence[0]?.split(';')?.find(s => s.includes('UNTIL'));\n if (until) {\n const untilDate = dayjs(until.split('=')[1], 'YYYYMMDDTHHmmss').toDate();\n this.repeatEndOn = dayjs(untilDate).toISOString().split('T')[0];\n this.repeatEndType = 'on';\n }\n const recurrenceType = this.getRecurrenceTypeFromRrule(recurrence[0]);\n this.selectedRecurrenceType = recurrenceType || 'none';\n } else {\n this.selectedRecurrenceType = 'none';\n this.selectedRrule = generateRRule(this.selectedDate, this.selectedRecurrenceType, undefined, undefined, this.selectedTimezone);\n }\n } else {\n this.selectedDate = new Date().toISOString().split('T')[0];\n const defaultTimes = this.getSuggestedTime();\n this.selectedStartTime = defaultTimes.startTime;\n this.selectedEndTime = defaultTimes.endTime;\n this.selectedTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n this.selectedRecurrenceType = 'none';\n this.selectedRrule = generateRRule(this.selectedDate, this.selectedRecurrenceType, undefined, undefined, this.selectedTimezone);\n }\n\n this.recurrenceOptions = this.generateRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n this.monthRecurrenceOptions = this.getMonthRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n\n // Trigger initial value change\n this.handleValueChanged(true);\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-event-timeslot', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\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 // Utility function to get the ordinal suffix (e.g., 1st, 2nd, 3rd)\n getOrdinalSuffix(n) {\n const s = ['th', 'st', 'nd', 'rd'];\n const v = n % 100;\n return n + (s[(v - 20) % 10] || s[v] || s[0]);\n }\n\n getRecurrenceTypeFromRrule(rrule: string): RecurrenceType | undefined {\n if (rrule.includes('INTERVAL')) return 'custom';\n if (rrule.includes('FREQ=DAILY')) return 'daily';\n if (rrule.includes('FREQ=WEEKLY')) return 'weekly';\n if (rrule.includes('FREQ=MONTHLY')) return 'monthly';\n if (rrule.includes('FREQ=YEARLY')) return 'yearly';\n return undefined;\n }\n\n // Function to generate dynamic recurrence options\n generateRecurrenceOptions(selectedDate: string, timezoneStr: string) {\n const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\n // Parse the date in the given timezone\n const selectedDay = dayjs.tz(selectedDate, timezoneStr);\n\n const dayOfWeek = daysOfWeek[selectedDay.day()]; // Get the day of the week (e.g., Thursday)\n\n // Determine the occurrence of the day in the month (e.g., 1st, 2nd, etc.)\n const date = selectedDay.date();\n const occurrenceInMonth = Math.ceil(date / 7); // e.g., 1st Thursday\n\n // Generate options\n return [\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.none'), value: 'none' },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.daily'), value: 'daily' },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.weekly', { dayOfWeek: dayOfWeek }), value: 'weekly' },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.monthly', { dayOfMonth: `${this.getOrdinalSuffix(occurrenceInMonth)} ${dayOfWeek}` }), value: 'monthly' },\n {\n label: i18next.t('nylasEventTimeslot.recurrenceOptions.yearly', { dateOfMonth: `${selectedDay.format('MMMM D')}` }),\n value: 'yearly',\n },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.custom'), value: 'custom' },\n ];\n }\n\n // Function to generate dynamic month recurrence options\n getMonthRecurrenceOptions(selectedDate: string, timezoneStr: string) {\n const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\n const selectedDay = dayjs.tz(selectedDate, timezoneStr);\n const dayOfWeek = daysOfWeek[selectedDay.day()]; // Get the day of the week (e.g., Thursday)\n const date = selectedDay.date();\n const occurrenceInMonth = Math.ceil(date / 7);\n\n return [\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.monthOnDay', { date: date }), value: 'monthly-same-date' },\n { label: i18next.t('nylasEventTimeslot.recurrenceOptions.monthly', { dayOfMonth: `${this.getOrdinalSuffix(occurrenceInMonth)} ${dayOfWeek}` }), value: 'monthly' },\n ];\n }\n\n // Function to get the default suggested time shown in the time range picker\n getSuggestedTime() {\n const now = dayjs();\n\n // Round current time to the next 30-minute increment\n const minutes = now.minute();\n const roundedMinutes = minutes <= 30 ? 30 : 60;\n const startTime = now.set('minute', roundedMinutes).set('second', 0);\n\n // Calculate end time (30 minutes after start time)\n const endTime = startTime.add(30, 'minute');\n\n // Format the times in \"hh:mma\" format\n return {\n startTime: startTime.format('hh:mma'), // e.g., \"03:00pm\"\n endTime: endTime.format('hh:mma'), // e.g., \"03:30pm\"\n };\n }\n\n getTimezoneLabelHTML(timezone: string) {\n const offset = getTimezoneOffset(timezone);\n return (\n <span\n class=\"timezone-label\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '-webkit-fill-available',\n }}\n >\n {TIMEZONE_MAP[timezone]}{' '}\n <span\n class=\"timezone-offset\"\n style={{\n fontSize: '14px',\n fontWeight: '400',\n color: 'var(--nylas-base-500)',\n }}\n >\n {offset}\n </span>\n </span>\n );\n }\n\n // Function to check if the start time is after the end time (used for validation)\n isStartTimeAfterEndTime(startTime: string, endTime: string): boolean {\n // Parse the times using Day.js\n const start = dayjs(startTime, 'hh:mma');\n const end = dayjs(endTime, 'hh:mma');\n\n // Compare start and end times\n return start.isAfter(end);\n }\n\n isStartTimeEqualToEndTime(startTime: string, endTime: string): boolean {\n const start = dayjs(startTime, 'hh:mma');\n const end = dayjs(endTime, 'hh:mma');\n return start.isSame(end);\n }\n\n isStartTimeBeforeCurrentDate(date: string, startTime: string, timezone: string): boolean {\n const dateTime = dayjs.tz(`${date} ${startTime}`, 'YYYY-MM-DD hh:mma', timezone);\n return dateTime.isBefore(dayjs());\n }\n\n validateDateTimeInput(date: string, startTime: string, timezone: string): { isValid: boolean; errorMessage: string } {\n const dateTimeWithStartTime = dayjs.tz(`${date} ${startTime}`, 'YYYY-MM-DD hh:mma', timezone);\n const isInPast = dateTimeWithStartTime.isBefore(dayjs());\n\n return {\n isValid: !isInPast,\n errorMessage: isInPast ? i18next.t('nylasEventTimeslot.errors.startTimeBeforeCurrentDate') : '',\n };\n }\n\n // Function to get the start and end times in Unix timestamp format (used in the valueChanged event)\n getStartAndEndTimes() {\n const start_time = dayjs.tz(`${this.selectedDate} ${this.selectedStartTime}`, 'YYYY-MM-DD hh:mma', this.selectedTimezone).toDate();\n const end_time = dayjs.tz(`${this.selectedDate} ${this.selectedEndTime}`, 'YYYY-MM-DD hh:mma', this.selectedTimezone).toDate();\n\n return {\n start_time: Math.round(start_time.getTime() / 1000),\n end_time: Math.round(end_time.getTime() / 1000),\n };\n }\n\n // Function to get the custom options for the RRule\n getCustomOptions() {\n if (this.selectedRecurrenceType !== 'custom') {\n return undefined;\n }\n\n const repeatFreq = periodMap[this.repeatEveryFrequency];\n\n return {\n frequency: repeatFreq,\n interval: this.repeatEveryInterval,\n daysOfWeek: this.repeatEveryFrequency === 'week' ? this.repeatOnDays : undefined,\n monthlySameDate: this.repeatEveryFrequency === 'month' ? this.repeatMonthlySameDate : undefined,\n end: {\n type: this.repeatEndType,\n count: this.repeatEndType === 'after' ? this.repeatEndAfter : undefined,\n date: this.repeatEndType === 'on' ? this.repeatEndOn : undefined,\n },\n };\n }\n\n handleValueChanged(noValue: boolean = false) {\n const customOptions = this.getCustomOptions();\n this.selectedRrule = generateRRule(this.selectedDate, this.selectedRecurrenceType, this.repeatEndOn, customOptions, this.selectedTimezone);\n const { start_time, end_time } = this.getStartAndEndTimes();\n const internalsObj = {\n when: {\n start_time: start_time,\n end_time: end_time,\n start_timezone: this.selectedTimezone,\n end_timezone: this.selectedTimezone,\n },\n recurrence: this.selectedRrule ? [this.selectedRrule] : [],\n };\n this.internals.setFormValue(JSON.stringify(internalsObj), this.name);\n if (!noValue) {\n this.valueChanged.emit({\n value: JSON.stringify(internalsObj),\n name: this.name,\n });\n }\n }\n\n // Listeners\n @Listen('timeChange')\n setTime(event: CustomEvent<{ key: string; value: string }>) {\n const { key, value } = event.detail;\n if (key === 'event-timeslot-start-time') {\n this.selectedStartTime = value;\n } else if (key === 'event-timeslot-end-time') {\n this.selectedEndTime = value;\n }\n const validateStartTimeAfterEndTime = this.isStartTimeAfterEndTime(this.selectedStartTime, this.selectedEndTime);\n const validateStartTimeEqualToEndTime = this.isStartTimeEqualToEndTime(this.selectedStartTime, this.selectedEndTime);\n\n // Update the validation to use the validation method\n const validation = this.validateDateTimeInput(this.selectedDate, this.selectedStartTime, this.selectedTimezone);\n const validateStartTimeBeforeCurrentDate = !validation.isValid;\n\n this.timeRangeError = validateStartTimeAfterEndTime || validateStartTimeEqualToEndTime || validateStartTimeBeforeCurrentDate;\n let error = '';\n if (validateStartTimeAfterEndTime) {\n error = i18next.t('nylasEventTimeslot.errors.invalidTimeRange');\n } else if (validateStartTimeEqualToEndTime) {\n error = i18next.t('nylasEventTimeslot.errors.startTimeSameAsEndTime');\n } else if (validateStartTimeBeforeCurrentDate) {\n error = validation.errorMessage;\n } else {\n error = '';\n }\n this.timeWindowFormError.emit({\n key: this.name,\n message: error,\n uniqueIdentifier: 'time-range',\n });\n if (error) {\n return;\n }\n\n this.handleValueChanged();\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: RecurrenceType | RepeatEndType | string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.selectedTimezone = value;\n const date = dayjs(this.selectedDate);\n const validation = this.validateDateTimeInput(date.format('YYYY-MM-DD'), this.selectedStartTime, this.selectedTimezone);\n\n this.hasDateTimeInputError = !validation.isValid;\n this.dateTimeInputError.emit({\n key: this.name,\n message: validation.errorMessage,\n });\n\n if (!validation.isValid) {\n return;\n }\n } else if (name === 'recurrence-type') {\n this.selectedRecurrenceType = value as RecurrenceType;\n } else if (name === 'month-recurrence-type') {\n this.repeatMonthlySameDate = value === 'monthly-same-date';\n } else if (name === 'custom-recurrence-end-type') {\n this.repeatEndType = value as RepeatEndType;\n }\n\n this.handleValueChanged();\n }\n\n @Listen('nylasFormInputChanged')\n nylasFormInputChangedHandler(event: CustomEvent<{ value: string; name: string; error?: string }>) {\n const { name, value } = event.detail;\n if (name === 'date-time-input') {\n const date = dayjs(value);\n const validation = this.validateDateTimeInput(date.format('YYYY-MM-DD'), this.selectedStartTime, this.selectedTimezone);\n\n this.hasDateTimeInputError = !validation.isValid;\n this.dateTimeInputError.emit({\n key: this.name,\n message: validation.errorMessage,\n });\n\n if (!validation.isValid) {\n return;\n }\n\n this.selectedDate = date.format('YYYY-MM-DD');\n this.recurrenceOptions = this.generateRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n this.monthRecurrenceOptions = this.getMonthRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n } else if (name === 'recurrence-end-date' || name === 'custom-recurrence-end-date') {\n const error = event.detail?.error || '';\n this.timeWindowFormError.emit({\n key: this.name,\n message: error,\n uniqueIdentifier: name,\n });\n this.repeatEndOn = value;\n } else if (name === 'recurrence-end-after') {\n const parsedValue = parseInt(value);\n if (parsedValue < 1 || isNaN(parsedValue)) {\n this.timeWindowFormError.emit({\n key: this.name,\n message: i18next.t('fixFormErrors'),\n });\n return;\n }\n this.repeatEndAfter = parsedValue;\n }\n\n this.handleValueChanged();\n }\n\n @Listen('timePeriodChanged')\n timePeriodChangedHandler(event: CustomEvent<{ number: number; period: 'day' | 'week' | 'month' | 'year' }>) {\n const { number, period } = event.detail;\n this.repeatEveryInterval = number;\n this.repeatEveryFrequency = period;\n\n if (period === 'month') {\n this.monthRecurrenceOptions = this.getMonthRecurrenceOptions(this.selectedDate, this.selectedTimezone);\n }\n\n this.handleValueChanged();\n }\n\n @RegisterComponent<NylasEventTimeslot, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-event-timeslot',\n stateToProps: new Map([\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.currentUser', 'currentUser'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n valueChanged: async (event: CustomEvent<{ value: string; name: string }>, _nylasConnector: NylasSchedulerConfigConnector) => {\n debug('nylas-event-timeslot', 'valueChanged', event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const icloudProvider = this.currentUser?.provider === 'icloud';\n const defaultRecurrenceOption = this.recurrenceOptions.find(option => option.value === this.selectedRecurrenceType);\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n labelHTML: this.getTimezoneLabelHTML(key),\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n const selectedTimezoneOption = timezoneOptions.find(i => i.value === this.selectedTimezone);\n const endOptions = [\n { label: i18next.t('nylasEventTimeslot.customRecurrence.endsOptions.never'), value: 'never' },\n { label: i18next.t('nylasEventTimeslot.customRecurrence.endsOptions.on'), value: 'on' },\n { label: i18next.t('nylasEventTimeslot.customRecurrence.endsOptions.after'), value: 'after' },\n ];\n const defaultEndOnDate = dayjs(this.selectedDate).add(1, 'year').toISOString().split('T')[0];\n const defaultEndAfter = this.repeatEveryFrequency === 'week' ? 4 : this.repeatEveryFrequency === 'month' ? 12 : 5;\n this.repeatEndOn = this.repeatEndOn || defaultEndOnDate;\n this.repeatEndAfter = this.repeatEndAfter || defaultEndAfter;\n const today = dayjs().tz(this.selectedTimezone);\n return (\n <Host>\n <div class=\"nylas-event-timeslot\" part=\"netimeslot\">\n <label htmlFor=\"date-time-input\">{i18next.t('nylasEventTimeslot.dateTimeLabel')}</label>\n <div class=\"date-time-input\" part=\"netimeslot__date-time-input\">\n <div class=\"date-time-picker\" part=\"netimeslot__date-time-picker\">\n <nylas-date-component\n minDate={dayjs().tz(this.selectedTimezone).toISOString().split('T')[0]}\n name=\"date-time-input\"\n defaultValue={this.selectedDate}\n id={'date-time-input'}\n class={{ error: this.hasDateTimeInputError }}\n required={true}\n hasError={this.hasDateTimeInputError}\n themeConfig={this.themeConfig}\n ></nylas-date-component>\n <div class=\"time-range\" part=\"netimeslot__time-range\">\n <nylas-time-window-picker\n id={'event-timeslot-start-time'}\n hasError={this.timeRangeError}\n time={this.selectedStartTime}\n language={this.selectedLanguage}\n name={'event-timeslot-start-time'}\n key={'event-timeslot-start-time'}\n themeConfig={this.themeConfig}\n exportparts=\"time-picker: nap__time-picker-container, time-input: nap__time-picker-input, times: nap__time-picker-times\"\n />\n <span>&ndash;</span>\n <nylas-time-window-picker\n id={'event-timeslot-end-time'}\n hasError={this.timeRangeError}\n time={this.selectedEndTime}\n language={this.selectedLanguage}\n name={'event-timeslot-end-time'}\n key={'event-timeslot-end-time'}\n minimumStartTime={this.selectedStartTime}\n themeConfig={this.themeConfig}\n exportparts=\"time-picker: nap__time-picker-container, time-input: nap__time-picker-input, times: nap__time-picker-times\"\n />\n </div>\n {selectedTimezoneOption?.label && (\n <select-dropdown\n searchPlaceholder={i18next.t('search')}\n name=\"timezone\"\n exportparts=\"sd_dropdown: nap__timezone-container, sd_dropdown-button: nap__timezone-button, sd_dropdown-content: nap__timezone-dropdown-content\"\n options={timezoneOptions}\n withChevron={false}\n defaultSelectedOption={selectedTimezoneOption}\n themeConfig={this.themeConfig}\n >\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n )}\n </div>\n {!icloudProvider && (\n // iCloud provider does not support recurrence options\n <div class=\"recurrence-options\" part=\"netimeslot__recurrence-options\">\n {defaultRecurrenceOption && defaultRecurrenceOption?.label && (\n <div class=\"recurrence-type\" part=\"netimeslot__recurrence-type\">\n <label htmlFor=\"recurrence-type\">{i18next.t('nylasEventTimeslot.recurrenceLabel')}</label>\n <select-dropdown\n withSearch={false}\n id=\"recurrence-type\"\n name=\"recurrence-type\"\n options={this.recurrenceOptions}\n themeConfig={this.themeConfig}\n defaultSelectedOption={defaultRecurrenceOption}\n exportparts=\"sd_dropdown: netimeslot__dropdown, sd_dropdown-button: netimeslot__dropdown-button, sd_dropdown-content: netimeslot__dropdown-content\"\n ></select-dropdown>\n </div>\n )}\n {this.selectedRecurrenceType !== 'custom' && this.selectedRecurrenceType !== 'none' && (\n <div class=\"recurrence-end\" part=\"netimeslot__recurrence-end\">\n <label>{i18next.t('nylasEventTimeslot.endDate')}</label>\n <nylas-date-component\n name=\"recurrence-end-date\"\n minDate={today.toISOString().split('T')[0]}\n defaultValue={this.repeatEndOn || defaultEndOnDate}\n id={'recurrence-end-date'}\n required={true}\n themeConfig={this.themeConfig}\n ></nylas-date-component>\n </div>\n )}\n\n {this.selectedRecurrenceType === 'custom' && (\n <div class=\"custom-recurrence-time-period\" part=\"netimeslot__custom-recurrence\">\n <label htmlFor=\"\">{i18next.t('nylasEventTimeslot.customRecurrence.repeatEvery')}</label>\n <time-period-selector\n id=\"custom-recurrence-time-period\"\n exportparts=\"tps__number-dropdown: netimeslot__number-dropdown, tps__number-dropdown-button: netimeslot__number-dropdown-button, tps__number-dropdown-content: netimeslot__number-dropdown-content, tps__period-dropdown: netimeslot__period-dropdown, tps__period-dropdown-button: netimeslot__period-dropdown-button, tps__period-dropdown-content: netimeslot__period-dropdown-content\"\n timePeriods={[\n { value: 'day', label: i18next.t('timePeriod', { context: 'day' }) },\n { value: 'week', label: i18next.t('timePeriod', { context: 'week' }) },\n { value: 'month', label: i18next.t('timePeriod', { context: 'month' }) },\n { value: 'year', label: i18next.t('timePeriod', { context: 'year' }) },\n ]}\n themeConfig={this.themeConfig}\n defaultSelectedNumber={this.repeatEveryInterval}\n defaultSelectedPeriod={this.repeatEveryFrequency}\n />\n </div>\n )}\n <div class=\"repeat-on\">\n {this.selectedRecurrenceType === 'custom' && this.repeatEveryFrequency === 'week' && (\n <div class=\"days\">\n <label>{i18next.t('nylasEventTimeslot.customRecurrence.repeatOn')}</label>\n <div class=\"buttons\">\n {[\n { label: 'S', value: 'SU', title: 'Sunday' },\n { label: 'M', value: 'MO', title: 'Monday' },\n { label: 'T', value: 'TU', title: 'Tuesday' },\n { label: 'W', value: 'WE', title: 'Wednesday' },\n { label: 'T', value: 'TH', title: 'Thursday' },\n { label: 'F', value: 'FR', title: 'Friday' },\n { label: 'S', value: 'SA', title: 'Saturday' },\n ].map(day => (\n <button\n class={{ selected: this.repeatOnDays.includes(day.value) }}\n title={day.title}\n onClick={() => {\n this.repeatOnDays = this.repeatOnDays.includes(day.value) ? this.repeatOnDays.filter(d => d !== day.value) : [...this.repeatOnDays, day.value];\n this.handleValueChanged();\n }}\n >\n {day.label}\n </button>\n ))}\n </div>\n </div>\n )}\n {this.selectedRecurrenceType === 'custom' && this.repeatEveryFrequency === 'month' && (\n <div class=\"month-recurrence\">\n <span></span>\n <select-dropdown\n withSearch={false}\n id=\"month-recurrence-type\"\n name=\"month-recurrence-type\"\n options={this.monthRecurrenceOptions}\n themeConfig={this.themeConfig}\n defaultSelectedOption={this.repeatMonthlySameDate ? this.monthRecurrenceOptions[0] : this.monthRecurrenceOptions[1]}\n exportparts=\"sd_dropdown: netimeslot__dropdown, sd_dropdown-button: netimeslot__dropdown-button, sd_dropdown-content: netimeslot__dropdown-content\"\n ></select-dropdown>\n </div>\n )}\n <div class=\"custom-recurrence\">\n {this.selectedRecurrenceType === 'custom' && (\n <div class=\"custom-recurrence-ends\">\n <label htmlFor=\"recurrence-type\">{i18next.t('nylasEventTimeslot.customRecurrence.ends')}</label>\n <select-dropdown\n withSearch={false}\n id=\"custom-recurrence-end-type\"\n name=\"custom-recurrence-end-type\"\n options={endOptions}\n themeConfig={this.themeConfig}\n defaultSelectedOption={endOptions.find(option => option.value === this.repeatEndType)}\n exportparts=\"sd_dropdown: netimeslot__dropdown, sd_dropdown-button: netimeslot__dropdown-button, sd_dropdown-content: netimeslot__dropdown-content\"\n ></select-dropdown>\n </div>\n )}\n {this.selectedRecurrenceType === 'custom' && this.repeatEndType === 'on' && (\n <div>\n <nylas-date-component\n name=\"custom-recurrence-end-date\"\n minDate={today.toISOString().split('T')[0]}\n defaultValue={this.repeatEndOn || defaultEndOnDate}\n id={'custom-recurrence-end-date'}\n required={true}\n themeConfig={this.themeConfig}\n ></nylas-date-component>\n </div>\n )}\n {this.selectedRecurrenceType === 'custom' && this.repeatEndType === 'after' && (\n <div class=\"custom-recurrence-end-after\">\n <input-component\n name=\"recurrence-end-after\"\n id=\"recurrence-end-after\"\n type=\"number\"\n minValue={1}\n themeConfig={this.themeConfig}\n defaultValue={defaultEndAfter.toString()}\n exportparts=\"ic_input: netimeslot__input-textfield\"\n />\n <span>{i18next.t('nylasEventTimeslot.customRecurrence.occurrences')}</span>\n </div>\n )}\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, e as createEvent, h } from './p-Bht9ktsW.js';
2
- import { d as defineCustomElement$1 } from './p-BkqJQBCp.js';
2
+ import { d as defineCustomElement$1 } from './p-DjZdyHmc.js';
3
3
 
4
4
  const checkboxGroupCss = ":host{display:block}.checkbox-group-container{display:flex;flex-direction:column;gap:0.5rem}.group-label{font-weight:500;margin-bottom:0.25rem}.group-label .required{color:var(--nylas-error);margin-left:0.25rem}.checkbox-list{display:flex;gap:16px}.checkbox-list.vertical{flex-direction:column}.checkbox-list.horizontal{flex-direction:row;align-items:center}.checkbox-list checkbox-component{width:max-content}.checkbox-list checkbox-component::part(checkbox-label-span){width:inherit;margin-left:24px}.error{color:var(--nylas-error);font-size:0.875rem;margin-top:0.25rem}";
5
5
 
@@ -87,7 +87,7 @@ const CheckboxGroup = proxyCustomElement(class CheckboxGroup extends H {
87
87
  this.handleCheckboxToggle(event);
88
88
  }
89
89
  render() {
90
- return (h("div", { key: 'fe97aab12e7f1be11a0f565a1029813c2f0eadcd', class: "checkbox-group-container" }, this.label && (h("div", { key: '2bca129a3f5d785bd47a7a95e75726e1c0a48c14', class: "group-label" }, this.label, this.required && h("span", { key: '0ee4c2e9d60c8f3cce2e341af765579192378a1b', class: "required" }, "*"))), h("div", { key: '6182ce7752d1fe41dcad71014868b7af411c1508', class: `checkbox-list ${this.direction}` }, this.options.map(option => (h("checkbox-component", { name: `${this.name}-${option.value}`, label: option.label, checked: this.selectedValues.includes(option.value), readOnly: option.disabled, required: this.required, themeConfig: this.themeConfig })))), this.error && h("p", { key: '00719569b2db2dd41d5ff3ba332dc48d03016dcc', class: "error" }, this.error)));
90
+ return (h("div", { key: '23978e91b423c794f1133c3841ac9a01e99835e4', class: "checkbox-group-container" }, this.label && (h("div", { key: '72d07a1d8a9f40d96f14925fe4d08024ce00dba2', class: "group-label" }, this.label, this.required && h("span", { key: '6386ad4a054a90812738c84be2f5304449c28971', class: "required" }, "*"))), h("div", { key: 'b014066301e1ed8f79502eb74efdeefc2e7e7ff9', class: `checkbox-list ${this.direction}` }, this.options.map(option => (h("checkbox-component", { name: `${this.name}-${option.value}`, label: option.label, checked: this.selectedValues.includes(option.value), readOnly: option.disabled, required: this.required, themeConfig: this.themeConfig })))), this.error && h("p", { key: '55c2b20c4da9a17cc4d98225cba5c5bcdbb31061', class: "error" }, this.error)));
91
91
  }
92
92
  get el() { return this; }
93
93
  static get watchers() { return {
@@ -128,6 +128,6 @@ function defineCustomElement() {
128
128
  }
129
129
 
130
130
  export { CheckboxGroup as C, defineCustomElement as d };
131
- //# sourceMappingURL=p-CahZPm95.js.map
131
+ //# sourceMappingURL=p-CWNABkMS.js.map
132
132
 
133
- //# sourceMappingURL=p-CahZPm95.js.map
133
+ //# sourceMappingURL=p-CWNABkMS.js.map
@@ -1 +1 @@
1
- {"file":"p-CahZPm95.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/checkbox-group/checkbox-group.scss?tag=checkbox-group&encapsulation=shadow","src/components/design-system/checkbox-group/checkbox-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.checkbox-group-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.group-label {\n font-weight: 500;\n margin-bottom: 0.25rem;\n\n .required {\n color: var(--nylas-error);\n margin-left: 0.25rem;\n }\n}\n\n.checkbox-list {\n display: flex;\n gap: 16px;\n\n &.vertical {\n flex-direction: column;\n }\n\n &.horizontal {\n flex-direction: row;\n align-items: center;\n }\n\n checkbox-component {\n width: max-content;\n &::part(checkbox-label-span) {\n width: inherit;\n margin-left: 24px;\n }\n }\n}\n\n.error {\n color: var(--nylas-error);\n font-size: 0.875rem;\n margin-top: 0.25rem;\n}\n","import { Component, h, Prop, State, Event, EventEmitter, Element, Listen, Watch } from '@stencil/core';\nimport { CheckboxOption, CheckboxGroupDirection, ThemeConfig } from '@nylas/core';\n\n/**\n * The `checkbox-group` component is a UI component that allows users to select multiple options from a list.\n * It manages a group of checkboxes and their states.\n */\n@Component({\n tag: 'checkbox-group',\n styleUrl: 'checkbox-group.scss',\n shadow: true,\n})\nexport class CheckboxGroup {\n @Element() el!: HTMLElement;\n private readonly componentType: string = 'checkbox-group';\n\n /**\n * The name of the checkbox group. This is used to identify the group when submitting a form.\n */\n @Prop() name: string = 'checkbox-group';\n\n /**\n * The label for the checkbox group.\n */\n @Prop() label: string = '';\n\n /**\n * Array of options to display as checkboxes.\n * Each option should have a label and value.\n */\n @Prop() options: CheckboxOption[] = [];\n\n /**\n * Whether the checkbox group is required. If true, at least one checkbox must be checked when submitting a form.\n */\n @Prop() required: boolean = false;\n\n /**\n * The layout direction of the checkboxes.\n * 'vertical' - checkboxes are stacked vertically (default)\n * 'horizontal' - checkboxes are arranged horizontally\n */\n @Prop() direction: CheckboxGroupDirection = 'vertical';\n\n /**\n * The theme config for the checkbox group.\n */\n @Prop() themeConfig?: ThemeConfig;\n\n /**\n * The error message state.\n */\n @State() error: string = '';\n\n @State() selectedValues: string[] = [];\n\n /**\n * This event is fired when any checkbox in the group is toggled.\n */\n @Event() nylasCheckboxGroupChanged!: EventEmitter<{\n selectedValues: string[];\n name: string;\n }>;\n\n // Lifecycle events\n componentWillLoad() {\n this.el.setAttribute('component-type', this.componentType);\n }\n\n componentDidLoad() {\n this.selectedValues = this.options.filter(option => option.checked).map(option => option.value);\n }\n\n @Watch('options')\n optionsChangedHandler(newValue: CheckboxOption[], oldValue: CheckboxOption[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return;\n this.selectedValues = newValue.filter(option => option.checked).map(option => option.value);\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.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n connectedCallback() {\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.el.setAttribute('data-themed', '');\n }\n });\n }\n\n // Event listeners\n @Listen('bookingFormSubmitted', { target: 'document' })\n handleBookingFormSubmitted(event: CustomEvent) {\n if (this.required && !this.hasCheckedOptions()) {\n this.error = 'Please select at least one option.';\n }\n if (this.error) {\n event.preventDefault();\n }\n }\n\n // Methods\n private hasCheckedOptions(): boolean {\n return this.options.some(option => option.checked);\n }\n\n handleCheckboxToggle(event: CustomEvent) {\n const { checked, name: _checkboxName, label } = event.detail;\n\n // Find the option that was toggled\n const toggledOption = this.options.find(option => option.label === label);\n if (!toggledOption) return;\n\n // Update selectedValues based on the checked state\n let selected: string[] = [];\n if (checked) {\n if (toggledOption.selectAll) {\n selected = this.options.map(option => option.value);\n } else {\n selected = [...this.selectedValues, toggledOption.value];\n }\n } else {\n selected = this.selectedValues.filter(value => value !== toggledOption.value);\n }\n this.selectedValues = [...selected];\n\n // Emit the change event\n this.nylasCheckboxGroupChanged.emit({\n selectedValues: this.selectedValues,\n name: this.name,\n });\n }\n\n @Listen('nylasFormCheckboxToggled', { target: 'document' })\n handleCheckboxToggled(event: CustomEvent) {\n this.handleCheckboxToggle(event);\n }\n\n render() {\n return (\n <div class=\"checkbox-group-container\">\n {this.label && (\n <div class=\"group-label\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </div>\n )}\n <div class={`checkbox-list ${this.direction}`}>\n {this.options.map(option => (\n <checkbox-component\n name={`${this.name}-${option.value}`}\n label={option.label}\n checked={this.selectedValues.includes(option.value)}\n readOnly={option.disabled}\n required={this.required}\n themeConfig={this.themeConfig}\n />\n ))}\n </div>\n {this.error && <p class=\"error\">{this.error}</p>}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CWNABkMS.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/checkbox-group/checkbox-group.scss?tag=checkbox-group&encapsulation=shadow","src/components/design-system/checkbox-group/checkbox-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.checkbox-group-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.group-label {\n font-weight: 500;\n margin-bottom: 0.25rem;\n\n .required {\n color: var(--nylas-error);\n margin-left: 0.25rem;\n }\n}\n\n.checkbox-list {\n display: flex;\n gap: 16px;\n\n &.vertical {\n flex-direction: column;\n }\n\n &.horizontal {\n flex-direction: row;\n align-items: center;\n }\n\n checkbox-component {\n width: max-content;\n &::part(checkbox-label-span) {\n width: inherit;\n margin-left: 24px;\n }\n }\n}\n\n.error {\n color: var(--nylas-error);\n font-size: 0.875rem;\n margin-top: 0.25rem;\n}\n","import { Component, h, Prop, State, Event, EventEmitter, Element, Listen, Watch } from '@stencil/core';\nimport { CheckboxOption, CheckboxGroupDirection, ThemeConfig } from '@nylas/core';\n\n/**\n * The `checkbox-group` component is a UI component that allows users to select multiple options from a list.\n * It manages a group of checkboxes and their states.\n */\n@Component({\n tag: 'checkbox-group',\n styleUrl: 'checkbox-group.scss',\n shadow: true,\n})\nexport class CheckboxGroup {\n @Element() el!: HTMLElement;\n private readonly componentType: string = 'checkbox-group';\n\n /**\n * The name of the checkbox group. This is used to identify the group when submitting a form.\n */\n @Prop() name: string = 'checkbox-group';\n\n /**\n * The label for the checkbox group.\n */\n @Prop() label: string = '';\n\n /**\n * Array of options to display as checkboxes.\n * Each option should have a label and value.\n */\n @Prop() options: CheckboxOption[] = [];\n\n /**\n * Whether the checkbox group is required. If true, at least one checkbox must be checked when submitting a form.\n */\n @Prop() required: boolean = false;\n\n /**\n * The layout direction of the checkboxes.\n * 'vertical' - checkboxes are stacked vertically (default)\n * 'horizontal' - checkboxes are arranged horizontally\n */\n @Prop() direction: CheckboxGroupDirection = 'vertical';\n\n /**\n * The theme config for the checkbox group.\n */\n @Prop() themeConfig?: ThemeConfig;\n\n /**\n * The error message state.\n */\n @State() error: string = '';\n\n @State() selectedValues: string[] = [];\n\n /**\n * This event is fired when any checkbox in the group is toggled.\n */\n @Event() nylasCheckboxGroupChanged!: EventEmitter<{\n selectedValues: string[];\n name: string;\n }>;\n\n // Lifecycle events\n componentWillLoad() {\n this.el.setAttribute('component-type', this.componentType);\n }\n\n componentDidLoad() {\n this.selectedValues = this.options.filter(option => option.checked).map(option => option.value);\n }\n\n @Watch('options')\n optionsChangedHandler(newValue: CheckboxOption[], oldValue: CheckboxOption[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return;\n this.selectedValues = newValue.filter(option => option.checked).map(option => option.value);\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.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n connectedCallback() {\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.el.setAttribute('data-themed', '');\n }\n });\n }\n\n // Event listeners\n @Listen('bookingFormSubmitted', { target: 'document' })\n handleBookingFormSubmitted(event: CustomEvent) {\n if (this.required && !this.hasCheckedOptions()) {\n this.error = 'Please select at least one option.';\n }\n if (this.error) {\n event.preventDefault();\n }\n }\n\n // Methods\n private hasCheckedOptions(): boolean {\n return this.options.some(option => option.checked);\n }\n\n handleCheckboxToggle(event: CustomEvent) {\n const { checked, name: _checkboxName, label } = event.detail;\n\n // Find the option that was toggled\n const toggledOption = this.options.find(option => option.label === label);\n if (!toggledOption) return;\n\n // Update selectedValues based on the checked state\n let selected: string[] = [];\n if (checked) {\n if (toggledOption.selectAll) {\n selected = this.options.map(option => option.value);\n } else {\n selected = [...this.selectedValues, toggledOption.value];\n }\n } else {\n selected = this.selectedValues.filter(value => value !== toggledOption.value);\n }\n this.selectedValues = [...selected];\n\n // Emit the change event\n this.nylasCheckboxGroupChanged.emit({\n selectedValues: this.selectedValues,\n name: this.name,\n });\n }\n\n @Listen('nylasFormCheckboxToggled', { target: 'document' })\n handleCheckboxToggled(event: CustomEvent) {\n this.handleCheckboxToggle(event);\n }\n\n render() {\n return (\n <div class=\"checkbox-group-container\">\n {this.label && (\n <div class=\"group-label\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </div>\n )}\n <div class={`checkbox-list ${this.direction}`}>\n {this.options.map(option => (\n <checkbox-component\n name={`${this.name}-${option.value}`}\n label={option.label}\n checked={this.selectedValues.includes(option.value)}\n readOnly={option.disabled}\n required={this.required}\n themeConfig={this.themeConfig}\n />\n ))}\n </div>\n {this.error && <p class=\"error\">{this.error}</p>}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"p-CWplx7sA.js","mappings":"AAGG,IAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;AACzH,MAA+D,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI;;ICgJpH;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA;IAwZW;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA;AAQD,IAAY,kBAWX;AAXD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C;AAC/C,IAAA,kBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,kBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,kBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;AACzC,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,GAW7B,EAAA,CAAA,CAAA;;;;","names":[],"sources":["../nylas-js-core/dist/index.es.js","src/types/index.ts"],"sourcesContent":["var t = Object.defineProperty;\nvar c = (r, n, s) => n in r ? t(r, n, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[n] = s;\nvar a = (r, n, s) => (c(r, typeof n != \"symbol\" ? n + \"\" : n, s), s);\nvar u = /* @__PURE__ */ ((r) => (r.Error = \"error\", r.Warning = \"warning\", r.Info = \"info\", r.Success = \"success\", r))(u || {});\nconst e = (r) => r !== null && typeof r == \"object\" && \"data\" in r, o = (r) => r !== null && typeof r == \"object\" && \"error\" in r;\nclass E extends Error {\n constructor(s) {\n super(s == null ? void 0 : s.message);\n a(this, \"apiError\");\n this.name = \"NylasAPIError\", this.stack = new Error().stack, this.apiError = s;\n }\n}\nexport {\n u as NotificationType,\n E as NylasAPIError,\n o as isNylasErrorResponse,\n e as isNylasSuccessResponse\n};\n","export interface NylasResponse<Data = any> {\n request_id: string;\n data?: Data;\n error?: {\n message: string;\n type: string;\n };\n}\n\n// Avaliability\nexport interface OpenHours {\n days: number[];\n exDates: string[];\n timezone: string;\n start: string;\n end: string;\n}\n\nexport interface SpecificTimeAvailability {\n date: string;\n start: string;\n end: string;\n}\n\nexport interface MeetingBuffer {\n before: number;\n after: number;\n}\n\n// Scheduling\nexport interface UpdateConfiguration extends Omit<Configuration, 'id'> {}\n\nexport interface ParticipantAvailability {\n calendar_ids: string[];\n open_hours?: OpenHours[];\n}\n\nexport type NylasSchedulerBookingParticipant = { name: string; email: string; nameReadOnly?: boolean; emailReadOnly?: boolean };\n\nexport type NylasSchedulerBookingData = {\n primaryParticipant: NylasSchedulerBookingParticipant;\n startTime?: Date;\n endTime?: Date;\n timezone?: string;\n language?: string;\n guests?: NylasSchedulerBookingParticipant[];\n additionalFields?: Record<\n string,\n {\n value: string;\n type?: string;\n readOnly?: boolean;\n }\n >;\n};\n\nexport type OpenHour = {\n days: number[]; // [1, 2, 3, 4, 5]\n start: string; // \"09:00\"\n end: string; // \"17:00\"\n timezone: string; // \"America/Los_Angeles\"\n};\n\nexport type Timeslot = {\n start_time: Date;\n end_time: Date;\n emails?: string[];\n capacity?: number;\n event_id?: string;\n master_id?: string;\n calendar_id?: string;\n};\n\nexport type ThemeConfig = Partial<{\n '--nylas-primary': string;\n '--nylas-info': string;\n '--nylas-success': string;\n '--nylas-warning': string;\n '--nylas-error': string;\n '--nylas-error-pressed': string;\n '--nylas-base-0': string;\n '--nylas-base-25': string;\n '--nylas-base-50': string;\n '--nylas-base-100': string;\n '--nylas-base-200': string;\n '--nylas-base-300': string;\n '--nylas-base-400': string;\n '--nylas-base-500': string;\n '--nylas-base-600': string;\n '--nylas-base-700': string;\n '--nylas-base-800': string;\n '--nylas-base-900': string;\n '--nylas-base-950': string;\n '--nylas-color-blue-50': string;\n '--nylas-color-blue-100': string;\n '--nylas-color-blue-300': string;\n '--nylas-color-blue-500': string;\n '--nylas-color-blue-700': string;\n '--nylas-color-blue-900': string;\n '--nylas-color-red-50': string;\n '--nylas-color-red-100': string;\n '--nylas-color-red-300': string;\n '--nylas-color-red-500': string;\n '--nylas-color-red-700': string;\n '--nylas-color-red-900': string;\n '--nylas-color-green-50': string;\n '--nylas-color-green-100': string;\n '--nylas-color-green-300': string;\n '--nylas-color-green-500': string;\n '--nylas-color-green-700': string;\n '--nylas-color-green-900': string;\n '--nylas-color-yellow-50': string;\n '--nylas-color-yellow-100': string;\n '--nylas-color-yellow-300': string;\n '--nylas-color-yellow-500': string;\n '--nylas-color-yellow-700': string;\n '--nylas-color-yellow-900': string;\n '--nylas-color-purple-50': string;\n '--nylas-color-purple-100': string;\n '--nylas-color-purple-300': string;\n '--nylas-color-purple-500': string;\n '--nylas-color-purple-700': string;\n '--nylas-color-purple-900': string;\n '--nylas-color-sky-50': string;\n '--nylas-color-sky-100': string;\n '--nylas-color-sky-300': string;\n '--nylas-color-sky-500': string;\n '--nylas-color-sky-700': string;\n '--nylas-color-sky-900': string;\n '--nylas-color-black': string;\n '--nylas-color-grey-900': string;\n '--nylas-color-grey-800': string;\n '--nylas-color-grey-700': string;\n '--nylas-color-grey-600': string;\n '--nylas-color-grey-500': string;\n '--nylas-color-grey-400': string;\n '--nylas-color-grey-300': string;\n '--nylas-color-grey-200': string;\n '--nylas-color-grey-100': string;\n '--nylas-color-grey-50': string;\n '--nylas-color-white': string;\n '--nylas-font-family': string;\n '--nylas-font-size': string;\n '--nylas-border-radius': string;\n '--nylas-border-radius-2x': string;\n '--nylas-border-radius-3x': string;\n}>;\n\nexport enum NotificationType {\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Success = 'success',\n}\n\nexport type Notification = {\n id: string;\n type: NotificationType;\n title: string;\n code?: number;\n category: string;\n description?: string;\n ttl?: number | 'none';\n};\n\nexport type BookingType = 'booking' | 'organizer-confirmation' | 'custom-confirmation';\n\nexport type AvailabilityMethod = 'max-fairness' | 'max-availability' | 'collective';\n\nexport type ConferenceProvider = 'GoogleMeetConferenceProvider' | 'MicrosoftTeamsConferenceProvider' | 'ZoomConferenceProvider' | 'OnlineMeetingProviderMicrosoftTeams';\n\nexport type ReminderMethod = 'email' | 'webhook';\n\nexport interface Rules {\n availability_method: AvailabilityMethod;\n buffer: MeetingBuffer;\n default_open_hours: OpenHours[];\n round_robin_group_id: string;\n}\n\nexport interface ConferenceDetail {\n meeting_code?: string; // zoom, GTM, microsoft teams\n password?: string; // zoom, webex\n url?: string; // zoom, webex, GTM, meet, microsoft teams\n pin?: string; // webex, meet\n phone?: string[]; // GTM, meet, microsoft teams\n}\n\nexport interface Conference {\n provider?: ConferenceProvider;\n details?: ConferenceDetail;\n autocreate?: { [key: string]: any };\n}\n\nexport interface ParticipantBooking {\n calendar_id: string;\n}\n\nexport interface Participant {\n email: string;\n name?: string;\n is_organizer?: boolean;\n availability?: ParticipantAvailability;\n booking?: ParticipantBooking;\n specific_time_availability?: SpecificTimeAvailability[];\n timezone?: string;\n}\n\nexport interface EventReminder {\n type: ReminderMethod;\n minutes_before_event: number;\n recipient?: string;\n email_subject?: string;\n}\n\nexport interface Availability {\n duration_minutes: number;\n interval_minutes?: number;\n round_to?: number;\n availability_rules?: Rules;\n}\n\nexport interface NotetakerActionItemsSettings {\n custom_instructions?: string;\n}\n\nexport interface NotetakerSummarySettings {\n custom_instructions?: string;\n}\n\nexport interface NotetakerMeetingSettings {\n action_items?: boolean;\n action_items_settings?: NotetakerActionItemsSettings;\n audio_recording?: boolean;\n summary?: boolean;\n summary_settings?: NotetakerSummarySettings;\n transcription?: boolean;\n video_recording?: boolean;\n}\n\nexport interface Notetaker {\n visible?: boolean; // default is false\n enabled?: boolean; // default is false\n name?: string;\n meeting_settings?: NotetakerMeetingSettings;\n}\n\nexport interface EventBooking {\n title: string;\n description?: string;\n location?: string;\n timezone?: string;\n booking_type: BookingType;\n conferencing?: Conference;\n hide_participants?: boolean;\n disable_emails?: boolean;\n reminders?: EventReminder[];\n notetaker?: Notetaker;\n}\n\nexport interface Appearance {\n color?: string;\n submit_button_label?: string;\n thank_you_message?: string;\n company_logo_url?: string;\n}\n\nexport interface Scheduler {\n available_days_in_future?: number;\n min_cancellation_notice: number;\n min_booking_notice?: number;\n rescheduling_url?: string;\n cancellation_url?: string;\n organizer_confirmation_url?: string;\n cancellation_policy?: string;\n hide_additional_guests?: boolean;\n hide_cancellation_options?: boolean;\n hide_rescheduling_options?: boolean;\n additional_fields?: Record<string, AdditionalFields>;\n email_template?: EmailTemplate;\n confirmation_redirect_url?: string;\n}\nexport interface AdditionalFields {\n type: string;\n required: boolean;\n order: number;\n options?: string[];\n label?: string;\n default?: string;\n}\n\nexport interface EmailTemplate {\n logo: string;\n booking_confirmed: BookingConfirmed;\n show_nylas_branding: boolean;\n organizer_locale: string;\n}\n\nexport interface BookingConfirmed {\n title: string;\n body: string;\n}\n\nexport interface Configuration {\n id: string;\n version: string;\n type?: string;\n requires_session_auth?: boolean;\n participants: Participant[];\n availability: Availability;\n event_booking: EventBooking;\n scheduler: Partial<Scheduler>;\n slug: string;\n appearance: Appearance;\n name: string;\n}\n\nexport interface GroupBooking {\n booking_type: BookingType; // Only 'booking' is supported\n disable_emails?: boolean;\n reminders?: EventReminder[];\n conferencing?: Conference;\n calendar_id: string;\n default_capacity: number;\n}\n\nexport interface GroupConfiguration {\n id: string;\n name: string;\n slug: string;\n requires_session_auth?: boolean;\n type: 'group';\n group_booking: GroupBooking;\n scheduler: Scheduler;\n appearance: Appearance;\n}\n\nexport interface Creator {\n name: string;\n email: string;\n}\nexport interface AdditionalParticipant {\n name: string;\n email: string;\n grant_id?: string;\n calendars: {\n id: string;\n name: string;\n object?: 'calendar';\n is_primary?: boolean;\n is_owned_by_user?: boolean;\n read_only?: boolean;\n timezone?: string;\n }[];\n}\n\n/**\n * Parameters for fetching participant info when loading an existing config for edit.\n * Used when the config has participants (emails) but full AdditionalParticipant\n * data (calendars, etc.) needs to be fetched from an external source.\n */\nexport interface ParticipantFetchParams {\n /** Emails of participants to fetch full info for */\n emails: string[];\n /** Optional grant ID to scope the fetch (e.g. for multi-account) */\n grantId?: string;\n}\n\n/**\n * Callback to fetch full participant info by emails.\n * Called when loading an existing config for edit.\n */\nexport type ParticipantFetch = (params: ParticipantFetchParams) => Promise<AdditionalParticipant[]>;\n\n/**\n * Callback to search participants by query (for autocomplete).\n */\nexport type ParticipantSearch = (query: string) => Promise<AdditionalParticipant[]>;\n\nexport interface GroupEvent {\n id?: string;\n title: string;\n busy: boolean;\n participants: NylasSchedulerBookingParticipant[];\n resources: {\n name: string;\n email: string;\n }[];\n description: string;\n when: {\n start_time: number;\n end_time: number;\n start_timezone?: string;\n end_timezone?: string;\n };\n location: string;\n recurrence: string[];\n capacity: number;\n}\n\nexport type RecurrenceUpdateOption = 'this' | 'future' | 'all';\nexport type RecurrenceDeleteOption = 'this' | 'future' | 'all';\n\nexport type Snapshot = {\n busy: boolean;\n calendar_id: string;\n hide_participants: boolean;\n ical_uid: string;\n organizer: {\n name: string;\n email: string;\n };\n participants: {\n email: string;\n status: string;\n }[];\n resources: any[];\n read_only: boolean;\n recurrence: string[];\n reminders: {\n use_default: boolean;\n overrides: any[];\n };\n title: string;\n description?: string;\n location?: string;\n conferencing?: Conference;\n visibility: string;\n creator: {\n name: string;\n email: string;\n };\n html_link: string;\n grant_id: string;\n id: string;\n object: string;\n status: string;\n when: {\n start_timezone: string;\n end_timezone: string;\n object: string;\n start_time: number; // Unix timestamp\n end_time: number; // Unix timestamp\n };\n created_at: number; // Unix timestamp\n updated_at: number; // Unix timestamp\n};\n\nexport interface GroupEventAPIData {\n event: EventDetails;\n group_event_info?: GroupEventInfo;\n}\n\nexport type EventDetails = {\n busy: boolean;\n calendar_id: string;\n conferencing: {\n provider: ConferenceProvider;\n details: {\n meeting_code: string;\n url: string;\n pin: string;\n phone: string[];\n };\n };\n hide_participants: boolean;\n ical_uid: string;\n organizer: {\n name: string;\n email: string;\n };\n participants: Array<{\n email: string;\n status: 'yes' | 'no' | 'noreply';\n comment?: string;\n }>;\n resources: string[];\n read_only: boolean;\n reminders: {\n use_default: boolean;\n overrides: Array<{\n method?: string;\n minutes?: number;\n }>;\n };\n title: string;\n description?: string;\n location?: string;\n visibility: 'default' | 'public' | 'private';\n creator: {\n name: string;\n email: string;\n };\n html_link: string;\n master_event_id: string;\n color_id: string;\n grant_id: string;\n id: string;\n object: 'event';\n status: 'confirmed' | 'tentative' | 'cancelled';\n when: {\n start_timezone: string;\n end_timezone: string;\n object: 'timespan';\n start_time: number;\n end_time: number;\n };\n created_at: number;\n updated_at: number;\n original_start_time: number;\n};\n\nexport type GroupEventInfo = {\n event_id: string;\n calendar_id: string;\n master_id: string;\n config_id: string;\n capacity: number;\n type: 'updated_event' | 'single_event' | 'master_event';\n booked: boolean;\n finished: boolean;\n participants: Array<{\n email: string;\n is_organizer: boolean;\n name: string;\n timezone: string;\n }>;\n snapshot: any | null;\n snapshot_expires_at: number;\n rrule: string[] | null;\n exceptions: {\n event_id: string;\n capacity: number;\n participants: Array<{\n email: string;\n is_organizer: boolean;\n name: string;\n timezone: string;\n }>;\n }[];\n};\n\nexport type ImportGroupEventDetails = {\n event_id: string;\n calendar_id: string;\n capacity: number;\n participants: Participant[];\n organizer: {\n name: string;\n email: string;\n };\n};\n\nexport type ImportGroupEventResponse = {\n imported_events: string[];\n import_failed: {\n event_id: string;\n reason: string;\n }[];\n};\n\nexport enum ErrorCategory {\n Component = 'component',\n Api = 'api',\n Auth = 'auth',\n}\n\nexport interface ErrorDetails {\n title: string;\n message: string;\n category: ErrorCategory;\n}\n\nexport enum ComponentErrorType {\n endtime_not_in_future = 'endtime_not_in_future',\n no_booking_info = 'no_booking_info',\n no_timeslot_selected = 'no_timeslot_selected',\n no_timezone_selected = 'no_timezone_selected',\n no_booking_id = 'no_booking_id',\n no_salt = 'no_salt',\n invalid_start_time = 'invalid_start_time',\n invalid_end_time = 'invalid_end_time',\n invalid_timezone = 'invalid_timezone',\n no_config_id = 'no_config_id',\n}\n\nexport interface KeyPoint {\n time: number;\n text: string;\n active?: boolean;\n}\n"],"version":3}
1
+ {"file":"p-CWplx7sA.js","mappings":"AAGG,IAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;AACzH,MAA+D,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI;;IC6KpH;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA;IAwZW;AAAZ,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA;AAQD,IAAY,kBAWX;AAXD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C;AAC/C,IAAA,kBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,kBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,kBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;AACzC,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,GAW7B,EAAA,CAAA,CAAA;;;;","names":[],"sources":["../nylas-js-core/dist/index.es.js","src/types/index.ts"],"sourcesContent":["var t = Object.defineProperty;\nvar c = (r, n, s) => n in r ? t(r, n, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[n] = s;\nvar a = (r, n, s) => (c(r, typeof n != \"symbol\" ? n + \"\" : n, s), s);\nvar u = /* @__PURE__ */ ((r) => (r.Error = \"error\", r.Warning = \"warning\", r.Info = \"info\", r.Success = \"success\", r))(u || {});\nconst e = (r) => r !== null && typeof r == \"object\" && \"data\" in r, o = (r) => r !== null && typeof r == \"object\" && \"error\" in r;\nclass E extends Error {\n constructor(s) {\n super(s == null ? void 0 : s.message);\n a(this, \"apiError\");\n this.name = \"NylasAPIError\", this.stack = new Error().stack, this.apiError = s;\n }\n}\nexport {\n u as NotificationType,\n E as NylasAPIError,\n o as isNylasErrorResponse,\n e as isNylasSuccessResponse\n};\n","export interface NylasResponse<Data = any> {\n request_id: string;\n data?: Data;\n error?: {\n message: string;\n type: string;\n };\n}\n\n// Avaliability\nexport interface OpenHours {\n days: number[];\n exDates: string[];\n timezone: string;\n start: string;\n end: string;\n}\n\nexport interface SpecificTimeAvailability {\n date: string;\n start: string;\n end: string;\n}\n\nexport interface MeetingBuffer {\n before: number;\n after: number;\n}\n\n// Scheduling\nexport interface UpdateConfiguration extends Omit<Configuration, 'id'> {}\n\nexport interface ParticipantAvailability {\n calendar_ids: string[];\n open_hours?: OpenHours[];\n}\n\nexport type NylasSchedulerBookingParticipant = {\n /** Setting this to an empty string clears a previously seeded value; omitting it leaves that value alone. */\n name: string;\n /** Setting this to an empty string clears a previously seeded value; omitting it leaves that value alone. */\n email: string;\n /**\n * Render the name field as read-only. The prefilled value is shown but cannot be edited.\n * Ignored when `nameHidden` is true.\n */\n nameReadOnly?: boolean;\n /**\n * Render the email field as read-only. The prefilled value is shown but cannot be edited.\n * Ignored when `emailHidden` is true.\n */\n emailReadOnly?: boolean;\n /**\n * Omit the name field from the booking form entirely. The prefilled `name` is still\n * submitted with the booking. Requires a prefilled value that survives sanitization: set\n * without one, the field is rendered anyway (so the booker is never stuck on a required\n * error with no input to fix) and the misconfiguration is reported on the console.\n */\n nameHidden?: boolean;\n /**\n * Omit the email field from the booking form entirely. The prefilled `email` is still\n * submitted with the booking. Requires a prefilled value that survives sanitization: set\n * without one, the field is rendered anyway (so the booker is never stuck on a required\n * error with no input to fix) and the misconfiguration is reported on the console.\n */\n emailHidden?: boolean;\n};\n\nexport type NylasSchedulerBookingData = {\n primaryParticipant: NylasSchedulerBookingParticipant;\n startTime?: Date;\n endTime?: Date;\n timezone?: string;\n language?: string;\n guests?: NylasSchedulerBookingParticipant[];\n additionalFields?: Record<\n string,\n {\n value: string;\n type?: string;\n readOnly?: boolean;\n }\n >;\n};\n\nexport type OpenHour = {\n days: number[]; // [1, 2, 3, 4, 5]\n start: string; // \"09:00\"\n end: string; // \"17:00\"\n timezone: string; // \"America/Los_Angeles\"\n};\n\nexport type Timeslot = {\n start_time: Date;\n end_time: Date;\n emails?: string[];\n capacity?: number;\n event_id?: string;\n master_id?: string;\n calendar_id?: string;\n};\n\nexport type ThemeConfig = Partial<{\n '--nylas-primary': string;\n '--nylas-info': string;\n '--nylas-success': string;\n '--nylas-warning': string;\n '--nylas-error': string;\n '--nylas-error-pressed': string;\n '--nylas-base-0': string;\n '--nylas-base-25': string;\n '--nylas-base-50': string;\n '--nylas-base-100': string;\n '--nylas-base-200': string;\n '--nylas-base-300': string;\n '--nylas-base-400': string;\n '--nylas-base-500': string;\n '--nylas-base-600': string;\n '--nylas-base-700': string;\n '--nylas-base-800': string;\n '--nylas-base-900': string;\n '--nylas-base-950': string;\n '--nylas-color-blue-50': string;\n '--nylas-color-blue-100': string;\n '--nylas-color-blue-300': string;\n '--nylas-color-blue-500': string;\n '--nylas-color-blue-700': string;\n '--nylas-color-blue-900': string;\n '--nylas-color-red-50': string;\n '--nylas-color-red-100': string;\n '--nylas-color-red-300': string;\n '--nylas-color-red-500': string;\n '--nylas-color-red-700': string;\n '--nylas-color-red-900': string;\n '--nylas-color-green-50': string;\n '--nylas-color-green-100': string;\n '--nylas-color-green-300': string;\n '--nylas-color-green-500': string;\n '--nylas-color-green-700': string;\n '--nylas-color-green-900': string;\n '--nylas-color-yellow-50': string;\n '--nylas-color-yellow-100': string;\n '--nylas-color-yellow-300': string;\n '--nylas-color-yellow-500': string;\n '--nylas-color-yellow-700': string;\n '--nylas-color-yellow-900': string;\n '--nylas-color-purple-50': string;\n '--nylas-color-purple-100': string;\n '--nylas-color-purple-300': string;\n '--nylas-color-purple-500': string;\n '--nylas-color-purple-700': string;\n '--nylas-color-purple-900': string;\n '--nylas-color-sky-50': string;\n '--nylas-color-sky-100': string;\n '--nylas-color-sky-300': string;\n '--nylas-color-sky-500': string;\n '--nylas-color-sky-700': string;\n '--nylas-color-sky-900': string;\n '--nylas-color-black': string;\n '--nylas-color-grey-900': string;\n '--nylas-color-grey-800': string;\n '--nylas-color-grey-700': string;\n '--nylas-color-grey-600': string;\n '--nylas-color-grey-500': string;\n '--nylas-color-grey-400': string;\n '--nylas-color-grey-300': string;\n '--nylas-color-grey-200': string;\n '--nylas-color-grey-100': string;\n '--nylas-color-grey-50': string;\n '--nylas-color-white': string;\n '--nylas-font-family': string;\n '--nylas-font-size': string;\n '--nylas-border-radius': string;\n '--nylas-border-radius-2x': string;\n '--nylas-border-radius-3x': string;\n}>;\n\nexport enum NotificationType {\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Success = 'success',\n}\n\nexport type Notification = {\n id: string;\n type: NotificationType;\n title: string;\n code?: number;\n category: string;\n description?: string;\n ttl?: number | 'none';\n};\n\nexport type BookingType = 'booking' | 'organizer-confirmation' | 'custom-confirmation';\n\nexport type AvailabilityMethod = 'max-fairness' | 'max-availability' | 'collective';\n\nexport type ConferenceProvider = 'GoogleMeetConferenceProvider' | 'MicrosoftTeamsConferenceProvider' | 'ZoomConferenceProvider' | 'OnlineMeetingProviderMicrosoftTeams';\n\nexport type ReminderMethod = 'email' | 'webhook';\n\nexport interface Rules {\n availability_method: AvailabilityMethod;\n buffer: MeetingBuffer;\n default_open_hours: OpenHours[];\n round_robin_group_id: string;\n}\n\nexport interface ConferenceDetail {\n meeting_code?: string; // zoom, GTM, microsoft teams\n password?: string; // zoom, webex\n url?: string; // zoom, webex, GTM, meet, microsoft teams\n pin?: string; // webex, meet\n phone?: string[]; // GTM, meet, microsoft teams\n}\n\nexport interface Conference {\n provider?: ConferenceProvider;\n details?: ConferenceDetail;\n autocreate?: { [key: string]: any };\n}\n\nexport interface ParticipantBooking {\n calendar_id: string;\n}\n\nexport interface Participant {\n email: string;\n name?: string;\n is_organizer?: boolean;\n availability?: ParticipantAvailability;\n booking?: ParticipantBooking;\n specific_time_availability?: SpecificTimeAvailability[];\n timezone?: string;\n}\n\nexport interface EventReminder {\n type: ReminderMethod;\n minutes_before_event: number;\n recipient?: string;\n email_subject?: string;\n}\n\nexport interface Availability {\n duration_minutes: number;\n interval_minutes?: number;\n round_to?: number;\n availability_rules?: Rules;\n}\n\nexport interface NotetakerActionItemsSettings {\n custom_instructions?: string;\n}\n\nexport interface NotetakerSummarySettings {\n custom_instructions?: string;\n}\n\nexport interface NotetakerMeetingSettings {\n action_items?: boolean;\n action_items_settings?: NotetakerActionItemsSettings;\n audio_recording?: boolean;\n summary?: boolean;\n summary_settings?: NotetakerSummarySettings;\n transcription?: boolean;\n video_recording?: boolean;\n}\n\nexport interface Notetaker {\n visible?: boolean; // default is false\n enabled?: boolean; // default is false\n name?: string;\n meeting_settings?: NotetakerMeetingSettings;\n}\n\nexport interface EventBooking {\n title: string;\n description?: string;\n location?: string;\n timezone?: string;\n booking_type: BookingType;\n conferencing?: Conference;\n hide_participants?: boolean;\n disable_emails?: boolean;\n reminders?: EventReminder[];\n notetaker?: Notetaker;\n}\n\nexport interface Appearance {\n color?: string;\n submit_button_label?: string;\n thank_you_message?: string;\n company_logo_url?: string;\n}\n\nexport interface Scheduler {\n available_days_in_future?: number;\n min_cancellation_notice: number;\n min_booking_notice?: number;\n rescheduling_url?: string;\n cancellation_url?: string;\n organizer_confirmation_url?: string;\n cancellation_policy?: string;\n hide_additional_guests?: boolean;\n hide_cancellation_options?: boolean;\n hide_rescheduling_options?: boolean;\n additional_fields?: Record<string, AdditionalFields>;\n email_template?: EmailTemplate;\n confirmation_redirect_url?: string;\n}\nexport interface AdditionalFields {\n type: string;\n required: boolean;\n order: number;\n options?: string[];\n label?: string;\n default?: string;\n}\n\nexport interface EmailTemplate {\n logo: string;\n booking_confirmed: BookingConfirmed;\n show_nylas_branding: boolean;\n organizer_locale: string;\n}\n\nexport interface BookingConfirmed {\n title: string;\n body: string;\n}\n\nexport interface Configuration {\n id: string;\n version: string;\n type?: string;\n requires_session_auth?: boolean;\n participants: Participant[];\n availability: Availability;\n event_booking: EventBooking;\n scheduler: Partial<Scheduler>;\n slug: string;\n appearance: Appearance;\n name: string;\n}\n\nexport interface GroupBooking {\n booking_type: BookingType; // Only 'booking' is supported\n disable_emails?: boolean;\n reminders?: EventReminder[];\n conferencing?: Conference;\n calendar_id: string;\n default_capacity: number;\n}\n\nexport interface GroupConfiguration {\n id: string;\n name: string;\n slug: string;\n requires_session_auth?: boolean;\n type: 'group';\n group_booking: GroupBooking;\n scheduler: Scheduler;\n appearance: Appearance;\n}\n\nexport interface Creator {\n name: string;\n email: string;\n}\nexport interface AdditionalParticipant {\n name: string;\n email: string;\n grant_id?: string;\n calendars: {\n id: string;\n name: string;\n object?: 'calendar';\n is_primary?: boolean;\n is_owned_by_user?: boolean;\n read_only?: boolean;\n timezone?: string;\n }[];\n}\n\n/**\n * Parameters for fetching participant info when loading an existing config for edit.\n * Used when the config has participants (emails) but full AdditionalParticipant\n * data (calendars, etc.) needs to be fetched from an external source.\n */\nexport interface ParticipantFetchParams {\n /** Emails of participants to fetch full info for */\n emails: string[];\n /** Optional grant ID to scope the fetch (e.g. for multi-account) */\n grantId?: string;\n}\n\n/**\n * Callback to fetch full participant info by emails.\n * Called when loading an existing config for edit.\n */\nexport type ParticipantFetch = (params: ParticipantFetchParams) => Promise<AdditionalParticipant[]>;\n\n/**\n * Callback to search participants by query (for autocomplete).\n */\nexport type ParticipantSearch = (query: string) => Promise<AdditionalParticipant[]>;\n\nexport interface GroupEvent {\n id?: string;\n title: string;\n busy: boolean;\n participants: NylasSchedulerBookingParticipant[];\n resources: {\n name: string;\n email: string;\n }[];\n description: string;\n when: {\n start_time: number;\n end_time: number;\n start_timezone?: string;\n end_timezone?: string;\n };\n location: string;\n recurrence: string[];\n capacity: number;\n}\n\nexport type RecurrenceUpdateOption = 'this' | 'future' | 'all';\nexport type RecurrenceDeleteOption = 'this' | 'future' | 'all';\n\nexport type Snapshot = {\n busy: boolean;\n calendar_id: string;\n hide_participants: boolean;\n ical_uid: string;\n organizer: {\n name: string;\n email: string;\n };\n participants: {\n email: string;\n status: string;\n }[];\n resources: any[];\n read_only: boolean;\n recurrence: string[];\n reminders: {\n use_default: boolean;\n overrides: any[];\n };\n title: string;\n description?: string;\n location?: string;\n conferencing?: Conference;\n visibility: string;\n creator: {\n name: string;\n email: string;\n };\n html_link: string;\n grant_id: string;\n id: string;\n object: string;\n status: string;\n when: {\n start_timezone: string;\n end_timezone: string;\n object: string;\n start_time: number; // Unix timestamp\n end_time: number; // Unix timestamp\n };\n created_at: number; // Unix timestamp\n updated_at: number; // Unix timestamp\n};\n\nexport interface GroupEventAPIData {\n event: EventDetails;\n group_event_info?: GroupEventInfo;\n}\n\nexport type EventDetails = {\n busy: boolean;\n calendar_id: string;\n conferencing: {\n provider: ConferenceProvider;\n details: {\n meeting_code: string;\n url: string;\n pin: string;\n phone: string[];\n };\n };\n hide_participants: boolean;\n ical_uid: string;\n organizer: {\n name: string;\n email: string;\n };\n participants: Array<{\n email: string;\n status: 'yes' | 'no' | 'noreply';\n comment?: string;\n }>;\n resources: string[];\n read_only: boolean;\n reminders: {\n use_default: boolean;\n overrides: Array<{\n method?: string;\n minutes?: number;\n }>;\n };\n title: string;\n description?: string;\n location?: string;\n visibility: 'default' | 'public' | 'private';\n creator: {\n name: string;\n email: string;\n };\n html_link: string;\n master_event_id: string;\n color_id: string;\n grant_id: string;\n id: string;\n object: 'event';\n status: 'confirmed' | 'tentative' | 'cancelled';\n when: {\n start_timezone: string;\n end_timezone: string;\n object: 'timespan';\n start_time: number;\n end_time: number;\n };\n created_at: number;\n updated_at: number;\n original_start_time: number;\n};\n\nexport type GroupEventInfo = {\n event_id: string;\n calendar_id: string;\n master_id: string;\n config_id: string;\n capacity: number;\n type: 'updated_event' | 'single_event' | 'master_event';\n booked: boolean;\n finished: boolean;\n participants: Array<{\n email: string;\n is_organizer: boolean;\n name: string;\n timezone: string;\n }>;\n snapshot: any | null;\n snapshot_expires_at: number;\n rrule: string[] | null;\n exceptions: {\n event_id: string;\n capacity: number;\n participants: Array<{\n email: string;\n is_organizer: boolean;\n name: string;\n timezone: string;\n }>;\n }[];\n};\n\nexport type ImportGroupEventDetails = {\n event_id: string;\n calendar_id: string;\n capacity: number;\n participants: Participant[];\n organizer: {\n name: string;\n email: string;\n };\n};\n\nexport type ImportGroupEventResponse = {\n imported_events: string[];\n import_failed: {\n event_id: string;\n reason: string;\n }[];\n};\n\nexport enum ErrorCategory {\n Component = 'component',\n Api = 'api',\n Auth = 'auth',\n}\n\nexport interface ErrorDetails {\n title: string;\n message: string;\n category: ErrorCategory;\n}\n\nexport enum ComponentErrorType {\n endtime_not_in_future = 'endtime_not_in_future',\n no_booking_info = 'no_booking_info',\n no_timeslot_selected = 'no_timeslot_selected',\n no_timezone_selected = 'no_timezone_selected',\n no_booking_id = 'no_booking_id',\n no_salt = 'no_salt',\n invalid_start_time = 'invalid_start_time',\n invalid_end_time = 'invalid_end_time',\n invalid_timezone = 'invalid_timezone',\n no_config_id = 'no_config_id',\n}\n\nexport interface KeyPoint {\n time: number;\n text: string;\n active?: boolean;\n}\n"],"version":3}
@@ -72,7 +72,7 @@ const RadioButtonGroup = proxyCustomElement(class RadioButtonGroup extends H {
72
72
  });
73
73
  }
74
74
  render() {
75
- return (h("div", { key: '7d4f9dbc6fb35ba0d6ec854c67b04f320888bff0', class: "radio-group" }, h("slot", { key: '4e8f1ebf95e25021f49c0973bb16609730303c2d', name: "label" }, this.label && (h("p", { key: 'a944e18fac56caeb5582028c38d055b399cd6693', class: { error: !!this.error } }, h("span", { key: '2730c691418b2890b52b182d0389eb4a6ea42edb', class: "label" }, this.label), this.required && h("span", { key: 'ec2d3213ab090cf75a9499c03f64b1cf8ac860b8', class: "required" }, "*")))), this.options.map(option => (h("label", null, h("div", { class: "radio-option" }, h("input", { type: "radio", disabled: this.readOnly, readOnly: this.readOnly, title: this.readOnly ? 'read-only field' : undefined, name: this.name, value: option.value, checked: this.selectedValue === option.value, onChange: () => this.handleChange(option.value) }), h("p", null, h("span", { class: "title" }, option.label), h("span", { class: "description" }, option.description)))))), this.error && h("span", { key: 'bbe79d56c58731dd23fd68f6efea548faffcbc25', class: "error help-text" }, this.error)));
75
+ return (h("div", { key: '719b91f18f56222e85c7d40ec65447b3015fb9b7', class: "radio-group" }, h("slot", { key: '644d78deeec55bed39d12f5ff0b25a0c1f38b2ff', name: "label" }, this.label && (h("p", { key: '318698f30f98d88621c63e10a4b60ec2eea28816', class: { error: !!this.error } }, h("span", { key: '4d0273ad0f99af9411d23e54d966f52e79ac6f98', class: "label" }, this.label), this.required && h("span", { key: 'd693f96547424c53ea38b021620f1f6e62fa3ab1', class: "required" }, "*")))), this.options.map(option => (h("label", null, h("div", { class: "radio-option" }, h("input", { type: "radio", disabled: this.readOnly, readOnly: this.readOnly, title: this.readOnly ? 'read-only field' : undefined, name: this.name, value: option.value, checked: this.selectedValue === option.value, onChange: () => this.handleChange(option.value) }), h("p", null, h("span", { class: "title" }, option.label), h("span", { class: "description" }, option.description)))))), this.error && h("span", { key: '12496f14dc724e987f8446848c09fc8066d9b9aa', class: "error help-text" }, this.error)));
76
76
  }
77
77
  get el() { return this; }
78
78
  static get watchers() { return {
@@ -110,6 +110,6 @@ function defineCustomElement() {
110
110
  }
111
111
 
112
112
  export { RadioButtonGroup as R, defineCustomElement as d };
113
- //# sourceMappingURL=p-CyWE9dXK.js.map
113
+ //# sourceMappingURL=p-C_MBjjfN.js.map
114
114
 
115
- //# sourceMappingURL=p-CyWE9dXK.js.map
115
+ //# sourceMappingURL=p-C_MBjjfN.js.map
@@ -1 +1 @@
1
- {"file":"p-CyWE9dXK.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/radio-button-group/radio-button-group.scss?tag=radio-button-group&encapsulation=shadow","src/components/design-system/radio-button-group/radio-button-group.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n@use '../../../common/mixins/inputs' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: 100%;\n}\n\n.radio-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n\n slot[name='label'] {\n @include input-label;\n font-size: 16px;\n\n p {\n margin: 0;\n\n &.error {\n color: var(--nylas-error);\n }\n }\n\n .error {\n color: var(--nylas-error);\n }\n }\n\n span.error {\n color: var(--nylas-error);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n font-family: var(--nylas-font-family);\n }\n\n label {\n display: flex;\n\n font-family: var(--nylas-font-family);\n cursor: pointer;\n\n .radio-option {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n\n input[type='radio'] {\n cursor: pointer;\n }\n\n input[type='radio' i] {\n width: 20px;\n height: 20px;\n color: var(--nylas-primary);\n }\n\n p {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin: 0;\n\n .title {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-base-800);\n word-break: break-word;\n overflow-wrap: break-word;\n }\n\n .description {\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n }\n }\n }\n }\n}\n","// src/components/radio-group/radio-group.tsx\nimport { ThemeConfig } from '@nylas/core';\nimport { Component, h, Prop, State, Event, EventEmitter, Listen, Element, Watch } from '@stencil/core';\n\n/**\n * The `radio-button-group` component is a UI component that allows users to select a single option from a list of options.\n * This component is used in the scheduling form to input radio button type inputs.\n */\n@Component({\n tag: 'radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n})\nexport class RadioButtonGroup {\n @Element() el!: HTMLElement;\n private readonly componentType: string = 'radio-group';\n\n /**\n * The name of the radio group. This is used to identify the radio group when submitting a form.\n */\n @Prop() name: string = 'radio-group';\n /**\n * The list of options in the radio group.\n * Each option has a label and a value and an optional description.\n */\n @Prop() options: { label: string; value: string; description?: string }[] = [];\n /**\n * The default selected value of the radio group.\n */\n @Prop({ attribute: 'default-selected-value' }) defaultSelectedValue: string = '';\n /**\n * The label of the radio group. This is displayed above the radio group.\n * Label is optional. You can also use the slot 'label' to add a label.\n */\n @Prop() label?: string;\n /**\n * Whether the radio group is required. If true, the radio group must have a value when submitting a form.\n * Default is false. If the radio group is required and the value is empty, an error message is displayed.\n */\n @Prop() required: boolean = false;\n /**\n * The property to make the radio group read-only. If true, the radio group cannot be edited.\n */\n @Prop() readOnly: boolean = false;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * Error message to display when the radio group is required and no value is selected.\n */\n @Prop() errorMessage: string = '';\n /**\n * The selected value of the radio group.\n */\n @State() selectedValue!: string;\n /**\n * The error message state.\n */\n @State() error: string = '';\n /**\n * This event is fired when the selected value changes.\n */\n @Event() nylasFormRadioChanged!: EventEmitter<{\n value: string;\n name: string;\n label?: string;\n }>;\n\n @Watch('defaultSelectedValue')\n handleDefaultSelectedValueChange(newValue: string) {\n this.selectedValue = newValue;\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.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n // Lifecycle methods\n connectedCallback() {\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.el.setAttribute('data-themed', '');\n }\n });\n }\n\n componentDidLoad() {\n this.selectedValue = this.defaultSelectedValue;\n if (this.defaultSelectedValue) {\n this.nylasFormRadioChanged.emit({\n value: this.defaultSelectedValue,\n name: this.name,\n label: this.label,\n });\n }\n }\n\n // Event listeners\n /**\n * Listen for the bookingFormSubmitted event to validate the input value when the form is submitted.\n */\n @Listen('bookingFormSubmitted', { target: 'document' })\n handleBookingFormSubmitted(event: CustomEvent) {\n if (this.required && !this.selectedValue) {\n this.error = this.errorMessage || `${this.label} is required.`;\n return;\n }\n if (this.error) {\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.el.setAttribute('component-type', this.componentType);\n }\n\n handleChange(value: string) {\n this.error = '';\n this.selectedValue = value;\n this.nylasFormRadioChanged.emit({\n value,\n name: this.name,\n label: this.label,\n });\n }\n\n render() {\n return (\n <div class=\"radio-group\">\n <slot name=\"label\">\n {this.label && (\n <p class={{ error: !!this.error }}>\n <span class=\"label\">{this.label}</span>\n {this.required && <span class=\"required\">*</span>}\n </p>\n )}\n </slot>\n {this.options.map(option => (\n <label>\n <div class=\"radio-option\">\n <input\n type=\"radio\"\n disabled={this.readOnly}\n readOnly={this.readOnly}\n title={this.readOnly ? 'read-only field' : undefined}\n name={this.name}\n value={option.value}\n checked={this.selectedValue === option.value}\n onChange={() => this.handleChange(option.value)}\n />\n <p>\n <span class=\"title\">{option.label}</span>\n <span class=\"description\">{option.description}</span>\n </p>\n </div>\n </label>\n ))}\n {this.error && <span class=\"error help-text\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-C_MBjjfN.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/design-system/radio-button-group/radio-button-group.scss?tag=radio-button-group&encapsulation=shadow","src/components/design-system/radio-button-group/radio-button-group.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n@use '../../../common/mixins/inputs' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: 100%;\n}\n\n.radio-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n\n slot[name='label'] {\n @include input-label;\n font-size: 16px;\n\n p {\n margin: 0;\n\n &.error {\n color: var(--nylas-error);\n }\n }\n\n .error {\n color: var(--nylas-error);\n }\n }\n\n span.error {\n color: var(--nylas-error);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n font-family: var(--nylas-font-family);\n }\n\n label {\n display: flex;\n\n font-family: var(--nylas-font-family);\n cursor: pointer;\n\n .radio-option {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n\n input[type='radio'] {\n cursor: pointer;\n }\n\n input[type='radio' i] {\n width: 20px;\n height: 20px;\n color: var(--nylas-primary);\n }\n\n p {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin: 0;\n\n .title {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-base-800);\n word-break: break-word;\n overflow-wrap: break-word;\n }\n\n .description {\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n }\n }\n }\n }\n}\n","// src/components/radio-group/radio-group.tsx\nimport { ThemeConfig } from '@nylas/core';\nimport { Component, h, Prop, State, Event, EventEmitter, Listen, Element, Watch } from '@stencil/core';\n\n/**\n * The `radio-button-group` component is a UI component that allows users to select a single option from a list of options.\n * This component is used in the scheduling form to input radio button type inputs.\n */\n@Component({\n tag: 'radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n})\nexport class RadioButtonGroup {\n @Element() el!: HTMLElement;\n private readonly componentType: string = 'radio-group';\n\n /**\n * The name of the radio group. This is used to identify the radio group when submitting a form.\n */\n @Prop() name: string = 'radio-group';\n /**\n * The list of options in the radio group.\n * Each option has a label and a value and an optional description.\n */\n @Prop() options: { label: string; value: string; description?: string }[] = [];\n /**\n * The default selected value of the radio group.\n */\n @Prop({ attribute: 'default-selected-value' }) defaultSelectedValue: string = '';\n /**\n * The label of the radio group. This is displayed above the radio group.\n * Label is optional. You can also use the slot 'label' to add a label.\n */\n @Prop() label?: string;\n /**\n * Whether the radio group is required. If true, the radio group must have a value when submitting a form.\n * Default is false. If the radio group is required and the value is empty, an error message is displayed.\n */\n @Prop() required: boolean = false;\n /**\n * The property to make the radio group read-only. If true, the radio group cannot be edited.\n */\n @Prop() readOnly: boolean = false;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * Error message to display when the radio group is required and no value is selected.\n */\n @Prop() errorMessage: string = '';\n /**\n * The selected value of the radio group.\n */\n @State() selectedValue!: string;\n /**\n * The error message state.\n */\n @State() error: string = '';\n /**\n * This event is fired when the selected value changes.\n */\n @Event() nylasFormRadioChanged!: EventEmitter<{\n value: string;\n name: string;\n label?: string;\n }>;\n\n @Watch('defaultSelectedValue')\n handleDefaultSelectedValueChange(newValue: string) {\n this.selectedValue = newValue;\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.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n // Lifecycle methods\n connectedCallback() {\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.el.setAttribute('data-themed', '');\n }\n });\n }\n\n componentDidLoad() {\n this.selectedValue = this.defaultSelectedValue;\n if (this.defaultSelectedValue) {\n this.nylasFormRadioChanged.emit({\n value: this.defaultSelectedValue,\n name: this.name,\n label: this.label,\n });\n }\n }\n\n // Event listeners\n /**\n * Listen for the bookingFormSubmitted event to validate the input value when the form is submitted.\n */\n @Listen('bookingFormSubmitted', { target: 'document' })\n handleBookingFormSubmitted(event: CustomEvent) {\n if (this.required && !this.selectedValue) {\n this.error = this.errorMessage || `${this.label} is required.`;\n return;\n }\n if (this.error) {\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.el.setAttribute('component-type', this.componentType);\n }\n\n handleChange(value: string) {\n this.error = '';\n this.selectedValue = value;\n this.nylasFormRadioChanged.emit({\n value,\n name: this.name,\n label: this.label,\n });\n }\n\n render() {\n return (\n <div class=\"radio-group\">\n <slot name=\"label\">\n {this.label && (\n <p class={{ error: !!this.error }}>\n <span class=\"label\">{this.label}</span>\n {this.required && <span class=\"required\">*</span>}\n </p>\n )}\n </slot>\n {this.options.map(option => (\n <label>\n <div class=\"radio-option\">\n <input\n type=\"radio\"\n disabled={this.readOnly}\n readOnly={this.readOnly}\n title={this.readOnly ? 'read-only field' : undefined}\n name={this.name}\n value={option.value}\n checked={this.selectedValue === option.value}\n onChange={() => this.handleChange(option.value)}\n />\n <p>\n <span class=\"title\">{option.label}</span>\n <span class=\"description\">{option.description}</span>\n </p>\n </div>\n </label>\n ))}\n {this.error && <span class=\"error help-text\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}