@nylas/web-elements 1.1.0-canary.19.c → 1.1.0-canary.19.e

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 (876) hide show
  1. package/dist/cjs/add-circle-icon_2.cjs.entry.js +1 -1
  2. package/dist/cjs/archive-icon_7.cjs.entry.js +7 -7
  3. package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
  4. package/dist/cjs/bold-icon_3.cjs.entry.js +3 -3
  5. package/dist/cjs/button-component_4.cjs.entry.js +203 -0
  6. package/dist/cjs/button-component_4.cjs.entry.js.map +1 -0
  7. package/dist/cjs/calendar-agenda-fill-icon_35.cjs.entry.js +6943 -0
  8. package/dist/cjs/calendar-agenda-fill-icon_35.cjs.entry.js.map +1 -0
  9. package/dist/cjs/chevron-icon_3.cjs.entry.js +11 -3
  10. package/dist/cjs/chevron-icon_3.cjs.entry.js.map +1 -1
  11. package/dist/cjs/clock-icon_2.cjs.entry.js +1 -1
  12. package/dist/cjs/{constants-3e962931.js → constants-7cc75333.js} +106 -1
  13. package/dist/cjs/{constants-3e962931.js.map → constants-7cc75333.js.map} +1 -1
  14. package/dist/cjs/copy-icon_4.cjs.entry.js +72 -0
  15. package/dist/cjs/copy-icon_4.cjs.entry.js.map +1 -0
  16. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/forward-icon_6.cjs.entry.js +7 -7
  18. package/dist/cjs/globe-icon.cjs.entry.js +1 -1
  19. package/dist/cjs/google-logo-icon_4.cjs.entry.js +192 -51
  20. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
  21. package/dist/cjs/index-7af03e3f.js +20 -16
  22. package/dist/cjs/index.cjs.js +1 -1
  23. package/dist/cjs/info-icon_2.cjs.entry.js +2 -2
  24. package/dist/cjs/input-dropdown_2.cjs.entry.js +2 -2
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/cjs/loading-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/multi-select-dropdown.cjs.entry.js +144 -0
  28. package/dist/cjs/multi-select-dropdown.cjs.entry.js.map +1 -0
  29. package/dist/cjs/{nylas-api-request-a1751a40.js → nylas-api-request-393b08a0.js} +2 -1
  30. package/dist/cjs/nylas-api-request-393b08a0.js.map +1 -0
  31. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +66 -35
  32. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +1 -1
  34. package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
  35. package/dist/cjs/nylas-if-state.cjs.entry.js +1 -1
  36. package/dist/cjs/nylas-list-folders.cjs.entry.js +1 -1
  37. package/dist/cjs/nylas-list-threads.cjs.entry.js +1 -1
  38. package/dist/cjs/nylas-login.cjs.entry.js +1 -1
  39. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +1 -1
  40. package/dist/cjs/nylas-mailbox.cjs.entry.js +1 -1
  41. package/dist/cjs/nylas-provider.cjs.entry.js +3 -3
  42. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +26 -9
  43. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nylas-scheduling.cjs.entry.js +3 -3
  45. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +2 -2
  47. package/dist/cjs/nylas-threads-search.cjs.entry.js +1 -1
  48. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +1 -1
  49. package/dist/cjs/nylas-view-thread.cjs.entry.js +1 -1
  50. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  51. package/dist/cjs/play-icon_2.cjs.entry.js +2 -2
  52. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  53. package/dist/cjs/{scheduler-config-store-9f19c7a9.js → scheduler-config-store-5bfc8cb8.js} +3 -1
  54. package/dist/cjs/scheduler-config-store-5bfc8cb8.js.map +1 -0
  55. package/dist/cjs/{scheduler-store-0f7328f1.js → scheduler-store-b5cf2e82.js} +43 -7
  56. package/dist/cjs/scheduler-store-b5cf2e82.js.map +1 -0
  57. package/dist/cjs/textarea-component.cjs.entry.js +3 -1
  58. package/dist/cjs/textarea-component.cjs.entry.js.map +1 -1
  59. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  60. package/dist/cjs/warning-icon.cjs.entry.js +1 -1
  61. package/dist/collection/collection-manifest.json +14 -0
  62. package/dist/collection/common/constants.js +102 -0
  63. package/dist/collection/common/constants.js.map +1 -1
  64. package/dist/collection/common/icons/add-circle.js +1 -1
  65. package/dist/collection/common/icons/archive.js +1 -1
  66. package/dist/collection/common/icons/arrow.js +1 -1
  67. package/dist/collection/common/icons/bold.js +1 -1
  68. package/dist/collection/common/icons/calendar-agenda-fill.js +63 -0
  69. package/dist/collection/common/icons/calendar-agenda-fill.js.map +1 -0
  70. package/dist/collection/common/icons/calendar-agenda.js +63 -0
  71. package/dist/collection/common/icons/calendar-agenda.js.map +1 -0
  72. package/dist/collection/common/icons/copy.js +63 -0
  73. package/dist/collection/common/icons/copy.js.map +1 -0
  74. package/dist/collection/common/icons/delete.js +63 -0
  75. package/dist/collection/common/icons/delete.js.map +1 -0
  76. package/dist/collection/common/icons/document-refresh.js +1 -1
  77. package/dist/collection/common/icons/dragable.js +63 -0
  78. package/dist/collection/common/icons/dragable.js.map +1 -0
  79. package/dist/collection/common/icons/edit.js +63 -0
  80. package/dist/collection/common/icons/edit.js.map +1 -0
  81. package/dist/collection/common/icons/eye.js +63 -0
  82. package/dist/collection/common/icons/eye.js.map +1 -0
  83. package/dist/collection/common/icons/flow.js +1 -1
  84. package/dist/collection/common/icons/folder.js +1 -1
  85. package/dist/collection/common/icons/forward.js +1 -1
  86. package/dist/collection/common/icons/globe.js +1 -1
  87. package/dist/collection/common/icons/google-logo.js +1 -1
  88. package/dist/collection/common/icons/google-meet.js +63 -0
  89. package/dist/collection/common/icons/google-meet.js.map +1 -0
  90. package/dist/collection/common/icons/inbox.js +1 -1
  91. package/dist/collection/common/icons/info.js +1 -1
  92. package/dist/collection/common/icons/italic.js +1 -1
  93. package/dist/collection/common/icons/loading.js +1 -1
  94. package/dist/collection/common/icons/location-off.js +1 -1
  95. package/dist/collection/common/icons/location.js +1 -1
  96. package/dist/collection/common/icons/microsof-teams.js +63 -0
  97. package/dist/collection/common/icons/microsof-teams.js.map +1 -0
  98. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  99. package/dist/collection/common/icons/nylas-logo.js +1 -1
  100. package/dist/collection/common/icons/people.js +1 -1
  101. package/dist/collection/common/icons/person.js +1 -1
  102. package/dist/collection/common/icons/play.js +1 -1
  103. package/dist/collection/common/icons/plus.js +63 -0
  104. package/dist/collection/common/icons/plus.js.map +1 -0
  105. package/dist/collection/common/icons/refresh.js +1 -1
  106. package/dist/collection/common/icons/reply-all.js +1 -1
  107. package/dist/collection/common/icons/reply.js +1 -1
  108. package/dist/collection/common/icons/search.js +1 -1
  109. package/dist/collection/common/icons/sent.js +1 -1
  110. package/dist/collection/common/icons/spam.js +1 -1
  111. package/dist/collection/common/icons/star.js +1 -1
  112. package/dist/collection/common/icons/stop.js +1 -1
  113. package/dist/collection/common/icons/translate.js +1 -1
  114. package/dist/collection/common/icons/trash.js +1 -1
  115. package/dist/collection/common/icons/underline.js +1 -1
  116. package/dist/collection/common/icons/warning.js +1 -1
  117. package/dist/collection/common/icons/zoom.js +63 -0
  118. package/dist/collection/common/icons/zoom.js.map +1 -0
  119. package/dist/collection/common/nylas-api-request.js +1 -0
  120. package/dist/collection/common/nylas-api-request.js.map +1 -1
  121. package/dist/collection/common/types.js.map +1 -1
  122. package/dist/collection/components/design-system/button-component/button-component.css +4 -0
  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.css +15 -1
  125. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js +46 -6
  126. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js.map +1 -1
  127. package/dist/collection/components/design-system/input-component/input-component.css +9 -1
  128. package/dist/collection/components/design-system/input-component/input-component.js +20 -8
  129. package/dist/collection/components/design-system/input-component/input-component.js.map +1 -1
  130. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +1 -1
  131. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.css +8 -1
  132. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +21 -2
  133. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js.map +1 -1
  134. package/dist/collection/components/design-system/radio-button-group/radio-button-group.css +57 -1
  135. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js +69 -10
  136. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js.map +1 -1
  137. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +45 -2
  138. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js.map +1 -1
  139. package/dist/collection/components/design-system/textarea-component/textarea-component.js +23 -3
  140. package/dist/collection/components/design-system/textarea-component/textarea-component.js.map +1 -1
  141. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  142. package/dist/collection/components/design-system/toggle-switch/toggle-switch.css +1 -1
  143. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js +5 -5
  144. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js.map +1 -1
  145. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  146. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  147. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  148. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  149. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  150. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +1 -1
  151. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  152. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  153. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  154. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  155. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  156. package/dist/collection/components/nylas-if-state/nylas-if-state.js +1 -1
  157. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  158. package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
  159. package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js +23 -4
  160. package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js.map +1 -1
  161. package/dist/collection/components/scheduler/nylas-booked-event-card/test/nylas-booked-event-card.spec.js +1 -0
  162. package/dist/collection/components/scheduler/nylas-booked-event-card/test/nylas-booked-event-card.spec.js.map +1 -1
  163. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +37 -21
  164. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
  165. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +42 -3
  166. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js.map +1 -1
  167. package/dist/collection/components/scheduler/nylas-cancel-booking-form/test/nylas-cancel-booking-form.spec.js +11 -0
  168. package/dist/collection/components/scheduler/nylas-cancel-booking-form/test/nylas-cancel-booking-form.spec.js.map +1 -1
  169. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +2 -2
  170. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +1 -1
  171. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  172. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.css +4 -1
  173. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +3 -3
  174. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
  175. package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +1 -1
  176. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.css +2 -2
  177. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js +8 -7
  178. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js.map +1 -1
  179. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.css +16 -2
  180. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +31 -12
  181. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  182. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.css +3 -0
  183. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +2 -2
  184. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  185. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.css +3 -0
  186. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js +22 -6
  187. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js.map +1 -1
  188. package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.css +233 -0
  189. package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.js +388 -0
  190. package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.js.map +1 -0
  191. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.css +3 -20
  192. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js +19 -9
  193. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js.map +1 -1
  194. package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +1 -1
  195. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.css +105 -0
  196. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.js +298 -0
  197. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.js.map +1 -0
  198. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  199. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js +5 -5
  200. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js.map +1 -1
  201. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.css +3 -0
  202. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +106 -20
  203. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  204. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +7 -7
  205. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -1
  206. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  207. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  208. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js.map +1 -1
  209. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +161 -11
  210. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js.map +1 -1
  211. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +1 -1
  212. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js.map +1 -1
  213. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  214. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +1 -1
  215. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js.map +1 -1
  216. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.css +79 -3
  217. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js +125 -22
  218. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js.map +1 -1
  219. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js +1 -1
  220. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js.map +1 -1
  221. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
  222. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js.map +1 -1
  223. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.css +105 -0
  224. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.js +324 -0
  225. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.js.map +1 -0
  226. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +39 -5
  227. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js.map +1 -1
  228. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.js +4 -3
  229. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.js.map +1 -1
  230. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +59 -9
  231. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  232. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +1 -1
  233. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +16 -16
  234. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js.map +1 -1
  235. package/dist/collection/connector/shared/api/scheduler-config.js +4 -2
  236. package/dist/collection/connector/shared/api/scheduler-config.js.map +1 -1
  237. package/dist/collection/connector/shared/api/scheduler.js +41 -6
  238. package/dist/collection/connector/shared/api/scheduler.js.map +1 -1
  239. package/dist/collection/stores/scheduler-config-store.js +2 -0
  240. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  241. package/dist/collection/stores/scheduler-store.js +1 -0
  242. package/dist/collection/stores/scheduler-store.js.map +1 -1
  243. package/dist/collection/types/index.js.map +1 -1
  244. package/dist/components/add-circle.js +1 -1
  245. package/dist/components/archive.js +1 -1
  246. package/dist/components/arrow.js +1 -1
  247. package/dist/components/bold.js +1 -1
  248. package/dist/components/button-component2.js +2 -2
  249. package/dist/components/button-component2.js.map +1 -1
  250. package/dist/components/calendar-agenda-fill-icon.d.ts +11 -0
  251. package/dist/components/calendar-agenda-fill-icon.js +8 -0
  252. package/dist/components/calendar-agenda-fill-icon.js.map +1 -0
  253. package/dist/components/calendar-agenda-fill.js +37 -0
  254. package/dist/components/calendar-agenda-fill.js.map +1 -0
  255. package/dist/components/calendar-agenda-icon.d.ts +11 -0
  256. package/dist/components/calendar-agenda-icon.js +8 -0
  257. package/dist/components/calendar-agenda-icon.js.map +1 -0
  258. package/dist/components/calendar-agenda.js +37 -0
  259. package/dist/components/calendar-agenda.js.map +1 -0
  260. package/dist/components/checkbox-component2.js +18 -4
  261. package/dist/components/checkbox-component2.js.map +1 -1
  262. package/dist/components/constants.js +102 -1
  263. package/dist/components/constants.js.map +1 -1
  264. package/dist/components/copy-icon.d.ts +11 -0
  265. package/dist/components/copy-icon.js +8 -0
  266. package/dist/components/copy-icon.js.map +1 -0
  267. package/dist/components/copy.js +37 -0
  268. package/dist/components/copy.js.map +1 -0
  269. package/dist/components/delete-icon.d.ts +11 -0
  270. package/dist/components/delete-icon.js +8 -0
  271. package/dist/components/delete-icon.js.map +1 -0
  272. package/dist/components/delete.js +37 -0
  273. package/dist/components/delete.js.map +1 -0
  274. package/dist/components/document-refresh-icon.js +1 -1
  275. package/dist/components/dragable-icon.d.ts +11 -0
  276. package/dist/components/dragable-icon.js +8 -0
  277. package/dist/components/dragable-icon.js.map +1 -0
  278. package/dist/components/dragable.js +37 -0
  279. package/dist/components/dragable.js.map +1 -0
  280. package/dist/components/edit-icon.d.ts +11 -0
  281. package/dist/components/edit-icon.js +8 -0
  282. package/dist/components/edit-icon.js.map +1 -0
  283. package/dist/components/edit.js +37 -0
  284. package/dist/components/edit.js.map +1 -0
  285. package/dist/components/eye-icon.d.ts +11 -0
  286. package/dist/components/eye-icon.js +8 -0
  287. package/dist/components/eye-icon.js.map +1 -0
  288. package/dist/components/eye.js +37 -0
  289. package/dist/components/eye.js.map +1 -0
  290. package/dist/components/flow.js +1 -1
  291. package/dist/components/folder.js +1 -1
  292. package/dist/components/forward.js +1 -1
  293. package/dist/components/globe.js +1 -1
  294. package/dist/components/google-logo.js +1 -1
  295. package/dist/components/google-meet-icon.d.ts +11 -0
  296. package/dist/components/google-meet-icon.js +8 -0
  297. package/dist/components/google-meet-icon.js.map +1 -0
  298. package/dist/components/google-meet.js +37 -0
  299. package/dist/components/google-meet.js.map +1 -0
  300. package/dist/components/inbox.js +1 -1
  301. package/dist/components/info.js +1 -1
  302. package/dist/components/input-component2.js +17 -6
  303. package/dist/components/input-component2.js.map +1 -1
  304. package/dist/components/input-dropdown2.js +1 -1
  305. package/dist/components/italic.js +1 -1
  306. package/dist/components/loading.js +1 -1
  307. package/dist/components/location-off.js +1 -1
  308. package/dist/components/location.js +1 -1
  309. package/dist/components/microsof-teams.js +37 -0
  310. package/dist/components/microsof-teams.js.map +1 -0
  311. package/dist/components/microsoft-logo.js +1 -1
  312. package/dist/components/microsoft-teams-icon.d.ts +11 -0
  313. package/dist/components/microsoft-teams-icon.js +8 -0
  314. package/dist/components/microsoft-teams-icon.js.map +1 -0
  315. package/dist/components/multi-select-dropdown2.js +5 -3
  316. package/dist/components/multi-select-dropdown2.js.map +1 -1
  317. package/dist/components/nylas-additional-participants2.js +26 -8
  318. package/dist/components/nylas-additional-participants2.js.map +1 -1
  319. package/dist/components/nylas-api-request.js +1 -0
  320. package/dist/components/nylas-api-request.js.map +1 -1
  321. package/dist/components/nylas-availability-picker2.js +2 -2
  322. package/dist/components/nylas-availability-picker2.js.map +1 -1
  323. package/dist/components/nylas-booked-event-card2.js +7 -4
  324. package/dist/components/nylas-booked-event-card2.js.map +1 -1
  325. package/dist/components/nylas-booking-calendar-picker2.js +5 -6
  326. package/dist/components/nylas-booking-calendar-picker2.js.map +1 -1
  327. package/dist/components/nylas-booking-form-config.d.ts +11 -0
  328. package/dist/components/nylas-booking-form-config.js +8 -0
  329. package/dist/components/nylas-booking-form-config.js.map +1 -0
  330. package/dist/components/nylas-booking-form-config2.js +3691 -0
  331. package/dist/components/nylas-booking-form-config2.js.map +1 -0
  332. package/dist/components/nylas-booking-form2.js +78 -32
  333. package/dist/components/nylas-booking-form2.js.map +1 -1
  334. package/dist/components/nylas-calendar-picker2.js +27 -23
  335. package/dist/components/nylas-calendar-picker2.js.map +1 -1
  336. package/dist/components/nylas-cancel-booking-form2.js +21 -2
  337. package/dist/components/nylas-cancel-booking-form2.js.map +1 -1
  338. package/dist/components/nylas-cancellation-policy2.js +1 -1
  339. package/dist/components/nylas-cancelled-event-card2.js +1 -1
  340. package/dist/components/nylas-composer2.js +1 -1
  341. package/dist/components/nylas-connected-calendars.d.ts +11 -0
  342. package/dist/components/nylas-connected-calendars.js +8 -0
  343. package/dist/components/nylas-connected-calendars.js.map +1 -0
  344. package/dist/components/nylas-connected-calendars2.js +232 -0
  345. package/dist/components/nylas-connected-calendars2.js.map +1 -0
  346. package/dist/components/nylas-custom-booking-flow.js +1 -1
  347. package/dist/components/nylas-customize-booking-settings2.js +4 -4
  348. package/dist/components/nylas-customize-booking-settings2.js.map +1 -1
  349. package/dist/components/nylas-editor-tabs2.js +251 -113
  350. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  351. package/dist/components/nylas-event-info2.js +1 -1
  352. package/dist/components/nylas-event-limits2.js +1 -1
  353. package/dist/components/nylas-event-limits2.js.map +1 -1
  354. package/dist/components/nylas-event-location2.js +138 -25
  355. package/dist/components/nylas-event-location2.js.map +1 -1
  356. package/dist/components/nylas-event-title2.js +1 -1
  357. package/dist/components/nylas-event-title2.js.map +1 -1
  358. package/dist/components/nylas-form-card2.js +1 -1
  359. package/dist/components/nylas-if-state.js +1 -1
  360. package/dist/components/nylas-limit-future-bookings2.js +1 -1
  361. package/dist/components/nylas-limit-future-bookings2.js.map +1 -1
  362. package/dist/components/nylas-list-configurations2.js +142 -25
  363. package/dist/components/nylas-list-configurations2.js.map +1 -1
  364. package/dist/components/nylas-list-folders.js +1 -1
  365. package/dist/components/nylas-list-threads.js +1 -1
  366. package/dist/components/nylas-login.js +1 -1
  367. package/dist/components/nylas-logo2.js +1 -1
  368. package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
  369. package/dist/components/nylas-mailbox.js +1 -1
  370. package/dist/components/nylas-min-booking-notice2.js +1 -1
  371. package/dist/components/nylas-min-booking-notice2.js.map +1 -1
  372. package/dist/components/nylas-min-cancellation-notice2.js +1 -1
  373. package/dist/components/nylas-min-cancellation-notice2.js.map +1 -1
  374. package/dist/components/nylas-notification2.js +1 -1
  375. package/dist/components/nylas-participant-booking-calendars.d.ts +11 -0
  376. package/dist/components/nylas-participant-booking-calendars.js +8 -0
  377. package/dist/components/nylas-participant-booking-calendars.js.map +1 -0
  378. package/dist/components/nylas-participant-booking-calendars2.js +237 -0
  379. package/dist/components/nylas-participant-booking-calendars2.js.map +1 -0
  380. package/dist/components/nylas-participants-custom-availability2.js +18 -5
  381. package/dist/components/nylas-participants-custom-availability2.js.map +1 -1
  382. package/dist/components/nylas-provider.js +1 -1
  383. package/dist/components/nylas-scheduler-editor.js +210 -101
  384. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  385. package/dist/components/nylas-scheduling.js +70 -52
  386. package/dist/components/nylas-scheduling.js.map +1 -1
  387. package/dist/components/nylas-summarize-message-button2.js +2 -2
  388. package/dist/components/nylas-threads-refresh.js +2 -2
  389. package/dist/components/nylas-threads-search.js +1 -1
  390. package/dist/components/nylas-time-window-picker2.js +1 -1
  391. package/dist/components/nylas-timeslot-interval2.js +11 -11
  392. package/dist/components/nylas-timeslot-interval2.js.map +1 -1
  393. package/dist/components/nylas-timeslot-picker2.js +6 -5
  394. package/dist/components/nylas-timeslot-picker2.js.map +1 -1
  395. package/dist/components/nylas-view-email2.js +1 -1
  396. package/dist/components/nylas-view-thread.js +1 -1
  397. package/dist/components/people.js +1 -1
  398. package/dist/components/person.js +1 -1
  399. package/dist/components/play.js +1 -1
  400. package/dist/components/plus-icon.d.ts +11 -0
  401. package/dist/components/plus-icon.js +8 -0
  402. package/dist/components/plus-icon.js.map +1 -0
  403. package/dist/components/plus.js +37 -0
  404. package/dist/components/plus.js.map +1 -0
  405. package/dist/components/radio-button-group2.js +23 -6
  406. package/dist/components/radio-button-group2.js.map +1 -1
  407. package/dist/components/refresh.js +1 -1
  408. package/dist/components/reply-all.js +1 -1
  409. package/dist/components/reply.js +1 -1
  410. package/dist/components/scheduler-config-store.js +2 -0
  411. package/dist/components/scheduler-config-store.js.map +1 -1
  412. package/dist/components/scheduler-store.js +42 -6
  413. package/dist/components/scheduler-store.js.map +1 -1
  414. package/dist/components/search.js +1 -1
  415. package/dist/components/select-dropdown2.js +12 -2
  416. package/dist/components/select-dropdown2.js.map +1 -1
  417. package/dist/components/sent.js +1 -1
  418. package/dist/components/spam.js +1 -1
  419. package/dist/components/star.js +1 -1
  420. package/dist/components/stop.js +1 -1
  421. package/dist/components/textarea-component.js +1 -82
  422. package/dist/components/textarea-component.js.map +1 -1
  423. package/dist/components/textarea-component2.js +89 -0
  424. package/dist/components/textarea-component2.js.map +1 -0
  425. package/dist/components/time-period-selector2.js +1 -1
  426. package/dist/components/toggle-switch2.js +2 -2
  427. package/dist/components/toggle-switch2.js.map +1 -1
  428. package/dist/components/toolitp-component.js +1 -1
  429. package/dist/components/translate.js +1 -1
  430. package/dist/components/trash.js +1 -1
  431. package/dist/components/underline.js +1 -1
  432. package/dist/components/warning.js +1 -1
  433. package/dist/components/zoom-icon.d.ts +11 -0
  434. package/dist/components/zoom-icon.js +8 -0
  435. package/dist/components/zoom-icon.js.map +1 -0
  436. package/dist/components/zoom.js +37 -0
  437. package/dist/components/zoom.js.map +1 -0
  438. package/dist/esm/add-circle-icon_2.entry.js +1 -1
  439. package/dist/esm/archive-icon_7.entry.js +7 -7
  440. package/dist/esm/arrow-icon.entry.js +1 -1
  441. package/dist/esm/bold-icon_3.entry.js +3 -3
  442. package/dist/esm/button-component_4.entry.js +196 -0
  443. package/dist/esm/button-component_4.entry.js.map +1 -0
  444. package/dist/esm/calendar-agenda-fill-icon_35.entry.js +6905 -0
  445. package/dist/esm/calendar-agenda-fill-icon_35.entry.js.map +1 -0
  446. package/dist/esm/chevron-icon_3.entry.js +11 -3
  447. package/dist/esm/chevron-icon_3.entry.js.map +1 -1
  448. package/dist/esm/clock-icon_2.entry.js +1 -1
  449. package/dist/esm/{constants-f34b9c6e.js → constants-7ce66b44.js} +103 -2
  450. package/dist/esm/{constants-f34b9c6e.js.map → constants-7ce66b44.js.map} +1 -1
  451. package/dist/esm/copy-icon_4.entry.js +65 -0
  452. package/dist/esm/copy-icon_4.entry.js.map +1 -0
  453. package/dist/esm/document-refresh-icon.entry.js +1 -1
  454. package/dist/esm/forward-icon_6.entry.js +7 -7
  455. package/dist/esm/globe-icon.entry.js +1 -1
  456. package/dist/esm/google-logo-icon_4.entry.js +192 -51
  457. package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
  458. package/dist/esm/index-7cb0dd3d.js +20 -16
  459. package/dist/esm/index.js +1 -1
  460. package/dist/esm/info-icon_2.entry.js +2 -2
  461. package/dist/esm/input-dropdown_2.entry.js +2 -2
  462. package/dist/esm/loader.js +1 -1
  463. package/dist/esm/loading-icon.entry.js +1 -1
  464. package/dist/esm/multi-select-dropdown.entry.js +140 -0
  465. package/dist/esm/multi-select-dropdown.entry.js.map +1 -0
  466. package/dist/esm/{nylas-api-request-a67d2997.js → nylas-api-request-4f8edff2.js} +2 -1
  467. package/dist/esm/nylas-api-request-4f8edff2.js.map +1 -0
  468. package/dist/esm/nylas-booked-event-card_10.entry.js +66 -35
  469. package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
  470. package/dist/esm/nylas-custom-booking-flow.entry.js +1 -1
  471. package/dist/esm/nylas-form-card.entry.js +1 -1
  472. package/dist/esm/nylas-if-state.entry.js +1 -1
  473. package/dist/esm/nylas-list-folders.entry.js +1 -1
  474. package/dist/esm/nylas-list-threads.entry.js +1 -1
  475. package/dist/esm/nylas-login.entry.js +1 -1
  476. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +1 -1
  477. package/dist/esm/nylas-mailbox.entry.js +1 -1
  478. package/dist/esm/nylas-provider.entry.js +3 -3
  479. package/dist/esm/nylas-scheduler-editor.entry.js +26 -9
  480. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  481. package/dist/esm/nylas-scheduling.entry.js +3 -3
  482. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  483. package/dist/esm/nylas-threads-refresh.entry.js +2 -2
  484. package/dist/esm/nylas-threads-search.entry.js +1 -1
  485. package/dist/esm/nylas-time-window-picker.entry.js +1 -1
  486. package/dist/esm/nylas-view-thread.entry.js +1 -1
  487. package/dist/esm/nylas-web-elements.js +1 -1
  488. package/dist/esm/play-icon_2.entry.js +2 -2
  489. package/dist/esm/refresh-icon.entry.js +1 -1
  490. package/dist/esm/{scheduler-config-store-4a50a03d.js → scheduler-config-store-9ccfba4d.js} +3 -1
  491. package/dist/esm/scheduler-config-store-9ccfba4d.js.map +1 -0
  492. package/dist/esm/{scheduler-store-f02ce045.js → scheduler-store-8a400448.js} +43 -7
  493. package/dist/esm/scheduler-store-8a400448.js.map +1 -0
  494. package/dist/esm/textarea-component.entry.js +3 -1
  495. package/dist/esm/textarea-component.entry.js.map +1 -1
  496. package/dist/esm/translate-icon.entry.js +1 -1
  497. package/dist/esm/warning-icon.entry.js +1 -1
  498. package/dist/nylas-web-elements/index.esm.js +1 -1
  499. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  500. package/dist/nylas-web-elements/nylas-web-elements.esm.js.map +1 -1
  501. package/dist/nylas-web-elements/p-0161429f.entry.js +2 -0
  502. package/dist/nylas-web-elements/{p-33a6a75b.entry.js.map → p-0161429f.entry.js.map} +1 -1
  503. package/dist/nylas-web-elements/p-064c2ae5.entry.js +2 -0
  504. package/dist/nylas-web-elements/{p-de7b0878.entry.js → p-0aa1e433.entry.js} +2 -2
  505. package/dist/nylas-web-elements/{p-3f122804.entry.js → p-0bf6f818.entry.js} +2 -2
  506. package/dist/nylas-web-elements/p-1102df14.entry.js +2 -0
  507. package/dist/nylas-web-elements/{p-f1a54acf.entry.js → p-155e5ce8.entry.js} +2 -2
  508. package/dist/nylas-web-elements/{p-a85408e0.entry.js → p-18d100c8.entry.js} +2 -2
  509. package/dist/nylas-web-elements/{p-5231fc13.entry.js → p-1a7edf86.entry.js} +3 -3
  510. package/dist/nylas-web-elements/p-1d8c468f.entry.js +2 -0
  511. package/dist/nylas-web-elements/p-1d8c468f.entry.js.map +1 -0
  512. package/dist/nylas-web-elements/{p-be38a8eb.entry.js → p-1e1ae8d0.entry.js} +2 -2
  513. package/dist/nylas-web-elements/p-1f290858.entry.js +2 -0
  514. package/dist/nylas-web-elements/p-1f290858.entry.js.map +1 -0
  515. package/dist/nylas-web-elements/{p-eb7e8455.entry.js → p-1fbe50b1.entry.js} +2 -2
  516. package/dist/nylas-web-elements/p-20bbc663.js +2 -0
  517. package/dist/nylas-web-elements/p-20bbc663.js.map +1 -0
  518. package/dist/nylas-web-elements/{p-49f716ed.js → p-2270e6cf.js} +4 -4
  519. package/dist/nylas-web-elements/p-2270e6cf.js.map +1 -0
  520. package/dist/nylas-web-elements/{p-70e5cfb0.entry.js → p-22e05c7d.entry.js} +2 -2
  521. package/dist/nylas-web-elements/{p-554891cd.entry.js → p-26302ad0.entry.js} +2 -2
  522. package/dist/nylas-web-elements/p-27df8f01.entry.js +2 -0
  523. package/dist/nylas-web-elements/p-27df8f01.entry.js.map +1 -0
  524. package/dist/nylas-web-elements/p-2b1d53fa.entry.js +8 -0
  525. package/dist/nylas-web-elements/p-2b1d53fa.entry.js.map +1 -0
  526. package/dist/nylas-web-elements/{p-6ce66add.entry.js → p-2f47205d.entry.js} +2 -2
  527. package/dist/nylas-web-elements/{p-28512ab6.entry.js → p-3277023d.entry.js} +2 -2
  528. package/dist/nylas-web-elements/{p-1a27960b.entry.js → p-3423de64.entry.js} +2 -2
  529. package/dist/nylas-web-elements/p-3423de64.entry.js.map +1 -0
  530. package/dist/nylas-web-elements/{p-b0c8021f.entry.js → p-34c747f9.entry.js} +2 -2
  531. package/dist/nylas-web-elements/{p-d9a91bc9.entry.js → p-359af1e3.entry.js} +2 -2
  532. package/dist/nylas-web-elements/p-359af1e3.entry.js.map +1 -0
  533. package/dist/nylas-web-elements/{p-613c070f.js → p-371b20b2.js} +2 -2
  534. package/dist/nylas-web-elements/p-371b20b2.js.map +1 -0
  535. package/dist/nylas-web-elements/{p-e9ba368f.entry.js → p-3ae38e51.entry.js} +2 -2
  536. package/dist/nylas-web-elements/{p-6ef1024f.entry.js → p-3bc1289e.entry.js} +2 -2
  537. package/dist/nylas-web-elements/{p-7fcecf3f.entry.js → p-3d1e8e4d.entry.js} +2 -2
  538. package/dist/nylas-web-elements/{p-45c37986.entry.js → p-3dae0c71.entry.js} +2 -2
  539. package/dist/nylas-web-elements/{p-acadfabf.entry.js → p-3db7ab8d.entry.js} +3 -3
  540. package/dist/nylas-web-elements/{p-66493463.entry.js → p-3e09b0fb.entry.js} +2 -2
  541. package/dist/nylas-web-elements/{p-5c3c1888.entry.js → p-3eac9f45.entry.js} +2 -2
  542. package/dist/nylas-web-elements/{p-dcc27b67.entry.js → p-4000107d.entry.js} +2 -2
  543. package/dist/nylas-web-elements/p-40cad9a8.entry.js +11 -0
  544. package/dist/nylas-web-elements/p-40cad9a8.entry.js.map +1 -0
  545. package/dist/nylas-web-elements/p-445d8bb4.entry.js +11 -0
  546. package/dist/nylas-web-elements/p-445d8bb4.entry.js.map +1 -0
  547. package/dist/nylas-web-elements/{p-08d75d35.entry.js → p-47392968.entry.js} +2 -2
  548. package/dist/nylas-web-elements/{p-16a3bfb2.entry.js → p-4a594ebe.entry.js} +2 -2
  549. package/dist/nylas-web-elements/{p-d633e735.entry.js → p-4b6995fe.entry.js} +2 -2
  550. package/dist/nylas-web-elements/p-4cdd4107.entry.js +2 -0
  551. package/dist/nylas-web-elements/{p-39fd9c90.entry.js → p-4e8c8939.entry.js} +2 -2
  552. package/dist/nylas-web-elements/{p-9b68568e.entry.js → p-4e9ba325.entry.js} +2 -2
  553. package/dist/nylas-web-elements/p-4f55d0e5.entry.js +2 -0
  554. package/dist/nylas-web-elements/{p-12b83ea9.entry.js.map → p-4f55d0e5.entry.js.map} +1 -1
  555. package/dist/nylas-web-elements/{p-9794f735.entry.js → p-524a6acc.entry.js} +2 -2
  556. package/dist/nylas-web-elements/{p-6bd9c9c3.entry.js → p-533d39ce.entry.js} +2 -2
  557. package/dist/nylas-web-elements/{p-e928898a.entry.js → p-5a379fb5.entry.js} +2 -2
  558. package/dist/nylas-web-elements/{p-c90755ba.entry.js → p-5a68368a.entry.js} +2 -2
  559. package/dist/nylas-web-elements/{p-37f41a90.entry.js → p-5b965d0d.entry.js} +2 -2
  560. package/dist/nylas-web-elements/p-5e1cd3c1.entry.js +2 -0
  561. package/dist/nylas-web-elements/p-5e1cd3c1.entry.js.map +1 -0
  562. package/dist/nylas-web-elements/{p-34f0d1fe.entry.js → p-5ff4e63b.entry.js} +2 -2
  563. package/dist/nylas-web-elements/p-62aeac5f.entry.js +2 -0
  564. package/dist/nylas-web-elements/p-62aeac5f.entry.js.map +1 -0
  565. package/dist/nylas-web-elements/p-64d43339.entry.js +2 -0
  566. package/dist/nylas-web-elements/p-64d43339.entry.js.map +1 -0
  567. package/dist/nylas-web-elements/p-656cf33f.entry.js +2 -0
  568. package/dist/nylas-web-elements/{p-cf589eab.entry.js → p-65b7a2a7.entry.js} +2 -2
  569. package/dist/nylas-web-elements/p-68471dbd.entry.js +8 -0
  570. package/dist/nylas-web-elements/p-68471dbd.entry.js.map +1 -0
  571. package/dist/nylas-web-elements/p-692852d2.entry.js +2 -0
  572. package/dist/nylas-web-elements/p-692852d2.entry.js.map +1 -0
  573. package/dist/nylas-web-elements/{p-60b03f86.entry.js → p-6c8af4fb.entry.js} +2 -2
  574. package/dist/nylas-web-elements/p-6d410f0a.entry.js +2 -0
  575. package/dist/nylas-web-elements/{p-daac96cb.entry.js → p-6e50d2fd.entry.js} +3 -3
  576. package/dist/nylas-web-elements/p-6e8b7ce8.entry.js +2 -0
  577. package/dist/nylas-web-elements/p-7042eb03.entry.js +2 -0
  578. package/dist/nylas-web-elements/{p-958746a1.entry.js.map → p-7042eb03.entry.js.map} +1 -1
  579. package/dist/nylas-web-elements/{p-b9fa6848.entry.js → p-7355937b.entry.js} +2 -2
  580. package/dist/nylas-web-elements/p-749238c6.entry.js +2 -0
  581. package/dist/nylas-web-elements/p-749238c6.entry.js.map +1 -0
  582. package/dist/nylas-web-elements/p-76156a82.entry.js +2 -0
  583. package/dist/nylas-web-elements/p-79c1475e.entry.js +11 -0
  584. package/dist/nylas-web-elements/p-79c1475e.entry.js.map +1 -0
  585. package/dist/nylas-web-elements/p-79c33cf9.entry.js +2 -0
  586. package/dist/nylas-web-elements/p-79c33cf9.entry.js.map +1 -0
  587. package/dist/nylas-web-elements/{p-052bc3b1.entry.js → p-7e08f131.entry.js} +2 -2
  588. package/dist/nylas-web-elements/{p-a12f3223.entry.js → p-7e10aa6d.entry.js} +2 -2
  589. package/dist/nylas-web-elements/{p-a7b19349.entry.js → p-7e53588e.entry.js} +2 -2
  590. package/dist/nylas-web-elements/p-83de54ae.entry.js +2 -0
  591. package/dist/nylas-web-elements/{p-b2d95965.entry.js → p-884b66bd.entry.js} +2 -2
  592. package/dist/nylas-web-elements/p-8aac762b.entry.js +2 -0
  593. package/dist/nylas-web-elements/p-8aac762b.entry.js.map +1 -0
  594. package/dist/nylas-web-elements/p-8d74c874.js +2 -0
  595. package/dist/nylas-web-elements/p-8d74c874.js.map +1 -0
  596. package/dist/nylas-web-elements/{p-a800e7af.entry.js → p-8ddf6518.entry.js} +2 -2
  597. package/dist/nylas-web-elements/p-8ddf6518.entry.js.map +1 -0
  598. package/dist/nylas-web-elements/{p-7a95bc3f.entry.js → p-90294a76.entry.js} +2 -2
  599. package/dist/nylas-web-elements/p-90817d1f.entry.js +2 -0
  600. package/dist/nylas-web-elements/{p-f1b0120b.entry.js → p-90d32fc3.entry.js} +2 -2
  601. package/dist/nylas-web-elements/p-94a93ca9.entry.js +2 -0
  602. package/dist/nylas-web-elements/p-94a93ca9.entry.js.map +1 -0
  603. package/dist/nylas-web-elements/p-95a9d2f1.entry.js +2 -0
  604. package/dist/nylas-web-elements/p-96746b87.entry.js +2 -0
  605. package/dist/nylas-web-elements/p-97026709.entry.js +2 -0
  606. package/dist/nylas-web-elements/{p-65097f45.entry.js → p-987042a1.entry.js} +2 -2
  607. package/dist/nylas-web-elements/{p-7ce048c0.entry.js → p-9f903292.entry.js} +2 -2
  608. package/dist/nylas-web-elements/{p-bd34f97d.entry.js → p-9fdbeba5.entry.js} +2 -2
  609. package/dist/nylas-web-elements/{p-2a92691a.entry.js → p-a22908ba.entry.js} +2 -2
  610. package/dist/nylas-web-elements/{p-091a8f00.entry.js → p-a3c76c06.entry.js} +2 -2
  611. package/dist/nylas-web-elements/{p-520ffe94.entry.js → p-a63d6241.entry.js} +2 -2
  612. package/dist/nylas-web-elements/{p-cf0d5ab9.entry.js → p-aa4e6e5e.entry.js} +2 -2
  613. package/dist/nylas-web-elements/{p-ba5a625c.entry.js → p-ab050d5b.entry.js} +2 -2
  614. package/dist/nylas-web-elements/p-b2b2d351.entry.js +2 -0
  615. package/dist/nylas-web-elements/p-b2b2d351.entry.js.map +1 -0
  616. package/dist/nylas-web-elements/{p-161c9325.entry.js → p-b348aad4.entry.js} +2 -2
  617. package/dist/nylas-web-elements/{p-bfe8e06b.entry.js → p-b547209f.entry.js} +2 -2
  618. package/dist/nylas-web-elements/{p-e8cde784.entry.js → p-b5b051e0.entry.js} +2 -2
  619. package/dist/nylas-web-elements/{p-aae7febd.entry.js → p-b7a53268.entry.js} +2 -2
  620. package/dist/nylas-web-elements/p-b8a9e8f4.entry.js +2 -0
  621. package/dist/nylas-web-elements/p-b8a9e8f4.entry.js.map +1 -0
  622. package/dist/nylas-web-elements/{p-385070ba.entry.js → p-bc6c9256.entry.js} +2 -2
  623. package/dist/nylas-web-elements/{p-cb03e4d4.entry.js → p-be26ce19.entry.js} +2 -2
  624. package/dist/nylas-web-elements/{p-8a4ac2a4.entry.js → p-bed6d217.entry.js} +2 -2
  625. package/dist/nylas-web-elements/p-bf4e0d2a.entry.js +2 -0
  626. package/dist/nylas-web-elements/p-bf4e0d2a.entry.js.map +1 -0
  627. package/dist/nylas-web-elements/{p-8e63b66c.entry.js → p-cb9fd100.entry.js} +2 -2
  628. package/dist/nylas-web-elements/p-ce14a1d5.entry.js +2 -0
  629. package/dist/nylas-web-elements/{p-1fa7b832.entry.js.map → p-ce14a1d5.entry.js.map} +1 -1
  630. package/dist/nylas-web-elements/{p-44507695.entry.js → p-cee0929a.entry.js} +2 -2
  631. package/dist/nylas-web-elements/{p-b334d63b.entry.js → p-cffb3636.entry.js} +2 -2
  632. package/dist/nylas-web-elements/{p-b2aca6c4.entry.js → p-d1ab9d75.entry.js} +2 -2
  633. package/dist/nylas-web-elements/p-d6a19e25.entry.js +2 -0
  634. package/dist/nylas-web-elements/p-d6a19e25.entry.js.map +1 -0
  635. package/dist/nylas-web-elements/{p-f96b12de.entry.js → p-d830e428.entry.js} +2 -2
  636. package/dist/nylas-web-elements/{p-8075a758.entry.js → p-d9b08dd2.entry.js} +2 -2
  637. package/dist/nylas-web-elements/{p-8f843faf.entry.js → p-db73506b.entry.js} +2 -2
  638. package/dist/nylas-web-elements/p-dcf99ddf.entry.js +2 -0
  639. package/dist/nylas-web-elements/p-dcf99ddf.entry.js.map +1 -0
  640. package/dist/nylas-web-elements/{p-d513d2ee.entry.js → p-de2f4643.entry.js} +2 -2
  641. package/dist/nylas-web-elements/{p-f2d1b1a6.entry.js.map → p-de2f4643.entry.js.map} +1 -1
  642. package/dist/nylas-web-elements/{p-25c97a60.entry.js → p-de84d999.entry.js} +2 -2
  643. package/dist/nylas-web-elements/p-debf614f.entry.js +8 -0
  644. package/dist/nylas-web-elements/p-debf614f.entry.js.map +1 -0
  645. package/dist/nylas-web-elements/{p-158fe1e9.entry.js → p-dfe9b5d0.entry.js} +2 -2
  646. package/dist/nylas-web-elements/{p-085950eb.entry.js → p-e5452799.entry.js} +2 -2
  647. package/dist/nylas-web-elements/{p-f8653b9b.entry.js → p-e6e79d76.entry.js} +2 -2
  648. package/dist/nylas-web-elements/{p-b813eb5d.entry.js → p-e944aa75.entry.js} +2 -2
  649. package/dist/nylas-web-elements/p-ec844414.entry.js +2 -0
  650. package/dist/nylas-web-elements/{p-34f0d1fe.entry.js.map → p-ec844414.entry.js.map} +1 -1
  651. package/dist/nylas-web-elements/p-ed64716c.entry.js +2 -0
  652. package/dist/nylas-web-elements/p-ed64716c.entry.js.map +1 -0
  653. package/dist/nylas-web-elements/{p-ecaf3ae1.entry.js → p-eff175d3.entry.js} +2 -2
  654. package/dist/nylas-web-elements/{p-246983ed.entry.js → p-eff774e6.entry.js} +2 -2
  655. package/dist/nylas-web-elements/p-f03b9d40.entry.js +2 -0
  656. package/dist/nylas-web-elements/p-f03b9d40.entry.js.map +1 -0
  657. package/dist/nylas-web-elements/{p-2f148064.entry.js → p-f13b8bd3.entry.js} +2 -2
  658. package/dist/nylas-web-elements/{p-8f3b02cd.entry.js → p-f7465959.entry.js} +2 -2
  659. package/dist/nylas-web-elements/p-f8e8270d.entry.js +2 -0
  660. package/dist/nylas-web-elements/p-f8e8270d.entry.js.map +1 -0
  661. package/dist/types/common/constants.d.ts +17 -0
  662. package/dist/types/common/icons/calendar-agenda-fill.d.ts +5 -0
  663. package/dist/types/common/icons/calendar-agenda.d.ts +5 -0
  664. package/dist/types/common/icons/copy.d.ts +5 -0
  665. package/dist/types/common/icons/delete.d.ts +5 -0
  666. package/dist/types/common/icons/dragable.d.ts +5 -0
  667. package/dist/types/common/icons/edit.d.ts +5 -0
  668. package/dist/types/common/icons/eye.d.ts +5 -0
  669. package/dist/types/common/icons/google-meet.d.ts +5 -0
  670. package/dist/types/common/icons/microsof-teams.d.ts +5 -0
  671. package/dist/types/common/icons/plus.d.ts +5 -0
  672. package/dist/types/common/icons/zoom.d.ts +5 -0
  673. package/dist/types/common/nylas-api-request.d.ts +1 -0
  674. package/dist/types/common/types.d.ts +1 -0
  675. package/dist/types/components/design-system/checkbox-component/checkbox-component.d.ts +3 -0
  676. package/dist/types/components/design-system/input-component/input-component.d.ts +2 -1
  677. package/dist/types/components/design-system/multi-select-dropdown/multi-select-dropdown.d.ts +1 -0
  678. package/dist/types/components/design-system/radio-button-group/radio-button-group.d.ts +6 -1
  679. package/dist/types/components/design-system/select-dropdown/select-dropdown.d.ts +3 -0
  680. package/dist/types/components/design-system/textarea-component/textarea-component.d.ts +2 -0
  681. package/dist/types/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.d.ts +1 -0
  682. package/dist/types/components/scheduler/nylas-booking-form/nylas-booking-form.d.ts +8 -6
  683. package/dist/types/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.d.ts +3 -2
  684. package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +7 -4
  685. package/dist/types/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.d.ts +1 -0
  686. package/dist/types/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.d.ts +51 -0
  687. package/dist/types/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.d.ts +1 -0
  688. package/dist/types/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.d.ts +41 -0
  689. package/dist/types/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.d.ts +1 -1
  690. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +27 -4
  691. package/dist/types/components/scheduler-editor/nylas-editor-tabs/tab-contents.d.ts +2 -1
  692. package/dist/types/components/scheduler-editor/nylas-event-location/nylas-event-location.d.ts +7 -1
  693. package/dist/types/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.d.ts +13 -2
  694. package/dist/types/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.d.ts +43 -0
  695. package/dist/types/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.d.ts +4 -2
  696. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.d.ts +11 -2
  697. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +4 -2
  698. package/dist/types/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.d.ts +2 -2
  699. package/dist/types/components.d.ts +723 -30
  700. package/dist/types/connector/shared/api/scheduler-config.d.ts +1 -1
  701. package/dist/types/stores/scheduler-config-store.d.ts +5 -2
  702. package/dist/types/stores/scheduler-store.d.ts +3 -1
  703. package/dist/types/types/index.d.ts +8 -0
  704. package/package.json +4 -3
  705. package/dist/cjs/button-component.cjs.entry.js +0 -31
  706. package/dist/cjs/button-component.cjs.entry.js.map +0 -1
  707. package/dist/cjs/calendar-info-icon_28.cjs.entry.js +0 -2935
  708. package/dist/cjs/calendar-info-icon_28.cjs.entry.js.map +0 -1
  709. package/dist/cjs/input-component.cjs.entry.js +0 -89
  710. package/dist/cjs/input-component.cjs.entry.js.map +0 -1
  711. package/dist/cjs/nylas-api-request-a1751a40.js.map +0 -1
  712. package/dist/cjs/scheduler-config-store-9f19c7a9.js.map +0 -1
  713. package/dist/cjs/scheduler-store-0f7328f1.js.map +0 -1
  714. package/dist/esm/button-component.entry.js +0 -27
  715. package/dist/esm/button-component.entry.js.map +0 -1
  716. package/dist/esm/calendar-info-icon_28.entry.js +0 -2904
  717. package/dist/esm/calendar-info-icon_28.entry.js.map +0 -1
  718. package/dist/esm/input-component.entry.js +0 -85
  719. package/dist/esm/input-component.entry.js.map +0 -1
  720. package/dist/esm/nylas-api-request-a67d2997.js.map +0 -1
  721. package/dist/esm/scheduler-config-store-4a50a03d.js.map +0 -1
  722. package/dist/esm/scheduler-store-f02ce045.js.map +0 -1
  723. package/dist/nylas-web-elements/p-019be093.entry.js +0 -11
  724. package/dist/nylas-web-elements/p-019be093.entry.js.map +0 -1
  725. package/dist/nylas-web-elements/p-05833164.entry.js +0 -2
  726. package/dist/nylas-web-elements/p-05833164.entry.js.map +0 -1
  727. package/dist/nylas-web-elements/p-061d0ae2.entry.js +0 -2
  728. package/dist/nylas-web-elements/p-061d0ae2.entry.js.map +0 -1
  729. package/dist/nylas-web-elements/p-0c31f7ca.entry.js +0 -2
  730. package/dist/nylas-web-elements/p-0d98c728.entry.js +0 -2
  731. package/dist/nylas-web-elements/p-0d98c728.entry.js.map +0 -1
  732. package/dist/nylas-web-elements/p-12b83ea9.entry.js +0 -2
  733. package/dist/nylas-web-elements/p-16fb6243.entry.js +0 -2
  734. package/dist/nylas-web-elements/p-1970b6ee.entry.js +0 -2
  735. package/dist/nylas-web-elements/p-1a27960b.entry.js.map +0 -1
  736. package/dist/nylas-web-elements/p-1fa7b832.entry.js +0 -2
  737. package/dist/nylas-web-elements/p-26976360.entry.js +0 -2
  738. package/dist/nylas-web-elements/p-26976360.entry.js.map +0 -1
  739. package/dist/nylas-web-elements/p-29938263.js +0 -2
  740. package/dist/nylas-web-elements/p-29938263.js.map +0 -1
  741. package/dist/nylas-web-elements/p-33a6a75b.entry.js +0 -2
  742. package/dist/nylas-web-elements/p-36f4b804.entry.js +0 -2
  743. package/dist/nylas-web-elements/p-36f4b804.entry.js.map +0 -1
  744. package/dist/nylas-web-elements/p-39160c0d.entry.js +0 -11
  745. package/dist/nylas-web-elements/p-39160c0d.entry.js.map +0 -1
  746. package/dist/nylas-web-elements/p-3b6bd448.entry.js +0 -2
  747. package/dist/nylas-web-elements/p-3eeab083.entry.js +0 -2
  748. package/dist/nylas-web-elements/p-49f716ed.js.map +0 -1
  749. package/dist/nylas-web-elements/p-53a1bb82.entry.js +0 -2
  750. package/dist/nylas-web-elements/p-53a1bb82.entry.js.map +0 -1
  751. package/dist/nylas-web-elements/p-5bed86c2.entry.js +0 -2
  752. package/dist/nylas-web-elements/p-5ddd0c37.entry.js +0 -2
  753. package/dist/nylas-web-elements/p-613c070f.js.map +0 -1
  754. package/dist/nylas-web-elements/p-644ff4ee.entry.js +0 -2
  755. package/dist/nylas-web-elements/p-644ff4ee.entry.js.map +0 -1
  756. package/dist/nylas-web-elements/p-64d73008.entry.js +0 -2
  757. package/dist/nylas-web-elements/p-6ddb4b95.entry.js +0 -2
  758. package/dist/nylas-web-elements/p-6ddb4b95.entry.js.map +0 -1
  759. package/dist/nylas-web-elements/p-823c8aa2.js +0 -2
  760. package/dist/nylas-web-elements/p-823c8aa2.js.map +0 -1
  761. package/dist/nylas-web-elements/p-83444c0a.entry.js +0 -2
  762. package/dist/nylas-web-elements/p-83444c0a.entry.js.map +0 -1
  763. package/dist/nylas-web-elements/p-8506a8d4.entry.js +0 -11
  764. package/dist/nylas-web-elements/p-8506a8d4.entry.js.map +0 -1
  765. package/dist/nylas-web-elements/p-926dd201.entry.js +0 -2
  766. package/dist/nylas-web-elements/p-9283504a.entry.js +0 -2
  767. package/dist/nylas-web-elements/p-9283504a.entry.js.map +0 -1
  768. package/dist/nylas-web-elements/p-958746a1.entry.js +0 -2
  769. package/dist/nylas-web-elements/p-9bb41364.entry.js +0 -2
  770. package/dist/nylas-web-elements/p-9bb41364.entry.js.map +0 -1
  771. package/dist/nylas-web-elements/p-a800e7af.entry.js.map +0 -1
  772. package/dist/nylas-web-elements/p-a8678862.entry.js +0 -2
  773. package/dist/nylas-web-elements/p-aac962c7.entry.js +0 -2
  774. package/dist/nylas-web-elements/p-aac962c7.entry.js.map +0 -1
  775. package/dist/nylas-web-elements/p-b4d09fcf.entry.js +0 -2
  776. package/dist/nylas-web-elements/p-b4d09fcf.entry.js.map +0 -1
  777. package/dist/nylas-web-elements/p-b9559f06.entry.js +0 -2
  778. package/dist/nylas-web-elements/p-b9559f06.entry.js.map +0 -1
  779. package/dist/nylas-web-elements/p-bab1d562.entry.js +0 -2
  780. package/dist/nylas-web-elements/p-bab1d562.entry.js.map +0 -1
  781. package/dist/nylas-web-elements/p-c18c15d0.entry.js +0 -2
  782. package/dist/nylas-web-elements/p-c1ff6499.entry.js +0 -2
  783. package/dist/nylas-web-elements/p-c1ff6499.entry.js.map +0 -1
  784. package/dist/nylas-web-elements/p-d5d67115.entry.js +0 -2
  785. package/dist/nylas-web-elements/p-d5d67115.entry.js.map +0 -1
  786. package/dist/nylas-web-elements/p-d9a91bc9.entry.js.map +0 -1
  787. package/dist/nylas-web-elements/p-ea12997b.entry.js +0 -2
  788. package/dist/nylas-web-elements/p-f2d1b1a6.entry.js +0 -2
  789. package/dist/nylas-web-elements/p-f6fafe86.entry.js +0 -2
  790. package/dist/nylas-web-elements/p-f6fafe86.entry.js.map +0 -1
  791. package/dist/nylas-web-elements/p-ffce3a49.entry.js +0 -2
  792. package/dist/nylas-web-elements/p-ffce3a49.entry.js.map +0 -1
  793. /package/dist/nylas-web-elements/{p-08d75d35.entry.js.map → p-064c2ae5.entry.js.map} +0 -0
  794. /package/dist/nylas-web-elements/{p-5bed86c2.entry.js.map → p-0aa1e433.entry.js.map} +0 -0
  795. /package/dist/nylas-web-elements/{p-3f122804.entry.js.map → p-0bf6f818.entry.js.map} +0 -0
  796. /package/dist/nylas-web-elements/{p-926dd201.entry.js.map → p-1102df14.entry.js.map} +0 -0
  797. /package/dist/nylas-web-elements/{p-a7b19349.entry.js.map → p-155e5ce8.entry.js.map} +0 -0
  798. /package/dist/nylas-web-elements/{p-a85408e0.entry.js.map → p-18d100c8.entry.js.map} +0 -0
  799. /package/dist/nylas-web-elements/{p-5231fc13.entry.js.map → p-1a7edf86.entry.js.map} +0 -0
  800. /package/dist/nylas-web-elements/{p-554891cd.entry.js.map → p-1e1ae8d0.entry.js.map} +0 -0
  801. /package/dist/nylas-web-elements/{p-65097f45.entry.js.map → p-1fbe50b1.entry.js.map} +0 -0
  802. /package/dist/nylas-web-elements/{p-70e5cfb0.entry.js.map → p-22e05c7d.entry.js.map} +0 -0
  803. /package/dist/nylas-web-elements/{p-be38a8eb.entry.js.map → p-26302ad0.entry.js.map} +0 -0
  804. /package/dist/nylas-web-elements/{p-2a92691a.entry.js.map → p-2f47205d.entry.js.map} +0 -0
  805. /package/dist/nylas-web-elements/{p-085950eb.entry.js.map → p-3277023d.entry.js.map} +0 -0
  806. /package/dist/nylas-web-elements/{p-64d73008.entry.js.map → p-34c747f9.entry.js.map} +0 -0
  807. /package/dist/nylas-web-elements/{p-45c37986.entry.js.map → p-3ae38e51.entry.js.map} +0 -0
  808. /package/dist/nylas-web-elements/{p-0c31f7ca.entry.js.map → p-3bc1289e.entry.js.map} +0 -0
  809. /package/dist/nylas-web-elements/{p-5ddd0c37.entry.js.map → p-3d1e8e4d.entry.js.map} +0 -0
  810. /package/dist/nylas-web-elements/{p-e9ba368f.entry.js.map → p-3dae0c71.entry.js.map} +0 -0
  811. /package/dist/nylas-web-elements/{p-acadfabf.entry.js.map → p-3db7ab8d.entry.js.map} +0 -0
  812. /package/dist/nylas-web-elements/{p-28512ab6.entry.js.map → p-3e09b0fb.entry.js.map} +0 -0
  813. /package/dist/nylas-web-elements/{p-158fe1e9.entry.js.map → p-3eac9f45.entry.js.map} +0 -0
  814. /package/dist/nylas-web-elements/{p-d513d2ee.entry.js.map → p-4000107d.entry.js.map} +0 -0
  815. /package/dist/nylas-web-elements/{p-3b6bd448.entry.js.map → p-47392968.entry.js.map} +0 -0
  816. /package/dist/nylas-web-elements/{p-16a3bfb2.entry.js.map → p-4a594ebe.entry.js.map} +0 -0
  817. /package/dist/nylas-web-elements/{p-c90755ba.entry.js.map → p-4b6995fe.entry.js.map} +0 -0
  818. /package/dist/nylas-web-elements/{p-b2d95965.entry.js.map → p-4cdd4107.entry.js.map} +0 -0
  819. /package/dist/nylas-web-elements/{p-25c97a60.entry.js.map → p-4e8c8939.entry.js.map} +0 -0
  820. /package/dist/nylas-web-elements/{p-6bd9c9c3.entry.js.map → p-4e9ba325.entry.js.map} +0 -0
  821. /package/dist/nylas-web-elements/{p-6ce66add.entry.js.map → p-524a6acc.entry.js.map} +0 -0
  822. /package/dist/nylas-web-elements/{p-9b68568e.entry.js.map → p-533d39ce.entry.js.map} +0 -0
  823. /package/dist/nylas-web-elements/{p-7a95bc3f.entry.js.map → p-5a379fb5.entry.js.map} +0 -0
  824. /package/dist/nylas-web-elements/{p-cb03e4d4.entry.js.map → p-5a68368a.entry.js.map} +0 -0
  825. /package/dist/nylas-web-elements/{p-1970b6ee.entry.js.map → p-5b965d0d.entry.js.map} +0 -0
  826. /package/dist/nylas-web-elements/{p-091a8f00.entry.js.map → p-5ff4e63b.entry.js.map} +0 -0
  827. /package/dist/nylas-web-elements/{p-37f41a90.entry.js.map → p-656cf33f.entry.js.map} +0 -0
  828. /package/dist/nylas-web-elements/{p-246983ed.entry.js.map → p-65b7a2a7.entry.js.map} +0 -0
  829. /package/dist/nylas-web-elements/{p-60b03f86.entry.js.map → p-6c8af4fb.entry.js.map} +0 -0
  830. /package/dist/nylas-web-elements/{p-8e63b66c.entry.js.map → p-6d410f0a.entry.js.map} +0 -0
  831. /package/dist/nylas-web-elements/{p-daac96cb.entry.js.map → p-6e50d2fd.entry.js.map} +0 -0
  832. /package/dist/nylas-web-elements/{p-c18c15d0.entry.js.map → p-6e8b7ce8.entry.js.map} +0 -0
  833. /package/dist/nylas-web-elements/{p-b9fa6848.entry.js.map → p-7355937b.entry.js.map} +0 -0
  834. /package/dist/nylas-web-elements/{p-a8678862.entry.js.map → p-76156a82.entry.js.map} +0 -0
  835. /package/dist/nylas-web-elements/{p-052bc3b1.entry.js.map → p-7e08f131.entry.js.map} +0 -0
  836. /package/dist/nylas-web-elements/{p-2f148064.entry.js.map → p-7e10aa6d.entry.js.map} +0 -0
  837. /package/dist/nylas-web-elements/{p-b2aca6c4.entry.js.map → p-7e53588e.entry.js.map} +0 -0
  838. /package/dist/nylas-web-elements/{p-aae7febd.entry.js.map → p-83de54ae.entry.js.map} +0 -0
  839. /package/dist/nylas-web-elements/{p-de7b0878.entry.js.map → p-884b66bd.entry.js.map} +0 -0
  840. /package/dist/nylas-web-elements/{p-e928898a.entry.js.map → p-90294a76.entry.js.map} +0 -0
  841. /package/dist/nylas-web-elements/{p-3eeab083.entry.js.map → p-90817d1f.entry.js.map} +0 -0
  842. /package/dist/nylas-web-elements/{p-f1b0120b.entry.js.map → p-90d32fc3.entry.js.map} +0 -0
  843. /package/dist/nylas-web-elements/{p-dcc27b67.entry.js.map → p-95a9d2f1.entry.js.map} +0 -0
  844. /package/dist/nylas-web-elements/{p-6ef1024f.entry.js.map → p-96746b87.entry.js.map} +0 -0
  845. /package/dist/nylas-web-elements/{p-7fcecf3f.entry.js.map → p-97026709.entry.js.map} +0 -0
  846. /package/dist/nylas-web-elements/{p-eb7e8455.entry.js.map → p-987042a1.entry.js.map} +0 -0
  847. /package/dist/nylas-web-elements/{p-44507695.entry.js.map → p-9f903292.entry.js.map} +0 -0
  848. /package/dist/nylas-web-elements/{p-7ce048c0.entry.js.map → p-9fdbeba5.entry.js.map} +0 -0
  849. /package/dist/nylas-web-elements/{p-9794f735.entry.js.map → p-a22908ba.entry.js.map} +0 -0
  850. /package/dist/nylas-web-elements/{p-16fb6243.entry.js.map → p-a3c76c06.entry.js.map} +0 -0
  851. /package/dist/nylas-web-elements/{p-520ffe94.entry.js.map → p-a63d6241.entry.js.map} +0 -0
  852. /package/dist/nylas-web-elements/{p-cf0d5ab9.entry.js.map → p-aa4e6e5e.entry.js.map} +0 -0
  853. /package/dist/nylas-web-elements/{p-ba5a625c.entry.js.map → p-ab050d5b.entry.js.map} +0 -0
  854. /package/dist/nylas-web-elements/{p-161c9325.entry.js.map → p-b348aad4.entry.js.map} +0 -0
  855. /package/dist/nylas-web-elements/{p-5c3c1888.entry.js.map → p-b547209f.entry.js.map} +0 -0
  856. /package/dist/nylas-web-elements/{p-e8cde784.entry.js.map → p-b5b051e0.entry.js.map} +0 -0
  857. /package/dist/nylas-web-elements/{p-b0c8021f.entry.js.map → p-b7a53268.entry.js.map} +0 -0
  858. /package/dist/nylas-web-elements/{p-385070ba.entry.js.map → p-bc6c9256.entry.js.map} +0 -0
  859. /package/dist/nylas-web-elements/{p-d633e735.entry.js.map → p-be26ce19.entry.js.map} +0 -0
  860. /package/dist/nylas-web-elements/{p-8a4ac2a4.entry.js.map → p-bed6d217.entry.js.map} +0 -0
  861. /package/dist/nylas-web-elements/{p-8f3b02cd.entry.js.map → p-cb9fd100.entry.js.map} +0 -0
  862. /package/dist/nylas-web-elements/{p-bd34f97d.entry.js.map → p-cee0929a.entry.js.map} +0 -0
  863. /package/dist/nylas-web-elements/{p-b334d63b.entry.js.map → p-cffb3636.entry.js.map} +0 -0
  864. /package/dist/nylas-web-elements/{p-f1a54acf.entry.js.map → p-d1ab9d75.entry.js.map} +0 -0
  865. /package/dist/nylas-web-elements/{p-f96b12de.entry.js.map → p-d830e428.entry.js.map} +0 -0
  866. /package/dist/nylas-web-elements/{p-8075a758.entry.js.map → p-d9b08dd2.entry.js.map} +0 -0
  867. /package/dist/nylas-web-elements/{p-39fd9c90.entry.js.map → p-db73506b.entry.js.map} +0 -0
  868. /package/dist/nylas-web-elements/{p-8f843faf.entry.js.map → p-de84d999.entry.js.map} +0 -0
  869. /package/dist/nylas-web-elements/{p-bfe8e06b.entry.js.map → p-dfe9b5d0.entry.js.map} +0 -0
  870. /package/dist/nylas-web-elements/{p-66493463.entry.js.map → p-e5452799.entry.js.map} +0 -0
  871. /package/dist/nylas-web-elements/{p-f8653b9b.entry.js.map → p-e6e79d76.entry.js.map} +0 -0
  872. /package/dist/nylas-web-elements/{p-b813eb5d.entry.js.map → p-e944aa75.entry.js.map} +0 -0
  873. /package/dist/nylas-web-elements/{p-a12f3223.entry.js.map → p-eff175d3.entry.js.map} +0 -0
  874. /package/dist/nylas-web-elements/{p-cf589eab.entry.js.map → p-eff774e6.entry.js.map} +0 -0
  875. /package/dist/nylas-web-elements/{p-ecaf3ae1.entry.js.map → p-f13b8bd3.entry.js.map} +0 -0
  876. /package/dist/nylas-web-elements/{p-ea12997b.entry.js.map → p-f7465959.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as a,H as n,a as s,F as i}from"./p-68c2fadf.js";import{R as r}from"./p-795b324a.js";import{a as o,h as l,r as c,s as d,v as f,w as b,x as p}from"./p-6c11737d.js";import{T as h,g as u,L as y}from"./p-2270e6cf.js";import{s as m}from"./p-cb9f8627.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";import"./p-1ffbe196.js";const g=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}sp-theme{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family)}.event-card-wrapper{display:flex;align-items:center;flex-direction:column;background-color:var(--nylas-base-0);color:var(--nylas-base-900);border-radius:var(--nylas-border-radius-3x);position:relative;margin-top:1rem;margin-bottom:2rem;width:424px;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.event-card-wrapper{width:100%;border-radius:0px}}.calendar-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200);color:var(--nylas-base-700)}.booked-event-header{margin:1.5rem 4rem;overflow-wrap:anywhere;display:flex;align-items:center;flex-direction:column;font-size:1rem;font-weight:400}.booked-event-header h2{color:var(--nylas-base-600);margin-top:1.5rem;margin-bottom:0.25rem;font-size:1.125rem;font-weight:600}.booking-date-time,.booking-participants{padding:0 1rem;margin-top:1.5rem;margin-left:3rem;display:flex;flex-direction:column;justify-content:space-between;align-self:flex-start;position:relative}.booking-date-time svg,.booking-participants svg{color:var(--nylas-base-700);position:absolute;left:-10px}.booking-date-time .block,.booking-participants .block{display:block}.booking-date-time h3,.booking-participants h3{color:var(--nylas-base-600);margin:0;font-size:16px;font-weight:600;line-height:1.25rem;text-align:justify;margin-bottom:4px}.booking-date-time p,.booking-participants p{font-size:16px;margin:0;font-weight:400;text-align:justify;color:var(--nylas-base-800)}.booking-participants{margin-bottom:1.5rem}.booked-event-timezone{display:flex;color:var(--nylas-base-600);margin-bottom:1.5rem;gap:4px;margin:2rem;align-items:center;align-self:flex-end}.footer{padding:0.5rem;display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;box-sizing:border-box;background-color:var(--nylas-base-25);width:100%;border-radius:0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x)}.footer.no-template-cols{grid-template-columns:1fr}.footer.no-footer{display:none}sp-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:16px;padding:8px;font-family:var(--nylas-font-family);font-weight:600;height:48px;line-height:24px}sp-button.cancel{color:var(--nylas-error)}sp-button.cancel:hover,sp-button.cancel:focus{border-color:var(--nylas-error)}sp-button.cancel:active{color:var(--nylas-error-pressed);border-color:var(--nylas-error-pressed)}sp-button.reschedule:hover,sp-button.reschedule:focus{border-color:var(--nylas-primary)}sp-button.reschedule:active{border-color:var(--nylas-base-600)}sp-divider{background-color:var(--nylas-base-200);height:1px}calendar-check-icon{display:flex;align-items:center;justify-content:center;height:100%}';const v=g;var k=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var x=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const w=class{constructor(a){e(this,a);this.cancelBookingButtonClicked=t(this,"cancelBookingButtonClicked",7);this.rescheduleButtonClicked=t(this,"rescheduleButtonClicked",7);this.rescheduleBookedEventError=t(this,"rescheduleBookedEventError",7);this.cancelBookedEventValidationError=t(this,"cancelBookedEventValidationError",7);this.handleCancelBookingButtonClicked=()=>{const e=new Date(this.selectedTimeslot.start_time);const t=this.configSettings?.scheduler?.min_cancellation_notice;const a=e.getTime()-t*60*1e3;if(a<(new Date).getTime()){this.cancelBookedEventValidationError.emit({error:{title:"Cancellation Error",message:`You cannot cancel the booking within ${t} minutes of the event.`}})}else{this.cancelBookingButtonClicked.emit({bookingId:this.eventInfo.booking_id})}};this.handleRescheduleButtonClicked=()=>{const e=e=>{this.rescheduleBookedEventError.emit(e)};this.rescheduleButtonClicked.emit({bookingId:this.eventInfo.booking_id,errorHandler:e})};this.getOrganizer=e=>{const t=e?.organizer;return t};this.getPaticipantType=e=>{switch(e){case"host":return"Host";case"you":return"You";default:return""}};this.eventInfo=undefined;this.rescheduleBookingId=undefined;this.bookingInfo=undefined;this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.selectedTimeslot=undefined;this.configSettings=undefined;this.isLoading=undefined}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){o(`[nylas-booked-event-card] Component will load`)}async componentDidLoad(){o(`[nylas-booked-event-card] Component did load`);if(!this.eventInfo){console.warn('[nylas-booked-event-card] "eventInfo" prop missing. Please provide the event info to display the event details in the booked event card component.')}if(!this.bookingInfo){console.warn('[nylas-booked-event-card] "bookingInfo" prop missing. Please provide the booking info to display the guest details in the booked event card component.')}}render(){return a(n,{key:"e798bc046676c3688c638653bdcc6795f640ca59",part:"nbec"},a("sp-theme",{key:"2aeee427438ae10b9fcb285784cc2cb877f18d9e",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"7bebb41e648f4a898e6b199e1a945688dd75de48",class:"booked-event-timezone"},a("globe-icon",{key:"60b51783a162f2dad0cef5593fb29807a6e1354c"}),h[this.selectedTimezone]),a("div",{key:"b87a296ca7ec1774657c7ddf680be53cd3d0a77d",class:"event-card-wrapper",part:"nbec__card"},a("div",{key:"14f301e2cf018328beb19df1f3825c1593d1e393",class:"calendar-icon"},a("calendar-check-icon",{key:"e012b45a7d99e57df58ee3feef76f3bcfd687d4b"})),a("div",{key:"3164a00ce45e3e2b41d3d3e2bbfaf33a7e735b3a",class:"booked-event-header"},a("h2",{key:"059e81380abfad78923dd81ddc2d424109793afe",slot:"card-title",part:"nbec__title"},"Booking ",!!this.rescheduleBookingId&&!this.isLoading?"rescheduled":"confirmed","!"),a("div",{key:"88de6552e1fbc67eae8152509a8a3f1801ec2381",part:"nbec__description"},this.getOrganizer(this.eventInfo)?.name||this.getOrganizer(this.eventInfo)?.email," & ",this.bookingInfo?.primaryParticipant?.name||this.bookingInfo?.primaryParticipant?.email)),a("sp-divider",{key:"6b8d031496492b8f95b5663a9298c530809aa65f"}),a("div",{key:"826e7fd108dfb85887a91a56366847d5585f8ed6",class:"booking-date-time"},a("checkmark-circle-icon",{key:"8928ed9a4b7a7da1ec9e8b05d57076ba7f7d4fbb"}),a("h3",{key:"e85e33ee205fd299a2486bf28c0e3c94bb2d9c0f"},"Booking date and time"),a("p",{key:"90f9e6539b69c9ad93cd673fe3c931b6931192b0"},new Date(this.selectedTimeslot?.start_time).toLocaleDateString(undefined,{dateStyle:"full"})," ",a("br",{key:"ae45014e2bccf319901168563b6d47a12d2004e3"}),new Date(this.selectedTimeslot?.start_time).toLocaleTimeString(undefined,{timeStyle:"short"})," -"," ",new Date(this.selectedTimeslot?.end_time).toLocaleTimeString(undefined,{timeStyle:"short"}))),a("div",{key:"29947100e4d802483f69a2ffcd1adc1a8fc1f51d",class:"booking-participants"}),a("sp-divider",{key:"4a2b41c72ac2ed2f4a470a395e04f5c80f55eafb"}),a("div",{key:"8c3564d8c7bdb4fe93ffab107cd07f4b17ba200c",class:{footer:true,"no-footer":this.configSettings?.scheduler?.hide_cancellation_options&&this.configSettings?.scheduler?.hide_rescheduling_options,"no-template-cols":this.configSettings?.scheduler?.hide_cancellation_options||this.configSettings?.scheduler?.hide_rescheduling_options}},!this.configSettings?.scheduler?.hide_cancellation_options&&a("sp-button",{variant:"secondary",treatment:"outline",class:"cancel",onClick:this.handleCancelBookingButtonClicked,part:"nbec__button-outline nbec__cancel-cta"},"Cancel booking"),!this.configSettings?.scheduler?.hide_rescheduling_options&&a("sp-button",{variant:"secondary",treatment:"outline",class:"reschedule",onClick:this.handleRescheduleButtonClicked,part:"nbec__button-outline nbec__reschedule-cta"},"Reschedule")))))}};k([r({name:"nylas-booked-event-card",stateToProps:new Map([["scheduler.bookingInfo","bookingInfo"],["scheduler.rescheduleBookingId","rescheduleBookingId"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.isLoading","isLoading"],["scheduler.configSettings","configSettings"]]),eventToProps:{cancelBookingButtonClicked:async(e,t)=>{t.scheduler.setCancel(e.detail.bookingId)},rescheduleButtonClicked:async(e,t)=>{const a=await t.scheduler.setReschedule(e.detail.bookingId);const{errorHandler:n}=e.detail;if(n&&(!a||"error"in a)){n(a)}}},fireRegisterEvent:true}),x("design:type",Function),x("design:paramtypes",[]),x("design:returntype",void 0)],w.prototype,"render",null);w.style=v;const C=':host{display:block;height:100%;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-booking-form{width:100%;padding:1.5rem;box-sizing:border-box;height:450px;overflow-y:auto;height:100%}form{height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center}sp-textfield{--spectrum-corner-radius-100:var(--nylas-border-radius-2x);--spectrum-textfield-border-color:var(--nylas-base-300);position:relative;width:100%;height:48px;margin-bottom:16px;color:var(--nylas-base-500)}.cta{width:100%;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:0.5rem;padding:14px;box-sizing:border-box;border-top:1px solid var(--nylas-base-200)}@media screen and (max-width: 768px){.cta{flex-direction:column-reverse}}sp-button{background-color:transparent;color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);--button-width:50%;font-family:var(--nylas-font-family);font-size:16px;font-weight:600;border:none;height:48px;padding:14px}@media screen and (max-width: 768px){sp-button{--button-width:100%}}sp-button:hover,sp-button:focus{background-color:var(--nylas-base-100);color:var(--nylas-primary);border-radius:var(--nylas-border-radius-2x)}sp-button:active{background-color:var(--nylas-base-200);color:var(--nylas-base-800)}sp-button.back{width:var(--button-width);background-color:transparent;color:var(--nylas-base-700);outline:1px solid var(--nylas-base-300)}sp-button.back:hover,sp-button.back:focus{outline-color:var(--nylas-primary)}sp-button.back:active{outline:2px solid var(--nylas-base-600)}sp-button.book{width:var(--button-width);background-color:var(--nylas-primary);color:var(--nylas-base-0)}sp-button.book:hover,sp-button.book:focus{background-color:var(--nylas-base-600)}sp-button.book:active{background-color:var(--nylas-base-800)}.input-wrapper{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:1rem}.input-wrapper input::placeholder{color:var(--nylas-base-300)}.input-wrapper label,.input-wrapper input{font-family:var(--nylas-font-family);font-size:16px}.input-wrapper .help-text{margin:0;color:var(--nylas-error)}.button-wrapper{width:100%;align-items:flex-start;height:max-content;position:relative}.button-content{display:flex;gap:4px;align-items:center}sp-infield-button{--spectrum-infield-button-background-color:transparent;--spectrum-infield-button-background-color-hover:transparent;--spectrum-infield-button-background-color-active:transparent;--spectrum-infield-button-border-color:transparent;--spectrum-infield-button-border-width:1px;--spectrum-infield-button-border-radius:0;color:var(--nylas-base-600);background:transparent;border:none;outline:1px solid var(--nylas-base-300);border-radius:0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x) 0;height:52px;width:52px;display:flex;position:absolute;right:0;align-items:center;justify-content:center;cursor:pointer}sp-infield-button sp-icon-cross300{color:var(--nylas-base-600)}sp-infield-button.error{border-width:2px;border-color:var(--nylas-error)}input[type=text],input[type=email]{display:flex;height:48px;padding-left:16px;align-items:center;gap:8px;align-self:stretch;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:400;line-height:150%}input[type=text]:focus,input[type=email]:focus{outline-color:var(--nylas-primary)}input[type=text].error,input[type=email].error{border-radius:var(--nylas-border-radius-2x);font-weight:600;border-color:var(--nylas-error);border-width:2px}input[type=text].error::placeholder,input[type=email].error::placeholder{font-weight:400}input[type=text]::placeholder,input[type=email]::placeholder{color:var(--nylas-base-300)}input[type=text].guest-email,input[type=email].guest-email{color:var(--nylas-base-900);padding-right:52px}label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%}label.error{color:var(--nylas-error)}label span.required{color:var(--nylas-error);padding:0 0.25rem}button-component.remove-guest{position:absolute;height:51px;right:0}button-component.remove-guest.error button{border-color:var(--nylas-error)}button-component.remove-guest button{height:inherit;border-top-left-radius:initial;border-bottom-left-radius:initial;border:none !important;border-left:1px solid var(--nylas-base-300) !important}button-component.remove-guest button:hover,button-component.remove-guest button:focus{outline:1px solid var(--nylas-primary) !important;color:var(--nylas-primary)}.guest-email-input{position:relative;display:flex;width:100%}';const _=C;var z=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var j=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const R=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;const D=class{constructor(a){e(this,a);this.nameChanged=t(this,"nameChanged",7);this.emailChanged=t(this,"emailChanged",7);this.backButtonClicked=t(this,"backButtonClicked",7);this.detailsConfirmed=t(this,"detailsConfirmed",7);this.bookingFormError=t(this,"bookingFormError",7);this.bookingFormSubmitted=t(this,"bookingFormSubmitted",7);this.handleGuestChange=(e,t)=>{this.resetGuestEmailError(e);const a=[...this.guestEmails];a[e]=m(t);this.guestEmails=[...a]};this.handleGuestBlur=(e,t)=>{this.resetGuestEmailError(e);if(t===""){this.guestEmailErrors[e]="Email is required";return}if(!R.test(t)){this.guestEmailErrors[e]="Enter a valid email address";return}this.handleGuestChange(e,t)};this.addGuestButtonClickedHandler=e=>{e.preventDefault();this.guestEmails=[...this.guestEmails,""]};this.removeGuestButtonClickHandler=(e,t)=>{e.preventDefault();this.resetGuestEmailError(t);const a=[...this.guestEmails];a.splice(t,1);this.guestEmails=[...a]};this.handleBackButtonClicked=()=>{this.backButtonClicked.emit()};this.bookButtonClickedHandler=async e=>{e.preventDefault();const t=this.bookingFormSubmitted.emit();if(t.defaultPrevented){return}o("nylas-booking-form","bookButtonClickedHandler",this.bookingInfo);const a=this.name||this.bookingInfo?.primaryParticipant?.name;const n=this.email||this.bookingInfo?.primaryParticipant?.email;if(!a||a===""){this.isNameValid=false;this.validationError.name="Name is required";this.bookingFormError.emit({title:"Booking form error",description:"Name is required"});return}if(!n||n===""){this.isEmailValid=false;this.validationError.email="Email is required";this.bookingFormError.emit({title:"Booking form error",description:"Email is required"});return}if(!R.test(n)){this.isEmailValid=false;this.validationError.email="Enter a valid email address";this.bookingFormError.emit({title:"Booking form error",description:"Invalid email"});return}let s=[];if(this.guestEmails.length>0){let e=false;this.guestEmails.forEach(((t,a)=>{if(t===""){e=true;this.guestEmailErrors={...this.guestEmailErrors,[a]:"Email is required"}}else if(!R.test(t)){e=true;this.guestEmailErrors={...this.guestEmailErrors,[a]:"Enter a valid email address"}}}));if(e){this.bookingFormError.emit({title:"Booking form error",description:"Invalid guest email"});return}s=this.guestEmails.map((e=>({name:e.trim(),email:e.trim()})))}else if(this.bookingInfo?.guests){s=this.bookingInfo?.guests}const i=this.bookingInfo?.additionalFields||[];this.detailsConfirmed.emit({primaryParticipant:{name:a,email:n},guests:s,additionalFields:{...i,...this.additionalFields}})};this.updateAdditionalFields=(e,t)=>{if(this.additionalFields){this.additionalFields[e]=t}};this.isLoading=undefined;this.bookingInfo=undefined;this.eventInfo=undefined;this.configSettings=undefined;this.name="";this.email="";this.guestEmails=[];this.guestEmailErrors={};this.isNameValid=true;this.isEmailValid=true;this.additionalFields={};this.validationError={name:"",email:""}}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){o("nylas-booking-form","componentWillLoad",this.bookingInfo);if(this.bookingInfo&&this.bookingInfo?.primaryParticipant){this.name=this.bookingInfo.primaryParticipant?.name;this.email=this.bookingInfo.primaryParticipant?.email}}bookingInfoChangedHandler(e){if(e&&e.primaryParticipant){this.name=e.primaryParticipant.name;this.email=e.primaryParticipant.email}}changeName(e){this.isNameValid=true;this.validationError.name="";this.name=m(e);this.nameChanged.emit(e)}changeEmail(e){this.isEmailValid=true;this.validationError.email="";this.email=m(e);this.emailChanged.emit(e)}resetGuestEmailError(e){const t={...this.guestEmailErrors};delete t[e];this.guestEmailErrors={...t}}nylasFormInputChangedHandler(e){switch(e.detail.name){case"name":this.changeName(e.detail.value);break;case"email":this.changeEmail(e.detail.value);break;default:if(e.detail.error){this.bookingFormError.emit({title:"Booking form error",description:e.detail.error});return}this.updateAdditionalFields(e.detail.label,e.detail.value);break}}selectOptionChangedHandler(e){if(e.detail.error){this.bookingFormError.emit({title:"Booking form error",description:e.detail.error});return}this.updateAdditionalFields(e.detail.label,e.detail.value)}switchToggledHandler(e){this.updateAdditionalFields(e.detail.label,e.detail.checked?"true":"false")}checkboxToggledHandler(e){this.updateAdditionalFields(e.detail.label,e.detail.checked?"true":"false")}radioChangedHandler(e){this.updateAdditionalFields(e.detail.label||e.detail.name,e.detail.value)}render(){return a(n,{key:"65f1ff1a274905cc62927b5560bfcff42dc561fe"},a("form",{key:"18d37bb56c723551aa6f7e426471f8f8fe42f5c9",onSubmit:e=>this.bookButtonClickedHandler(e),noValidate:true},a("div",{key:"6e3d73887efb828c48f8a11c561d3ed32a43343e",class:"nylas-booking-form"},a("div",{key:"659f96331e3699332306cd6df8e4665479045d0c",class:"input-wrapper"},a("input-component",{key:"45d27edf0042aa9eca42ee5b6a1ce4e8904f2237",label:"Name",name:"name",id:"name",defaultValue:this.bookingInfo?.primaryParticipant?.name||this.name,placeholder:"Enter your name",type:"text",required:true,part:"nbf__input-textfield"})),a("div",{key:"a91578f44562868e0dcc77bc122c1e7c6ed77e04",class:"input-wrapper"},a("input-component",{key:"13e53909f96a8af384409e6b4551aebbda3774d3",label:"Email",name:"email",id:"email",pattern:R,defaultValue:this.bookingInfo?.primaryParticipant?.email||this.email,placeholder:"Enter your email",type:"email",required:true,part:"nbf__input-textfield"})),this.configSettings?.scheduler?.hide_additional_guests!==true&&a("div",{class:"input-wrapper"},this.guestEmails.map(((e,t)=>a("div",{class:"input-wrapper button-wrapper"},a("label",{class:{error:!!this.guestEmailErrors[t]}},"Guest email"),a("div",{class:"guest-email-input"},a("input",{type:"email",id:`guest-email-${t}`,maxLength:100,class:{"guest-email":true,error:!!this.guestEmailErrors[t]},placeholder:"Enter guest email",value:e,"data-index":t,part:"nbf__input-textfield",onBlur:e=>this.handleGuestBlur(t,e.target?.value),onInput:e=>this.handleGuestChange(t,e.target?.value)}),a("button-component",{variant:"basic",onClick:e=>this.removeGuestButtonClickHandler(e,t),class:{"remove-guest":true,error:!!this.guestEmailErrors[t]}},a("close-icon",null))),a("p",{class:"help-text"},this.guestEmailErrors[t])))),a("button-component",{class:"add-guest",variant:"invisible",part:"nbf__button-ghost",onClick:e=>this.addGuestButtonClickedHandler(e)},a("div",{class:"button-content"},a("add-circle-icon",{slot:"icon"}),"Add ",this.guestEmails.length>0?"another ":"","guest"))),Object.entries(this.configSettings?.scheduler?.additional_fields||{})?.sort(((e,t)=>e[1].order-t[1].order)).map((e=>{const t=e[1];const n=e[0];switch(t.type){case"dropdown":return a("div",{class:"input-wrapper"},a("select-dropdown",{label:n,name:n,id:n,withSearch:false,options:t.options?.map((e=>({value:e,label:e}))),required:t.required,part:"nbf__input-textfield"}));case"checkbox":return a("div",{class:"input-wrapper"},a("checkbox-component",{label:n,name:n,id:n,required:t.required,part:"nbf__input-textfield"}));case"radio_button":return a("div",{class:"input-wrapper"},a("radio-button-group",{label:n,name:n,id:n,options:t.options?.map((e=>({value:e,label:e}))),required:t.required,part:"nbf__input-textfield"}));case"multi_line_text":return a("div",{class:"input-wrapper"},a("textarea-component",{label:n,name:n,id:n,required:t.required,part:"nbf__input-textfield"}));default:return a("div",{class:"input-wrapper"},a("input-component",{label:n,name:n,id:n,type:t.type,required:t.required,part:"nbf__input-textfield"}))}})),a("slot",{key:"b063a90091a51bbcbe0dc5ddf6c8c776d97b0ed6",name:"custom-booking-form"})),a("div",{key:"4ee211366590ac64a299aa6e6f4c3590add689de",class:"cta"},a("sp-button",{key:"d8e65f7e350a8f3b7ebf9270155725af0ef3d2a0",treatment:"outline",variant:"secondary",class:"back",part:"nbf__button-outline",onClick:this.handleBackButtonClicked},a("slot",{key:"654d73de66fbf8785d0d8f649740e0fcdc9380cf",name:"booking-form-back-label"},"Back")),a("sp-button",{key:"00c54915a3fe7cf839bf1ebaa32a5d263b396dcf",variant:"primary",class:"book",part:"nbf__button-primary",type:"submit"},this.isLoading&&a("loading-icon",{slot:"icon"}),a("slot",{key:"db73c3a4e41a5b4e1ca588b5219146a09ce79d93",name:"booking-form-book-label"},"Book now")))))}get host(){return s(this)}static get watchers(){return{bookingInfo:["bookingInfoChangedHandler"]}}};z([r({name:"nylas-booking-form",stateToProps:new Map([["scheduler.isLoading","isLoading"],["scheduler.bookingInfo","bookingInfo"],["scheduler.eventInfo","eventInfo"],["scheduler.configSettings","configSettings"]]),eventToProps:{backButtonClicked:async(e,t)=>{t.scheduler.toggleAdditionalData(false)},nameChanged:async(e,t)=>{t.scheduler.setParticipantName(e.detail)},emailChanged:async(e,t)=>{t.scheduler.setParticipantEmail(e.detail)}},fireRegisterEvent:true}),j("design:type",Function),j("design:paramtypes",[]),j("design:returntype",void 0)],D.prototype,"render",null);D.style=_;const L=':host{display:block;width:400px;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}sp-theme{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family)}.nylas-cancel-booking-form{display:flex;align-items:center;flex-direction:column;background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:1.5rem;position:relative;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}.nylas-cancel-booking-form__title{font-size:18px;font-weight:600;margin-bottom:0;color:var(--nylas-base-900)}.nylas-cancel-booking-form__description{font-size:1rem;font-style:normal;font-weight:400;line-height:140%;color:var(--nylas-base-600)}.nylas-cancel-booking-form__calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}calendar-cancel-icon{display:flex;align-items:center;justify-content:center;height:100%}sp-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:16px;font-weight:600;width:100%;height:48px;padding:8px;line-height:24px;font-family:var(--nylas-font-family)}sp-button.cancel{margin-top:1.25rem;background-color:var(--nylas-primary);color:var(--nylas-base-0)}sp-button.cancel:hover,sp-button.cancel:focus{background-color:var(--nylas-base-600)}sp-button.cancel:active{background-color:var(--nylas-base-800)}sp-button.back{margin-top:0.5rem}sp-button.back:hover,sp-button.back:focus{border-color:var(--nylas-primary)}sp-button.back:active{border-color:var(--nylas-base-600)}sp-field-label{margin-top:1rem;display:flex;color:var(--nylas-base-800);font-size:14px}sp-field-label.error{color:var(--nylas-error)}sp-field-label span.required{color:var(--nylas-error)}sp-textfield{--spectrum-textfield-border-color:var(--nylas-base-300);--spectrum-textfield-icon-color-invalid:var(--nylas-error);position:relative;width:100%;height:48px;margin-bottom:16px;background-color:var(--nylas-base-0);color:var(--nylas-base-500)}sp-textfield.error{--spectrum-textfield-border-color:var(--nylas-error)}sp-help-text{margin:0.25rem 0 1rem 0;color:var(--nylas-error)}';const T=L;var S=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var E=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const I=class{constructor(a){e(this,a);this.goBackButtonClicked=t(this,"goBackButtonClicked",7);this.cancelBookingFormSubmitted=t(this,"cancelBookingFormSubmitted",7);this.cancelBookedEventError=t(this,"cancelBookedEventError",7);this.cancelBookingFormError=t(this,"cancelBookingFormError",7);this.handleGoBackClicked=()=>{this.goBackButtonClicked.emit()};this.handleSubmitCancelBooking=e=>{e.preventDefault();if(!this.cancellationReason){this.cancellationError="Please provide a reason for cancellation.";this.cancelBookingFormError.emit({title:"Cancel booking form error",description:"Please provide a reason for cancellation."});return}const t=this.configSettings?.scheduler?.min_cancellation_notice;if(this.selectedTimeslot&&t){const e=new Date(this.selectedTimeslot?.start_time);const a=e.getTime()-t*60*1e3;if(a<(new Date).getTime()){this.cancelBookedEventError.emit({error:{title:"Cancellation Error",message:`You cannot cancel the booking within ${t} minutes of the event.`}});return}}o(`[nylas-cancel-booking-form] Cancel booking form submitted with reason: ${this.cancellationReason}`);const a=e=>{this.cancelBookedEventError.emit(e)};this.cancelBookingFormSubmitted.emit({bookingId:this.cancelBookingId,reason:this.cancellationReason,errorHandler:a})};this.handleOnChangeCancellationReason=e=>{this.cancellationError="";this.cancellationReason=e.target.value};this.cancelBookingId=undefined;this.configSettings=undefined;this.selectedTimeslot=undefined;this.cancellationReason="";this.cancellationError="";this.cancellationPolicy=this.configSettings?.scheduler?.cancellation_policy||"Your current timeslot will become available to others."}configSettingsChangedHandler(e){this.cancellationPolicy=e?.scheduler?.cancellation_policy||"Your current timeslot will become available to others."}connectedCallback(){o(`[nylas-cancel-booking-form] Component connected`)}async componentWillLoad(){o(`[nylas-cancel-booking-form] Component will load`)}async componentDidLoad(){o(`[nylas-cancel-booking-form] Component did load`);if(!this.cancelBookingId){console.warn(`[nylas-cancel-booking-form] No booking ID provided, "cancelBookingId" prop is required.`)}}disconnectedCallback(){o(`[nylas-cancel-booking-form] Component disconnected`)}render(){return a(n,{key:"5bb15a24089e7ddb5dafe69c2aa25a7d3a5edaa7",part:"ncec"},a("sp-theme",{key:"2bb6f2051ff59c7540aa2155c92f726ab3adb242",theme:"spectrum",scale:"medium"},a("div",{key:"c655d29adb0ae6235377ebbce1a2f94e2ea62cea",class:"nylas-cancel-booking-form",part:"ncec__card"},a("div",{key:"6cb7f1c04351ee9da638547f6465e116950548bf",class:"nylas-cancel-booking-form__calendar-icon",part:"ncec__icon"},a("calendar-cancel-icon",{key:"e85a5cf3a3fa23ee68abd6118f233ada986266cb"})),a("h3",{key:"b511bcf3c14854f4bdfa94ecdacc60795d6f71c8",class:"nylas-cancel-booking-form__title",part:"ncec__title"},"Cancel booking?"),a("div",{key:"929f214b20a3ca887262db491c0aae4c673f7df7",class:"nylas-cancel-booking-form__description",part:"ncec__description"},this.cancellationPolicy),a("form",{key:"55ce4a0976024d4eb4f385a11bc25f812d354d98",onSubmit:this.handleSubmitCancelBooking},a("sp-field-label",{key:"4b1b006b60c54d6784105f3cac972b06a0a8904c",for:"cancel-reason",class:this.cancellationError?"error":""},"Reason for cancellation ",a("span",{key:"c0bce7dd64a6ff7b445f7e6d0abb4b0609069f56",class:"required"},"*")),a("sp-textfield",{key:"bd0ade458f275866c96a7431becc07b5cc208e17",id:"cancel-reason",class:this.cancellationError?"error":"",part:"ncec__reason-textarea",multiline:true,value:this.cancellationReason,onInput:this.handleOnChangeCancellationReason,onFocus:this.handleOnChangeCancellationReason,invalid:!!this.cancellationError},a("sp-help-text",{key:"e7c39240eedaf4ea08563328db1d09e737fa68af",slot:"negative-help-text"},this.cancellationError)),a("sp-button",{key:"0329c2f3f3f1446a756a3dede2640e1ad2123a1a",variant:"primary",class:"cancel",type:"submit",part:"ncec__button-cta"},"Cancel booking"),a("sp-button",{key:"b38842008b843575115ace232b0e90424dd86dd5",variant:"secondary",class:"back",treatment:"outline",part:"ncec__button-outline",onClick:this.handleGoBackClicked},"Go back")))))}static get watchers(){return{configSettings:["configSettingsChangedHandler"]}}};S([r({name:"nylas-cancel-booking-form",stateToProps:new Map([["scheduler.configSettings","configSettings"],["scheduler.selectedTimeslot","selectedTimeslot"]]),eventToProps:{cancelBookingFormSubmitted:async(e,t)=>{const a=await t.scheduler.cancelBooking(e.detail.bookingId,e.detail.reason);const{errorHandler:n}=e.detail;if(n&&(!a||"error"in a)){n(a)}}},fireRegisterEvent:true}),E("design:type",Function),E("design:paramtypes",[]),E("design:returntype",void 0)],I.prototype,"render",null);I.style=T;const B=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}sp-theme{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family)}.nylas-cancelled-event-card{display:flex;align-items:center;flex-direction:column;width:400px;background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:1.5rem;position:relative;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.nylas-cancelled-event-card{width:inherit}}.nylas-cancelled-event-card__title{font-size:18px;font-weight:600;line-height:24px;color:var(--nylas-base-900);text-align:center}.nylas-cancelled-event-description{font-size:16px;font-weight:500;color:var(--nylas-base-600)}.nylas-cancelled-event-card__calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}.nylas-cancelled-event-card__cta{width:100%;display:flex;flex-direction:row;align-items:flex-start;margin-top:1rem}calendar-cancel-icon{display:flex;align-items:center;justify-content:center;height:100%}sp-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:1rem;height:48px;padding:8px;line-height:24px;width:100%}sp-button:hover,sp-button:focus{border-color:var(--nylas-primary)}sp-button:active{border-color:var(--nylas-base-600)}';const H=B;var M=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var O=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const V=class{constructor(a){e(this,a);this.closeCancelEventCardClicked=t(this,"closeCancelEventCardClicked",7);this.cancelledEventCardError=t(this,"cancelledEventCardError",7);this.handleCloseClicked=()=>{this.isClosing=true;const e=e=>{this.cancelledEventCardError.emit(e);this.isClosing=false};this.closeCancelEventCardClicked.emit({errorHandler:e})};this.cancelledEventInfo=undefined;this.isClosing=false;this.configSettings=undefined}connectedCallback(){o(`[nylas-cancelled-event-card] Component connected`)}async componentWillLoad(){o(`[nylas-cancelled-event-card] Component will load`)}async componentDidLoad(){o(`[nylas-cancelled-event-card] Component did load`);if(!this.cancelledEventInfo){console.warn(`[nylas-cancelled-event-card] No cancelled event info provided, "cancelledEventInfo" prop is required.`)}}disconnectedCallback(){o(`[nylas-cancelled-event-card] Component disconnected`)}render(){return a(n,{key:"17020e5be8231fa9a4ce6f133f583d989cc00609",part:"ncec"},a("sp-theme",{key:"e56db6103310a9ddff734663b1951c55c05e82b8",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"e2107c58404df740b752332b8bd896ce84c6dbd3",class:"nylas-cancelled-event-card",part:"ncec__card"},a("div",{key:"b97ee34e278cbbd83e8c97bdc134a86185ae3b8a",class:"nylas-cancelled-event-card__calendar-icon",part:"ncec__icon"},a("calendar-cancel-icon",{key:"83e1c5d9ff4a1bca8b97545b0e84d8f41abf6140"})),a("h3",{key:"5194e819a93e324e7e27c56f79357350742afd3b",class:"nylas-cancelled-event-card__title",part:"ncec__title"},"Your booking has been cancelled successfully!"),a("div",{key:"07779b9738e7b3fd3321263406b6ac511cc009e4",class:"nylas-cancelled-event-card__description",part:"ncec__description"},"A cancellation email has been sent to ",this.configSettings?.organizer?.name||"the participants","."),a("div",{key:"d419058cad70d5cf3dd655588ed60385da779a64",class:"nylas-cancelled-event-card__cta"},a("sp-button",{key:"e7ead45bfe59f7acecbe5e0fbb67fedaf097bf2d",variant:"secondary",treatment:"outline",disabled:this.isClosing,part:"ncec__button-outline",onClick:this.handleCloseClicked},this.isClosing?"Closing...":"Close")))))}};M([r({name:"nylas-cancelled-event-card",stateToProps:new Map([["scheduler.configSettings","configSettings"]]),eventToProps:{closeCancelEventCardClicked:async(e,t)=>{const a=await t.scheduler.resetCancel();const{errorHandler:n}=e.detail;if(n&&(!a||"error"in a)){n(a)}}},fireRegisterEvent:true}),O("design:type",Function),O("design:paramtypes",[]),O("design:returntype",void 0)],V.prototype,"render",null);V.style=H;const P=new Date,$=new Date;function F(e,t,a,n){function s(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}s.floor=t=>(e(t=new Date(+t)),t);s.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a);s.round=e=>{const t=s(e),a=s.ceil(e);return e-t<a-e?t:a};s.offset=(e,a)=>(t(e=new Date(+e),a==null?1:Math.floor(a)),e);s.range=(a,n,i)=>{const r=[];a=s.ceil(a);i=i==null?1:Math.floor(i);if(!(a<n)||!(i>0))return r;let o;do{r.push(o=new Date(+a)),t(a,i),e(a)}while(o<a&&a<n);return r};s.filter=a=>F((t=>{if(t>=t)while(e(t),!a(t))t.setTime(t-1)}),((e,n)=>{if(e>=e){if(n<0)while(++n<=0){while(t(e,-1),!a(e)){}}else while(--n>=0){while(t(e,+1),!a(e)){}}}}));if(a){s.count=(t,n)=>{P.setTime(+t),$.setTime(+n);e(P),e($);return Math.floor(a(P,$))};s.every=e=>{e=Math.floor(e);return!isFinite(e)||!(e>0)?null:!(e>1)?s:s.filter(n?t=>n(t)%e===0:t=>s.count(0,t)%e===0)}}return s}const q=1e3;const Z=q*60;const N=Z*60;const W=N*24;const A=F((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Z)/W),(e=>e.getDate()-1));F((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/W),(e=>e.getUTCDate()-1));F((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/W),(e=>Math.floor(e/W)));const Y=':host{display:block;min-height:444px;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}@media screen and (max-width: 768px){:host{min-height:auto}}.nylas-date-picker{display:flex;gap:1rem;flex-direction:column}.header{margin:0 0.5rem;height:48px}.header h2{font-size:1.3125rem;font-weight:400;line-height:1rem;color:var(--nylas-base-800)}.header h2 strong{font-weight:600}.title{margin:0 -1.25rem;display:flex;flex-direction:column;padding:0 1.5rem;gap:0.5rem;border-bottom:1px solid var(--nylas-base-200);font-family:var(--nylas-font-family)}.title h1{margin-bottom:0;font-size:18px;line-height:20px;font-weight:600;display:flex;gap:0.5rem;align-items:center}.title p{margin-top:0;font-size:16px;display:flex;gap:0.5rem;align-items:center}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.dates{display:grid;justify-items:center;grid-template-columns:repeat(7, 1fr);gap:0.5rem;margin-bottom:24px}.dates .date{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;height:48px;width:48px;min-width:2rem;min-height:2rem;cursor:pointer;border-radius:var(--nylas-border-radius-2x);font-size:16px;font-weight:600;font-family:inherit;color:var(--nylas-base-text);background-color:var(--nylas-base-100);cursor:pointer;border:none}@media screen and (max-width: 412px){.dates .date{width:38px;height:38px;min-width:none}}.dates .date:hover:not(:disabled){box-shadow:0 0 0 2px var(--nylas-base-500) inset}.dates .date.date.current-month{color:var(--nylas-base-800)}.dates .date.date.selected{background-color:var(--nylas-primary);color:var(--nylas-base-0);font-weight:700}.dates .date.date.day-skeleton{color:var(--nylas-base-300)}.dates .date:disabled{color:var(--nylas-base-300);background-color:transparent;font-weight:400;cursor:not-allowed}.dates .day{font-size:12px;color:var(--nylas-base-800);font-weight:600;letter-spacing:0.5px;height:32px;display:flex;align-items:center}@media screen and (max-width: 768px){.dates .day{font-size:14px}}.dates .date.day-skeleton{height:48px;width:48px;border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite ease-in-out;background-color:var(--nylas-base-50)}@media screen and (max-width: 412px){.dates .date.day-skeleton{width:38px;height:38px;min-width:none}}.dates .date.current-day::after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background-color:var(--nylas-base-500)}.dates .date.current-day.selected::after{background-color:var(--nylas-base-100)}.pagination{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-width:92px}.pagination .chevron-right{transform:rotate(180deg)}.pagination .button{display:flex;flex-direction:row;justify-content:center;align-items:center;height:3vh;width:3vh;min-width:3em;min-height:3em;cursor:pointer;border-radius:var(--nylas-border-radius-2x);background-color:transparent;color:var(--nylas-base-800);cursor:pointer;border:none}.pagination .button:hover{background-color:var(--nylas-base-50)}.pagination .button:active{background-color:var(--nylas-base-100)}.pagination .button:disabled{background-color:transparent;color:var(--nylas-base-300);cursor:not-allowed}.flex-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:var(--nylas-base-500)}';const X=Y;var U=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var G=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const J=class{constructor(a){e(this,a);this.dateSelected=t(this,"dateSelected",7);this.monthChanged=t(this,"monthChanged",7);this.selectableDates=undefined;this.selectedDate=undefined;this.configSettings=undefined;this.isLoading=undefined;this.eventDuration=undefined;this.month=this.selectedDate||new Date;this.dates=this.getDates();this.disableNextMonthButton=false}configSettingsChanged(e){const t=new Date(this.month.getFullYear(),this.month.getMonth()+1,1);const a=e?.scheduler?.available_days_in_future;if(a===undefined){return}const n=l(new Date,a);if(n.getTime()<t.getTime()){this.disableNextMonthButton=true}else{this.disableNextMonthButton=false}}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}getDates(){const e=c(this.month);const t=d(this.month);return A.range(A.offset(t,-t.getDay()),A.offset(e,7-e.getDay()))}selectDate(e){this.dateSelected.emit(e)}changeMonth(e){this.month=new Date(this.month.getFullYear(),this.month.getMonth()+e,1);const t=new Date(this.month.getFullYear(),this.month.getMonth()+1,1);const a=this.configSettings?.scheduler?.available_days_in_future;const n=l(new Date,a);if(n.getTime()<t.getTime()){this.disableNextMonthButton=true}else{this.disableNextMonthButton=false}this.dates=this.getDates();this.monthChanged.emit(this.month);this.selectDate()}isSelected(e,t,a){return e&&t&&f(e,t)&&a&&a?.length>0}isDisabled(e,t){return e&&t?.find((t=>f(t,e)))===undefined}render(){return a(n,{key:"d53f2c82fe13f083e264906970d0c5a4b78bbd3f",part:"ndp"},a("div",{key:"0092cca688de0cf524cfc64f1b29679d68828cb4",class:"nylas-date-picker"},a("div",{key:"3c6ea9262106021f1777f0faf66aca323f609143",class:"title",part:"'ndp__title"},this.configSettings?.organizer?.name&&a("h1",null,a("person-icon",null),this.configSettings?.organizer?.name||"Organizer"),a("p",{key:"45dc5af63d59c4e91391d802adecd77d75b43f5f"},a("clock-icon",{key:"ec6bdda1162ea5bfe483de9785afcb4f6528032f"}),this.eventDuration?b(this.eventDuration):`- minutes`)),a("div",{key:"ce9a29d57988552c92f1fc685d6d63ec9fe19959",class:"header flex-row"},a("h2",{key:"419951d08cfc6272688263ced0775005ac5b1712",part:"ndp__month-header"},a("strong",{key:"fa79aa495dcff1916356603a887547696d95aa2b"},this.month.toLocaleDateString(undefined,{month:"long"}))," ",this.month.toLocaleDateString(undefined,{year:"numeric"})),a("div",{key:"fb0171a32fb88aa5c22ef8106ac46de1e81af8ef",class:"pagination"},a("button",{key:"f57c645e58093e6ab828e69351007bb93b0f92ce",onClick:()=>this.changeMonth(-1),class:{"chevron-left":true,button:true},disabled:!this.selectableDates?.length||this.month<=new Date,part:"ndp__month-button"},a("chevron-icon",{key:"1a820398e396fd77b73730a9ee27d75a0ee85c9b"})),a("button",{key:"3730a24d48a5ed472f2dee21fa5dbedd582da589",onClick:()=>this.changeMonth(1),class:{"chevron-right":true,button:true},disabled:this.disableNextMonthButton,part:"ndp__month-button"},a("chevron-icon",{key:"d98fa559514649ad61c71b9950faa5c3b321040b"})))),a("div",{key:"f16e59bce001bd53d1b19d47c40ec304f5d69a33",class:"dates"},["SUN","MON","TUE","WED","THU","FRI","SAT"].map((e=>a("div",{class:"day",part:"ndp__day"},e))),this.dates.map(((e,t)=>{const n=this.isDisabled(e,this.selectableDates);if(this.isLoading){return a("button",{disabled:true,class:{"date day-skeleton":true,"current-month":p(e,this.month)},style:{animationDelay:`${t*20}ms`},part:"ndp__date"},e.getDate())}return a("button",{class:{date:true,selected:!!(this.selectedDate&&f(e,this.selectedDate)&&this.selectableDates&&this.selectableDates?.length>0),"current-day":f(e,new Date),"current-month":p(e,this.month)},"aria-lang":e.toLocaleDateString(undefined,{dateStyle:"full"}),disabled:n,onClick:()=>this.selectDate(e),part:`ndp__date ${this.isSelected(e,this.selectedDate,this.selectableDates)?"ndp__date--selected":""} ${f(e,new Date)?"ndp__date--current-day":""} ${p(e,this.month)?"ndp__date--current-month":""}`},e.getDate())})))))}static get watchers(){return{configSettings:["configSettingsChanged"]}}};U([r({name:"nylas-date-picker",stateToProps:new Map([["scheduler.selectableDates","selectableDates"],["scheduler.selectedDate","selectedDate"],["scheduler.isLoading","isLoading"],["scheduler.configSettings","configSettings"],["scheduler.eventDuration","eventDuration"]]),eventToProps:{dateSelected:async(e,t)=>{t.scheduler.selectDate(e.detail)}},fireRegisterEvent:true}),G("design:type",Function),G("design:paramtypes",[]),G("design:returntype",void 0)],J.prototype,"render",null);J.style=X;const K=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-locale-switch{display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-left:none;border-right:none;color:var(--nylas-base-50);font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease-in-out;font-family:inherit}@media screen and (max-width: 768px){.nylas-locale-switch{font-size:16px}}.select-wrapper{display:flex;align-items:center;gap:0.5rem}select{border:none;background:transparent;cursor:pointer;outline:none;background-color:transparent;margin:0 0 1px;padding:4px;vertical-align:middle}select#timezone{width:140px}select#language{width:80px}span.timezone-label{display:flex;width:-webkit-fill-available;justify-content:space-between}select-dropdown{width:auto}select-dropdown::part(sd_dropdown-button){border:none;padding:10px}select-dropdown::part(sd_dropdown-content){max-width:306px}';const Q=K;var ee=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var te=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const ae=class{constructor(a){e(this,a);this.timezoneChanged=t(this,"timezoneChanged",7);this.languageChanged=t(this,"languageChanged",7);this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.selectedLanguage=navigator.language}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}changeTimezone(e){this.selectedTimezone=e;this.timezoneChanged.emit(e)}changeLanguage(e){this.selectedLanguage=e;this.languageChanged.emit(e)}nylasFormDropdownChangedHandler(e){const{name:t,value:a}=e.detail;if(t==="timezone"){this.changeTimezone(a)}else if(t==="language"){this.changeLanguage(a)}}getTimezoneLabelHTML(e){const t=u(e);return a("span",{class:"timezone-label",style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"-webkit-fill-available"}},h[e]," ",a("span",{class:"timezone-offset",style:{fontSize:"14px",fontWeight:"400",color:"var(--nylas-base-500)"}},t))}render(){const e=Object.keys(h).map((e=>({labelHTML:this.getTimezoneLabelHTML(e),label:h[e],value:e})));const t=Object.keys(y).map((e=>({label:y[e],value:e})));return a(n,{key:"de15d7d86aacb14eb0dc146a7e2e3e4cadbd8dea"},a("div",{key:"3b7e69625dab9ec5aaf2d7202f03bd04fea17437",class:"nylas-locale-switch"},a("div",{key:"b4bb369ccafddd868dd010f0a0a34812ec8eae0c",class:{"select-wrapper":true,timezone:true}},a("select-dropdown",{key:"e549270eaee8d7ae02eb142969748c135764a4fc",name:"timezone",options:e,defaultSelectedOption:e.find((e=>e.value==this.selectedTimezone))},a("span",{key:"56ff64141f51212aea7408f5e4890d42b3b0e60f",slot:"select-icon"},a("globe-icon",{key:"adb9ce58fc77bbc1b53d72a109f41d3facdedbec",width:"20",height:"20"})))),a("div",{key:"2deb057a053e82e1a5b2af63e243b9d5eb76c0ae",class:{"select-wrapper":true,language:true}},a("select-dropdown",{key:"33cd90d564d73e8264a688ce31b8163f9eda782b",name:"language",options:t,defaultSelectedOption:t.find((e=>e.value==this.selectedLanguage))},a("span",{key:"dcf4a58873f16006b96cfd44a13010757ce2f3a5",slot:"select-icon"},a("translate-icon",{key:"b1dd2bf8ff58f082c2b972a411d40935e8c5e175",width:"20",height:"20"}))))))}};ee([r({name:"nylas-locale-switch",stateToProps:new Map([["scheduler.selectedLanguage","selectedLanguage"],["scheduler.selectedTimezone","selectedTimezone"]]),eventToProps:{timezoneChanged:async(e,t)=>{t.scheduler.selectTimezone(e.detail)}},fireRegisterEvent:true}),te("design:type",Function),te("design:paramtypes",[]),te("design:returntype",void 0)],ae.prototype,"render",null);ae.style=Q;const ne=".sc-nylas-logo-h{display:flex}";const se=ne;const ie=class{constructor(t){e(this,t);this.width="69";this.height="24"}render(){return a("svg",{key:"19c3ecc9fb12dd850a08ca0dd3d99368fb646f21",width:this.width,height:this.height,viewBox:"0 0 69 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a("g",{key:"20d36ac56b655e7222fe53d3dea5e5bd93dd0d63","clip-path":"url(#clip0_455_3543)"},a("path",{key:"45959589e09b75eb17b4d7639f780396acf34c2f",d:"M15.8092 3.03248C14.6497 1.86996 13.1076 1.23047 11.4646 1.23047C9.82156 1.23047 8.27753 1.86996 7.11999 3.03248L0.835347 9.33381C0.686846 9.4827 0.60498 9.68123 0.60498 9.89312C0.60498 10.105 0.686846 10.3035 0.835347 10.4524C0.983848 10.6013 1.18185 10.6834 1.39318 10.6834C1.60451 10.6834 1.80251 10.6013 1.95101 10.4524L8.23374 4.15111C10.0139 2.36627 12.9134 2.36627 14.6935 4.15111C16.4736 5.93785 16.4756 8.84322 14.6935 10.6281L8.4108 16.9275C8.10428 17.2348 8.10428 17.7368 8.4108 18.0461C8.5593 18.195 8.75731 18.2771 8.96863 18.2771C9.17996 18.2771 9.37796 18.195 9.52646 18.0461L15.8092 11.7467C16.9687 10.5841 17.6064 9.03793 17.6064 7.39053C17.6064 5.74314 16.9687 4.19501 15.8092 3.03439V3.03248Z",fill:"currentColor"}),a("path",{key:"e2afecdde702fd242ed152696fa455b3729a8ddd",d:"M14.9296 7.39038C14.9296 6.46074 14.5698 5.58837 13.9148 4.93361C12.5631 3.57828 10.3641 3.57828 9.01239 4.93361L0.663961 13.3023C0.51546 13.4512 0.433594 13.6497 0.433594 13.8616C0.433594 14.0735 0.51546 14.272 0.663961 14.4209C0.812462 14.5698 1.01046 14.6519 1.22179 14.6519C1.43312 14.6519 1.63112 14.5698 1.77962 14.4209L10.0367 6.1515L10.05 6.13623C10.0747 6.10759 10.1014 6.07705 10.128 6.05033C10.1585 6.01978 10.1928 5.99115 10.2251 5.96252L10.2442 5.94534C10.9886 5.31349 12.1119 5.3593 12.8011 6.05033C13.4903 6.74135 13.536 7.78171 12.9705 8.53192L12.9648 8.53955C12.9058 8.61591 12.8544 8.67699 12.8011 8.73044C12.7497 8.78198 12.6906 8.83352 12.6069 8.90033L4.45264 17.0991C4.30414 17.248 4.22227 17.4465 4.22227 17.6584C4.22227 17.8703 4.30414 18.0689 4.45264 18.2177C4.60114 18.3666 4.79914 18.4487 5.01047 18.4487C5.2218 18.4487 5.4198 18.3666 5.5683 18.2177L13.9167 9.84716C14.5698 9.1924 14.9315 8.31812 14.9315 7.39038H14.9296Z",fill:"currentColor"}),a("path",{key:"004e4c1b4e2016a7081d4c8ff8be5b8fe0e7b34a",d:"M10.6821 9.11238C10.4727 9.01694 10.2861 8.88904 10.1281 8.7306C9.97008 8.57216 9.84252 8.38508 9.74733 8.1751L9.69021 8.05103L0.467916 17.2978C0.287049 17.4792 0.174721 17.7082 0.149971 17.9411C0.125221 18.1778 0.19376 18.3897 0.344165 18.5405C0.471724 18.6684 0.65259 18.739 0.850592 18.739C1.11142 18.739 1.37796 18.6207 1.58358 18.4145L10.8059 9.16774L10.6821 9.11047V9.11238Z",fill:"currentColor"}),a("path",{key:"a858cfa3153c7077a499cf611b3564d8b32d1a54",d:"M68.401 10.6185C68.2126 10.2692 67.9593 9.97334 67.6433 9.73854C67.3235 9.49993 66.956 9.31094 66.5486 9.17541C66.1316 9.03606 65.7033 8.91771 65.2749 8.81844C64.7951 8.70582 64.3039 8.57983 63.8165 8.44811C63.3196 8.31258 62.9065 8.14269 62.5905 7.94225C62.4743 7.88689 62.3391 7.76663 62.3391 7.50129C62.3391 7.39821 62.3639 7.29704 62.4153 7.19587L62.4248 7.18059C62.5352 7.02216 62.7142 6.8828 62.975 6.75109C63.234 6.62128 63.609 6.55829 64.1231 6.55829C64.5286 6.55829 64.877 6.61365 65.1569 6.72436C65.4348 6.83508 65.6652 6.96871 65.8442 7.12524C66.0212 7.27986 66.1659 7.45357 66.2782 7.63873C66.3563 7.76854 66.4267 7.89262 66.4858 8.00525L68.2754 6.84081C68.1669 6.59456 68.0146 6.33495 67.8204 6.0677C67.6033 5.768 67.3254 5.4893 66.9922 5.23732C66.659 4.98534 66.2516 4.77345 65.7813 4.60929C65.3111 4.44512 64.7532 4.36304 64.1231 4.36304C63.3844 4.36304 62.7599 4.46421 62.2706 4.66083C61.7813 4.85935 61.3815 5.09988 61.0845 5.37667C60.7875 5.65346 60.5628 5.95125 60.4143 6.2605C60.2639 6.57547 60.1611 6.85799 60.1078 7.10233C60.0945 7.18059 60.0812 7.27031 60.0678 7.36767C60.0545 7.4593 60.0469 7.5452 60.0469 7.62537C60.0469 8.13314 60.1745 8.56074 60.4239 8.89671C60.679 9.24222 61.0045 9.53429 61.391 9.76336C61.7813 9.99624 62.2116 10.1852 62.6704 10.3227C63.1388 10.462 63.5862 10.5823 64.0012 10.6796C64.4067 10.777 64.7932 10.8782 65.1531 10.9774C65.5224 11.0786 65.8289 11.2122 66.0631 11.3745C66.2801 11.5425 66.3887 11.7448 66.3887 11.9777C66.3887 12.2278 66.2916 12.4263 66.0993 12.5695C65.9279 12.6954 65.7261 12.7985 65.4958 12.8711C65.273 12.9436 65.0407 12.9913 64.8066 13.0142C64.58 13.0352 64.3915 13.0467 64.2468 13.0467C63.8032 13.0467 63.4224 13.0028 63.1197 12.915C62.8151 12.8272 62.5638 12.7241 62.3734 12.6057C62.1811 12.4874 62.0288 12.3614 61.9222 12.2316C61.8213 12.1094 61.747 12.0082 61.7014 11.9319L61.4957 11.6303L59.708 12.7928C59.8508 13.0161 60.0298 13.2643 60.2392 13.5296C60.4772 13.8293 60.7837 14.1138 61.153 14.3734C61.5224 14.633 61.966 14.8525 62.4724 15.0243C62.9788 15.1961 63.5748 15.282 64.2468 15.282C64.797 15.282 65.2901 15.2324 65.7166 15.137C66.1412 15.0396 66.5162 14.9117 66.8285 14.7552C67.1388 14.6005 67.4015 14.4192 67.6109 14.2149C67.8223 14.0107 67.9974 13.8026 68.1326 13.6003C68.4563 13.1135 68.6409 12.5504 68.6828 11.9262C68.6828 11.4069 68.5876 10.9641 68.401 10.6166V10.6185Z",fill:"currentColor"}),a("path",{key:"4a90efa9648140abfbd5a0799176d18c8ec5dbe5",d:"M26.3585 4.27905C23.7901 4.27905 21.6997 6.37504 21.6997 8.95017V15.0701H23.9291V8.95017C23.9291 7.6082 25.0181 6.5163 26.3565 6.5163C27.695 6.5163 28.784 7.6082 28.784 8.95017V15.0701H31.0134V8.95017C31.0134 6.37504 28.9229 4.27905 26.3546 4.27905H26.3585Z",fill:"currentColor"}),a("path",{key:"de421ab3074ec3ad2e8086614caa1880ad25829c",d:"M53.4522 4.27905C50.4251 4.27905 47.9634 6.74728 47.9634 9.78245C47.9634 12.8176 50.427 15.2859 53.4522 15.2859C54.5545 15.2859 55.6188 14.9594 56.5288 14.3409L56.7116 14.2169V15.0682H58.941V9.78245C58.941 6.74728 56.4793 4.27905 53.4522 4.27905ZM53.4522 13.0505C51.655 13.0505 50.1928 11.5845 50.1928 9.78245C50.1928 7.98044 51.655 6.51439 53.4522 6.51439C55.2494 6.51439 56.7116 7.98044 56.7116 9.78245C56.7116 11.5845 55.2494 13.0505 53.4522 13.0505Z",fill:"currentColor"}),a("path",{key:"e4cab48720d872215219e39f89dd4a376abfa80a",d:"M45.5795 10.6166V0.356201H43.3501V10.6166C43.3501 13.1517 45.3758 15.2228 47.8908 15.2858V13.0486C46.6057 12.9875 45.5795 11.9204 45.5795 10.6166Z",fill:"currentColor"}),a("path",{key:"7c2b95e1e840074ccbde5b3cb1ed4c15f7f918a8",d:"M39.5428 4.4967V10.63C39.5428 11.6761 38.8669 12.621 37.9016 12.9284C37.1249 13.1746 36.3157 13.0486 35.6817 12.5829C35.0592 12.1247 34.6879 11.3917 34.6879 10.6186V4.4967H32.4585V10.5995C32.4585 12.7165 33.8388 14.57 35.8131 15.1084C37.0354 15.4424 38.2995 15.2973 39.3695 14.7037L39.5428 14.6063V14.9747C39.5428 16.2766 38.5166 17.3437 37.2315 17.4067V19.6439C39.7465 19.5809 41.7722 17.5117 41.7722 14.9747V4.4967H39.5428Z",fill:"currentColor"})),a("defs",{key:"cd4a830e5c63507467c92124e998a8fc65a3f212"},a("clipPath",{key:"56475325130692f6383cd856dc09842ed7c3551b",id:"clip0_455_3543"},a("rect",{key:"3bc15918f41f2ddba3e263d66d533c5231a98339",width:"68.7123",height:"19.2877",fill:"white",transform:"translate(0.144043 0.356201)"}))))}};ie.style=se;const re=':host{display:block;margin-bottom:-12px;width:100%;z-index:1;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.notif{display:flex;padding:17px;align-items:flex-start;justify-content:space-between;gap:16px;border-radius:var(--nylas-border-radius-2x);border:1.5px solid var(--nylas-error);background:var(--nylas-base-0)}@media screen and (max-width: 768px){.notif{width:auto}}.notif .content{display:flex;flex-direction:row;gap:8px}.notif .content .message{font-size:14px;font-weight:400;color:var(--nylas-base-800)}.notif .content .message .title{font-size:16px;font-weight:600;color:var(--nylas-base-950);display:block}.notif .content .message .description{font-size:14px;font-weight:400;color:var(--nylas-base-800);display:block}.notif .content .icon.error{color:var(--nylas-error)}.notif.error{border-color:var(--nylas-error);background:rgb(255, 248, 248)}.notif.warning{border-color:var(--nylas-warning)}.notif.info{border-color:var(--nylas-info)}.notif.success{border-color:var(--nylas-success)}.notif .dismiss-btn{background:none;border:none;color:var(--nylas-base-950);cursor:pointer}';const oe=re;const le=class{constructor(t){e(this,t);this.ttl=5e3;this.allowedCategories=["component","api","validation","invalid_session"];this.notifications=[]}onError(e){o(`[nylas-notification] Error: ${e.detail.title}`);this.handleNotification(e)}onWarning(e){o(`[nylas-notification] Warning: ${e.detail.title}`);this.handleNotification(e)}onInfo(e){o(`[nylas-notification] Info: ${e.detail.title}`);this.handleNotification(e)}onSuccess(e){o(`[nylas-notification] Success: ${e.detail.title}`);this.handleNotification(e)}handleNotification(e){if(e.defaultPrevented){o(`[nylas-notification] Event default prevented`);return}if(this.ttl===0){o(`[nylas-notification] TTL is 0`);return}if(this.allowedCategories.length>0&&!this.allowedCategories.includes(e.detail.category)){o(`[nylas-notification] Category not allowed`);return}this.notifications=[...this.notifications,{...e.detail}];if(e.detail.ttl!=="none"){const t=e.detail.ttl?e.detail.ttl:this.ttl;window.setTimeout((()=>{this.notifications=this.notifications.filter((t=>t.id!==e.detail.id))}),t)}}dismissNotification(e){this.notifications=this.notifications.filter((t=>t.id!==e))}render(){return a(n,{key:"f4ee94acc4e88a593c96992de5c20768724a4131"},a(i,{key:"ea545f5121d4c31c525aa18e8ac026cbbbe09128"},this.notifications.map((e=>a("div",{class:`notif ${e.type}`,key:e.id},a("div",{class:"content"},a("span",{class:`icon ${e.type}`},(e.type==="error"||e.type==="warning")&&a("warning-icon",null)),a("span",{class:"message"},a("span",{class:"title"},e.title),e.description&&a("span",{class:"description"},e.description))),a("button",{class:"dismiss-btn",onClick:()=>this.dismissNotification(e.id)},a("close-icon",null))))),a("slot",{key:"8cbcff69e9a15d2064f89b5da5592d051df265f9"})))}};le.style=oe;const ce=":host{display:block}sp-theme{position:relative;height:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--nylas-font-family)}.event-card{display:flex;align-items:center;flex-direction:column;width:calc(100% - 3rem);background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:3rem 1.5rem 1.5rem 1.5rem;position:relative;box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.event-card{margin-bottom:2rem}}.nylas-selected-event-card__date{font-size:min(max(16px, 3vw), 18px);font-weight:600}.nylas-selected-event-card__time{font-size:16px;font-weight:500}.calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}calendar-icon{display:flex;align-items:center;justify-content:center;height:100%}.event-timezone{display:flex;color:var(--nylas-base-600);margin-bottom:8px;gap:4px;align-items:center}@media screen and (max-width: 768px){.event-timezone{margin-bottom:16px}}";const de=ce;var fe=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var be=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const pe=class{constructor(t){e(this,t);this.selectedDate=undefined;this.selectedTimeslot=undefined;this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.startTime="";this.endTime=""}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){o(`[nylas-selected-event-card] Component will load`)}async componentDidLoad(){o(`[nylas-selected-event-card] Component did load`);if(!this.selectedDate){console.warn('[nylas-selected-event-card] "selectedDate" prop is not provided.')}if(!this.selectedTimeslot){console.warn('[nylas-selected-event-card] "selectedTimeslot" prop is not provided.')}}handleSelectedTimeslotChange(e){this.startTime=new Date(e?.start_time).toLocaleString(undefined,{timeStyle:"short"});this.endTime=new Date(e?.end_time).toLocaleString(undefined,{timeStyle:"short"})}render(){return a(n,{key:"9a74d656398546b1ae74f1ec00d928f25d9ec807",part:"nsec"},a("sp-theme",{key:"636b2ba030d6ca327fa211970762546e85ce7be6",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"909bd63d36a97a329357fc4a310bcb9bbafd7fdd",class:"event-card",part:"nsec__card"},a("div",{key:"5edc26d9729c11602291f82dcd5218407b34739c",class:"calendar-icon",part:"nsec__icon"},a("calendar-icon",{key:"8cd816ca6cc91a53959a8e8cc1b3d8ed9ac9e1f2"})),a("div",{key:"f6883ef0563cfb23979cf6c9f3f93924451368f2",class:"nylas-selected-event-card__date",part:"nsec__date"},this.selectedDate?.toLocaleDateString(undefined,{dateStyle:"full"})),a("div",{key:"7728e25a2ee3796d9329eb8d0cd40d95847a4e14",class:"nylas-selected-event-card__time",part:"nsec__time"},this.startTime," - ",this.endTime)),a("div",{key:"ab8fc1d646a1415340172c938a16c62a8399bdf2",class:"event-timezone",part:"nsec__timezone"},a("globe-icon",{key:"304424b3a30a175ccd70e93ce28a41d40e376dea"}),h[this.selectedTimezone])))}static get watchers(){return{selectedTimeslot:["handleSelectedTimeslotChange"]}}};fe([r({name:"nylas-selected-event-card",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"]]),eventToProps:{},fireRegisterEvent:true}),be("design:type",Function),be("design:paramtypes",[]),be("design:returntype",void 0)],pe.prototype,"render",null);pe.style=de;const he=":host{display:block;height:calc(100% - 48px)}.time-picker-wrapper{display:flex;flex-direction:column;height:100%}.timeslots{position:relative;display:flex;flex-direction:column;gap:0.75rem;align-items:center;overflow-y:scroll;padding:0.5rem 1.5rem 1.5rem;flex:1}.time{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4px 12px;gap:0.5rem;font-size:16px;font-weight:500;font-family:inherit;width:100%;height:48px;color:var(--nylas-base-800);background:var(--nylas-base-0);border:none;outline:1.5px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);flex:none;order:4;align-self:stretch;flex-grow:0;cursor:pointer}.time:hover,.time:focus{color:var(--nylas-primary);outline-color:var(--nylas-primary)}.time.selected{font-weight:600;color:var(--nylas-primary);outline:2px solid var(--nylas-primary);border-color:transparent;box-shadow:0 0 0 2px var(--nylas-primary)}.empty{text-align:center;padding:0 1.5rem;color:var(--nylas-base-600);font-size:min(max(12px, 2vw), 14px);height:450px;display:flex;align-items:center;justify-content:center}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.loading{padding:0 1.5rem}.loading .timeslot-skeleton{width:100%;height:4rem;background-color:var(--nylas-base-50);margin-bottom:0.5rem;border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite ease-in-out}.footer{width:100%;padding:14px;box-sizing:border-box;border-top:1px solid var(--nylas-base-200)}.footer sp-button{padding:14px;color:var(--nylas-base-100);border-radius:var(--nylas-border-radius-2x);width:100%;height:48px;font-weight:600;font-size:16px;background-color:var(--nylas-primary);border:none}.footer sp-button:hover,.footer sp-button:focus{background-color:var(--nylas-base-600)}.footer sp-button:active{background-color:var(--nylas-base-800)}";const ue=he;var ye=undefined&&undefined.__decorate||function(e,t,a,n){var s=arguments.length,i=s<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,a):n,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)if(r=e[o])i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i;return s>3&&i&&Object.defineProperty(t,a,i),i};var me=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const ge=class{constructor(a){e(this,a);this.timeslotSelected=t(this,"timeslotSelected",7);this.timeslotConfirmed=t(this,"timeslotConfirmed",7);this.handleConfirmedTimeslot=async(e,t)=>{e.preventDefault();o(`[nylas-timeslot-picker] Confirm timeslot`,t);this.timeslotConfirmed.emit(t)};this.handleMouseEnter=e=>{this.hoveredTimeslotIndex=e};this.handleMouseLeave=()=>{this.hoveredTimeslotIndex=-1};this.selectedDate=new Date;this.availability=undefined;this.selectedTimeslot=undefined;this.isLoading=undefined;this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone;this.times=[];this.hoveredTimeslotIndex=undefined;this.selectedTimeslotIndex=undefined}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){const e=this.availability?.filter((e=>this.selectedDate&&f(e.start_time,this.selectedDate))).map((e=>e));this.times=e||[];o(`[nylas-timeslot-picker] Component will load`,{selectedDate:this.selectedDate,availability:this.availability,times:this.times})}async componentDidLoad(){o(`[nylas-timeslot-picker] Component did load`)}getTimeslotId(e,t){return`${e.toLocaleDateString()}-${t}`}onClickSelectTime(e,t){o(`[nylas-timeslot-picker] Time selected`,e,t);this.selectedTimeslotIndex=this.getTimeslotId(e.start_time,t);this.timeslotSelected.emit({start_time:e.start_time,end_time:e.end_time,emails:e.emails})}getTimeSlotLabel(e){const t=new Intl.DateTimeFormat("en-US",{hour:"2-digit",minute:"2-digit",timeZone:this.selectedTimezone});return`${t.format(e.start_time)} - ${t.format(e.end_time)}`}selectedDateChanged(e){o(`[nylas-timeslot-picker] Selected date changed`,{newVal:e});if(e){this.selectedTimeslotIndex="";if(typeof e!=="undefined"){const t=this.availability?.filter((t=>f(t.start_time,e))).map((e=>e));this.times=t||[]}}}availabilityChanged(e){o(`[nylas-timeslot-picker] Available times changed`,{newVal:e,selectedDate:this.selectedDate});if(typeof e!=="undefined"){const t=e?.filter((e=>this.selectedDate&&f(e.start_time,this.selectedDate))).map((e=>e));this.times=t||[]}}render(){if(this.isLoading){return a(n,null,a("div",{class:"loading"},new Array(6).fill(0).map(((e,t)=>a("div",{class:"timeslot-skeleton",style:{animationDelay:`${t*20}ms`}})))))}if(this.availability&&this.availability.length===0){return a(n,null,a("div",{class:"empty"},a("span",null,"No dates available")))}if((!this.times||this.times.length===0)&&!!this.selectedDate){return a(n,null,a("div",{class:"empty"},a("span",null,"No time slots available for selected date")))}if(!this.selectedDate)return a(n,null);return a(n,{part:"ntp"},a("div",{class:"time-picker-wrapper"},a("div",{class:"timeslots"},this.times.map(((e,t)=>a("button",{part:`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime()===e.start_time.getTime()?"ntp__timeslot--selected":""}`,"aria-role":"button",class:{time:true,selected:typeof this.selectedTimeslot!=="undefined"&&this.selectedTimeslot?.start_time?.getTime()===e.start_time.getTime()},onClick:()=>this.onClickSelectTime(e,t),onMouseEnter:()=>this.handleMouseEnter(t),onMouseLeave:()=>this.handleMouseLeave()},this.hoveredTimeslotIndex==t||this.selectedTimeslotIndex==this.getTimeslotId(e.start_time,t)?this.getTimeSlotLabel(e):e.start_time.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",timeZone:this.selectedTimezone}))))),this.selectedTimeslot&&a("div",{class:"footer"},a("sp-button",{variant:"primary",onClick:e=>this.handleConfirmedTimeslot(e,this.selectedTimeslot),part:"ntp__button-primary"},a("slot",{name:"timeslot-picker-cta-label"},"Next")))))}static get watchers(){return{selectedDate:["selectedDateChanged"],availability:["availabilityChanged"]}}};ye([r({name:"nylas-timeslot-picker",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.availability","availability"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.isLoading","isLoading"]]),eventToProps:{timeslotSelected:async(e,t)=>{t.scheduler.selectTime(e.detail)},timeslotConfirmed:async(e,t)=>{if(e.detail){t.scheduler.toggleAdditionalData(true)}}},fireRegisterEvent:true}),me("design:type",Function),me("design:paramtypes",[]),me("design:returntype",void 0)],ge.prototype,"render",null);ge.style=ue;export{w as nylas_booked_event_card,D as nylas_booking_form,I as nylas_cancel_booking_form,V as nylas_cancelled_event_card,J as nylas_date_picker,ae as nylas_locale_switch,ie as nylas_logo,le as nylas_notification,pe as nylas_selected_event_card,ge as nylas_timeslot_picker};
2
+ //# sourceMappingURL=p-79c33cf9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nylasBookedEventCardCss","NylasBookedEventCardStyle0","NylasBookedEventCard","this","handleCancelBookingButtonClicked","startTime","Date","selectedTimeslot","start_time","minCancellationNotice","configSettings","scheduler","min_cancellation_notice","dateTillCancellation","getTime","cancelBookedEventValidationError","emit","error","title","message","cancelBookingButtonClicked","bookingId","eventInfo","booking_id","handleRescheduleButtonClicked","errorHandler","rescheduleBookedEventError","rescheduleButtonClicked","getOrganizer","organizer","getPaticipantType","type","Intl","DateTimeFormat","resolvedOptions","timeZone","connectedCallback","disconnectedCallback","componentWillLoad","debug","componentDidLoad","console","warn","bookingInfo","render","h","Host","key","part","theme","color","scale","class","TIMEZONE_MAP","selectedTimezone","slot","rescheduleBookingId","isLoading","name","email","primaryParticipant","toLocaleDateString","undefined","dateStyle","toLocaleTimeString","timeStyle","end_time","footer","hide_cancellation_options","hide_rescheduling_options","variant","treatment","onClick","__decorate","RegisterComponent","stateToProps","Map","eventToProps","async","event","nylasSchedulerConnector","setCancel","detail","result","setReschedule","fireRegisterEvent","nylasBookingFormCss","NylasBookingFormStyle0","emailRegex","NylasBookingForm","handleGuestChange","guestIndex","resetGuestEmailError","guests","guestEmails","sanitizeHtml","handleGuestBlur","guestEmailErrors","test","addGuestButtonClickedHandler","e","preventDefault","removeGuestButtonClickHandler","splice","handleBackButtonClicked","backButtonClicked","bookButtonClickedHandler","formSubmittedEvent","bookingFormSubmitted","defaultPrevented","isNameValid","validationError","bookingFormError","description","isEmailValid","length","hasError","forEach","i","map","trim","bookingInfoAdditionalFields","additionalFields","detailsConfirmed","updateAdditionalFields","value","bookingInfoChangedHandler","newValue","changeName","nameChanged","changeEmail","emailChanged","errors","nylasFormInputChangedHandler","label","selectOptionChangedHandler","switchToggledHandler","checked","checkboxToggledHandler","radioChangedHandler","onSubmit","noValidate","id","defaultValue","placeholder","required","pattern","hide_additional_guests","index","maxLength","onBlur","target","onInput","Object","entries","additional_fields","sort","a","b","order","x","field","withSearch","options","option","_event","toggleAdditionalData","setParticipantName","setParticipantEmail","nylasCancelBookingFormCss","NylasCancelBookingFormStyle0","NylasCancelBookingForm","handleGoBackClicked","goBackButtonClicked","handleSubmitCancelBooking","cancellationReason","cancellationError","cancelBookingFormError","cancelBookedEventError","cancelBookingFormSubmitted","cancelBookingId","reason","handleOnChangeCancellationReason","cancellation_policy","configSettingsChangedHandler","cancellationPolicy","for","multiline","onFocus","invalid","cancelBooking","nylasCancelledEventCardCss","NylasCancelledEventCardStyle0","NylasCancelledEventCard","handleCloseClicked","isClosing","cancelledEventCardError","closeCancelEventCardClicked","cancelledEventInfo","disabled","_","nylasschedulerconnector","resetCancel","t0","t1","timeInterval","floori","offseti","count","interval","date","arguments","floor","ceil","round","d0","d1","offset","step","Math","range","start","stop","previous","push","filter","setTime","end","every","isFinite","d","durationSecond","durationMinute","durationHour","durationDay","timeDay","setHours","setDate","getDate","getTimezoneOffset","setUTCHours","setUTCDate","getUTCDate","nylasDatePickerCss","NylasDatePickerStyle0","NylasDatePicker","selectedDate","getDates","configSettingsChanged","newConfigSettings","nextMonth","month","getFullYear","getMonth","availableDaysInFuture","available_days_in_future","endDate","addDaysToCurrentDate","disableNextMonthButton","lastDayOfMonth","getLastDayOfMonth","firstDayOfMonth","getFirstDayOfMonth","getDay","selectDate","dateSelected","changeMonth","change","dates","monthChanged","isSelected","selectableDates","isSameDay","isDisabled","find","eventDuration","convertMinutesToHoursAndMinutes","year","button","day","isSameMonth","style","animationDelay","selected","nylasLocaleSwitchCss","NylasLocaleSwitchStyle0","NylasLocaleSwitch","navigator","language","changeTimezone","timezone","timezoneChanged","changeLanguage","selectedLanguage","languageChanged","nylasFormDropdownChangedHandler","getTimezoneLabelHTML","display","alignItems","justifyContent","width","fontSize","fontWeight","timezoneOptions","keys","labelHTML","languageOptions","LANGUAGE_MAP","defaultSelectedOption","op","height","lang","selectTimezone","iconCss","NylasLogoStyle0","NylasLogo","viewBox","fill","xmlns","transform","nylasNotificationCss","NylasNotificationStyle0","NylasNotification","onError","handleNotification","onWarning","onInfo","onSuccess","ttl","allowedCategories","includes","category","notifications","window","setTimeout","notif","dismissNotification","Fragment","nylasSelectedEventCardCss","NylasSelectedEventCardStyle0","NylasSelectedEventCard","handleSelectedTimeslotChange","toLocaleString","endTime","nylasTimeslotPickerCss","NylasTimeslotPickerStyle0","NylasTimeslotPicker","handleConfirmedTimeslot","timeslot","timeslotConfirmed","handleMouseEnter","hoveredTimeslotIndex","handleMouseLeave","availableTimes","availability","times","getTimeslotId","onClickSelectTime","selectedTimeslotIndex","timeslotSelected","emails","getTimeSlotLabel","timeFormat","hour","minute","format","selectedDateChanged","newVal","availabilityChanged","Array","time","onMouseEnter","onMouseLeave","selectTime"],"sources":["src/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.scss?tag=nylas-booked-event-card&encapsulation=shadow","src/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.tsx","src/components/scheduler/nylas-booking-form/nylas-booking-form.scss?tag=nylas-booking-form&encapsulation=shadow","src/components/scheduler/nylas-booking-form/nylas-booking-form.tsx","src/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.scss?tag=nylas-cancel-booking-form&encapsulation=shadow","src/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.tsx","src/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.scss?tag=nylas-cancelled-event-card&encapsulation=shadow","src/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.tsx","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/interval.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/duration.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/day.js","src/components/scheduler/nylas-date-picker/nylas-date-picker.scss?tag=nylas-date-picker&encapsulation=shadow","src/components/scheduler/nylas-date-picker/nylas-date-picker.tsx","src/components/scheduler/nylas-locale-switch/nylas-locale-switch.scss?tag=nylas-locale-switch&encapsulation=shadow","src/components/scheduler/nylas-locale-switch/nylas-locale-switch.tsx","src/common/icons/icon.css?tag=nylas-logo&encapsulation=scoped","src/common/icons/nylas-logo.tsx","src/components/scheduler/nylas-notification/nylas-notification.scss?tag=nylas-notification&encapsulation=shadow","src/components/scheduler/nylas-notification/nylas-notification.tsx","src/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.scss?tag=nylas-selected-event-card&encapsulation=shadow","src/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.tsx","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.scss?tag=nylas-timeslot-picker&encapsulation=shadow","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.event-card-wrapper {\n display: flex;\n align-items: center;\n flex-direction: column;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n border-radius: var(--nylas-border-radius-3x);\n position: relative;\n margin-top: 1rem;\n margin-bottom: 2rem;\n width: 424px;\n @media #{$mobile} {\n width: 100%;\n border-radius: 0px;\n }\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.calendar-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n color: var(--nylas-base-700);\n}\n\n.booked-event-header {\n margin: 1.5rem 4rem;\n overflow-wrap: anywhere;\n display: flex;\n align-items: center;\n flex-direction: column;\n font-size: 1rem;\n font-weight: 400;\n\n h2 {\n color: var(--nylas-base-600);\n margin-top: 1.5rem;\n margin-bottom: 0.25rem;\n font-size: 1.125rem;\n font-weight: 600;\n }\n}\n\n.booking-date-time,\n.booking-participants {\n padding: 0 1rem;\n margin-top: 1.5rem;\n margin-left: 3rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-self: flex-start;\n position: relative;\n\n svg {\n color: var(--nylas-base-700);\n position: absolute;\n left: -10px;\n }\n\n .block {\n display: block;\n }\n\n h3 {\n color: var(--nylas-base-600);\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 1.25rem;\n text-align: justify;\n margin-bottom: 4px;\n }\n p {\n font-size: 16px;\n margin: 0;\n font-weight: 400;\n text-align: justify;\n color: var(--nylas-base-800);\n }\n}\n\n.booking-participants {\n margin-bottom: 1.5rem;\n}\n\n.booked-event-timezone {\n display: flex;\n color: var(--nylas-base-600);\n margin-bottom: 1.5rem;\n gap: 4px;\n margin: 2rem;\n align-items: center;\n align-self: flex-end;\n}\n\n.footer {\n padding: 0.5rem;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 0.5rem;\n box-sizing: border-box;\n background-color: var(--nylas-base-25);\n width: 100%;\n border-radius: 0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x);\n &.no-template-cols {\n grid-template-columns: 1fr;\n }\n &.no-footer {\n display: none;\n }\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n padding: 8px;\n font-family: var(--nylas-font-family);\n font-weight: 600;\n height: 48px;\n line-height: 24px;\n &.cancel {\n color: var(--nylas-error);\n &:hover,\n &:focus {\n border-color: var(--nylas-error);\n }\n &:active {\n color: var(--nylas-error-pressed);\n border-color: var(--nylas-error-pressed);\n }\n }\n &.reschedule {\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n }\n}\n\nsp-divider {\n background-color: var(--nylas-base-200);\n height: 1px;\n}\n\ncalendar-check-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { ConfigSettings, NylasSchedulerBookingData, NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { TIMEZONE_MAP } from '@/common/constants';\nimport { NylasEvent } from '@/common/types';\nimport { Event } from '@stencil/core';\nimport { NylasSchedulerErrorResponse, Timeslot } from '@nylas/core';\n\n/**\n * The `nylas-booked-event-card` component is a UI component that displays the booked event card.\n *\n * @part nbec - The booked event card host.\n * @part nbec__card - The booked event card.\n * @part nbec__title - The title of the booked event card.\n * @part nbec__description - The description of the booked event card.\n * @part nbec__button-outline - The cancel & reschedule button CTA.\n * @part nbec__cancel-cta - The cancel button CTA.\n * @part nbec__reschedule-cta - The reschedule button CTA.\n */\n@Component({\n tag: 'nylas-booked-event-card',\n styleUrl: 'nylas-booked-event-card.scss',\n shadow: true,\n})\nexport class NylasBookedEventCard {\n /**\n * The booked event.\n */\n @Prop() readonly eventInfo!: NylasEvent;\n\n /**\n * Booking flow type.\n */\n @Prop() readonly rescheduleBookingId?: string;\n\n /**\n * The booking info used to book / reschedule the event.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The selected timezone.\n */\n @Prop() readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected timeslot.\n */\n @Prop() readonly selectedTimeslot!: Timeslot;\n\n /**\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * Cancel booking button clicked event.\n */\n @Event() readonly cancelBookingButtonClicked!: EventEmitter<{ bookingId: string }>;\n\n /**\n * Reschedule button clicked event.\n * */\n @Event() readonly rescheduleButtonClicked!: EventEmitter<{ bookingId: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs while rescheduling the booking.\n */\n @Event() readonly rescheduleBookedEventError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n /**\n * This event is fired when an error occurs while cancelling the booking.\n */\n @Event() readonly cancelBookedEventValidationError!: EventEmitter<{\n error: {\n title: string;\n message: string;\n };\n }>;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-booked-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-booked-event-card] Component did load`);\n if (!this.eventInfo) {\n console.warn('[nylas-booked-event-card] \"eventInfo\" prop missing. Please provide the event info to display the event details in the booked event card component.');\n }\n if (!this.bookingInfo) {\n console.warn('[nylas-booked-event-card] \"bookingInfo\" prop missing. Please provide the booking info to display the guest details in the booked event card component.');\n }\n }\n\n private handleCancelBookingButtonClicked = () => {\n const startTime = new Date(this.selectedTimeslot.start_time);\n const minCancellationNotice = this.configSettings?.scheduler?.min_cancellation_notice;\n const dateTillCancellation = startTime.getTime() - minCancellationNotice * 60 * 1000;\n if (dateTillCancellation < new Date().getTime()) {\n this.cancelBookedEventValidationError.emit({\n error: {\n title: 'Cancellation Error',\n message: `You cannot cancel the booking within ${minCancellationNotice} minutes of the event.`,\n },\n });\n } else {\n this.cancelBookingButtonClicked.emit({ bookingId: this.eventInfo.booking_id });\n }\n };\n\n private handleRescheduleButtonClicked = () => {\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.rescheduleBookedEventError.emit(error);\n };\n this.rescheduleButtonClicked.emit({ bookingId: this.eventInfo.booking_id, errorHandler });\n };\n\n private getOrganizer = (eventInfo: NylasEvent) => {\n const organizer = eventInfo?.organizer;\n return organizer;\n };\n\n getPaticipantType = (type: string) => {\n switch (type) {\n case 'host':\n return 'Host';\n case 'you':\n return 'You';\n default:\n return '';\n }\n };\n\n @RegisterComponent<NylasBookedEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-booked-event-card',\n stateToProps: new Map([\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.rescheduleBookingId', 'rescheduleBookingId'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.configSettings', 'configSettings'],\n ]),\n eventToProps: {\n cancelBookingButtonClicked: async (event: CustomEvent<{ bookingId: string }>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setCancel(event.detail.bookingId);\n },\n rescheduleButtonClicked: async (\n event: CustomEvent<{ bookingId: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>,\n nylasSchedulerConnector: NylasSchedulerConnector,\n ) => {\n const result = await nylasSchedulerConnector.scheduler.setReschedule(event.detail.bookingId);\n const { errorHandler } = event.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nbec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"booked-event-timezone\">\n <globe-icon></globe-icon>\n {TIMEZONE_MAP[this.selectedTimezone]}\n </div>\n <div class=\"event-card-wrapper\" part=\"nbec__card\">\n <div class=\"calendar-icon\">\n <calendar-check-icon />\n </div>\n <div class=\"booked-event-header\">\n <h2 slot=\"card-title\" part=\"nbec__title\">\n Booking {!!this.rescheduleBookingId && !this.isLoading ? 'rescheduled' : 'confirmed'}!\n </h2>\n <div part=\"nbec__description\">\n {this.getOrganizer(this.eventInfo)?.name || this.getOrganizer(this.eventInfo)?.email}&nbsp;&amp;&nbsp;\n {this.bookingInfo?.primaryParticipant?.name || this.bookingInfo?.primaryParticipant?.email}\n </div>\n </div>\n <sp-divider></sp-divider>\n <div class=\"booking-date-time\">\n <checkmark-circle-icon></checkmark-circle-icon>\n <h3>Booking date and time</h3>\n <p>\n {new Date(this.selectedTimeslot?.start_time).toLocaleDateString(undefined, { dateStyle: 'full' })} <br />\n {new Date(this.selectedTimeslot?.start_time).toLocaleTimeString(undefined, { timeStyle: 'short' })} -{' '}\n {new Date(this.selectedTimeslot?.end_time).toLocaleTimeString(undefined, { timeStyle: 'short' })}\n </p>\n </div>\n <div class=\"booking-participants\">\n {/* <people-icon></people-icon>\n <h3>All participants</h3>\n {this.eventInfo?.participants && (\n <p>\n {this.eventInfo?.participants?.map((participant: NylasEvent['participants'][0]) => {\n return (\n <span class=\"block\">\n {participant.email} {this.getPaticipantType(participant.type) && `(${this.getPaticipantType(participant.type)})`}\n </span>\n );\n })}\n </p>\n )} */}\n </div>\n <sp-divider></sp-divider>\n <div\n class={{\n 'footer': true,\n 'no-footer': this.configSettings?.scheduler?.hide_cancellation_options && this.configSettings?.scheduler?.hide_rescheduling_options,\n 'no-template-cols': this.configSettings?.scheduler?.hide_cancellation_options || this.configSettings?.scheduler?.hide_rescheduling_options,\n }}\n >\n {!this.configSettings?.scheduler?.hide_cancellation_options && (\n <sp-button variant=\"secondary\" treatment=\"outline\" class=\"cancel\" onClick={this.handleCancelBookingButtonClicked} part=\"nbec__button-outline nbec__cancel-cta\">\n Cancel booking\n </sp-button>\n )}\n {!this.configSettings?.scheduler?.hide_rescheduling_options && (\n <sp-button variant=\"secondary\" treatment=\"outline\" class=\"reschedule\" onClick={this.handleRescheduleButtonClicked} part=\"nbec__button-outline nbec__reschedule-cta\">\n Reschedule\n </sp-button>\n )}\n </div>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","@import '../../../common/mixins/inputs.scss';\n@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n height: 100%;\n @include default-css-variables;\n}\n\n.nylas-booking-form {\n width: 100%;\n padding: 1.5rem;\n box-sizing: border-box;\n height: 450px;\n overflow-y: auto;\n height: 100%;\n}\n\nform {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n}\n\nsp-textfield {\n --spectrum-corner-radius-100: var(--nylas-border-radius-2x); // Set guest input radius\n --spectrum-textfield-border-color: var(--nylas-base-300);\n position: relative;\n width: 100%;\n height: 48px;\n margin-bottom: 16px;\n color: var(--nylas-base-500);\n}\n\n.cta {\n width: 100%;\n display: flex;\n flex-direction: row;\n @media #{$mobile} {\n flex-direction: column-reverse;\n }\n align-items: flex-start;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n}\n\nsp-button {\n background-color: transparent;\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n --button-width: 50%;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n font-weight: 600;\n border: none;\n height: 48px;\n padding: 14px;\n @media #{$mobile} {\n --button-width: 100%;\n }\n\n &:hover,\n &:focus {\n background-color: var(--nylas-base-100);\n color: var(--nylas-primary);\n border-radius: var(--nylas-border-radius-2x);\n }\n &:active {\n background-color: var(--nylas-base-200);\n color: var(--nylas-base-800);\n }\n\n &.back {\n width: var(--button-width);\n background-color: transparent;\n color: var(--nylas-base-700);\n outline: 1px solid var(--nylas-base-300);\n &:hover,\n &:focus {\n outline-color: var(--nylas-primary);\n }\n &:active {\n outline: 2px solid var(--nylas-base-600);\n }\n }\n\n &.book {\n width: var(--button-width);\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}\n\n.input-wrapper {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 4px;\n margin-bottom: 1rem;\n input::placeholder {\n color: var(--nylas-base-300);\n }\n label,\n input {\n font-family: var(--nylas-font-family);\n font-size: 16px;\n }\n .help-text {\n margin: 0;\n color: var(--nylas-error);\n }\n}\n\n.button-wrapper {\n width: 100%;\n align-items: flex-start;\n height: max-content;\n position: relative;\n}\n\n.button-content {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n\nsp-infield-button {\n --spectrum-infield-button-background-color: transparent;\n --spectrum-infield-button-background-color-hover: transparent;\n --spectrum-infield-button-background-color-active: transparent;\n --spectrum-infield-button-border-color: transparent;\n --spectrum-infield-button-border-width: 1px;\n --spectrum-infield-button-border-radius: 0;\n color: var(--nylas-base-600);\n background: transparent;\n border: none;\n outline: 1px solid var(--nylas-base-300);\n border-radius: 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x) 0;\n height: 52px;\n width: 52px;\n display: flex;\n position: absolute;\n right: 0;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n sp-icon-cross300 {\n color: var(--nylas-base-600);\n }\n &.error {\n border-width: 2px;\n border-color: var(--nylas-error);\n }\n}\n\ninput[type='text'],\ninput[type='email'] {\n @include textfield;\n &.guest-email {\n color: var(--nylas-base-900);\n padding-right: 52px; // Infield button width\n }\n}\n\nlabel {\n @include input-label;\n}\n\nbutton-component.remove-guest {\n position: absolute;\n height: 51px;\n right: 0;\n &.error {\n button {\n border-color: var(--nylas-error);\n }\n }\n button {\n height: inherit;\n border-top-left-radius: initial;\n border-bottom-left-radius: initial;\n border: none !important;\n border-left: 1px solid var(--nylas-base-300) !important;\n &:hover,\n &:focus {\n outline: 1px solid var(--nylas-primary) !important;\n color: var(--nylas-primary);\n }\n }\n}\n\n.guest-email-input {\n position: relative;\n display: flex;\n width: 100%;\n}\n","import { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { RegisterComponent } from '@/common/register-component';\nimport { ConfigSettings, NylasSchedulerConnector } from '../../..';\nimport type { NylasEvent, NylasSchedulerBookingData } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Notification, NylasSchedulerBookingParticipant } from '@nylas/core';\nimport sanitizeHtml from 'sanitize-html';\n\nconst emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n/**\n * The `nylas-booking-form` component is a UI component that allows users to book an event.\n *\n * The booking form component.\n * @part nbf - The booking form host.\n * @part nbf__input-label - The input label.\n * @part nbf__input-textfield - The input textfield.\n * @part nbf__button-ghost - The ghost button for adding guests.\n * @part nbf__button-primary - The primary button for booking.\n * @part nbf__button-outline - The outline button for canceling.\n * @slot custom-booking-form - The custom booking form.\n */\n@Component({\n tag: 'nylas-booking-form',\n styleUrl: 'nylas-booking-form.scss',\n shadow: true,\n})\nexport class NylasBookingForm {\n /**\n * The host element\n */\n @Element() readonly host!: HTMLElement;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The booked event (Used to track if a booking is created in an eventOverride).\n */\n @Prop() readonly eventInfo?: NylasEvent;\n\n /**\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * This event is fired when the name is changed.\n */\n @Event() nameChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the email is changed.\n */\n @Event() emailChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the cancel button is clicked.\n */\n @Event() backButtonClicked!: EventEmitter<boolean>;\n\n /**\n * This event is fired when the book button is clicked and the form is valid.\n */\n @Event() detailsConfirmed!: EventEmitter<NylasSchedulerBookingData>;\n\n /**\n * This event is fired when an error occurs in the booking form.\n */\n @Event() bookingFormError!: EventEmitter<Partial<Notification>>;\n\n /**\n * This event is fired when the booking form is submitted.\n */\n @Event() bookingFormSubmitted!: EventEmitter<void>;\n\n /**\n * The name of the user.\n */\n @State() name: string = '';\n\n /**\n * The email address of the user.\n */\n @State() email: string = '';\n\n /**\n * The guests of the user.\n */\n @State() guestEmails: string[] = [];\n\n /**\n * Guest email input errors.\n */\n @State() guestEmailErrors: { [key: number]: string } = {};\n\n /**\n * State to check if name is valid.\n */\n @State() isNameValid: boolean = true;\n\n /**\n * State to check if email is valid.\n */\n @State() isEmailValid: boolean = true;\n\n @State() additionalFields?: Record<string, string> = {};\n\n /**\n * Error message state.\n */\n @State() validationError: { name: string; email: string } = { name: '', email: '' };\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {\n debug('nylas-booking-form', 'componentWillLoad', this.bookingInfo);\n if (this.bookingInfo && this.bookingInfo?.primaryParticipant) {\n this.name = this.bookingInfo.primaryParticipant?.name;\n this.email = this.bookingInfo.primaryParticipant?.email;\n }\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue.primaryParticipant) {\n this.name = newValue.primaryParticipant.name;\n this.email = newValue.primaryParticipant.email;\n }\n }\n\n /**\n * Change the name.\n * @param name The name to select.\n */\n changeName(name: string) {\n // Reset the validation error\n this.isNameValid = true;\n this.validationError.name = '';\n\n this.name = sanitizeHtml(name);\n this.nameChanged.emit(name);\n }\n\n /**\n * Change the email.\n * @param email The email to select.\n */\n changeEmail(email: string) {\n // Reset the validation error\n this.isEmailValid = true;\n this.validationError.email = '';\n\n this.email = sanitizeHtml(email);\n this.emailChanged.emit(email);\n }\n\n resetGuestEmailError(guestIndex: number) {\n const errors = { ...this.guestEmailErrors };\n delete errors[guestIndex];\n this.guestEmailErrors = { ...errors };\n }\n\n /**\n * Handle guest emails changed.\n */\n handleGuestChange = (guestIndex: number, email: string) => {\n // Reset the validation error\n this.resetGuestEmailError(guestIndex);\n const guests = [...this.guestEmails];\n guests[guestIndex] = sanitizeHtml(email);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle guest input blur.\n */\n handleGuestBlur = (guestIndex: number, email: string) => {\n this.resetGuestEmailError(guestIndex);\n\n if (email === '') {\n this.guestEmailErrors[guestIndex] = 'Email is required';\n return;\n }\n if (!emailRegex.test(email)) {\n this.guestEmailErrors[guestIndex] = 'Enter a valid email address';\n return;\n }\n this.handleGuestChange(guestIndex, email);\n };\n\n /**\n * Handle add guest button clicked.\n */\n addGuestButtonClickedHandler = e => {\n e.preventDefault();\n this.guestEmails = [...this.guestEmails, ''];\n };\n\n /**\n * Handle remove guest button clicked.\n */\n removeGuestButtonClickHandler = (e: Event, guestIndex: number) => {\n e.preventDefault();\n this.resetGuestEmailError(guestIndex);\n\n const guests = [...this.guestEmails];\n guests.splice(guestIndex, 1);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle back button clicked.\n */\n handleBackButtonClicked = () => {\n this.backButtonClicked.emit();\n };\n\n /**\n * Handle book button clicked.\n */\n bookButtonClickedHandler = async (e: Event) => {\n e.preventDefault();\n const formSubmittedEvent = this.bookingFormSubmitted.emit();\n if (formSubmittedEvent.defaultPrevented) {\n return;\n }\n\n debug('nylas-booking-form', 'bookButtonClickedHandler', this.bookingInfo);\n const name = this.name || this.bookingInfo?.primaryParticipant?.name;\n const email = this.email || this.bookingInfo?.primaryParticipant?.email;\n\n if (!name || name === '') {\n this.isNameValid = false;\n this.validationError.name = 'Name is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Name is required',\n });\n return;\n }\n if (!email || email === '') {\n this.isEmailValid = false;\n this.validationError.email = 'Email is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Email is required',\n });\n return;\n }\n if (!emailRegex.test(email)) {\n this.isEmailValid = false;\n this.validationError.email = 'Enter a valid email address';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Invalid email',\n });\n return;\n }\n\n let guests: NylasSchedulerBookingParticipant[] = [];\n if (this.guestEmails.length > 0) {\n let hasError = false;\n this.guestEmails.forEach((email: string, i: number) => {\n if (email === '') {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: 'Email is required' };\n } else if (!emailRegex.test(email)) {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: 'Enter a valid email address' };\n }\n });\n if (hasError) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Invalid guest email',\n });\n return;\n }\n guests = this.guestEmails.map((email: string) => ({ name: email.trim(), email: email.trim() }));\n } else if (this.bookingInfo?.guests) {\n guests = this.bookingInfo?.guests;\n }\n\n const bookingInfoAdditionalFields = this.bookingInfo?.additionalFields || [];\n this.detailsConfirmed.emit({\n primaryParticipant: {\n name: name,\n email: email,\n },\n guests: guests,\n additionalFields: { ...bookingInfoAdditionalFields, ...this.additionalFields },\n });\n };\n\n updateAdditionalFields = (name: string, value: string) => {\n if (this.additionalFields) {\n this.additionalFields[name] = value;\n }\n };\n\n @Listen('nylasFormInputChanged')\n nylasFormInputChangedHandler(event: CustomEvent<{ value: string; name: string; error: string; label: string; type?: string }>) {\n switch (event.detail.name) {\n case 'name':\n this.changeName(event.detail.value);\n break;\n case 'email':\n this.changeEmail(event.detail.value);\n break;\n default:\n if (event.detail.error) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: event.detail.error,\n });\n return;\n }\n this.updateAdditionalFields(event.detail.label, event.detail.value);\n break;\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n selectOptionChangedHandler(event: CustomEvent<{ value: string; name: string; label: string; error?: string }>) {\n if (event.detail.error) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: event.detail.error,\n });\n return;\n }\n this.updateAdditionalFields(event.detail.label, event.detail.value);\n }\n\n @Listen('nylasFormSwitchToggled')\n switchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.label, event.detail.checked ? 'true' : 'false');\n }\n\n @Listen('nylasFormCheckboxToggled')\n checkboxToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.label, event.detail.checked ? 'true' : 'false');\n }\n\n @Listen('nylasFormRadioChanged')\n radioChangedHandler(event: CustomEvent<{ value: string; name: string; label: string; type: string }>) {\n this.updateAdditionalFields(event.detail.label || event.detail.name, event.detail.value);\n }\n\n @RegisterComponent<NylasBookingForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-booking-form',\n stateToProps: new Map([\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.eventInfo', 'eventInfo'],\n ['scheduler.configSettings', 'configSettings'],\n ]),\n eventToProps: {\n backButtonClicked: async (_event: CustomEvent<boolean>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(false);\n },\n nameChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantName(event.detail);\n },\n emailChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantEmail(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <form onSubmit={e => this.bookButtonClickedHandler(e)} noValidate>\n <div class=\"nylas-booking-form\">\n <div class=\"input-wrapper\">\n <input-component\n label=\"Name\"\n name=\"name\"\n id=\"name\"\n defaultValue={this.bookingInfo?.primaryParticipant?.name || this.name}\n placeholder=\"Enter your name\"\n type=\"text\"\n required={true}\n part=\"nbf__input-textfield\"\n />\n </div>\n <div class=\"input-wrapper\">\n <input-component\n label=\"Email\"\n name=\"email\"\n id=\"email\"\n pattern={emailRegex}\n defaultValue={this.bookingInfo?.primaryParticipant?.email || this.email}\n placeholder=\"Enter your email\"\n type=\"email\"\n required={true}\n part=\"nbf__input-textfield\"\n />\n </div>\n {this.configSettings?.scheduler?.hide_additional_guests !== true && (\n <div class=\"input-wrapper\">\n {this.guestEmails.map((email, index) => (\n <div class=\"input-wrapper button-wrapper\">\n <label\n class={{\n error: !!this.guestEmailErrors[index],\n }}\n >\n Guest email\n </label>\n <div class=\"guest-email-input\">\n <input\n type=\"email\"\n id={`guest-email-${index}`}\n maxLength={100}\n class={{\n 'guest-email': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n placeholder=\"Enter guest email\"\n value={email}\n data-index={index}\n part=\"nbf__input-textfield\"\n onBlur={(e: Event) => this.handleGuestBlur(index, (e.target as HTMLInputElement)?.value)}\n onInput={(e: Event) => this.handleGuestChange(index, (e.target as HTMLInputElement)?.value)}\n ></input>\n <button-component\n variant=\"basic\"\n onClick={(e: Event) => this.removeGuestButtonClickHandler(e, index)}\n class={{\n 'remove-guest': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n >\n <close-icon />\n </button-component>\n </div>\n <p class=\"help-text\">{this.guestEmailErrors[index]}</p>\n </div>\n ))}\n <button-component class=\"add-guest\" variant=\"invisible\" part=\"nbf__button-ghost\" onClick={e => this.addGuestButtonClickedHandler(e)}>\n <div class=\"button-content\">\n <add-circle-icon slot=\"icon\"></add-circle-icon>\n Add {this.guestEmails.length > 0 ? 'another ' : ''}guest\n </div>\n </button-component>\n </div>\n )}\n {Object.entries(\n (this.configSettings?.scheduler?.additional_fields || {}) as Record<\n string,\n {\n required: boolean;\n type: 'email' | 'text' | 'phone_number' | 'dropdown' | 'checkbox' | 'radio_button' | 'multi_line_text';\n order: number;\n options?: string[];\n }\n >,\n )\n ?.sort((a, b) => a[1].order - b[1].order)\n .map(x => {\n const field = x[1];\n const label = x[0];\n switch (field.type) {\n case 'dropdown':\n return (\n <div class=\"input-wrapper\">\n <select-dropdown\n label={label}\n name={label}\n id={label}\n withSearch={false}\n options={field.options?.map(option => ({ value: option, label: option }))}\n required={field.required}\n part=\"nbf__input-textfield\"\n />\n </div>\n );\n case 'checkbox':\n return (\n <div class=\"input-wrapper\">\n <checkbox-component label={label} name={label} id={label} required={field.required} part=\"nbf__input-textfield\" />\n </div>\n );\n case 'radio_button':\n return (\n <div class=\"input-wrapper\">\n <radio-button-group\n label={label}\n name={label}\n id={label}\n options={field.options?.map(option => ({ value: option, label: option }))}\n required={field.required}\n part=\"nbf__input-textfield\"\n />\n </div>\n );\n case 'multi_line_text':\n return (\n <div class=\"input-wrapper\">\n <textarea-component label={label} name={label} id={label} required={field.required} part=\"nbf__input-textfield\" />\n </div>\n );\n default:\n return (\n <div class=\"input-wrapper\">\n <input-component label={label} name={label} id={label} type={field.type} required={field.required} part=\"nbf__input-textfield\" />\n </div>\n );\n }\n })}\n <slot name=\"custom-booking-form\"></slot>\n </div>\n <div class=\"cta\">\n <sp-button treatment=\"outline\" variant=\"secondary\" class={'back'} part=\"nbf__button-outline\" onClick={this.handleBackButtonClicked}>\n <slot name=\"booking-form-back-label\">Back</slot>\n </sp-button>\n <sp-button variant=\"primary\" class={'book'} part=\"nbf__button-primary\" type=\"submit\">\n {this.isLoading && <loading-icon slot=\"icon\"></loading-icon>}\n <slot name=\"booking-form-book-label\">Book now</slot>\n </sp-button>\n </div>\n </form>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n width: 400px;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.nylas-cancel-booking-form {\n display: flex;\n align-items: center;\n flex-direction: column;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.nylas-cancel-booking-form__title {\n font-size: 18px;\n font-weight: 600;\n margin-bottom: 0;\n color: var(--nylas-base-900);\n}\n\n.nylas-cancel-booking-form__description {\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 140%;\n color: var(--nylas-base-600);\n}\n\n.nylas-cancel-booking-form__calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\ncalendar-cancel-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n font-weight: 600;\n width: 100%;\n height: 48px;\n padding: 8px;\n line-height: 24px;\n font-family: var(--nylas-font-family);\n &.cancel {\n margin-top: 1.25rem;\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n &.back {\n margin-top: 0.5rem;\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n }\n}\n\nsp-field-label {\n margin-top: 1rem;\n display: flex;\n color: var(--nylas-base-800);\n font-size: 14px;\n &.error {\n color: var(--nylas-error);\n }\n span.required {\n color: var(--nylas-error);\n }\n}\nsp-textfield {\n --spectrum-textfield-border-color: var(--nylas-base-300);\n --spectrum-textfield-icon-color-invalid: var(--nylas-error);\n position: relative;\n width: 100%;\n height: 48px;\n margin-bottom: 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-500);\n &.error {\n --spectrum-textfield-border-color: var(--nylas-error);\n }\n}\n\nsp-help-text {\n margin: 0.25rem 0 1rem 0;\n color: var(--nylas-error);\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Notification, NylasSchedulerErrorResponse, Timeslot } from '@nylas/core';\nimport { ConfigSettings } from '@/stores/scheduler-store';\n\n/**\n * The `nylas-cancel-booking-form` component is a UI component that allows users to cancel a booking.\n */\n@Component({\n tag: 'nylas-cancel-booking-form',\n styleUrl: 'nylas-cancel-booking-form.scss',\n shadow: true,\n})\nexport class NylasCancelBookingForm {\n /**\n * The booking ID to cancel.\n */\n @Prop() readonly cancelBookingId!: string;\n\n /**\n * The config settings.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * The selected timeslot.\n */\n @Prop() readonly selectedTimeslot!: Timeslot;\n\n /**\n * This event is fired when the Go back button is clicked on the cancel booking form.\n */\n @Event() readonly goBackButtonClicked!: EventEmitter<void>;\n\n /**\n * This event is fired when the cancel booking form is submitted.\n */\n @Event() readonly cancelBookingFormSubmitted!: EventEmitter<{ bookingId: string; reason: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs while cancelling the booking.\n */\n @Event() readonly cancelBookedEventError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n /**\n * This event is fired when an error occurs in the booking form.\n */\n @Event() cancelBookingFormError!: EventEmitter<Partial<Notification>>;\n\n /**\n * The reason for cancellation.\n */\n @State() cancellationReason: string = '';\n\n @State() cancellationError: string = '';\n\n @State() cancellationPolicy: string = this.configSettings?.scheduler?.cancellation_policy || 'Your current timeslot will become available to others.';\n\n @Watch('configSettings')\n configSettingsChangedHandler(newValue: ConfigSettings) {\n this.cancellationPolicy = newValue?.scheduler?.cancellation_policy || 'Your current timeslot will become available to others.';\n }\n\n connectedCallback() {\n debug(`[nylas-cancel-booking-form] Component connected`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-cancel-booking-form] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-cancel-booking-form] Component did load`);\n if (!this.cancelBookingId) {\n console.warn(`[nylas-cancel-booking-form] No booking ID provided, \"cancelBookingId\" prop is required.`);\n }\n }\n\n disconnectedCallback() {\n debug(`[nylas-cancel-booking-form] Component disconnected`);\n }\n\n private handleGoBackClicked = () => {\n this.goBackButtonClicked.emit();\n };\n\n private handleSubmitCancelBooking = (event: Event) => {\n event.preventDefault();\n if (!this.cancellationReason) {\n this.cancellationError = 'Please provide a reason for cancellation.';\n this.cancelBookingFormError.emit({ title: 'Cancel booking form error', description: 'Please provide a reason for cancellation.' });\n return;\n }\n\n const minCancellationNotice = this.configSettings?.scheduler?.min_cancellation_notice;\n\n if (this.selectedTimeslot && minCancellationNotice) {\n const startTime = new Date(this.selectedTimeslot?.start_time);\n const dateTillCancellation = startTime.getTime() - minCancellationNotice * 60 * 1000;\n\n if (dateTillCancellation < new Date().getTime()) {\n this.cancelBookedEventError.emit({\n error: {\n title: 'Cancellation Error',\n message: `You cannot cancel the booking within ${minCancellationNotice} minutes of the event.`,\n },\n });\n return;\n }\n }\n\n debug(`[nylas-cancel-booking-form] Cancel booking form submitted with reason: ${this.cancellationReason}`);\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.cancelBookedEventError.emit(error);\n };\n this.cancelBookingFormSubmitted.emit({ bookingId: this.cancelBookingId, reason: this.cancellationReason, errorHandler });\n };\n\n private handleOnChangeCancellationReason = (event: Event) => {\n this.cancellationError = '';\n this.cancellationReason = (event.target as HTMLInputElement).value;\n };\n\n @RegisterComponent<NylasCancelBookingForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-cancel-booking-form',\n stateToProps: new Map([\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ]),\n eventToProps: {\n cancelBookingFormSubmitted: async (\n event: CustomEvent<{ bookingId: string; reason: string; errorHandler?: (error: NylasSchedulerErrorResponse) => void }>,\n nylasSchedulerConnector: NylasSchedulerConnector,\n ) => {\n const result = await nylasSchedulerConnector.scheduler.cancelBooking(event.detail.bookingId, event.detail.reason);\n const { errorHandler } = event.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncec\">\n <sp-theme theme=\"spectrum\" scale=\"medium\">\n <div class=\"nylas-cancel-booking-form\" part=\"ncec__card\">\n <div class=\"nylas-cancel-booking-form__calendar-icon\" part=\"ncec__icon\">\n <calendar-cancel-icon />\n </div>\n <h3 class=\"nylas-cancel-booking-form__title\" part=\"ncec__title\">\n Cancel booking?\n </h3>\n <div class=\"nylas-cancel-booking-form__description\" part=\"ncec__description\">\n {this.cancellationPolicy}\n </div>\n <form onSubmit={this.handleSubmitCancelBooking}>\n <sp-field-label for=\"cancel-reason\" class={this.cancellationError ? 'error' : ''}>\n Reason for cancellation <span class=\"required\">*</span>\n </sp-field-label>\n <sp-textfield\n id=\"cancel-reason\"\n class={this.cancellationError ? 'error' : ''}\n part=\"ncec__reason-textarea\"\n multiline\n value={this.cancellationReason}\n onInput={this.handleOnChangeCancellationReason}\n onFocus={this.handleOnChangeCancellationReason}\n invalid={!!this.cancellationError}\n >\n <sp-help-text slot=\"negative-help-text\">{this.cancellationError}</sp-help-text>\n </sp-textfield>\n <sp-button variant=\"primary\" class=\"cancel\" type=\"submit\" part=\"ncec__button-cta\">\n Cancel booking\n </sp-button>\n <sp-button variant=\"secondary\" class=\"back\" treatment=\"outline\" part=\"ncec__button-outline\" onClick={this.handleGoBackClicked}>\n Go back\n </sp-button>\n </form>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\nsp-theme {\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.nylas-cancelled-event-card {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 400px;\n @media #{$mobile} {\n width: inherit;\n }\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 4px rgba(0, 0, 0, 0.1),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n}\n\n.nylas-cancelled-event-card__title {\n font-size: 18px;\n font-weight: 600;\n line-height: 24px;\n color: var(--nylas-base-900);\n text-align: center;\n}\n\n.nylas-cancelled-event-description {\n font-size: 16px;\n font-weight: 500;\n color: var(--nylas-base-600);\n}\n\n.nylas-cancelled-event-card__calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\n.nylas-cancelled-event-card__cta {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n margin-top: 1rem;\n}\n\ncalendar-cancel-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\nsp-button {\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-700);\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n font-size: 1rem;\n height: 48px;\n padding: 8px;\n line-height: 24px;\n width: 100%;\n &:hover,\n &:focus {\n border-color: var(--nylas-primary);\n }\n &:active {\n border-color: var(--nylas-base-600);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport { NylasEvent, NylasSchedulerConnector, NylasSchedulerErrorResponse } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { ConfigSettings } from '@/stores/scheduler-store';\n\n/**\n * The `nylas-cancelled-event-card` component is a UI component that displays the cancelled event card.\n *\n * @part ncec - The cancelled event card host.\n * @part ncec__icon - The calendar icon.\n * @part ncec__title - The title of the cancelled event card.\n * @part ncec__description - The description of the cancelled event card.\n * @part ncec__button-outline - The close button CTA.\n * @part ncec__card - The cancelled event card.\n */\n@Component({\n tag: 'nylas-cancelled-event-card',\n styleUrl: 'nylas-cancelled-event-card.scss',\n shadow: true,\n})\nexport class NylasCancelledEventCard {\n /**\n * The participant's name who booked the event / is logged in.\n */\n @Prop() readonly cancelledEventInfo!: Partial<NylasEvent>;\n\n /**\n * Closing state of the cancelled event card button.\n */\n @State() isClosing: boolean = false;\n\n /**\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * This event is fired when the close button is clicked on the cancelled event card.\n */\n @Event() readonly closeCancelEventCardClicked!: EventEmitter<{ errorHandler?: (error: NylasSchedulerErrorResponse) => void }>;\n\n /**\n * This event is fired when an error occurs.\n */\n @Event() readonly cancelledEventCardError!: EventEmitter<NylasSchedulerErrorResponse>;\n\n connectedCallback() {\n debug(`[nylas-cancelled-event-card] Component connected`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-cancelled-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-cancelled-event-card] Component did load`);\n if (!this.cancelledEventInfo) {\n console.warn(`[nylas-cancelled-event-card] No cancelled event info provided, \"cancelledEventInfo\" prop is required.`);\n }\n }\n\n disconnectedCallback() {\n debug(`[nylas-cancelled-event-card] Component disconnected`);\n }\n\n private handleCloseClicked = () => {\n this.isClosing = true;\n const errorHandler = (error: NylasSchedulerErrorResponse) => {\n this.cancelledEventCardError.emit(error);\n this.isClosing = false;\n };\n this.closeCancelEventCardClicked.emit({ errorHandler });\n };\n\n @RegisterComponent<NylasCancelledEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-cancelled-event-card',\n stateToProps: new Map([['scheduler.configSettings', 'configSettings']]),\n eventToProps: {\n closeCancelEventCardClicked: async (_: CustomEvent<{ errorHandler?: (error: NylasSchedulerErrorResponse) => void }>, nylasschedulerconnector: NylasSchedulerConnector) => {\n const result = await nylasschedulerconnector.scheduler.resetCancel();\n\n const { errorHandler } = _.detail;\n if (errorHandler && (!result || 'error' in result)) {\n errorHandler(result);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"nylas-cancelled-event-card\" part=\"ncec__card\">\n <div class=\"nylas-cancelled-event-card__calendar-icon\" part=\"ncec__icon\">\n <calendar-cancel-icon />\n </div>\n <h3 class=\"nylas-cancelled-event-card__title\" part=\"ncec__title\">\n Your booking has been cancelled successfully!\n </h3>\n <div class=\"nylas-cancelled-event-card__description\" part=\"ncec__description\">\n A cancellation email has been sent to {this.configSettings?.organizer?.name || 'the participants'}.\n </div>\n <div class=\"nylas-cancelled-event-card__cta\">\n <sp-button variant=\"secondary\" treatment=\"outline\" disabled={this.isClosing} part=\"ncec__button-outline\" onClick={this.handleCloseClicked}>\n {this.isClosing ? 'Closing...' : 'Close'}\n </sp-button>\n </div>\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n min-height: 444px;\n @media #{$mobile} {\n min-height: auto;\n }\n @include default-css-variables;\n}\n\n.nylas-date-picker {\n display: flex;\n gap: 1rem;\n flex-direction: column;\n}\n\n.header {\n margin: 0 0.5rem;\n height: 48px;\n h2 {\n font-size: 1.3125rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--nylas-base-800);\n\n strong {\n font-weight: 600;\n }\n }\n}\n\n.title {\n margin: 0 -1.25rem;\n display: flex;\n flex-direction: column;\n padding: 0 1.5rem;\n gap: 0.5rem;\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n h1 {\n margin-bottom: 0;\n font-size: 18px;\n line-height: 20px;\n font-weight: 600;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n p {\n margin-top: 0;\n font-size: 16px;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n 50% {\n background-color: var(--nylas-base-100);\n }\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.dates {\n display: grid;\n justify-items: center;\n grid-template-columns: repeat(7, 1fr);\n gap: 0.5rem;\n margin-bottom: 24px;\n\n .date {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 48px;\n width: 48px;\n min-width: 2rem;\n min-height: 2rem;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n font-weight: 600;\n font-family: inherit;\n @media #{$x-small-mobile} {\n width: 38px;\n height: 38px;\n min-width: none;\n }\n\n color: var(--nylas-base-text);\n background-color: var(--nylas-base-100);\n cursor: pointer;\n\n &:hover:not(:disabled) {\n box-shadow: 0 0 0 2px var(--nylas-base-500) inset;\n }\n\n border: none;\n\n &.date.current-month {\n color: var(--nylas-base-800);\n }\n\n &.date.selected {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n font-weight: 700;\n }\n\n &.date.day-skeleton {\n color: var(--nylas-base-300);\n }\n\n &:disabled {\n color: var(--nylas-base-300);\n background-color: transparent;\n font-weight: 400;\n cursor: not-allowed;\n }\n }\n .day {\n font-size: 12px;\n color: var(--nylas-base-800);\n font-weight: 600;\n letter-spacing: 0.5px;\n height: 32px;\n display: flex;\n align-items: center;\n @media #{$mobile} {\n font-size: 14px;\n }\n }\n\n .date.day-skeleton {\n height: 48px;\n width: 48px;\n @media #{$x-small-mobile} {\n width: 38px;\n height: 38px;\n min-width: none;\n }\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n background-color: var(--nylas-base-50);\n }\n\n .date.current-day::after {\n content: '';\n position: absolute;\n bottom: 6px;\n left: 50%;\n transform: translateX(-50%);\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--nylas-base-500);\n }\n .date.current-day.selected::after {\n background-color: var(--nylas-base-100);\n }\n}\n\n.pagination {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n min-width: 92px;\n .chevron-right {\n transform: rotate(180deg);\n }\n .button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 3vh;\n width: 3vh;\n min-width: 3em;\n min-height: 3em;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n\n background-color: transparent;\n color: var(--nylas-base-800);\n cursor: pointer;\n\n &:hover {\n background-color: var(--nylas-base-50);\n }\n\n border: none;\n\n &:active {\n background-color: var(--nylas-base-100);\n }\n\n &:disabled {\n background-color: transparent;\n color: var(--nylas-base-300);\n cursor: not-allowed;\n }\n }\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n color: var(--nylas-base-500);\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { addDaysToCurrentDate, convertMinutesToHoursAndMinutes, getFirstDayOfMonth, getLastDayOfMonth, isSameDay, isSameMonth } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { timeDay } from 'd3-time';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { ConfigSettings } from '@/stores/scheduler-store';\n\n/**\n * The `nylas-date-picker` component is a UI component that allows users to select a date.\n *\n * @part ndp - The date picker host.\n * @part ndp__month-header - The month header.\n * @part ndp__month-button - The month button.\n * @part ndp__day - The day.\n * @part ndp__date - The date.\n * @part ndp__date--selected - The selected date.\n * @part ndp__date--current-day - The current day.\n * @part ndp__date--current-month - The dates in the current month.\n */\n@Component({\n tag: 'nylas-date-picker',\n styleUrl: 'nylas-date-picker.scss',\n shadow: true,\n})\nexport class NylasDatePicker {\n /**\n * The dates that are selectable.\n */\n @Prop() selectableDates?: Date[];\n\n /**\n * The selected date.\n */\n @Prop() selectedDate?: Date;\n\n /**\n * The config settings.\n */\n @Prop() configSettings?: ConfigSettings;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The event duration.\n */\n @Prop() readonly eventDuration?: number;\n\n /**\n * The month to display.\n */\n @State() month: Date = this.selectedDate || new Date();\n\n /**\n * The dates to render.\n */\n @State() dates: Date[] = this.getDates();\n\n /**\n * The state to disable the next month button.\n */\n @State() disableNextMonthButton: boolean = false;\n\n /**\n * This event is fired when a date is selected.\n */\n @Event() dateSelected!: EventEmitter<Date>;\n\n /**\n * This event is fired when the month is changed.\n */\n @Event() monthChanged!: EventEmitter<Date>;\n\n @Watch('configSettings')\n configSettingsChanged(newConfigSettings: ConfigSettings) {\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = newConfigSettings?.scheduler?.available_days_in_future;\n if (availableDaysInFuture === undefined) {\n return;\n }\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n /**\n * Get the dates to render, including the days from the previous and next months.\n * @returns The dates to render.\n */\n private getDates() {\n const lastDayOfMonth = getLastDayOfMonth(this.month);\n const firstDayOfMonth = getFirstDayOfMonth(this.month);\n\n return timeDay.range(timeDay.offset(firstDayOfMonth, -firstDayOfMonth.getDay()), timeDay.offset(lastDayOfMonth, 7 - lastDayOfMonth.getDay()));\n }\n\n /**\n * Select a date.\n * @param date The date to select.\n */\n private selectDate(date?: Date) {\n this.dateSelected.emit(date);\n }\n\n /**\n * Change the month.\n * @param change The change in months.\n */\n private changeMonth(change: number) {\n this.month = new Date(this.month.getFullYear(), this.month.getMonth() + change, 1);\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = this.configSettings?.scheduler?.available_days_in_future;\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n this.dates = this.getDates();\n this.monthChanged.emit(this.month);\n // unset selected date when changing month\n this.selectDate();\n }\n\n private isSelected(date: Date | undefined, selectedDate: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectedDate && isSameDay(date, selectedDate) && selectableDates && selectableDates?.length > 0;\n }\n\n private isDisabled(date: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectableDates?.find(d => isSameDay(d, date)) === undefined;\n }\n\n @RegisterComponent<NylasDatePicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-date-picker',\n stateToProps: new Map([\n ['scheduler.selectableDates', 'selectableDates'],\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.eventDuration', 'eventDuration'],\n ]),\n eventToProps: {\n dateSelected: async (event: CustomEvent<Date>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectDate(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ndp\">\n <div class=\"nylas-date-picker\">\n <div class=\"title\" part=\"'ndp__title\">\n {this.configSettings?.organizer?.name && (\n <h1>\n <person-icon />\n {this.configSettings?.organizer?.name || 'Organizer'}\n </h1>\n )}\n <p>\n <clock-icon />\n {this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration) : `- minutes`}\n </p>\n </div>\n <div class={'header flex-row'}>\n <h2 part={'ndp__month-header'}>\n <strong>{this.month.toLocaleDateString(undefined, { month: 'long' })}</strong>\n &nbsp;\n {this.month.toLocaleDateString(undefined, { year: 'numeric' })}\n </h2>\n <div class={'pagination'}>\n <button\n onClick={() => this.changeMonth(-1)}\n class={{ 'chevron-left': true, 'button': true }}\n disabled={!this.selectableDates?.length || this.month <= new Date()}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n <button onClick={() => this.changeMonth(1)} class={{ 'chevron-right': true, 'button': true }} disabled={this.disableNextMonthButton} part=\"ndp__month-button\">\n <chevron-icon />\n </button>\n </div>\n </div>\n\n <div class={'dates'}>\n {['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'].map(day => {\n return (\n <div class={'day'} part=\"ndp__day\">\n {day}\n </div>\n );\n })}\n {this.dates.map((date, i) => {\n const isDisabled = this.isDisabled(date, this.selectableDates);\n\n if (this.isLoading) {\n return (\n <button\n disabled\n class={{\n 'date day-skeleton': true,\n 'current-month': isSameMonth(date, this.month),\n }}\n style={{ animationDelay: `${i * 20}ms` }}\n part={'ndp__date'}\n >\n {date.getDate()}\n </button>\n );\n }\n return (\n <button\n class={{\n 'date': true,\n 'selected': !!(this.selectedDate && isSameDay(date, this.selectedDate) && this.selectableDates && this.selectableDates?.length > 0),\n 'current-day': isSameDay(date, new Date()),\n 'current-month': isSameMonth(date, this.month),\n }}\n aria-lang={date.toLocaleDateString(undefined, { dateStyle: 'full' })}\n disabled={isDisabled}\n onClick={() => this.selectDate(date)}\n part={`ndp__date ${this.isSelected(date, this.selectedDate, this.selectableDates) ? 'ndp__date--selected' : ''} ${isSameDay(date, new Date()) ? 'ndp__date--current-day' : ''} ${isSameMonth(date, this.month) ? 'ndp__date--current-month' : ''}`}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-locale-switch {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-left: none;\n border-right: none;\n color: var(--nylas-base-50);\n font-size: 14px;\n @media #{$mobile} {\n font-size: 16px;\n }\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n font-family: inherit;\n}\n\n.select-wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\nselect {\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n background-color: transparent;\n margin: 0 0 1px;\n padding: 4px;\n vertical-align: middle;\n &#timezone {\n width: 140px;\n }\n &#language {\n width: 80px;\n }\n}\n\nspan.timezone-label {\n display: flex;\n width: -webkit-fill-available;\n justify-content: space-between;\n}\n\nselect-dropdown {\n width: auto;\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n border: none;\n padding: 10px;\n}\n\nselect-dropdown::part(sd_dropdown-content) {\n max-width: 306px;\n}\n","import { LANGUAGE_MAP, TIMEZONE_MAP, getTimezoneOffset } from '@/common/constants';\nimport { RegisterComponent } from '@/common/register-component';\nimport { Component, Event, EventEmitter, Host, Listen, Prop, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../../components';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\n\n/**\n * The `nylas-locale-switch` component is a UI component that allows users to select a timezone and language.\n */\n@Component({\n tag: 'nylas-locale-switch',\n styleUrl: 'nylas-locale-switch.scss',\n shadow: true,\n})\nexport class NylasLocaleSwitch {\n /**\n * The selected timezone.\n */\n @Prop({ mutable: true }) selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected language.\n */\n @Prop({ mutable: true }) selectedLanguage: string = navigator.language;\n\n /**\n * This event is fired when the timezone is changed.\n */\n @Event() timezoneChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the language is changed.\n */\n @Event() languageChanged!: EventEmitter<string>;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n /**\n * Change the timezone.\n * @param timezone The timezone to select.\n */\n private changeTimezone(timezone: string) {\n this.selectedTimezone = timezone;\n this.timezoneChanged.emit(timezone);\n }\n\n /**\n * Change the language.\n * @param language The language to select.\n */\n private changeLanguage(language: string) {\n this.selectedLanguage = language;\n this.languageChanged.emit(language);\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.changeTimezone(value);\n } else if (name === 'language') {\n this.changeLanguage(value);\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 @RegisterComponent<NylasLocaleSwitch, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-locale-switch',\n stateToProps: new Map([\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ]),\n eventToProps: {\n timezoneChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectTimezone(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\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 languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-locale-switch\">\n <div\n class={{\n 'select-wrapper': true,\n 'timezone': true,\n }}\n >\n <select-dropdown name=\"timezone\" options={timezoneOptions} defaultSelectedOption={timezoneOptions.find(op => op.value == this.selectedTimezone)}>\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div\n class={{\n 'select-wrapper': true,\n 'language': true,\n }}\n >\n <select-dropdown name=\"language\" options={languageOptions} defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}>\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'nylas-logo',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class NylasLogo {\n @Prop() width: string = '69';\n @Prop() height: string = '24';\n\n render() {\n return (\n <svg width={this.width} height={this.height} viewBox=\"0 0 69 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_455_3543)\">\n <path\n d=\"M15.8092 3.03248C14.6497 1.86996 13.1076 1.23047 11.4646 1.23047C9.82156 1.23047 8.27753 1.86996 7.11999 3.03248L0.835347 9.33381C0.686846 9.4827 0.60498 9.68123 0.60498 9.89312C0.60498 10.105 0.686846 10.3035 0.835347 10.4524C0.983848 10.6013 1.18185 10.6834 1.39318 10.6834C1.60451 10.6834 1.80251 10.6013 1.95101 10.4524L8.23374 4.15111C10.0139 2.36627 12.9134 2.36627 14.6935 4.15111C16.4736 5.93785 16.4756 8.84322 14.6935 10.6281L8.4108 16.9275C8.10428 17.2348 8.10428 17.7368 8.4108 18.0461C8.5593 18.195 8.75731 18.2771 8.96863 18.2771C9.17996 18.2771 9.37796 18.195 9.52646 18.0461L15.8092 11.7467C16.9687 10.5841 17.6064 9.03793 17.6064 7.39053C17.6064 5.74314 16.9687 4.19501 15.8092 3.03439V3.03248Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M14.9296 7.39038C14.9296 6.46074 14.5698 5.58837 13.9148 4.93361C12.5631 3.57828 10.3641 3.57828 9.01239 4.93361L0.663961 13.3023C0.51546 13.4512 0.433594 13.6497 0.433594 13.8616C0.433594 14.0735 0.51546 14.272 0.663961 14.4209C0.812462 14.5698 1.01046 14.6519 1.22179 14.6519C1.43312 14.6519 1.63112 14.5698 1.77962 14.4209L10.0367 6.1515L10.05 6.13623C10.0747 6.10759 10.1014 6.07705 10.128 6.05033C10.1585 6.01978 10.1928 5.99115 10.2251 5.96252L10.2442 5.94534C10.9886 5.31349 12.1119 5.3593 12.8011 6.05033C13.4903 6.74135 13.536 7.78171 12.9705 8.53192L12.9648 8.53955C12.9058 8.61591 12.8544 8.67699 12.8011 8.73044C12.7497 8.78198 12.6906 8.83352 12.6069 8.90033L4.45264 17.0991C4.30414 17.248 4.22227 17.4465 4.22227 17.6584C4.22227 17.8703 4.30414 18.0689 4.45264 18.2177C4.60114 18.3666 4.79914 18.4487 5.01047 18.4487C5.2218 18.4487 5.4198 18.3666 5.5683 18.2177L13.9167 9.84716C14.5698 9.1924 14.9315 8.31812 14.9315 7.39038H14.9296Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M10.6821 9.11238C10.4727 9.01694 10.2861 8.88904 10.1281 8.7306C9.97008 8.57216 9.84252 8.38508 9.74733 8.1751L9.69021 8.05103L0.467916 17.2978C0.287049 17.4792 0.174721 17.7082 0.149971 17.9411C0.125221 18.1778 0.19376 18.3897 0.344165 18.5405C0.471724 18.6684 0.65259 18.739 0.850592 18.739C1.11142 18.739 1.37796 18.6207 1.58358 18.4145L10.8059 9.16774L10.6821 9.11047V9.11238Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M68.401 10.6185C68.2126 10.2692 67.9593 9.97334 67.6433 9.73854C67.3235 9.49993 66.956 9.31094 66.5486 9.17541C66.1316 9.03606 65.7033 8.91771 65.2749 8.81844C64.7951 8.70582 64.3039 8.57983 63.8165 8.44811C63.3196 8.31258 62.9065 8.14269 62.5905 7.94225C62.4743 7.88689 62.3391 7.76663 62.3391 7.50129C62.3391 7.39821 62.3639 7.29704 62.4153 7.19587L62.4248 7.18059C62.5352 7.02216 62.7142 6.8828 62.975 6.75109C63.234 6.62128 63.609 6.55829 64.1231 6.55829C64.5286 6.55829 64.877 6.61365 65.1569 6.72436C65.4348 6.83508 65.6652 6.96871 65.8442 7.12524C66.0212 7.27986 66.1659 7.45357 66.2782 7.63873C66.3563 7.76854 66.4267 7.89262 66.4858 8.00525L68.2754 6.84081C68.1669 6.59456 68.0146 6.33495 67.8204 6.0677C67.6033 5.768 67.3254 5.4893 66.9922 5.23732C66.659 4.98534 66.2516 4.77345 65.7813 4.60929C65.3111 4.44512 64.7532 4.36304 64.1231 4.36304C63.3844 4.36304 62.7599 4.46421 62.2706 4.66083C61.7813 4.85935 61.3815 5.09988 61.0845 5.37667C60.7875 5.65346 60.5628 5.95125 60.4143 6.2605C60.2639 6.57547 60.1611 6.85799 60.1078 7.10233C60.0945 7.18059 60.0812 7.27031 60.0678 7.36767C60.0545 7.4593 60.0469 7.5452 60.0469 7.62537C60.0469 8.13314 60.1745 8.56074 60.4239 8.89671C60.679 9.24222 61.0045 9.53429 61.391 9.76336C61.7813 9.99624 62.2116 10.1852 62.6704 10.3227C63.1388 10.462 63.5862 10.5823 64.0012 10.6796C64.4067 10.777 64.7932 10.8782 65.1531 10.9774C65.5224 11.0786 65.8289 11.2122 66.0631 11.3745C66.2801 11.5425 66.3887 11.7448 66.3887 11.9777C66.3887 12.2278 66.2916 12.4263 66.0993 12.5695C65.9279 12.6954 65.7261 12.7985 65.4958 12.8711C65.273 12.9436 65.0407 12.9913 64.8066 13.0142C64.58 13.0352 64.3915 13.0467 64.2468 13.0467C63.8032 13.0467 63.4224 13.0028 63.1197 12.915C62.8151 12.8272 62.5638 12.7241 62.3734 12.6057C62.1811 12.4874 62.0288 12.3614 61.9222 12.2316C61.8213 12.1094 61.747 12.0082 61.7014 11.9319L61.4957 11.6303L59.708 12.7928C59.8508 13.0161 60.0298 13.2643 60.2392 13.5296C60.4772 13.8293 60.7837 14.1138 61.153 14.3734C61.5224 14.633 61.966 14.8525 62.4724 15.0243C62.9788 15.1961 63.5748 15.282 64.2468 15.282C64.797 15.282 65.2901 15.2324 65.7166 15.137C66.1412 15.0396 66.5162 14.9117 66.8285 14.7552C67.1388 14.6005 67.4015 14.4192 67.6109 14.2149C67.8223 14.0107 67.9974 13.8026 68.1326 13.6003C68.4563 13.1135 68.6409 12.5504 68.6828 11.9262C68.6828 11.4069 68.5876 10.9641 68.401 10.6166V10.6185Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M26.3585 4.27905C23.7901 4.27905 21.6997 6.37504 21.6997 8.95017V15.0701H23.9291V8.95017C23.9291 7.6082 25.0181 6.5163 26.3565 6.5163C27.695 6.5163 28.784 7.6082 28.784 8.95017V15.0701H31.0134V8.95017C31.0134 6.37504 28.9229 4.27905 26.3546 4.27905H26.3585Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M53.4522 4.27905C50.4251 4.27905 47.9634 6.74728 47.9634 9.78245C47.9634 12.8176 50.427 15.2859 53.4522 15.2859C54.5545 15.2859 55.6188 14.9594 56.5288 14.3409L56.7116 14.2169V15.0682H58.941V9.78245C58.941 6.74728 56.4793 4.27905 53.4522 4.27905ZM53.4522 13.0505C51.655 13.0505 50.1928 11.5845 50.1928 9.78245C50.1928 7.98044 51.655 6.51439 53.4522 6.51439C55.2494 6.51439 56.7116 7.98044 56.7116 9.78245C56.7116 11.5845 55.2494 13.0505 53.4522 13.0505Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M45.5795 10.6166V0.356201H43.3501V10.6166C43.3501 13.1517 45.3758 15.2228 47.8908 15.2858V13.0486C46.6057 12.9875 45.5795 11.9204 45.5795 10.6166Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M39.5428 4.4967V10.63C39.5428 11.6761 38.8669 12.621 37.9016 12.9284C37.1249 13.1746 36.3157 13.0486 35.6817 12.5829C35.0592 12.1247 34.6879 11.3917 34.6879 10.6186V4.4967H32.4585V10.5995C32.4585 12.7165 33.8388 14.57 35.8131 15.1084C37.0354 15.4424 38.2995 15.2973 39.3695 14.7037L39.5428 14.6063V14.9747C39.5428 16.2766 38.5166 17.3437 37.2315 17.4067V19.6439C39.7465 19.5809 41.7722 17.5117 41.7722 14.9747V4.4967H39.5428Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_455_3543\">\n <rect width=\"68.7123\" height=\"19.2877\" fill=\"white\" transform=\"translate(0.144043 0.356201)\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n margin-bottom: -12px; // offset for the rounded border\n width: 100%;\n z-index: 1;\n @include default-css-variables;\n}\n.notif {\n display: flex;\n @media #{$mobile} {\n width: auto;\n }\n padding: 17px;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n border-radius: var(--nylas-border-radius-2x);\n border: 1.5px solid var(--nylas-error);\n background: var(--nylas-base-0);\n .content {\n display: flex;\n flex-direction: row;\n gap: 8px;\n .message {\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-800);\n .title {\n font-size: 16px;\n font-weight: 600;\n color: var(--nylas-base-950);\n display: block;\n }\n .description {\n font-size: 14px;\n font-weight: 400;\n color: var(--nylas-base-800);\n display: block;\n }\n }\n .icon {\n &.error {\n color: var(--nylas-error);\n }\n }\n }\n\n &.error {\n border-color: var(--nylas-error);\n background: rgba(255, 248, 248, 1);\n }\n &.warning {\n border-color: var(--nylas-warning);\n }\n &.info {\n border-color: var(--nylas-info);\n }\n &.success {\n border-color: var(--nylas-success);\n }\n\n .dismiss-btn {\n background: none;\n border: none;\n color: var(--nylas-base-950);\n cursor: pointer;\n }\n}\n","import { Notification } from '@nylas/core';\nimport { Component, Fragment, Host, Listen, Prop, State, h } from '@stencil/core';\nimport { debug } from '@/utils/utils';\n\n/**\n * The `nylas-notification` component is a UI component that displays notifications.\n */\n@Component({\n tag: 'nylas-notification',\n styleUrl: 'nylas-notification.scss',\n shadow: true,\n})\nexport class NylasNotification {\n /**\n * The time-to-live for notifications in milliseconds. Set to 'none' to disable auto-dismissal.\n */\n @Prop() ttl: number | 'none' = 5000;\n @Prop() allowedCategories: string[] = ['component', 'api', 'validation', 'invalid_session'];\n\n @State() notifications: Notification[] = [];\n\n @Listen('nylasSchedulerError', { target: 'body' })\n onError(event: CustomEvent<Notification>) {\n debug(`[nylas-notification] Error: ${event.detail.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerWarning', { target: 'body' })\n onWarning(event: CustomEvent<Notification>) {\n debug(`[nylas-notification] Warning: ${event.detail.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerInfo', { target: 'body' })\n onInfo(event: CustomEvent<Notification>) {\n debug(`[nylas-notification] Info: ${event.detail.title}`);\n this.handleNotification(event);\n }\n\n @Listen('nylasSchedulerSuccess', { target: 'body' })\n onSuccess(event: CustomEvent<Notification>) {\n debug(`[nylas-notification] Success: ${event.detail.title}`);\n this.handleNotification(event);\n }\n\n private handleNotification(event: CustomEvent<Notification>) {\n if (event.defaultPrevented) {\n debug(`[nylas-notification] Event default prevented`);\n return;\n }\n if (this.ttl === 0) {\n debug(`[nylas-notification] TTL is 0`);\n return;\n }\n if (this.allowedCategories.length > 0 && !this.allowedCategories.includes(event.detail.category)) {\n debug(`[nylas-notification] Category not allowed`);\n return;\n }\n\n this.notifications = [...this.notifications, { ...event.detail }];\n if (event.detail.ttl !== 'none') {\n const ttl = event.detail.ttl ? event.detail.ttl : (this.ttl as number);\n window.setTimeout(() => {\n this.notifications = this.notifications.filter(notif => notif.id !== event.detail.id);\n }, ttl);\n }\n }\n\n private dismissNotification(id: string) {\n this.notifications = this.notifications.filter(notif => notif.id !== id);\n }\n\n render() {\n return (\n <Host>\n <Fragment>\n {this.notifications.map(notif => (\n <div class={`notif ${notif.type}`} key={notif.id}>\n <div class=\"content\">\n <span class={`icon ${notif.type}`}>{(notif.type === 'error' || notif.type === 'warning') && <warning-icon />}</span>\n <span class=\"message\">\n <span class=\"title\">{notif.title}</span>\n {notif.description && <span class=\"description\">{notif.description}</span>}\n </span>\n </div>\n <button class=\"dismiss-btn\" onClick={() => this.dismissNotification(notif.id)}>\n <close-icon />\n </button>\n </div>\n ))}\n <slot />\n </Fragment>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n}\n\nsp-theme {\n position: relative;\n height: inherit;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n font-family: var(--nylas-font-family);\n}\n\n.event-card {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: calc(100% - 3rem);\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n padding: 3rem 1.5rem 1.5rem 1.5rem;\n position: relative;\n box-shadow:\n 0px 1px 3px 0px rgba(0, 0, 0, 0.1),\n 0px 1px 2px 0px rgba(0, 0, 0, 0.06);\n @media #{$mobile} {\n margin-bottom: 2rem;\n }\n}\n\n.nylas-selected-event-card__date {\n font-size: min(max(16px, 3vw), 18px);\n font-weight: 600;\n}\n\n.nylas-selected-event-card__time {\n font-size: 16px;\n font-weight: 500;\n}\n\n.calendar-icon {\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n position: absolute;\n top: -1.25rem;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--nylas-base-0);\n border: 1px solid var(--nylas-base-200);\n}\n\ncalendar-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\n.event-timezone {\n display: flex;\n color: var(--nylas-base-600);\n margin-bottom: 8px;\n @media #{$mobile} {\n margin-bottom: 16px;\n }\n gap: 4px;\n align-items: center;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\nimport type { NylasSchedulerConnector } from '../../..';\nimport type { Timeslot } from '@nylas/core';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { TIMEZONE_MAP } from '@/common/constants';\n\n/**\n * The `nylas-selected-event-card` component is a UI component that displays the selected event card.\n *\n * @part nsec - The selected event card component.\n * @part nsec__card - The card component.\n * @part nsec__icon - The calendar icon.\n * @part nsec__date - The date selected.\n * @part nsec__time - The timeslot selected.\n * @part nsec__timezone - The timezone selected.\n */\n@Component({\n tag: 'nylas-selected-event-card',\n styleUrl: 'nylas-selected-event-card.scss',\n shadow: true,\n})\nexport class NylasSelectedEventCard {\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date;\n\n /**\n * The selected time.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /***\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n @State() startTime: string = '';\n @State() endTime: string = '';\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-selected-event-card] Component will load`);\n }\n\n async componentDidLoad() {\n debug(`[nylas-selected-event-card] Component did load`);\n if (!this.selectedDate) {\n console.warn('[nylas-selected-event-card] \"selectedDate\" prop is not provided.');\n }\n if (!this.selectedTimeslot) {\n console.warn('[nylas-selected-event-card] \"selectedTimeslot\" prop is not provided.');\n }\n }\n\n @Watch('selectedTimeslot')\n handleSelectedTimeslotChange(selectedTimeslot: Timeslot) {\n this.startTime = new Date(selectedTimeslot?.start_time as Date).toLocaleString(undefined, { timeStyle: 'short' });\n this.endTime = new Date(selectedTimeslot?.end_time as Date).toLocaleString(undefined, { timeStyle: 'short' });\n }\n\n @RegisterComponent<NylasSelectedEventCard, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-selected-event-card',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"nsec\">\n <sp-theme theme=\"spectrum\" color=\"dark\" scale=\"medium\">\n <div class=\"event-card\" part=\"nsec__card\">\n <div class=\"calendar-icon\" part=\"nsec__icon\">\n <calendar-icon />\n </div>\n <div class=\"nylas-selected-event-card__date\" part=\"nsec__date\">\n {this.selectedDate?.toLocaleDateString(undefined, { dateStyle: 'full' })}\n </div>\n <div class=\"nylas-selected-event-card__time\" part=\"nsec__time\">\n {this.startTime} - {this.endTime}\n </div>\n </div>\n <div class=\"event-timezone\" part=\"nsec__timezone\">\n <globe-icon></globe-icon>\n {TIMEZONE_MAP[this.selectedTimezone]}\n </div>\n </sp-theme>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n height: calc(100% - 48px); //48px is the height of the header\n}\n\n.time-picker-wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.timeslots {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n align-items: center;\n overflow-y: scroll;\n padding: 0.5rem 1.5rem 1.5rem;\n flex: 1;\n}\n\n.time {\n /* Frame 12 */\n box-sizing: border-box;\n\n /* Auto layout */\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 4px 12px;\n gap: 0.5rem;\n font-size: 16px;\n font-weight: 500;\n font-family: inherit;\n\n width: 100%;\n height: 48px;\n\n color: var(--nylas-base-800);\n background: var(--nylas-base-0);\n border: none;\n outline: 1.5px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n\n flex: none;\n order: 4;\n align-self: stretch;\n flex-grow: 0;\n\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: var(--nylas-primary);\n outline-color: var(--nylas-primary);\n }\n\n &.selected {\n font-weight: 600;\n color: var(--nylas-primary);\n outline: 2px solid var(--nylas-primary);\n border-color: transparent;\n box-shadow: 0 0 0 2px var(--nylas-primary);\n }\n}\n\n.empty {\n text-align: center;\n padding: 0 1.5rem;\n color: var(--nylas-base-600);\n font-size: min(max(12px, 2vw), 14px);\n height: 450px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n\n 50% {\n background-color: var(--nylas-base-100);\n }\n\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.loading {\n padding: 0 1.5rem;\n\n .timeslot-skeleton {\n width: 100%;\n height: 4rem;\n background-color: var(--nylas-base-50);\n margin-bottom: 0.5rem;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n }\n}\n\n.footer {\n width: 100%;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n\n sp-button {\n padding: 14px;\n color: var(--nylas-base-100);\n border-radius: var(--nylas-border-radius-2x);\n width: 100%;\n height: 48px;\n font-weight: 600;\n font-size: 16px;\n background-color: var(--nylas-primary);\n border: none;\n\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}","import { RegisterComponent } from '@/common/register-component';\nimport { debug, isSameDay } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { AvailabilityTimeslot } from '@/stores/scheduler-store';\nimport type { Timeslot } from '@nylas/core';\n\n/**\n * The `nylas-timeslot-picker` component is a UI component that allows users to select a timeslot from a list of available timeslots.\n *\n * @slot timeslot-picker-cta-label - The label for the timeslot picker CTA. Default is \"Next\".\n * @part ntp - The timeslot picker component.\n * @part ntp__timeslot - The timeslot button.\n * @part ntp__timeslot--selected - The selected timeslot button.\n * @part ntp__button-primary - The timeslot picker CTA.\n */\n@Component({\n tag: 'nylas-timeslot-picker',\n styleUrl: 'nylas-timeslot-picker.scss',\n shadow: true,\n})\nexport class NylasTimeslotPicker {\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date = new Date();\n /**\n * The available timeslots.\n */\n @Prop({ attribute: 'availability' }) readonly availability?: AvailabilityTimeslot[];\n /**\n * The selected timeslot.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /**\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop({ attribute: 'loading-state' }) readonly isLoading?: boolean;\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * This event is fired when a timeslot is selected.\n */\n @Event() readonly timeslotSelected!: EventEmitter<Timeslot>;\n /**\n * This event is fired when a timeslot is confirmed. By default, this will proceed to the booking form page.\n */\n @Event() readonly timeslotConfirmed!: EventEmitter<Timeslot>;\n\n @State() times: AvailabilityTimeslot[] = [];\n @State() hoveredTimeslotIndex?: number;\n @State() selectedTimeslotIndex?: string;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n const availableTimes = this.availability?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n debug(`[nylas-timeslot-picker] Component will load`, { selectedDate: this.selectedDate, availability: this.availability, times: this.times });\n }\n\n async componentDidLoad() {\n debug(`[nylas-timeslot-picker] Component did load`);\n }\n\n private getTimeslotId(date: Date, index: number) {\n return `${date.toLocaleDateString()}-${index}`;\n }\n\n private onClickSelectTime(timeslot: Timeslot, index: number) {\n debug(`[nylas-timeslot-picker] Time selected`, timeslot, index);\n this.selectedTimeslotIndex = this.getTimeslotId(timeslot.start_time, index);\n this.timeslotSelected.emit({\n start_time: timeslot.start_time,\n end_time: timeslot.end_time,\n emails: timeslot.emails,\n });\n }\n\n private handleConfirmedTimeslot = async (event: Event, timeslot: Timeslot | undefined) => {\n event.preventDefault();\n debug(`[nylas-timeslot-picker] Confirm timeslot`, timeslot);\n this.timeslotConfirmed.emit(timeslot);\n };\n\n private handleMouseEnter = (index: number) => {\n this.hoveredTimeslotIndex = index;\n };\n\n private handleMouseLeave = () => {\n this.hoveredTimeslotIndex = -1;\n };\n\n private getTimeSlotLabel(timeslot: Timeslot) {\n const timeFormat = new Intl.DateTimeFormat('en-US', {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: this.selectedTimezone,\n });\n return `${timeFormat.format(timeslot.start_time)} - ${timeFormat.format(timeslot.end_time)}`;\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newVal: Date | null | undefined) {\n debug(`[nylas-timeslot-picker] Selected date changed`, { newVal });\n\n if (newVal) {\n this.selectedTimeslotIndex = '';\n if (typeof newVal !== 'undefined') {\n const availableTimes = this.availability?.filter(timeslot => isSameDay(timeslot.start_time, newVal)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n }\n\n @Watch('availability')\n availabilityChanged(newVal: AvailabilityTimeslot[] | undefined) {\n debug(`[nylas-timeslot-picker] Available times changed`, { newVal, selectedDate: this.selectedDate });\n\n if (typeof newVal !== 'undefined') {\n const availableTimes = newVal?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n\n @RegisterComponent<NylasTimeslotPicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-timeslot-picker',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.availability', 'availability'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.isLoading', 'isLoading'],\n ]),\n eventToProps: {\n timeslotSelected: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectTime(event.detail);\n },\n timeslotConfirmed: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n if (event.detail) {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(true);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n if (this.isLoading) {\n return (\n <Host>\n <div class={'loading'}>\n {new Array(6).fill(0).map((_, i) => (\n <div class={'timeslot-skeleton'} style={{ animationDelay: `${i * 20}ms` }} />\n ))}\n </div>\n </Host>\n );\n }\n\n if (this.availability && this.availability.length === 0) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No dates available</span>\n </div>\n </Host>\n );\n }\n\n if ((!this.times || this.times.length === 0) && !!this.selectedDate) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No time slots available for selected date</span>\n </div>\n </Host>\n );\n }\n\n if (!this.selectedDate) return <Host></Host>;\n\n return (\n <Host part=\"ntp\">\n <div class={'time-picker-wrapper'}>\n <div class={'timeslots'}>\n {this.times.map((timeslot, index) => (\n <button\n part={`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`}\n aria-role=\"button\"\n class={{\n time: true,\n selected: typeof this.selectedTimeslot !== 'undefined' && this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime(),\n }}\n onClick={() => this.onClickSelectTime(timeslot, index)}\n onMouseEnter={() => this.handleMouseEnter(index)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n {this.hoveredTimeslotIndex == index || this.selectedTimeslotIndex == this.getTimeslotId(timeslot.start_time, index)\n ? this.getTimeSlotLabel(timeslot)\n : timeslot.start_time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', timeZone: this.selectedTimezone })}\n </button>\n ))}\n </div>\n {this.selectedTimeslot && (\n <div class={'footer'}>\n <sp-button variant=\"primary\" onClick={(event: Event) => this.handleConfirmedTimeslot(event, this.selectedTimeslot)} part=\"ntp__button-primary\">\n <slot name=\"timeslot-picker-cta-label\">Next</slot>\n </sp-button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as C,h as s}from"./p-68c2fadf.js";const t=".sc-globe-icon-h{display:flex}";const e=t;const o=class{constructor(s){C(this,s);this.width="16";this.height="16"}render(){return s("svg",{key:"df3af4f07fe73bfcb1d8b1c118696707293536b4",xmlns:"http://www.w3.org/2000/svg",width:this.width,height:this.height,viewBox:"0 0 16 16",fill:"none"},s("path",{key:"821b95d4acb8fe1da356d539bacfea42843d929e",d:"M8 14C11.3137 14 14 11.3137 14 8C14 4.68629 11.3137 2 8 2C4.68629 2 2 4.68629 2 8C2 11.3137 4.68629 14 8 14ZM8 3C8.37372 3 8.87543 3.35608 9.31258 4.31781C9.4073 4.52619 9.49448 4.75446 9.57265 5H6.42735C6.50552 4.75446 6.5927 4.52619 6.68742 4.31781C7.12457 3.35608 7.62628 3 8 3ZM5.77705 3.90401C5.62614 4.23601 5.49428 4.6038 5.38411 5H3.99963C4.52341 4.30269 5.22525 3.74677 6.03766 3.39978C5.94287 3.56117 5.85596 3.7304 5.77705 3.90401ZM5.16299 6C5.05694 6.6275 5 7.30146 5 8C5 8.69854 5.05694 9.3725 5.16299 10H3.41604C3.14845 9.38754 3 8.7111 3 8C3 7.2889 3.14845 6.61246 3.41604 6H5.16299ZM5.38411 11C5.49428 11.3962 5.62614 11.764 5.77705 12.096C5.85596 12.2696 5.94287 12.4388 6.03766 12.6002C5.22525 12.2532 4.52341 11.6973 3.99963 11H5.38411ZM6.42735 11H9.57265C9.49448 11.2455 9.4073 11.4738 9.31258 11.6822C8.87543 12.6439 8.37372 13 8 13C7.62628 13 7.12457 12.6439 6.68742 11.6822C6.5927 11.4738 6.50552 11.2455 6.42735 11ZM9.82134 10H6.17866C6.06438 9.3892 6 8.71396 6 8C6 7.28604 6.06438 6.6108 6.17866 6H9.82134C9.93562 6.6108 10 7.28604 10 8C10 8.71396 9.93562 9.3892 9.82134 10ZM10.6159 11H12.0004C11.4766 11.6973 10.7747 12.2532 9.96234 12.6002C10.0571 12.4388 10.144 12.2696 10.2229 12.096C10.3739 11.764 10.5057 11.3962 10.6159 11ZM12.584 10H10.837C10.9431 9.3725 11 8.69854 11 8C11 7.30146 10.9431 6.6275 10.837 6H12.584C12.8516 6.61246 13 7.2889 13 8C13 8.7111 12.8516 9.38754 12.584 10ZM9.96234 3.39978C10.7747 3.74677 11.4766 4.30269 12.0004 5H10.6159C10.5057 4.6038 10.3739 4.23601 10.2229 3.90401C10.144 3.7304 10.0571 3.56117 9.96234 3.39978Z",fill:"currentColor"}))}};o.style=e;export{o as globe_icon};
2
- //# sourceMappingURL=p-052bc3b1.entry.js.map
1
+ import{r as C,h as s}from"./p-68c2fadf.js";const t=".sc-globe-icon-h{display:flex}";const e=t;const o=class{constructor(s){C(this,s);this.width="16";this.height="16"}render(){return s("svg",{key:"ec642b0d935a6beb65806088a72133496a34a1e4",xmlns:"http://www.w3.org/2000/svg",width:this.width,height:this.height,viewBox:"0 0 16 16",fill:"none"},s("path",{key:"d2430b66983aaf52ebd0df5a79ac9709c489794b",d:"M8 14C11.3137 14 14 11.3137 14 8C14 4.68629 11.3137 2 8 2C4.68629 2 2 4.68629 2 8C2 11.3137 4.68629 14 8 14ZM8 3C8.37372 3 8.87543 3.35608 9.31258 4.31781C9.4073 4.52619 9.49448 4.75446 9.57265 5H6.42735C6.50552 4.75446 6.5927 4.52619 6.68742 4.31781C7.12457 3.35608 7.62628 3 8 3ZM5.77705 3.90401C5.62614 4.23601 5.49428 4.6038 5.38411 5H3.99963C4.52341 4.30269 5.22525 3.74677 6.03766 3.39978C5.94287 3.56117 5.85596 3.7304 5.77705 3.90401ZM5.16299 6C5.05694 6.6275 5 7.30146 5 8C5 8.69854 5.05694 9.3725 5.16299 10H3.41604C3.14845 9.38754 3 8.7111 3 8C3 7.2889 3.14845 6.61246 3.41604 6H5.16299ZM5.38411 11C5.49428 11.3962 5.62614 11.764 5.77705 12.096C5.85596 12.2696 5.94287 12.4388 6.03766 12.6002C5.22525 12.2532 4.52341 11.6973 3.99963 11H5.38411ZM6.42735 11H9.57265C9.49448 11.2455 9.4073 11.4738 9.31258 11.6822C8.87543 12.6439 8.37372 13 8 13C7.62628 13 7.12457 12.6439 6.68742 11.6822C6.5927 11.4738 6.50552 11.2455 6.42735 11ZM9.82134 10H6.17866C6.06438 9.3892 6 8.71396 6 8C6 7.28604 6.06438 6.6108 6.17866 6H9.82134C9.93562 6.6108 10 7.28604 10 8C10 8.71396 9.93562 9.3892 9.82134 10ZM10.6159 11H12.0004C11.4766 11.6973 10.7747 12.2532 9.96234 12.6002C10.0571 12.4388 10.144 12.2696 10.2229 12.096C10.3739 11.764 10.5057 11.3962 10.6159 11ZM12.584 10H10.837C10.9431 9.3725 11 8.69854 11 8C11 7.30146 10.9431 6.6275 10.837 6H12.584C12.8516 6.61246 13 7.2889 13 8C13 8.7111 12.8516 9.38754 12.584 10ZM9.96234 3.39978C10.7747 3.74677 11.4766 4.30269 12.0004 5H10.6159C10.5057 4.6038 10.3739 4.23601 10.2229 3.90401C10.144 3.7304 10.0571 3.56117 9.96234 3.39978Z",fill:"currentColor"}))}};o.style=e;export{o as globe_icon};
2
+ //# sourceMappingURL=p-7e08f131.entry.js.map