@nylas/web-elements 1.1.0-canary.15 → 1.1.0-canary.17

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 (732) hide show
  1. package/dist/cjs/add-circle-icon.cjs.entry.js +1 -1
  2. package/dist/cjs/add-circle-icon_2.cjs.entry.js +11 -18
  3. package/dist/cjs/add-circle-icon_2.cjs.entry.js.map +1 -1
  4. package/dist/cjs/archive-icon.cjs.entry.js +1 -1
  5. package/dist/cjs/archive-icon_7.cjs.entry.js +7 -7
  6. package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
  7. package/dist/cjs/bold-icon.cjs.entry.js +1 -1
  8. package/dist/cjs/bold-icon_3.cjs.entry.js +3 -3
  9. package/dist/cjs/button-component.cjs.entry.js +1 -1
  10. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +1 -1
  11. package/dist/cjs/calendar-check-icon.cjs.entry.js +1 -1
  12. package/dist/cjs/calendar-check-icon_2.cjs.entry.js +2 -2
  13. package/dist/cjs/calendar-icon.cjs.entry.js +1 -1
  14. package/dist/cjs/calendar-info-icon.cjs.entry.js +1 -1
  15. package/dist/cjs/{calendar-info-icon_25.cjs.entry.js → calendar-info-icon_28.cjs.entry.js} +419 -397
  16. package/dist/cjs/calendar-info-icon_28.cjs.entry.js.map +1 -0
  17. package/dist/cjs/calendar-patterns-icon.cjs.entry.js +1 -1
  18. package/dist/cjs/checkbox-component.cjs.entry.js +1 -1
  19. package/dist/cjs/checkbox-component.cjs.entry.js.map +1 -1
  20. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
  21. package/dist/cjs/chevron-icon.cjs.entry.js +1 -1
  22. package/dist/cjs/chevron-icon_3.cjs.entry.js +4 -4
  23. package/dist/cjs/clock-icon.cjs.entry.js +1 -1
  24. package/dist/cjs/clock-icon_2.cjs.entry.js +2 -2
  25. package/dist/cjs/close-icon.cjs.entry.js +1 -1
  26. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/flow-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/folder-icon.cjs.entry.js +1 -1
  29. package/dist/cjs/forward-icon.cjs.entry.js +1 -1
  30. package/dist/cjs/forward-icon_6.cjs.entry.js +7 -7
  31. package/dist/cjs/globe-icon.cjs.entry.js +1 -1
  32. package/dist/cjs/google-logo-icon.cjs.entry.js +1 -1
  33. package/dist/cjs/google-logo-icon_4.cjs.entry.js +101 -78
  34. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
  35. package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
  36. package/dist/cjs/index-7af03e3f.js +12 -20
  37. package/dist/cjs/index-c14ea8f5.js +22 -18
  38. package/dist/cjs/info-icon.cjs.entry.js +1 -1
  39. package/dist/cjs/info-icon_2.cjs.entry.js +2 -2
  40. package/dist/cjs/input-component.cjs.entry.js +1 -1
  41. package/dist/cjs/input-dropdown.cjs.entry.js +21 -4
  42. package/dist/cjs/input-dropdown.cjs.entry.js.map +1 -1
  43. package/dist/cjs/input-dropdown_2.cjs.entry.js +22 -5
  44. package/dist/cjs/input-dropdown_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/italic-icon.cjs.entry.js +1 -1
  46. package/dist/cjs/loader.cjs.js +1 -1
  47. package/dist/cjs/loading-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/location-icon.cjs.entry.js +1 -1
  49. package/dist/cjs/location-off-icon.cjs.entry.js +1 -1
  50. package/dist/cjs/microsoft-logo-icon.cjs.entry.js +1 -1
  51. package/dist/cjs/multi-select-dropdown.cjs.entry.js +2 -2
  52. package/dist/cjs/nylas-additional-participants.cjs.entry.js +38 -14
  53. package/dist/cjs/nylas-additional-participants.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nylas-availability-picker.cjs.entry.js +27 -16
  55. package/dist/cjs/nylas-availability-picker.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +6 -6
  57. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nylas-booking-form.cjs.entry.js +2 -2
  59. package/dist/cjs/nylas-booking-form.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +1 -1
  61. package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +1 -1
  62. package/dist/cjs/nylas-composer.cjs.entry.js +1 -1
  63. package/dist/cjs/nylas-customize-booking-settings.cjs.entry.js +4 -4
  64. package/dist/cjs/nylas-customize-booking-settings.cjs.entry.js.map +1 -1
  65. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +99 -76
  66. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nylas-if-state.cjs.entry.js +1 -1
  68. package/dist/cjs/nylas-list-folders.cjs.entry.js +1 -1
  69. package/dist/cjs/nylas-list-threads.cjs.entry.js +1 -1
  70. package/dist/cjs/nylas-login.cjs.entry.js +1 -1
  71. package/dist/cjs/nylas-logo.cjs.entry.js +1 -1
  72. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +1 -1
  73. package/dist/cjs/nylas-mailbox.cjs.entry.js +1 -1
  74. package/dist/cjs/nylas-notification.cjs.entry.js +1 -1
  75. package/dist/cjs/nylas-participants-custom-availability.cjs.entry.js +142 -0
  76. package/dist/cjs/nylas-participants-custom-availability.cjs.entry.js.map +1 -0
  77. package/dist/cjs/nylas-provider.cjs.entry.js +2 -2
  78. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +4 -2
  79. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  80. package/dist/cjs/nylas-scheduling.cjs.entry.js +1 -1
  81. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  82. package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +2 -2
  83. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +2 -2
  84. package/dist/cjs/nylas-threads-search.cjs.entry.js +1 -1
  85. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +1 -1
  86. package/dist/cjs/nylas-timeslot-interval.cjs.entry.js +2 -2
  87. package/dist/cjs/nylas-view-email.cjs.entry.js +1 -1
  88. package/dist/cjs/nylas-view-thread.cjs.entry.js +1 -1
  89. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  90. package/dist/cjs/people-icon.cjs.entry.js +1 -1
  91. package/dist/cjs/person-icon.cjs.entry.js +1 -1
  92. package/dist/cjs/play-icon.cjs.entry.js +1 -1
  93. package/dist/cjs/play-icon_2.cjs.entry.js +2 -2
  94. package/dist/cjs/radio-button-group.cjs.entry.js +1 -1
  95. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  96. package/dist/cjs/reply-all-icon.cjs.entry.js +1 -1
  97. package/dist/cjs/reply-icon.cjs.entry.js +1 -1
  98. package/dist/cjs/{scheduler-config-store-a5b7c08b.js → scheduler-config-store-0266631b.js} +2 -1
  99. package/dist/cjs/scheduler-config-store-0266631b.js.map +1 -0
  100. package/dist/cjs/{scheduler-config-store-918c20d5.js → scheduler-config-store-9f19c7a9.js} +2 -1
  101. package/dist/cjs/scheduler-config-store-9f19c7a9.js.map +1 -0
  102. package/dist/cjs/scheduler-store-0f7328f1.js.map +1 -1
  103. package/dist/cjs/scheduler-store-743ed238.js.map +1 -1
  104. package/dist/cjs/search-icon.cjs.entry.js +1 -1
  105. package/dist/cjs/select-dropdown.cjs.entry.js +2 -2
  106. package/dist/cjs/sent-icon.cjs.entry.js +1 -1
  107. package/dist/cjs/spam-icon.cjs.entry.js +1 -1
  108. package/dist/cjs/star-icon.cjs.entry.js +1 -1
  109. package/dist/cjs/stop-icon.cjs.entry.js +1 -1
  110. package/dist/cjs/textarea-component.cjs.entry.js +1 -1
  111. package/dist/cjs/time-period-selector.cjs.entry.js +1 -1
  112. package/dist/cjs/toggle-switch.cjs.entry.js +1 -1
  113. package/dist/cjs/toggle-switch.cjs.entry.js.map +1 -1
  114. package/dist/cjs/tooltip-component.cjs.entry.js +1 -1
  115. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  116. package/dist/cjs/trash-icon.cjs.entry.js +1 -1
  117. package/dist/cjs/underline-icon.cjs.entry.js +1 -1
  118. package/dist/cjs/warning-icon.cjs.entry.js +1 -1
  119. package/dist/collection/collection-manifest.json +1 -0
  120. package/dist/collection/common/icons/add-circle.js +1 -1
  121. package/dist/collection/common/icons/archive.js +1 -1
  122. package/dist/collection/common/icons/arrow.js +1 -1
  123. package/dist/collection/common/icons/bold.js +1 -1
  124. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  125. package/dist/collection/common/icons/calendar-check.js +1 -1
  126. package/dist/collection/common/icons/calendar-info.js +1 -1
  127. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  128. package/dist/collection/common/icons/calendar.js +1 -1
  129. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  130. package/dist/collection/common/icons/chevron.js +1 -1
  131. package/dist/collection/common/icons/clock.js +1 -1
  132. package/dist/collection/common/icons/close.js +1 -1
  133. package/dist/collection/common/icons/document-refresh.js +1 -1
  134. package/dist/collection/common/icons/flow.js +1 -1
  135. package/dist/collection/common/icons/folder.js +1 -1
  136. package/dist/collection/common/icons/forward.js +1 -1
  137. package/dist/collection/common/icons/globe.js +1 -1
  138. package/dist/collection/common/icons/google-logo.js +1 -1
  139. package/dist/collection/common/icons/inbox.js +1 -1
  140. package/dist/collection/common/icons/info.js +1 -1
  141. package/dist/collection/common/icons/italic.js +1 -1
  142. package/dist/collection/common/icons/loading.js +1 -1
  143. package/dist/collection/common/icons/location-off.js +1 -1
  144. package/dist/collection/common/icons/location.js +1 -1
  145. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  146. package/dist/collection/common/icons/nylas-logo.js +1 -1
  147. package/dist/collection/common/icons/people.js +1 -1
  148. package/dist/collection/common/icons/person.js +1 -1
  149. package/dist/collection/common/icons/play.js +1 -1
  150. package/dist/collection/common/icons/refresh.js +1 -1
  151. package/dist/collection/common/icons/reply-all.js +1 -1
  152. package/dist/collection/common/icons/reply.js +1 -1
  153. package/dist/collection/common/icons/search.js +1 -1
  154. package/dist/collection/common/icons/sent.js +1 -1
  155. package/dist/collection/common/icons/spam.js +1 -1
  156. package/dist/collection/common/icons/star.js +1 -1
  157. package/dist/collection/common/icons/stop.js +1 -1
  158. package/dist/collection/common/icons/translate.js +1 -1
  159. package/dist/collection/common/icons/trash.js +1 -1
  160. package/dist/collection/common/icons/underline.js +1 -1
  161. package/dist/collection/common/icons/warning.js +1 -1
  162. package/dist/collection/components/design-system/button-component/button-component.js +1 -1
  163. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js +1 -1
  164. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js.map +1 -1
  165. package/dist/collection/components/design-system/input-component/input-component.js +1 -1
  166. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +40 -3
  167. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js.map +1 -1
  168. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  169. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js +1 -1
  170. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +2 -2
  171. package/dist/collection/components/design-system/textarea-component/textarea-component.js +1 -1
  172. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  173. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js +1 -1
  174. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js.map +1 -1
  175. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  176. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  177. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  178. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  179. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  180. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +1 -1
  181. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  182. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  183. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  184. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  185. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  186. package/dist/collection/components/nylas-if-state/nylas-if-state.js +1 -1
  187. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  188. package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
  189. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +2 -2
  190. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
  191. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +2 -2
  192. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +2 -2
  193. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +1 -1
  194. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  195. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.css +1 -0
  196. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.css +20 -1
  197. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +83 -13
  198. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  199. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.css +1 -1
  200. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +48 -25
  201. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  202. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js +5 -5
  203. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js.map +1 -1
  204. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +95 -76
  205. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  206. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +2 -0
  207. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -1
  208. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.css +98 -0
  209. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +219 -0
  210. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js.map +1 -0
  211. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +26 -3
  212. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  213. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +1 -1
  214. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +2 -2
  215. package/dist/collection/stores/scheduler-config-store.js +1 -0
  216. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  217. package/dist/collection/stores/scheduler-store.js.map +1 -1
  218. package/dist/components/add-circle.js +1 -1
  219. package/dist/components/archive.js +1 -1
  220. package/dist/components/arrow.js +1 -1
  221. package/dist/components/bold.js +1 -1
  222. package/dist/components/button-component2.js +1 -1
  223. package/dist/components/calendar-cancel.js +1 -1
  224. package/dist/components/calendar-check.js +1 -1
  225. package/dist/components/calendar-info.js +1 -1
  226. package/dist/components/calendar-patterns.js +1 -1
  227. package/dist/components/calendar.js +1 -1
  228. package/dist/components/checkbox-component2.js +1 -1
  229. package/dist/components/checkbox-component2.js.map +1 -1
  230. package/dist/components/checkmark-circle.js +1 -1
  231. package/dist/components/chevron.js +1 -1
  232. package/dist/components/clock.js +1 -1
  233. package/dist/components/close.js +1 -1
  234. package/dist/components/document-refresh-icon.js +1 -1
  235. package/dist/components/flow.js +1 -1
  236. package/dist/components/folder.js +1 -1
  237. package/dist/components/forward.js +1 -1
  238. package/dist/components/globe.js +1 -1
  239. package/dist/components/google-logo.js +1 -1
  240. package/dist/components/inbox.js +1 -1
  241. package/dist/components/info.js +1 -1
  242. package/dist/components/input-component2.js +1 -1
  243. package/dist/components/input-dropdown2.js +24 -5
  244. package/dist/components/input-dropdown2.js.map +1 -1
  245. package/dist/components/italic.js +1 -1
  246. package/dist/components/loading.js +1 -1
  247. package/dist/components/location-off.js +1 -1
  248. package/dist/components/location.js +1 -1
  249. package/dist/components/microsoft-logo.js +1 -1
  250. package/dist/components/multi-select-dropdown2.js +2 -2
  251. package/dist/components/nylas-additional-participants.js +1 -127
  252. package/dist/components/nylas-additional-participants.js.map +1 -1
  253. package/dist/components/nylas-additional-participants2.js +168 -0
  254. package/dist/components/nylas-additional-participants2.js.map +1 -0
  255. package/dist/components/nylas-availability-picker2.js +28 -16
  256. package/dist/components/nylas-availability-picker2.js.map +1 -1
  257. package/dist/components/nylas-booking-form2.js +2 -2
  258. package/dist/components/nylas-booking-form2.js.map +1 -1
  259. package/dist/components/nylas-cancel-booking-form2.js +1 -1
  260. package/dist/components/nylas-cancelled-event-card2.js +1 -1
  261. package/dist/components/nylas-composer2.js +1 -1
  262. package/dist/components/nylas-customize-booking-settings2.js +4 -4
  263. package/dist/components/nylas-customize-booking-settings2.js.map +1 -1
  264. package/dist/components/nylas-editor-tabs2.js +197 -150
  265. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  266. package/dist/components/nylas-if-state.js +1 -1
  267. package/dist/components/nylas-list-folders.js +1 -1
  268. package/dist/components/nylas-list-threads.js +1 -1
  269. package/dist/components/nylas-login.js +1 -1
  270. package/dist/components/nylas-logo2.js +1 -1
  271. package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
  272. package/dist/components/nylas-mailbox.js +1 -1
  273. package/dist/components/nylas-notification2.js +1 -1
  274. package/dist/components/nylas-participants-custom-availability.d.ts +11 -0
  275. package/dist/components/nylas-participants-custom-availability.js +8 -0
  276. package/dist/components/nylas-participants-custom-availability.js.map +1 -0
  277. package/dist/components/nylas-participants-custom-availability2.js +218 -0
  278. package/dist/components/nylas-participants-custom-availability2.js.map +1 -0
  279. package/dist/components/nylas-provider.js +1 -1
  280. package/dist/components/nylas-scheduler-editor.js +112 -85
  281. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  282. package/dist/components/nylas-scheduling.js +1 -1
  283. package/dist/components/nylas-scheduling.js.map +1 -1
  284. package/dist/components/nylas-summarize-message-button2.js +2 -2
  285. package/dist/components/nylas-threads-refresh.js +2 -2
  286. package/dist/components/nylas-threads-search.js +1 -1
  287. package/dist/components/nylas-time-window-picker2.js +1 -1
  288. package/dist/components/nylas-timeslot-interval2.js +2 -2
  289. package/dist/components/nylas-view-email2.js +1 -1
  290. package/dist/components/nylas-view-thread.js +1 -1
  291. package/dist/components/people-icon.js +1 -32
  292. package/dist/components/people-icon.js.map +1 -1
  293. package/dist/components/people.js +36 -0
  294. package/dist/components/people.js.map +1 -0
  295. package/dist/components/person.js +1 -1
  296. package/dist/components/play.js +1 -1
  297. package/dist/components/radio-button-group2.js +1 -1
  298. package/dist/components/refresh.js +1 -1
  299. package/dist/components/reply-all.js +1 -1
  300. package/dist/components/reply.js +1 -1
  301. package/dist/components/scheduler-config-store.js +1 -0
  302. package/dist/components/scheduler-config-store.js.map +1 -1
  303. package/dist/components/scheduler-store.js.map +1 -1
  304. package/dist/components/search.js +1 -1
  305. package/dist/components/select-dropdown2.js +2 -2
  306. package/dist/components/sent.js +1 -1
  307. package/dist/components/spam.js +1 -1
  308. package/dist/components/star.js +1 -1
  309. package/dist/components/stop.js +1 -1
  310. package/dist/components/textarea-component.js +1 -1
  311. package/dist/components/time-period-selector2.js +1 -1
  312. package/dist/components/toggle-switch.js +1 -49
  313. package/dist/components/toggle-switch.js.map +1 -1
  314. package/dist/components/toggle-switch2.js +53 -0
  315. package/dist/components/toggle-switch2.js.map +1 -0
  316. package/dist/components/toolitp-component.js +1 -1
  317. package/dist/components/translate.js +1 -1
  318. package/dist/components/trash.js +1 -1
  319. package/dist/components/underline.js +1 -1
  320. package/dist/components/warning.js +1 -1
  321. package/dist/esm/add-circle-icon.entry.js +2 -2
  322. package/dist/esm/add-circle-icon_2.entry.js +11 -18
  323. package/dist/esm/add-circle-icon_2.entry.js.map +1 -1
  324. package/dist/esm/archive-icon.entry.js +2 -2
  325. package/dist/esm/archive-icon_7.entry.js +7 -7
  326. package/dist/esm/arrow-icon.entry.js +2 -2
  327. package/dist/esm/bold-icon.entry.js +2 -2
  328. package/dist/esm/bold-icon_3.entry.js +3 -3
  329. package/dist/esm/button-component.entry.js +2 -2
  330. package/dist/esm/calendar-cancel-icon.entry.js +2 -2
  331. package/dist/esm/calendar-check-icon.entry.js +2 -2
  332. package/dist/esm/calendar-check-icon_2.entry.js +2 -2
  333. package/dist/esm/calendar-icon.entry.js +2 -2
  334. package/dist/esm/calendar-info-icon.entry.js +2 -2
  335. package/dist/esm/{calendar-info-icon_25.entry.js → calendar-info-icon_28.entry.js} +417 -398
  336. package/dist/esm/calendar-info-icon_28.entry.js.map +1 -0
  337. package/dist/esm/calendar-patterns-icon.entry.js +2 -2
  338. package/dist/esm/checkbox-component.entry.js +2 -2
  339. package/dist/esm/checkbox-component.entry.js.map +1 -1
  340. package/dist/esm/checkmark-circle-icon.entry.js +2 -2
  341. package/dist/esm/chevron-icon.entry.js +2 -2
  342. package/dist/esm/chevron-icon_3.entry.js +4 -4
  343. package/dist/esm/clock-icon.entry.js +2 -2
  344. package/dist/esm/clock-icon_2.entry.js +2 -2
  345. package/dist/esm/close-icon.entry.js +2 -2
  346. package/dist/esm/document-refresh-icon.entry.js +2 -2
  347. package/dist/esm/flow-icon.entry.js +2 -2
  348. package/dist/esm/folder-icon.entry.js +2 -2
  349. package/dist/esm/forward-icon.entry.js +2 -2
  350. package/dist/esm/forward-icon_6.entry.js +7 -7
  351. package/dist/esm/globe-icon.entry.js +2 -2
  352. package/dist/esm/google-logo-icon.entry.js +2 -2
  353. package/dist/esm/google-logo-icon_4.entry.js +101 -78
  354. package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
  355. package/dist/esm/inbox-icon.entry.js +2 -2
  356. package/dist/esm/{index-11d12497.js → index-2c7e4f4b.js} +2 -2
  357. package/dist/esm/{index-11d12497.js.map → index-2c7e4f4b.js.map} +1 -1
  358. package/dist/esm/{index-8362ce5c.js → index-582cfc93.js} +24 -20
  359. package/dist/esm/{index-8362ce5c.js.map → index-582cfc93.js.map} +1 -1
  360. package/dist/esm/index-7cb0dd3d.js +12 -20
  361. package/dist/{nylas-web-elements/index.es-896126fc.js → esm/index.es-c5a8a1ac.js} +2 -2
  362. package/dist/esm/{index.es-896126fc.js.map → index.es-c5a8a1ac.js.map} +1 -1
  363. package/dist/esm/index.js +4 -4
  364. package/dist/esm/info-icon.entry.js +2 -2
  365. package/dist/esm/info-icon_2.entry.js +2 -2
  366. package/dist/esm/input-component.entry.js +2 -2
  367. package/dist/esm/input-dropdown.entry.js +22 -5
  368. package/dist/esm/input-dropdown.entry.js.map +1 -1
  369. package/dist/esm/input-dropdown_2.entry.js +22 -5
  370. package/dist/esm/input-dropdown_2.entry.js.map +1 -1
  371. package/dist/esm/italic-icon.entry.js +2 -2
  372. package/dist/esm/loader.js +3 -3
  373. package/dist/esm/loading-icon.entry.js +2 -2
  374. package/dist/esm/location-icon.entry.js +2 -2
  375. package/dist/esm/location-off-icon.entry.js +2 -2
  376. package/dist/esm/{mailbox-store-11fa8387.js → mailbox-store-94133e15.js} +4 -4
  377. package/dist/esm/{mailbox-store-11fa8387.js.map → mailbox-store-94133e15.js.map} +1 -1
  378. package/dist/esm/microsoft-logo-icon.entry.js +2 -2
  379. package/dist/esm/multi-select-dropdown.entry.js +4 -4
  380. package/dist/esm/nylas-additional-participants.entry.js +41 -17
  381. package/dist/esm/nylas-additional-participants.entry.js.map +1 -1
  382. package/dist/esm/{nylas-api-request-27e81d64.js → nylas-api-request-5ac7887c.js} +2 -2
  383. package/dist/esm/{nylas-api-request-27e81d64.js.map → nylas-api-request-5ac7887c.js.map} +1 -1
  384. package/dist/esm/nylas-availability-picker.entry.js +30 -19
  385. package/dist/esm/nylas-availability-picker.entry.js.map +1 -1
  386. package/dist/esm/nylas-booked-event-card.entry.js +3 -3
  387. package/dist/esm/nylas-booked-event-card_10.entry.js +6 -6
  388. package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
  389. package/dist/esm/nylas-booking-calendar-picker.entry.js +3 -3
  390. package/dist/esm/nylas-booking-form.entry.js +5 -5
  391. package/dist/esm/nylas-booking-form.entry.js.map +1 -1
  392. package/dist/esm/nylas-buffer-time.entry.js +3 -3
  393. package/dist/esm/nylas-calendar-picker.entry.js +3 -3
  394. package/dist/esm/nylas-cancel-booking-form.entry.js +4 -4
  395. package/dist/esm/nylas-cancellation-policy.entry.js +3 -3
  396. package/dist/esm/nylas-cancelled-event-card.entry.js +4 -4
  397. package/dist/esm/nylas-composer.entry.js +3 -3
  398. package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
  399. package/dist/esm/nylas-customize-booking-settings.entry.js +7 -7
  400. package/dist/esm/nylas-customize-booking-settings.entry.js.map +1 -1
  401. package/dist/esm/nylas-date-picker.entry.js +3 -3
  402. package/dist/esm/nylas-editor-tabs.entry.js +102 -79
  403. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  404. package/dist/esm/nylas-event-description.entry.js +3 -3
  405. package/dist/esm/nylas-event-duration.entry.js +3 -3
  406. package/dist/esm/nylas-event-info.entry.js +3 -3
  407. package/dist/esm/nylas-event-limits.entry.js +3 -3
  408. package/dist/esm/nylas-event-location.entry.js +3 -3
  409. package/dist/esm/nylas-event-title.entry.js +3 -3
  410. package/dist/esm/nylas-form-card.entry.js +3 -3
  411. package/dist/esm/nylas-if-state.entry.js +4 -4
  412. package/dist/esm/nylas-limit-future-bookings.entry.js +3 -3
  413. package/dist/esm/nylas-list-configurations.entry.js +3 -3
  414. package/dist/esm/nylas-list-folders.entry.js +4 -4
  415. package/dist/esm/nylas-list-threads.entry.js +4 -4
  416. package/dist/esm/nylas-locale-switch.entry.js +3 -3
  417. package/dist/esm/nylas-login.entry.js +4 -4
  418. package/dist/esm/nylas-logo.entry.js +2 -2
  419. package/dist/esm/nylas-mailbox-pagination.entry.js +3 -3
  420. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +4 -4
  421. package/dist/esm/nylas-mailbox.entry.js +6 -6
  422. package/dist/esm/nylas-min-booking-notice.entry.js +3 -3
  423. package/dist/esm/nylas-min-cancellation-notice.entry.js +3 -3
  424. package/dist/esm/nylas-notification.entry.js +3 -3
  425. package/dist/esm/nylas-participants-custom-availability.entry.js +138 -0
  426. package/dist/esm/nylas-participants-custom-availability.entry.js.map +1 -0
  427. package/dist/esm/nylas-provider.entry.js +8 -8
  428. package/dist/esm/nylas-scheduler-editor.entry.js +9 -7
  429. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  430. package/dist/esm/nylas-scheduling.entry.js +6 -6
  431. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  432. package/dist/esm/nylas-selected-event-card.entry.js +3 -3
  433. package/dist/esm/nylas-summarize-message-button.entry.js +5 -5
  434. package/dist/esm/nylas-threads-refresh.entry.js +5 -5
  435. package/dist/esm/nylas-threads-search.entry.js +4 -4
  436. package/dist/esm/nylas-time-window-picker.entry.js +3 -3
  437. package/dist/esm/nylas-timeslot-interval.entry.js +5 -5
  438. package/dist/esm/nylas-timeslot-picker.entry.js +3 -3
  439. package/dist/esm/nylas-view-email.entry.js +3 -3
  440. package/dist/esm/nylas-view-thread.entry.js +4 -4
  441. package/dist/esm/nylas-web-elements.js +3 -3
  442. package/dist/esm/people-icon.entry.js +2 -2
  443. package/dist/esm/person-icon.entry.js +2 -2
  444. package/dist/esm/play-icon.entry.js +2 -2
  445. package/dist/esm/play-icon_2.entry.js +2 -2
  446. package/dist/esm/radio-button-group.entry.js +2 -2
  447. package/dist/esm/refresh-icon.entry.js +2 -2
  448. package/dist/esm/{register-component-8e4e394f.js → register-component-aef40ec4.js} +3 -3
  449. package/dist/esm/{register-component-8e4e394f.js.map → register-component-aef40ec4.js.map} +1 -1
  450. package/dist/esm/reply-all-icon.entry.js +2 -2
  451. package/dist/esm/reply-icon.entry.js +2 -2
  452. package/dist/esm/{scheduler-config-store-ec3b6190.js → scheduler-config-store-4a50a03d.js} +2 -1
  453. package/dist/esm/scheduler-config-store-4a50a03d.js.map +1 -0
  454. package/dist/{nylas-web-elements/scheduler-config-store-8ccc8dc7.js → esm/scheduler-config-store-f20845ad.js} +3 -2
  455. package/dist/esm/scheduler-config-store-f20845ad.js.map +1 -0
  456. package/dist/{nylas-web-elements/scheduler-store-c3af2560.js → esm/scheduler-store-6c4866d6.js} +3 -3
  457. package/dist/esm/{scheduler-store-c3af2560.js.map → scheduler-store-6c4866d6.js.map} +1 -1
  458. package/dist/esm/scheduler-store-f02ce045.js.map +1 -1
  459. package/dist/esm/search-icon.entry.js +2 -2
  460. package/dist/esm/select-dropdown.entry.js +3 -3
  461. package/dist/esm/sent-icon.entry.js +2 -2
  462. package/dist/esm/spam-icon.entry.js +2 -2
  463. package/dist/esm/star-icon.entry.js +2 -2
  464. package/dist/esm/stop-icon.entry.js +2 -2
  465. package/dist/esm/textarea-component.entry.js +2 -2
  466. package/dist/esm/time-period-selector.entry.js +3 -3
  467. package/dist/esm/toggle-switch.entry.js +2 -2
  468. package/dist/esm/toggle-switch.entry.js.map +1 -1
  469. package/dist/esm/tooltip-component.entry.js +2 -2
  470. package/dist/esm/translate-icon.entry.js +2 -2
  471. package/dist/esm/trash-icon.entry.js +2 -2
  472. package/dist/esm/underline-icon.entry.js +2 -2
  473. package/dist/esm/{utils-49a1d17b.js → utils-04c10cbd.js} +2 -2
  474. package/dist/esm/{utils-49a1d17b.js.map → utils-04c10cbd.js.map} +1 -1
  475. package/dist/esm/warning-icon.entry.js +2 -2
  476. package/dist/nylas-web-elements/add-circle-icon.entry.js +2 -2
  477. package/dist/nylas-web-elements/archive-icon.entry.js +2 -2
  478. package/dist/nylas-web-elements/arrow-icon.entry.js +2 -2
  479. package/dist/nylas-web-elements/bold-icon.entry.js +2 -2
  480. package/dist/nylas-web-elements/button-component.entry.js +2 -2
  481. package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +2 -2
  482. package/dist/nylas-web-elements/calendar-check-icon.entry.js +2 -2
  483. package/dist/nylas-web-elements/calendar-icon.entry.js +2 -2
  484. package/dist/nylas-web-elements/calendar-info-icon.entry.js +2 -2
  485. package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +2 -2
  486. package/dist/nylas-web-elements/checkbox-component.entry.js +2 -2
  487. package/dist/nylas-web-elements/checkbox-component.entry.js.map +1 -1
  488. package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +2 -2
  489. package/dist/nylas-web-elements/chevron-icon.entry.js +2 -2
  490. package/dist/nylas-web-elements/clock-icon.entry.js +2 -2
  491. package/dist/nylas-web-elements/close-icon.entry.js +2 -2
  492. package/dist/nylas-web-elements/document-refresh-icon.entry.js +2 -2
  493. package/dist/nylas-web-elements/flow-icon.entry.js +2 -2
  494. package/dist/nylas-web-elements/folder-icon.entry.js +2 -2
  495. package/dist/nylas-web-elements/forward-icon.entry.js +2 -2
  496. package/dist/nylas-web-elements/globe-icon.entry.js +2 -2
  497. package/dist/nylas-web-elements/google-logo-icon.entry.js +2 -2
  498. package/dist/nylas-web-elements/inbox-icon.entry.js +2 -2
  499. package/dist/nylas-web-elements/{index-11d12497.js → index-2c7e4f4b.js} +2 -2
  500. package/dist/nylas-web-elements/{index-11d12497.js.map → index-2c7e4f4b.js.map} +1 -1
  501. package/dist/nylas-web-elements/{index-8362ce5c.js → index-582cfc93.js} +2 -2
  502. package/dist/nylas-web-elements/{index-8362ce5c.js.map → index-582cfc93.js.map} +1 -1
  503. package/dist/{esm/index.es-896126fc.js → nylas-web-elements/index.es-c5a8a1ac.js} +2 -2
  504. package/dist/nylas-web-elements/{index.es-896126fc.js.map → index.es-c5a8a1ac.js.map} +1 -1
  505. package/dist/nylas-web-elements/index.esm.js +4 -4
  506. package/dist/nylas-web-elements/info-icon.entry.js +2 -2
  507. package/dist/nylas-web-elements/input-component.entry.js +2 -2
  508. package/dist/nylas-web-elements/input-dropdown.entry.js +22 -5
  509. package/dist/nylas-web-elements/input-dropdown.entry.js.map +1 -1
  510. package/dist/nylas-web-elements/italic-icon.entry.js +2 -2
  511. package/dist/nylas-web-elements/loading-icon.entry.js +2 -2
  512. package/dist/nylas-web-elements/location-icon.entry.js +2 -2
  513. package/dist/nylas-web-elements/location-off-icon.entry.js +2 -2
  514. package/dist/nylas-web-elements/{mailbox-store-11fa8387.js → mailbox-store-94133e15.js} +4 -4
  515. package/dist/nylas-web-elements/{mailbox-store-11fa8387.js.map → mailbox-store-94133e15.js.map} +1 -1
  516. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +2 -2
  517. package/dist/nylas-web-elements/multi-select-dropdown.entry.js +4 -4
  518. package/dist/nylas-web-elements/nylas-additional-participants.entry.js +41 -17
  519. package/dist/nylas-web-elements/nylas-additional-participants.entry.js.map +1 -1
  520. package/dist/nylas-web-elements/{nylas-api-request-27e81d64.js → nylas-api-request-5ac7887c.js} +2 -2
  521. package/dist/nylas-web-elements/{nylas-api-request-27e81d64.js.map → nylas-api-request-5ac7887c.js.map} +1 -1
  522. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +30 -19
  523. package/dist/nylas-web-elements/nylas-availability-picker.entry.js.map +1 -1
  524. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +3 -3
  525. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +3 -3
  526. package/dist/nylas-web-elements/nylas-booking-form.entry.js +5 -5
  527. package/dist/nylas-web-elements/nylas-booking-form.entry.js.map +1 -1
  528. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +3 -3
  529. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +3 -3
  530. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +4 -4
  531. package/dist/nylas-web-elements/nylas-cancellation-policy.entry.js +3 -3
  532. package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +4 -4
  533. package/dist/nylas-web-elements/nylas-composer.entry.js +3 -3
  534. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
  535. package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js +7 -7
  536. package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js.map +1 -1
  537. package/dist/nylas-web-elements/nylas-date-picker.entry.js +3 -3
  538. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +102 -79
  539. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  540. package/dist/nylas-web-elements/nylas-event-description.entry.js +3 -3
  541. package/dist/nylas-web-elements/nylas-event-duration.entry.js +3 -3
  542. package/dist/nylas-web-elements/nylas-event-info.entry.js +3 -3
  543. package/dist/nylas-web-elements/nylas-event-limits.entry.js +3 -3
  544. package/dist/nylas-web-elements/nylas-event-location.entry.js +3 -3
  545. package/dist/nylas-web-elements/nylas-event-title.entry.js +3 -3
  546. package/dist/nylas-web-elements/nylas-form-card.entry.js +3 -3
  547. package/dist/nylas-web-elements/nylas-if-state.entry.js +4 -4
  548. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +3 -3
  549. package/dist/nylas-web-elements/nylas-list-configurations.entry.js +3 -3
  550. package/dist/nylas-web-elements/nylas-list-folders.entry.js +4 -4
  551. package/dist/nylas-web-elements/nylas-list-threads.entry.js +4 -4
  552. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +3 -3
  553. package/dist/nylas-web-elements/nylas-login.entry.js +4 -4
  554. package/dist/nylas-web-elements/nylas-logo.entry.js +2 -2
  555. package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +3 -3
  556. package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +4 -4
  557. package/dist/nylas-web-elements/nylas-mailbox.entry.js +6 -6
  558. package/dist/nylas-web-elements/nylas-min-booking-notice.entry.js +3 -3
  559. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +3 -3
  560. package/dist/nylas-web-elements/nylas-notification.entry.js +3 -3
  561. package/dist/nylas-web-elements/nylas-participants-custom-availability.entry.js +138 -0
  562. package/dist/nylas-web-elements/nylas-participants-custom-availability.entry.js.map +1 -0
  563. package/dist/nylas-web-elements/nylas-provider.entry.js +8 -8
  564. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +9 -7
  565. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
  566. package/dist/nylas-web-elements/nylas-scheduling.entry.js +6 -6
  567. package/dist/nylas-web-elements/nylas-scheduling.entry.js.map +1 -1
  568. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +3 -3
  569. package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +5 -5
  570. package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +5 -5
  571. package/dist/nylas-web-elements/nylas-threads-search.entry.js +4 -4
  572. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +3 -3
  573. package/dist/nylas-web-elements/nylas-timeslot-interval.entry.js +5 -5
  574. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +3 -3
  575. package/dist/nylas-web-elements/nylas-view-email.entry.js +3 -3
  576. package/dist/nylas-web-elements/nylas-view-thread.entry.js +4 -4
  577. package/dist/nylas-web-elements/nylas-web-elements.esm.js +3 -3
  578. package/dist/nylas-web-elements/{p-e4a7746d.entry.js → p-012cb022.entry.js} +2 -2
  579. package/dist/nylas-web-elements/{p-b9064de4.entry.js → p-017f2538.entry.js} +2 -2
  580. package/dist/nylas-web-elements/p-05833164.entry.js +2 -0
  581. package/dist/nylas-web-elements/p-05833164.entry.js.map +1 -0
  582. package/dist/nylas-web-elements/p-086746ee.entry.js +2 -0
  583. package/dist/nylas-web-elements/p-086746ee.entry.js.map +1 -0
  584. package/dist/nylas-web-elements/p-0919bbbe.entry.js +2 -0
  585. package/dist/nylas-web-elements/{p-da21471c.entry.js → p-13eb1a05.entry.js} +2 -2
  586. package/dist/nylas-web-elements/{p-deafc6bc.entry.js → p-1569f74f.entry.js} +2 -2
  587. package/dist/nylas-web-elements/{p-6e888067.entry.js → p-23c143f6.entry.js} +2 -2
  588. package/dist/nylas-web-elements/p-2743621d.entry.js +2 -0
  589. package/dist/nylas-web-elements/p-2743621d.entry.js.map +1 -0
  590. package/dist/nylas-web-elements/p-29938263.js +2 -0
  591. package/dist/nylas-web-elements/p-29938263.js.map +1 -0
  592. package/dist/nylas-web-elements/{p-afd34a25.entry.js → p-2f656fb3.entry.js} +3 -3
  593. package/dist/nylas-web-elements/p-2f656fb3.entry.js.map +1 -0
  594. package/dist/nylas-web-elements/{p-a7dd4c24.entry.js → p-30144ca0.entry.js} +2 -2
  595. package/dist/nylas-web-elements/{p-11f94952.entry.js → p-336631dd.entry.js} +2 -2
  596. package/dist/nylas-web-elements/p-43bfaa93.entry.js +2 -0
  597. package/dist/nylas-web-elements/{p-120d2c72.entry.js → p-4e48846a.entry.js} +2 -2
  598. package/dist/nylas-web-elements/{p-4b84ab3f.entry.js → p-5fd52ecd.entry.js} +2 -2
  599. package/dist/nylas-web-elements/p-62cf46ee.entry.js +2 -0
  600. package/dist/nylas-web-elements/{p-32682655.entry.js → p-672f1951.entry.js} +2 -2
  601. package/dist/nylas-web-elements/p-823c8aa2.js.map +1 -1
  602. package/dist/nylas-web-elements/{p-ace74b9d.entry.js → p-84c53084.entry.js} +2 -2
  603. package/dist/nylas-web-elements/p-8c1a5e57.entry.js +2 -0
  604. package/dist/nylas-web-elements/p-8c1a5e57.entry.js.map +1 -0
  605. package/dist/nylas-web-elements/p-8eddadb3.entry.js +2 -0
  606. package/dist/nylas-web-elements/{p-0dbc0c01.entry.js.map → p-8eddadb3.entry.js.map} +1 -1
  607. package/dist/nylas-web-elements/p-938d4ec9.entry.js +2 -0
  608. package/dist/nylas-web-elements/{p-fbac3865.entry.js.map → p-938d4ec9.entry.js.map} +1 -1
  609. package/dist/nylas-web-elements/{p-6891ad5d.entry.js → p-a118f20c.entry.js} +2 -2
  610. package/dist/nylas-web-elements/{p-24082558.entry.js → p-a5dbdc8e.entry.js} +2 -2
  611. package/dist/nylas-web-elements/{p-4fdc6122.entry.js → p-a7640232.entry.js} +2 -2
  612. package/dist/nylas-web-elements/{p-27db7b0b.entry.js → p-ad93d3bd.entry.js} +3 -3
  613. package/dist/nylas-web-elements/{p-bfd3b5f0.entry.js → p-b3d46e08.entry.js} +2 -2
  614. package/dist/nylas-web-elements/{p-4b1466b3.entry.js → p-b443f769.entry.js} +2 -2
  615. package/dist/nylas-web-elements/{p-c8c737ed.entry.js → p-c1df61d0.entry.js} +2 -2
  616. package/dist/nylas-web-elements/{p-395f49eb.entry.js → p-cc67e6a8.entry.js} +2 -2
  617. package/dist/nylas-web-elements/p-d1d984c5.entry.js +2 -0
  618. package/dist/nylas-web-elements/p-d1d984c5.entry.js.map +1 -0
  619. package/dist/nylas-web-elements/{p-98a2f588.entry.js → p-d9a145a5.entry.js} +2 -2
  620. package/dist/nylas-web-elements/p-dcb497d4.entry.js +2 -0
  621. package/dist/nylas-web-elements/p-dcb497d4.entry.js.map +1 -0
  622. package/dist/nylas-web-elements/{p-ec26560f.entry.js → p-e9c1e983.entry.js} +2 -2
  623. package/dist/nylas-web-elements/p-e9f7d494.entry.js +2 -0
  624. package/dist/nylas-web-elements/{p-53da3000.entry.js.map → p-e9f7d494.entry.js.map} +1 -1
  625. package/dist/nylas-web-elements/p-f1e9ed6b.entry.js +2 -0
  626. package/dist/nylas-web-elements/p-f1e9ed6b.entry.js.map +1 -0
  627. package/dist/nylas-web-elements/p-f8e0164c.entry.js +2 -0
  628. package/dist/nylas-web-elements/p-f8e0164c.entry.js.map +1 -0
  629. package/dist/nylas-web-elements/{p-84529d9b.entry.js → p-fbfa3a7d.entry.js} +2 -2
  630. package/dist/nylas-web-elements/{p-d5146511.entry.js → p-fd8e29e6.entry.js} +2 -2
  631. package/dist/nylas-web-elements/people-icon.entry.js +2 -2
  632. package/dist/nylas-web-elements/person-icon.entry.js +2 -2
  633. package/dist/nylas-web-elements/play-icon.entry.js +2 -2
  634. package/dist/nylas-web-elements/radio-button-group.entry.js +2 -2
  635. package/dist/nylas-web-elements/refresh-icon.entry.js +2 -2
  636. package/dist/nylas-web-elements/{register-component-8e4e394f.js → register-component-aef40ec4.js} +3 -3
  637. package/dist/nylas-web-elements/{register-component-8e4e394f.js.map → register-component-aef40ec4.js.map} +1 -1
  638. package/dist/nylas-web-elements/reply-all-icon.entry.js +2 -2
  639. package/dist/nylas-web-elements/reply-icon.entry.js +2 -2
  640. package/dist/{esm/scheduler-config-store-8ccc8dc7.js → nylas-web-elements/scheduler-config-store-f20845ad.js} +3 -2
  641. package/dist/nylas-web-elements/scheduler-config-store-f20845ad.js.map +1 -0
  642. package/dist/{esm/scheduler-store-c3af2560.js → nylas-web-elements/scheduler-store-6c4866d6.js} +3 -3
  643. package/dist/nylas-web-elements/{scheduler-store-c3af2560.js.map → scheduler-store-6c4866d6.js.map} +1 -1
  644. package/dist/nylas-web-elements/search-icon.entry.js +2 -2
  645. package/dist/nylas-web-elements/select-dropdown.entry.js +3 -3
  646. package/dist/nylas-web-elements/sent-icon.entry.js +2 -2
  647. package/dist/nylas-web-elements/spam-icon.entry.js +2 -2
  648. package/dist/nylas-web-elements/star-icon.entry.js +2 -2
  649. package/dist/nylas-web-elements/stop-icon.entry.js +2 -2
  650. package/dist/nylas-web-elements/textarea-component.entry.js +2 -2
  651. package/dist/nylas-web-elements/time-period-selector.entry.js +3 -3
  652. package/dist/nylas-web-elements/toggle-switch.entry.js +2 -2
  653. package/dist/nylas-web-elements/toggle-switch.entry.js.map +1 -1
  654. package/dist/nylas-web-elements/tooltip-component.entry.js +2 -2
  655. package/dist/nylas-web-elements/translate-icon.entry.js +2 -2
  656. package/dist/nylas-web-elements/trash-icon.entry.js +2 -2
  657. package/dist/nylas-web-elements/underline-icon.entry.js +2 -2
  658. package/dist/nylas-web-elements/{utils-49a1d17b.js → utils-04c10cbd.js} +2 -2
  659. package/dist/nylas-web-elements/{utils-49a1d17b.js.map → utils-04c10cbd.js.map} +1 -1
  660. package/dist/nylas-web-elements/warning-icon.entry.js +2 -2
  661. package/dist/types/components/design-system/input-dropdown/input-dropdown.d.ts +3 -0
  662. package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +16 -1
  663. package/dist/types/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.d.ts +2 -4
  664. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +12 -5
  665. package/dist/types/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.d.ts +36 -0
  666. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +2 -0
  667. package/dist/types/components.d.ts +134 -11
  668. package/dist/types/stores/scheduler-config-store.d.ts +2 -1
  669. package/dist/types/stores/scheduler-store.d.ts +1 -1
  670. package/package.json +2 -2
  671. package/dist/cjs/calendar-info-icon_25.cjs.entry.js.map +0 -1
  672. package/dist/cjs/scheduler-config-store-918c20d5.js.map +0 -1
  673. package/dist/cjs/scheduler-config-store-a5b7c08b.js.map +0 -1
  674. package/dist/esm/calendar-info-icon_25.entry.js.map +0 -1
  675. package/dist/esm/scheduler-config-store-8ccc8dc7.js.map +0 -1
  676. package/dist/esm/scheduler-config-store-ec3b6190.js.map +0 -1
  677. package/dist/nylas-web-elements/p-0dbc0c01.entry.js +0 -2
  678. package/dist/nylas-web-elements/p-155942d0.entry.js +0 -2
  679. package/dist/nylas-web-elements/p-155942d0.entry.js.map +0 -1
  680. package/dist/nylas-web-elements/p-237d2b4e.entry.js +0 -2
  681. package/dist/nylas-web-elements/p-237d2b4e.entry.js.map +0 -1
  682. package/dist/nylas-web-elements/p-2e813dd0.entry.js +0 -2
  683. package/dist/nylas-web-elements/p-2e813dd0.entry.js.map +0 -1
  684. package/dist/nylas-web-elements/p-35b66ab6.entry.js +0 -2
  685. package/dist/nylas-web-elements/p-35b66ab6.entry.js.map +0 -1
  686. package/dist/nylas-web-elements/p-3fd63454.entry.js +0 -2
  687. package/dist/nylas-web-elements/p-3fd63454.entry.js.map +0 -1
  688. package/dist/nylas-web-elements/p-53da3000.entry.js +0 -2
  689. package/dist/nylas-web-elements/p-6239608c.entry.js +0 -2
  690. package/dist/nylas-web-elements/p-6239608c.entry.js.map +0 -1
  691. package/dist/nylas-web-elements/p-7fac2bba.entry.js +0 -2
  692. package/dist/nylas-web-elements/p-86895fc4.entry.js +0 -2
  693. package/dist/nylas-web-elements/p-86895fc4.entry.js.map +0 -1
  694. package/dist/nylas-web-elements/p-afd34a25.entry.js.map +0 -1
  695. package/dist/nylas-web-elements/p-b406bf70.entry.js +0 -2
  696. package/dist/nylas-web-elements/p-b406bf70.entry.js.map +0 -1
  697. package/dist/nylas-web-elements/p-c170c56d.entry.js +0 -2
  698. package/dist/nylas-web-elements/p-de63bc35.entry.js +0 -2
  699. package/dist/nylas-web-elements/p-ee91a2a0.js +0 -2
  700. package/dist/nylas-web-elements/p-ee91a2a0.js.map +0 -1
  701. package/dist/nylas-web-elements/p-f1bd124d.entry.js +0 -2
  702. package/dist/nylas-web-elements/p-f1bd124d.entry.js.map +0 -1
  703. package/dist/nylas-web-elements/p-fac4d89e.entry.js +0 -2
  704. package/dist/nylas-web-elements/p-fac4d89e.entry.js.map +0 -1
  705. package/dist/nylas-web-elements/p-fbac3865.entry.js +0 -2
  706. package/dist/nylas-web-elements/scheduler-config-store-8ccc8dc7.js.map +0 -1
  707. /package/dist/nylas-web-elements/{p-e4a7746d.entry.js.map → p-012cb022.entry.js.map} +0 -0
  708. /package/dist/nylas-web-elements/{p-b9064de4.entry.js.map → p-017f2538.entry.js.map} +0 -0
  709. /package/dist/nylas-web-elements/{p-de63bc35.entry.js.map → p-0919bbbe.entry.js.map} +0 -0
  710. /package/dist/nylas-web-elements/{p-da21471c.entry.js.map → p-13eb1a05.entry.js.map} +0 -0
  711. /package/dist/nylas-web-elements/{p-deafc6bc.entry.js.map → p-1569f74f.entry.js.map} +0 -0
  712. /package/dist/nylas-web-elements/{p-6e888067.entry.js.map → p-23c143f6.entry.js.map} +0 -0
  713. /package/dist/nylas-web-elements/{p-a7dd4c24.entry.js.map → p-30144ca0.entry.js.map} +0 -0
  714. /package/dist/nylas-web-elements/{p-11f94952.entry.js.map → p-336631dd.entry.js.map} +0 -0
  715. /package/dist/nylas-web-elements/{p-7fac2bba.entry.js.map → p-43bfaa93.entry.js.map} +0 -0
  716. /package/dist/nylas-web-elements/{p-120d2c72.entry.js.map → p-4e48846a.entry.js.map} +0 -0
  717. /package/dist/nylas-web-elements/{p-4b84ab3f.entry.js.map → p-5fd52ecd.entry.js.map} +0 -0
  718. /package/dist/nylas-web-elements/{p-c170c56d.entry.js.map → p-62cf46ee.entry.js.map} +0 -0
  719. /package/dist/nylas-web-elements/{p-32682655.entry.js.map → p-672f1951.entry.js.map} +0 -0
  720. /package/dist/nylas-web-elements/{p-ace74b9d.entry.js.map → p-84c53084.entry.js.map} +0 -0
  721. /package/dist/nylas-web-elements/{p-6891ad5d.entry.js.map → p-a118f20c.entry.js.map} +0 -0
  722. /package/dist/nylas-web-elements/{p-24082558.entry.js.map → p-a5dbdc8e.entry.js.map} +0 -0
  723. /package/dist/nylas-web-elements/{p-4fdc6122.entry.js.map → p-a7640232.entry.js.map} +0 -0
  724. /package/dist/nylas-web-elements/{p-27db7b0b.entry.js.map → p-ad93d3bd.entry.js.map} +0 -0
  725. /package/dist/nylas-web-elements/{p-bfd3b5f0.entry.js.map → p-b3d46e08.entry.js.map} +0 -0
  726. /package/dist/nylas-web-elements/{p-4b1466b3.entry.js.map → p-b443f769.entry.js.map} +0 -0
  727. /package/dist/nylas-web-elements/{p-c8c737ed.entry.js.map → p-c1df61d0.entry.js.map} +0 -0
  728. /package/dist/nylas-web-elements/{p-395f49eb.entry.js.map → p-cc67e6a8.entry.js.map} +0 -0
  729. /package/dist/nylas-web-elements/{p-98a2f588.entry.js.map → p-d9a145a5.entry.js.map} +0 -0
  730. /package/dist/nylas-web-elements/{p-ec26560f.entry.js.map → p-e9c1e983.entry.js.map} +0 -0
  731. /package/dist/nylas-web-elements/{p-84529d9b.entry.js.map → p-fbfa3a7d.entry.js.map} +0 -0
  732. /package/dist/nylas-web-elements/{p-d5146511.entry.js.map → p-fd8e29e6.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{h as e,F as s,r as a,c as t,H as r,a as o}from"./p-68c2fadf.js";import{R as i}from"./p-795b324a.js";import{j as n,b as l,k as d,a as c,t as h}from"./p-6c11737d.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";function m(e,s,a,t,r){if(!t){return}if(!a){return}if(a.children.length>0){return}c(`[nylas-view-thread] Rendering email`,{message:e,attachments:s,viewEmailElement:t});const o=t.cloneNode(true);o.message=e.data;o.parent=r;a.appendChild(o)}const p=({viewEmailElement:a,message:t,attachments:r,onMessageClick:o,onShowContactDataClick:i,parent:c})=>e(s,null,e("div",{key:t.id,class:"message"},e("div",{class:"sub-header","data-id":t.data.id,onClick:o},e("div",{class:"avatar"},t.data.from&&t.data.from[0]?.name&&t.data.from[0]?.name[0]?.toUpperCase()),e("div",{class:"from"},e("span",{class:"name"},t.data.from&&t.data.from[0]?.name)," ",e("span",{class:"email"},t.data.from&&t.data.from[0]?.email)),e("div",{class:"date"},new Date(t.data.date*1e3).toLocaleTimeString(undefined,{timeStyle:"short"})," ","(",n(new Date(t.data.date*1e3)),")"),e("sp-button-group",{class:"buttons"},e("nylas-summarize-message-button",{message:t.data})),t.collapse&&e("div",{class:"snippet"},t.data.snippet),!t.collapse&&t.data.to&&e("div",{class:"to"},e("span",null,"to")," ",l(t.data.to)," ",e("button",{type:"button",value:t.data.id,onClick:i,class:{expand:true,"expand--showContactData":t.showContactData}},e("chevron-icon",null)))),t.showContactData&&e("div",{class:"address-info"},e("div",{class:"label"},"From"),e("div",{class:"value"},d(t.data?.from?t?.data?.from[0]:{name:"",email:""})),t.data.to&&e(s,null,e("div",{class:"label"},"To"),e("div",{class:"value"},t.data.to.map((s=>e("div",null,d(s)))))),typeof t.data.cc!=="undefined"&&t.data.cc.length>0&&e(s,null,e("div",{class:"label"},"CC"),e("div",{class:"value"},t.data.cc.map((s=>e("div",null,d(s))))))),!t.collapse&&a&&e("div",{key:t.id,ref:e=>m(t,r,e,a,c)}),!t.collapse&&!a&&e("nylas-view-email",{key:t.id,message:t.data,parent:c})),e("hr",null));const u=':host{display:block;font-size:inherit}.avatar{z-index:1;border-radius:100%;background-color:var(--nylas-color-primary-200);height:40px;width:40px;align-items:center;display:flex;justify-content:center;border:1px solid var(--nylas-color-primary-200)}.view-thread{display:grid;grid-auto-flow:row;width:100%}.view-thread .header{display:grid;grid-gap:1rem;align-items:center;margin-bottom:1rem}.view-thread .header .subject{font-size:1.25rem;font-weight:600;line-height:1.5rem}.view-thread .header .folders{display:grid;grid-auto-flow:column;grid-auto-columns:min-content;overflow-x:auto;gap:1rem}.view-thread .header .folders .folder{padding:0 0.5rem;font-size:0.9rem;color:var(--nylas-color-primary-900);background-color:var(--nylas-color-primary-300)}.view-thread .messages{display:grid;gap:1rem}.view-thread .messages hr{margin:0;width:100%;border:1px solid var(--nylas-color-primary-200)}.view-thread .messages hr:last-of-type{display:none}.view-thread .messages .message{display:grid;grid-auto-flow:row;gap:1rem}.view-thread .messages .message:last-of-type .sub-header{cursor:default}.view-thread .messages .message .sub-header{display:grid;grid-template:"avatar from date buttons" "avatar to to buttons";grid-column-gap:1rem;grid-template-columns:auto 1fr auto auto;cursor:pointer}.view-thread .messages .message .sub-header>*{pointer-events:none}.view-thread .messages .message .sub-header .avatar{grid-area:avatar}.view-thread .messages .message .sub-header .from{grid-area:from}.view-thread .messages .message .sub-header .from span.email{display:none;color:var(--nylas-color-primary-400);font-weight:600}.view-thread .messages .message .sub-header .buttons{grid-area:buttons;align-self:center}.view-thread .messages .message .sub-header .buttons *{pointer-events:all}.view-thread .messages .message .sub-header .date{grid-area:date;align-self:center;color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .snippet{width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--nylas-color-primary-600)}.view-thread .messages .message .sub-header .to{grid-area:to;color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .to>span{color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .to button{border:0;background-color:transparent;cursor:pointer;pointer-events:all;padding:0;margin:0}.view-thread .messages .message .sub-header .to button>*{pointer-events:none}.view-thread .messages .message .sub-header .to button chevron-icon{display:inline-table;fill:var(--nylas-color-primary-400);width:15px;height:15px;vertical-align:middle}.view-thread .messages .message .sub-header .to button chevron-icon svg{width:15px;height:15px;transform:rotate(90deg)}.view-thread .messages .message .sub-header .to button.expand--showContactData chevron-icon svg{transform:rotate(270deg)}.view-thread .messages .message .address-info{display:grid;column-gap:1rem;row-gap:0.5rem;grid-template-columns:auto 1fr;grid-template-rows:1fr;padding:1rem 2rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-color-primary-200);align-items:flex-start;color:var(--nylas-color-primary-600)}.view-thread .messages .message .address-info .label{color:var(--nylas-color-primary-400);font-weight:600}.show-more{position:relative;display:flex;width:100%}.show-more .sr-only{display:none}.show-more button{position:relative;display:inline-flex;width:100%;padding:0;border:0;background-color:transparent;cursor:pointer;text-align:left;overflow:hidden}.show-more button span{border:1px solid var(--nylas-color-primary-400)}.show-more button:hover span{background-color:var(--nylas-color-primary-700)}.show-more button::after{border-top:1px solid rgba(100, 121, 143, 0.122);border-bottom:1px solid rgba(100, 121, 143, 0.122);content:"";height:4px;width:100%;position:absolute;top:50%}.loading{position:absolute;width:100%;height:100%;background-color:var(--loading__background-color);top:0;bottom:0;left:0;z-index:1;display:grid;justify-content:center;align-items:center;font-weight:600;overflow:hidden}.reply-buttons{display:grid;grid-auto-flow:column;grid-auto-columns:min-content;gap:1rem;margin-top:1rem}.reply-buttons sp-button{border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-400);color:var(--nylas-color-primary-900);fill:var(--nylas-color-primary-900)}.reply-buttons sp-button:hover{background-color:var(--nylas-color-primary-500)}.reply-buttons sp-button:disabled{background-color:var(--nylas-color-primary-200);color:var(--nylas-color-primary-600);cursor:not-allowed}.reply-buttons sp-button chevron-icon{display:inline-block}@media only screen and (min-width: 768px){.view-thread .messages .message .sub-header .from span.email{display:inline}}';const g=u;var v=undefined&&undefined.__decorate||function(e,s,a,t){var r=arguments.length,o=r<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,a):t,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,s,a,t);else for(var n=e.length-1;n>=0;n--)if(i=e[n])o=(r<3?i(o):r>3?i(s,a,o):i(s,a))||o;return r>3&&o&&Object.defineProperty(s,a,o),o};var y=undefined&&undefined.__metadata||function(e,s){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,s)};const f=class{constructor(e){a(this,e);this.threadSelected=t(this,"threadSelected",7);this.showContactDataClicked=t(this,"showContactDataClicked",7);this.messageClicked=t(this,"messageClicked",7);this.nylasViewEmailElement=null;this.nylasComposerElement=null;this.onShowContactDataClick=e=>{e.stopPropagation();const s=e.target;const a=s.value;const t=this.internalMessages.find((e=>e.data.id===a));if(!t){c(`[nylas-view-thread] Could not find message ${a}`);return}const r=this.showContactDataClicked.emit(t.data);if(!r.defaultPrevented){t.showContactData=!t.showContactData;this.internalMessages=[...this.internalMessages]}c(`[nylas-view-thread] show contact data clicked ${a} ${t.showContactData?"collapsed":"expanded"}`)};this.onMessageClick=e=>{const s=e.target;const a=s.dataset.id;const t=this.internalMessages.find((e=>e.data.id===a));if(!t){c(`[nylas-view-thread] Could not find message ${a}`);return}const r=this.messageClicked.emit(t.data);if(!r.defaultPrevented){if(t.id!==this.internalMessages[this.internalMessages.length-1]?.id){t.collapse=!t.collapse;if(t.collapse){t.showContactData=false}}this.internalMessages=[...this.internalMessages]}c(`[nylas-view-thread] message clicked ${a} ${t.collapse?"collapsed":"expanded"}`)};this.onShowAllEmailsClick=()=>{this.showAllEmails=!this.showAllEmails};this.showComposerClick=()=>{this.showComposer=!this.showComposer};this.draft=undefined;this.thread=undefined;this.messages=[];this.attachments=[];this.state="loading";this.internalMessages=[];this.showAllEmails=false;this.showComposer=false}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){c(`[nylas-view-thread] Component will load`);this.updateInternalMessages(this.messages);const e=this.host.querySelector("template.nylas-view-email");if(!e){c(`[nylas-view-thread] Could not find template`);return}const s=document.importNode(e.content,true);this.nylasViewEmailElement=s.querySelector("nylas-view-email");const a=this.host.querySelector("template.nylas-composer");if(!a){c(`[nylas-view-thread] Could not find composer template`);return}const t=document.importNode(a.content,true);this.nylasComposerElement=t.querySelector("nylas-composer")}async componentDidLoad(){c(`[nylas-view-thread] Component did load`)}async threadChanged(e){c(`[nylas-view-thread] Thread changed`,{thread:e});this.internalMessages=[];const s=this.threadSelected.emit(e);if(!s.defaultPrevented){c(`[nylas-view-thread] Default event not prevented, initializing`)}}updateInternalMessages(e){c(`[nylas-view-thread] Updating internal messages`,{messages:e});const s=e.sort(((e,s)=>e.date>s.date?1:-1)).map(((s,a)=>({id:s.id,data:s,collapse:a===e.length-1?false:true,showContactData:false})));this.internalMessages=s}render(){const a=this.internalMessages.length>2?this.internalMessages[0]:null;const t=this.internalMessages.slice(this.internalMessages.length-2,this.internalMessages.length);const o=this.internalMessages.slice(1,this.internalMessages.length-2);const i=this.internalMessages[this.internalMessages.length-1];return e(r,{key:"d23da82f6e20bdd064fe7401ec7132546af2f45b"},e("sp-theme",{key:"7af6f252ef74d89e3dc791dfe8323b13df9a9f92",scale:"medium",color:"dark"},e("div",{key:"3feeeb134b11d39ff6530e911c305211f18b134f",class:"view-thread"},e("div",{key:"235b80ce3983526e0544eb1a07c0b309187b9a38",class:"header"},e("div",{key:"b78c5f6e8eb8d4733c8a1cf131df8682a5a18469",class:"subject"},this.thread?.subject),e("div",{key:"2297fb41c56a1bba769e0a60289f48b3c5f47ce2",class:"folders"},this.thread?.folders?.map((s=>e("sp-tag",{size:"s"},h(s.replace("CATEGORY_","").replace("_"," "))))))),e("div",{key:"2a22974a7b7bcc878c30d47f11e296bfdf728b0b",class:"messages"},a&&e(p,{message:a,attachments:this.attachments.filter((e=>e.messageId===a.id)),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement}),o.length>0&&this.messages.length>1&&!this.showAllEmails&&t.length>0&&e(s,null,e("div",{class:"show-more"},e("button",{type:"button",onClick:this.onShowAllEmailsClick},e("span",{class:"avatar"},o.length)," ",e("span",{class:"sr-only"},"Show ",o.length," more emails"))),e("hr",null)),o.length>0&&this.showAllEmails&&this.messages.length>2&&o.map((s=>e(p,{message:s,attachments:this.attachments.filter((e=>e.messageId===a?.id)),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement}))),t.length>0&&t.map((s=>e(p,{message:s,attachments:this.attachments.filter((e=>e.messageId===a?.id)),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement})))),!(this.showComposer&&i)&&e("div",{class:"reply-buttons"},e("sp-button",{variant:"cta",type:"button",onClick:this.showComposerClick},e("span",{slot:"icon"},e("reply-icon",null)),e("span",null,"Reply")),e("sp-button",{variant:"cta",type:"button"},e("span",{slot:"icon"},e("reply-all-icon",null)),e("span",null,"Reply All")),e("sp-button",{variant:"cta",type:"button"},e("span",{slot:"icon"},e("forward-icon",null)),e("span",null,"Forward"))),this.showComposer&&i&&e("div",{class:"composer"},e("nylas-composer",{message:i.data,onClose:this.showComposerClick,onSend:e=>{c(`[nylas-view-thread] Send event`,{message:e.detail.message,replyBody:e.detail.replyBody})}})))))}get host(){return o(this)}static get watchers(){return{thread:["threadChanged"],messages:["updateInternalMessages"]}}};v([i({name:"nylas-view-thread",stateToProps:new Map([["mailbox.selectedThread","thread"],["mailbox.messages","messages"],["mailbox.state","state"]]),eventToProps:{threadSelected:async(e,s)=>{c(`[nylas-view-thread] Nylas init event. Fetching thread messages.`,{event:e});const a=e.detail;if(a&&a.id){await s.messages.getThreadMessages(a.id)}}},fireRegisterEvent:true}),y("design:type",Function),y("design:paramtypes",[]),y("design:returntype",void 0)],f.prototype,"render",null);f.style=g;export{f as nylas_view_thread};
2
- //# sourceMappingURL=p-32682655.entry.js.map
1
+ import{h as e,F as a,r as s,c as t,H as r,a as o}from"./p-68c2fadf.js";import{R as i}from"./p-795b324a.js";import{j as n,b as l,k as d,a as c,t as h}from"./p-6c11737d.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";function m(e,a,s,t,r){if(!t){return}if(!s){return}if(s.children.length>0){return}c(`[nylas-view-thread] Rendering email`,{message:e,attachments:a,viewEmailElement:t});const o=t.cloneNode(true);o.message=e.data;o.parent=r;s.appendChild(o)}const p=({viewEmailElement:s,message:t,attachments:r,onMessageClick:o,onShowContactDataClick:i,parent:c})=>e(a,null,e("div",{key:t.id,class:"message"},e("div",{class:"sub-header","data-id":t.data.id,onClick:o},e("div",{class:"avatar"},t.data.from&&t.data.from[0]?.name&&t.data.from[0]?.name[0]?.toUpperCase()),e("div",{class:"from"},e("span",{class:"name"},t.data.from&&t.data.from[0]?.name)," ",e("span",{class:"email"},t.data.from&&t.data.from[0]?.email)),e("div",{class:"date"},new Date(t.data.date*1e3).toLocaleTimeString(undefined,{timeStyle:"short"})," ","(",n(new Date(t.data.date*1e3)),")"),e("sp-button-group",{class:"buttons"},e("nylas-summarize-message-button",{message:t.data})),t.collapse&&e("div",{class:"snippet"},t.data.snippet),!t.collapse&&t.data.to&&e("div",{class:"to"},e("span",null,"to")," ",l(t.data.to)," ",e("button",{type:"button",value:t.data.id,onClick:i,class:{expand:true,"expand--showContactData":t.showContactData}},e("chevron-icon",null)))),t.showContactData&&e("div",{class:"address-info"},e("div",{class:"label"},"From"),e("div",{class:"value"},d(t.data?.from?t?.data?.from[0]:{name:"",email:""})),t.data.to&&e(a,null,e("div",{class:"label"},"To"),e("div",{class:"value"},t.data.to.map((a=>e("div",null,d(a)))))),typeof t.data.cc!=="undefined"&&t.data.cc.length>0&&e(a,null,e("div",{class:"label"},"CC"),e("div",{class:"value"},t.data.cc.map((a=>e("div",null,d(a))))))),!t.collapse&&s&&e("div",{key:t.id,ref:e=>m(t,r,e,s,c)}),!t.collapse&&!s&&e("nylas-view-email",{key:t.id,message:t.data,parent:c})),e("hr",null));const u=':host{display:block;font-size:inherit}.avatar{z-index:1;border-radius:100%;background-color:var(--nylas-color-primary-200);height:40px;width:40px;align-items:center;display:flex;justify-content:center;border:1px solid var(--nylas-color-primary-200)}.view-thread{display:grid;grid-auto-flow:row;width:100%}.view-thread .header{display:grid;grid-gap:1rem;align-items:center;margin-bottom:1rem}.view-thread .header .subject{font-size:1.25rem;font-weight:600;line-height:1.5rem}.view-thread .header .folders{display:grid;grid-auto-flow:column;grid-auto-columns:min-content;overflow-x:auto;gap:1rem}.view-thread .header .folders .folder{padding:0 0.5rem;font-size:0.9rem;color:var(--nylas-color-primary-900);background-color:var(--nylas-color-primary-300)}.view-thread .messages{display:grid;gap:1rem}.view-thread .messages hr{margin:0;width:100%;border:1px solid var(--nylas-color-primary-200)}.view-thread .messages hr:last-of-type{display:none}.view-thread .messages .message{display:grid;grid-auto-flow:row;gap:1rem}.view-thread .messages .message:last-of-type .sub-header{cursor:default}.view-thread .messages .message .sub-header{display:grid;grid-template:"avatar from date buttons" "avatar to to buttons";grid-column-gap:1rem;grid-template-columns:auto 1fr auto auto;cursor:pointer}.view-thread .messages .message .sub-header>*{pointer-events:none}.view-thread .messages .message .sub-header .avatar{grid-area:avatar}.view-thread .messages .message .sub-header .from{grid-area:from}.view-thread .messages .message .sub-header .from span.email{display:none;color:var(--nylas-color-primary-400);font-weight:600}.view-thread .messages .message .sub-header .buttons{grid-area:buttons;align-self:center}.view-thread .messages .message .sub-header .buttons *{pointer-events:all}.view-thread .messages .message .sub-header .date{grid-area:date;align-self:center;color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .snippet{width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--nylas-color-primary-600)}.view-thread .messages .message .sub-header .to{grid-area:to;color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .to>span{color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .to button{border:0;background-color:transparent;cursor:pointer;pointer-events:all;padding:0;margin:0}.view-thread .messages .message .sub-header .to button>*{pointer-events:none}.view-thread .messages .message .sub-header .to button chevron-icon{display:inline-table;fill:var(--nylas-color-primary-400);width:15px;height:15px;vertical-align:middle}.view-thread .messages .message .sub-header .to button chevron-icon svg{width:15px;height:15px;transform:rotate(90deg)}.view-thread .messages .message .sub-header .to button.expand--showContactData chevron-icon svg{transform:rotate(270deg)}.view-thread .messages .message .address-info{display:grid;column-gap:1rem;row-gap:0.5rem;grid-template-columns:auto 1fr;grid-template-rows:1fr;padding:1rem 2rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-color-primary-200);align-items:flex-start;color:var(--nylas-color-primary-600)}.view-thread .messages .message .address-info .label{color:var(--nylas-color-primary-400);font-weight:600}.show-more{position:relative;display:flex;width:100%}.show-more .sr-only{display:none}.show-more button{position:relative;display:inline-flex;width:100%;padding:0;border:0;background-color:transparent;cursor:pointer;text-align:left;overflow:hidden}.show-more button span{border:1px solid var(--nylas-color-primary-400)}.show-more button:hover span{background-color:var(--nylas-color-primary-700)}.show-more button::after{border-top:1px solid rgba(100, 121, 143, 0.122);border-bottom:1px solid rgba(100, 121, 143, 0.122);content:"";height:4px;width:100%;position:absolute;top:50%}.loading{position:absolute;width:100%;height:100%;background-color:var(--loading__background-color);top:0;bottom:0;left:0;z-index:1;display:grid;justify-content:center;align-items:center;font-weight:600;overflow:hidden}.reply-buttons{display:grid;grid-auto-flow:column;grid-auto-columns:min-content;gap:1rem;margin-top:1rem}.reply-buttons sp-button{border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-400);color:var(--nylas-color-primary-900);fill:var(--nylas-color-primary-900)}.reply-buttons sp-button:hover{background-color:var(--nylas-color-primary-500)}.reply-buttons sp-button:disabled{background-color:var(--nylas-color-primary-200);color:var(--nylas-color-primary-600);cursor:not-allowed}.reply-buttons sp-button chevron-icon{display:inline-block}@media only screen and (min-width: 768px){.view-thread .messages .message .sub-header .from span.email{display:inline}}';const g=u;var v=undefined&&undefined.__decorate||function(e,a,s,t){var r=arguments.length,o=r<3?a:t===null?t=Object.getOwnPropertyDescriptor(a,s):t,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,a,s,t);else for(var n=e.length-1;n>=0;n--)if(i=e[n])o=(r<3?i(o):r>3?i(a,s,o):i(a,s))||o;return r>3&&o&&Object.defineProperty(a,s,o),o};var y=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const b=class{constructor(e){s(this,e);this.threadSelected=t(this,"threadSelected",7);this.showContactDataClicked=t(this,"showContactDataClicked",7);this.messageClicked=t(this,"messageClicked",7);this.nylasViewEmailElement=null;this.nylasComposerElement=null;this.onShowContactDataClick=e=>{e.stopPropagation();const a=e.target;const s=a.value;const t=this.internalMessages.find((e=>e.data.id===s));if(!t){c(`[nylas-view-thread] Could not find message ${s}`);return}const r=this.showContactDataClicked.emit(t.data);if(!r.defaultPrevented){t.showContactData=!t.showContactData;this.internalMessages=[...this.internalMessages]}c(`[nylas-view-thread] show contact data clicked ${s} ${t.showContactData?"collapsed":"expanded"}`)};this.onMessageClick=e=>{const a=e.target;const s=a.dataset.id;const t=this.internalMessages.find((e=>e.data.id===s));if(!t){c(`[nylas-view-thread] Could not find message ${s}`);return}const r=this.messageClicked.emit(t.data);if(!r.defaultPrevented){if(t.id!==this.internalMessages[this.internalMessages.length-1]?.id){t.collapse=!t.collapse;if(t.collapse){t.showContactData=false}}this.internalMessages=[...this.internalMessages]}c(`[nylas-view-thread] message clicked ${s} ${t.collapse?"collapsed":"expanded"}`)};this.onShowAllEmailsClick=()=>{this.showAllEmails=!this.showAllEmails};this.showComposerClick=()=>{this.showComposer=!this.showComposer};this.draft=undefined;this.thread=undefined;this.messages=[];this.attachments=[];this.state="loading";this.internalMessages=[];this.showAllEmails=false;this.showComposer=false}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){c(`[nylas-view-thread] Component will load`);this.updateInternalMessages(this.messages);const e=this.host.querySelector("template.nylas-view-email");if(!e){c(`[nylas-view-thread] Could not find template`);return}const a=document.importNode(e.content,true);this.nylasViewEmailElement=a.querySelector("nylas-view-email");const s=this.host.querySelector("template.nylas-composer");if(!s){c(`[nylas-view-thread] Could not find composer template`);return}const t=document.importNode(s.content,true);this.nylasComposerElement=t.querySelector("nylas-composer")}async componentDidLoad(){c(`[nylas-view-thread] Component did load`)}async threadChanged(e){c(`[nylas-view-thread] Thread changed`,{thread:e});this.internalMessages=[];const a=this.threadSelected.emit(e);if(!a.defaultPrevented){c(`[nylas-view-thread] Default event not prevented, initializing`)}}updateInternalMessages(e){c(`[nylas-view-thread] Updating internal messages`,{messages:e});const a=e.sort(((e,a)=>e.date>a.date?1:-1)).map(((a,s)=>({id:a.id,data:a,collapse:s===e.length-1?false:true,showContactData:false})));this.internalMessages=a}render(){const s=this.internalMessages.length>2?this.internalMessages[0]:null;const t=this.internalMessages.slice(this.internalMessages.length-2,this.internalMessages.length);const o=this.internalMessages.slice(1,this.internalMessages.length-2);const i=this.internalMessages[this.internalMessages.length-1];return e(r,{key:"a886c18c380e985cfb63a6a4ab523a93b2160ced"},e("sp-theme",{key:"dba4495bbb475f8825f5ade124f84f8bbe2c7c45",scale:"medium",color:"dark"},e("div",{key:"05c602d7c43e31402c433cdaaaccb26c8d88fc7e",class:"view-thread"},e("div",{key:"0b2900754126998aa4495a916b03ad2ea4157f34",class:"header"},e("div",{key:"38db0766a5bc2dfc37b5269cf1e63ad25531ee8d",class:"subject"},this.thread?.subject),e("div",{key:"bb73a5220497288f51b7c9d31e54cb685cfe54d5",class:"folders"},this.thread?.folders?.map((a=>e("sp-tag",{size:"s"},h(a.replace("CATEGORY_","").replace("_"," "))))))),e("div",{key:"7d774b36fbfc216c05ed8cabbab79ad6b80e0e87",class:"messages"},s&&e(p,{message:s,attachments:this.attachments.filter((e=>e.messageId===s.id)),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement}),o.length>0&&this.messages.length>1&&!this.showAllEmails&&t.length>0&&e(a,null,e("div",{class:"show-more"},e("button",{type:"button",onClick:this.onShowAllEmailsClick},e("span",{class:"avatar"},o.length)," ",e("span",{class:"sr-only"},"Show ",o.length," more emails"))),e("hr",null)),o.length>0&&this.showAllEmails&&this.messages.length>2&&o.map((a=>e(p,{message:a,attachments:this.attachments.filter((e=>e.messageId===s?.id)),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement}))),t.length>0&&t.map((a=>e(p,{message:a,attachments:this.attachments.filter((e=>e.messageId===s?.id)),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement})))),!(this.showComposer&&i)&&e("div",{class:"reply-buttons"},e("sp-button",{variant:"cta",type:"button",onClick:this.showComposerClick},e("span",{slot:"icon"},e("reply-icon",null)),e("span",null,"Reply")),e("sp-button",{variant:"cta",type:"button"},e("span",{slot:"icon"},e("reply-all-icon",null)),e("span",null,"Reply All")),e("sp-button",{variant:"cta",type:"button"},e("span",{slot:"icon"},e("forward-icon",null)),e("span",null,"Forward"))),this.showComposer&&i&&e("div",{class:"composer"},e("nylas-composer",{message:i.data,onClose:this.showComposerClick,onSend:e=>{c(`[nylas-view-thread] Send event`,{message:e.detail.message,replyBody:e.detail.replyBody})}})))))}get host(){return o(this)}static get watchers(){return{thread:["threadChanged"],messages:["updateInternalMessages"]}}};v([i({name:"nylas-view-thread",stateToProps:new Map([["mailbox.selectedThread","thread"],["mailbox.messages","messages"],["mailbox.state","state"]]),eventToProps:{threadSelected:async(e,a)=>{c(`[nylas-view-thread] Nylas init event. Fetching thread messages.`,{event:e});const s=e.detail;if(s&&s.id){await a.messages.getThreadMessages(s.id)}}},fireRegisterEvent:true}),y("design:type",Function),y("design:paramtypes",[]),y("design:returntype",void 0)],b.prototype,"render",null);b.style=g;export{b as nylas_view_thread};
2
+ //# sourceMappingURL=p-672f1951.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ErrorCategory","ComponentErrorType","APIErrorType","Errors","constructor","this","component","_title","category","Component","title","endtime_not_in_future","message","no_booking_info","no_timeslot_selected","no_timezone_selected","no_booking_id","invalid_start_time","invalid_end_time","invalid_timezone","api","Api","invalid_session","general_error","internal_error","invalid_request_error","timeslot_not_available","provider_error","not_found_error","NylaSchedulerAPIConnector","schedulerAPIURL","schedulerStore","sessionId","configId","errors","getHeaders","Authorization","makeAPIRequest","path","method","body","headers","schedulerURL","URL","pathname","response","fetch","decodeURIComponent","toString","Origin","window","location","origin","data","json","error","type","getErrorMessage","errorMessage","setConfigId","selectDate","date","set","selectTime","time","selectTimezone","timezone","toggleAdditionalData","value","refetchAvailability","setParticipantName","name","bookingInfo","state","primaryParticipant","setParticipantEmail","email","today","Date","startTime","getFullYear","getMonth","getTime","startTimeWithOffset","Math","floor","endTime","result","getAvailability","resetStoreStateAndFetchAvailability","firstAvailableDate","get","find","timeslot","start_time","_selectedDate","setReschedule","bookingID","eventInfo","setCancel","resetCancel","bookTimeslot","selectedTimeslot","selectedTimezone","guests","additional_fields","additionalFields","configIdParam","url","JSON","stringify","additional_guests","guest","end_time","errorType","getUISettings","undefined","getStartTimeWithMinBookingNotice","scheduler","min_booking_notice","getEndTimeForAvailableDaysInFuture","availableDaysInFuture","available_days_in_future","endTimeForAvailableDaysInFuture","addDaysToCurrentDate","endTimeWithOffset","min","params","URLSearchParams","now","nowTime","startOfMonth","endOfMonth","append","encodeURIComponent","queryString","availability","time_slots","map","availabilityTimeslotsFiltered","filter","cancelBooking","bookingId","reason","action","cancellation_reason","booking_id","rescheduleBooking","apiErrors","componentErrors","time_zone","event","CreateNylasSchedulerStore","defaultState","defaultNylasStoreState","selectedDate","selectedLanguage","navigator","language","Intl","DateTimeFormat","resolvedOptions","timeZone","showBookingForm","selectableDates","eventDuration","cancelledEventInfo","isLoading","nylasBranding","debug","store","createStore","onChange","durationMinutes","reset","key"],"sources":["src/connector/nylas-scheduler-connector/errors/index.ts","src/connector/shared/api/scheduler.ts","src/stores/scheduler-store.ts"],"sourcesContent":["export enum ErrorCategory {\n Component = 'component',\n Api = 'api',\n Auth = 'auth',\n}\n\nexport interface ErrorDetails {\n title: string;\n message: string;\n category: ErrorCategory;\n}\n\nexport enum ComponentErrorType {\n endtime_not_in_future = 'endtime_not_in_future',\n no_booking_info = 'no_booking_info',\n no_timeslot_selected = 'no_timeslot_selected',\n no_timezone_selected = 'no_timezone_selected',\n no_booking_id = 'no_booking_id',\n invalid_start_time = 'invalid_start_time',\n invalid_end_time = 'invalid_end_time',\n invalid_timezone = 'invalid_timezone',\n}\n\nexport enum APIErrorType {\n invalid_session = 'invalid_session',\n general_error = 'general_error',\n internal_error = 'internal_error',\n invalid_request_error = 'invalid_request_error',\n timeslot_not_available = 'timeslot_not_available',\n provider_error = 'provider_error',\n not_found_error = 'not_found_error',\n}\n\nexport class Errors {\n component = (_title: string): Record<ComponentErrorType, (message?: string) => ErrorDetails> => {\n const category = ErrorCategory.Component;\n const title = `${_title} Error`;\n return {\n endtime_not_in_future: (message: string = '\"endtime\" can not be in the future') => {\n return {\n title,\n message,\n category,\n };\n },\n no_booking_info: (message: string = 'No booking info provided') => {\n return {\n title,\n message,\n category,\n };\n },\n no_timeslot_selected: (message: string = 'No timeslot selected') => {\n return {\n title,\n message,\n category,\n };\n },\n no_timezone_selected: (message: string = 'No timezone selected') => {\n return {\n title,\n message,\n category,\n };\n },\n no_booking_id: (message: string = 'No booking id provided') => {\n return {\n title,\n message,\n category,\n };\n },\n invalid_start_time: (message: string = 'Invalid start time') => {\n return {\n title,\n message,\n category,\n };\n },\n invalid_end_time: (message: string = 'Invalid end time') => {\n return {\n title,\n message,\n category,\n };\n },\n invalid_timezone: (message: string = 'Invalid timezone') => {\n return {\n title,\n message,\n category,\n };\n },\n };\n };\n\n api = (_title: string): Record<APIErrorType, (message: string) => ErrorDetails> => {\n const category = ErrorCategory.Api;\n const title = `${_title} Error`;\n\n return {\n invalid_session: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n general_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n internal_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n invalid_request_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n timeslot_not_available: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n provider_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n not_found_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n };\n };\n}\n","import { AvailabilityResponse, NylasEvent, UISettingsResponse } from '@/common/types';\nimport { NylasSchedulerStoreType } from '../../../components';\nimport type { NylasErrorResponse, NylasResponse, NylasSchedulerBookingData, NylasSchedulerResponse, Timeslot } from '@nylas/core';\nimport { APIErrorType, Errors } from '@/connector/nylas-scheduler-connector/errors';\nimport { addDaysToCurrentDate } from '@/utils/utils';\n\ntype NylasSchedulerAPIConnectorOptions = {\n schedulerAPIURL: string;\n schedulerStore: NylasSchedulerStoreType;\n sessionId?: string;\n configId?: string;\n};\n\n/**\n * NylaSchedulerConnector\n * This class is used to make API requests to the scheduler.\n */\nexport class NylaSchedulerAPIConnector {\n private schedulerStore: NylasSchedulerStoreType;\n private schedulerAPIURL: string;\n private sessionId: string | undefined;\n private configId: string | undefined;\n private errors = new Errors();\n\n constructor({ schedulerAPIURL, schedulerStore, sessionId, configId }: NylasSchedulerAPIConnectorOptions) {\n this.schedulerStore = schedulerStore;\n this.schedulerAPIURL = schedulerAPIURL;\n this.sessionId = sessionId;\n this.configId = configId;\n }\n\n private getHeaders() {\n return this.sessionId\n ? {\n Authorization: `Bearer ${this.sessionId}`,\n }\n : {};\n }\n\n /**\n * Makes an API request to the scheduler.\n * @param path The path to the API endpoint.\n * @param method The HTTP method.\n * @param body The request body (if any).\n * @returns {Promise<T>}\n */\n public async makeAPIRequest<T>(path: string, method: string, body: string | undefined, headers = {}): Promise<NylasResponse<T>> {\n try {\n const schedulerURL = new URL(this.schedulerAPIURL);\n schedulerURL.pathname = path;\n const response = await fetch(decodeURIComponent(schedulerURL.toString()), {\n method,\n headers: {\n 'Content-Type': 'application/json',\n 'Origin': window.location.origin,\n ...headers,\n },\n body,\n });\n // The server returns a json object for errors: eg.\n // {\n // \"request_id\": \"<request_id>\",\n // \"error\": {\n // \"type\": \"not_found_error\",\n // \"message\": \"Session not found\"\n // }\n // }\n const data = await response.json();\n return data as NylasResponse<T>;\n } catch (error: any) {\n // NOTE: current server implementation doesn't return a JSON object for errors on some endpoints\n // handle this case by returning the error response as a string to be handled downstream\n return {\n error: {\n message: error.message,\n title: 'API request failed',\n type: 'api',\n },\n } as NylasErrorResponse;\n }\n }\n\n private getErrorMessage(error: NylasErrorResponse['error']) {\n let errorMessage = error?.message || error?.title || 'Something went wrong';\n if (error?.type === 'provider_error') {\n errorMessage = error?.provider_error?.error?.message || error?.provider_error?.error?.title || 'Something went wrong';\n }\n return errorMessage;\n }\n\n public setConfigId(configId: string) {\n this.configId = configId;\n }\n\n /**\n * Selects a date in the scheduler.\n */\n public selectDate(date: Date) {\n this.schedulerStore.set('selectedDate', date);\n this.schedulerStore.set('selectedTimeslot', null);\n }\n\n /**\n * Selects a time in the scheduler.\n */\n public selectTime(time: Timeslot) {\n this.schedulerStore.set('selectedTimeslot', time);\n }\n\n /**\n * Sets the timezone in the scheduler.\n */\n public selectTimezone(timezone: string) {\n this.schedulerStore.set('selectedTimezone', timezone);\n }\n\n /**\n * Toggles showBookingForm\n * @param value boolean\n */\n public async toggleAdditionalData(value: boolean) {\n if (!value) {\n // Refetch availability\n await this.refetchAvailability();\n }\n this.schedulerStore.set('showBookingForm', value);\n }\n\n /**\n * Set/update the name of the participant booking the event.\n */\n public setParticipantName(name: string) {\n const { bookingInfo } = this.schedulerStore.state;\n this.schedulerStore.set('bookingInfo', {\n ...bookingInfo,\n primaryParticipant: {\n ...(bookingInfo?.primaryParticipant as NylasSchedulerBookingData['primaryParticipant']),\n name,\n },\n });\n }\n\n /**\n * Set/update the email of the participant booking the event.\n */\n public setParticipantEmail(email: string) {\n const { bookingInfo } = this.schedulerStore.state;\n this.schedulerStore.set('bookingInfo', {\n ...bookingInfo,\n primaryParticipant: {\n ...(bookingInfo?.primaryParticipant as NylasSchedulerBookingData['primaryParticipant']),\n email,\n },\n });\n }\n\n private async refetchAvailability() {\n const today = new Date();\n // Refetch availability\n const startTime = new Date(today.getFullYear(), today.getMonth(), 1).getTime() / 1000;\n const startTimeWithOffset = startTime < today.getTime() / 1000 ? Math.floor(today.getTime() / 1000) : startTime;\n const endTime = new Date(today.getFullYear(), today.getMonth() + 1, 1).getTime() / 1000;\n const result = await this.getAvailability(startTimeWithOffset, endTime);\n return result;\n }\n\n private async resetStoreStateAndFetchAvailability() {\n const today = new Date();\n // Refetch availability\n const result = await this.refetchAvailability();\n // Set selected date to first available date\n const firstAvailableDate = this.schedulerStore.get('availability').find((timeslot: any) => new Date(timeslot.start_time) > new Date());\n let _selectedDate = today;\n if (firstAvailableDate) {\n _selectedDate = firstAvailableDate.start_time;\n }\n this.schedulerStore.set('selectedDate', _selectedDate);\n // Reset store state\n this.schedulerStore.set('eventInfo', null);\n this.schedulerStore.set('showBookingForm', false);\n this.schedulerStore.set('selectedTimeslot', null);\n\n return result;\n }\n\n /**\n * Set reschedule booking id\n */\n public async setReschedule(bookingID: string) {\n const eventInfo = this.schedulerStore.state.eventInfo;\n if (eventInfo) {\n this.schedulerStore.set('reschedulingEventInfo', eventInfo);\n }\n // Set reschedule booking id\n const result = await this.resetStoreStateAndFetchAvailability();\n this.schedulerStore.set('rescheduleBookingId', bookingID);\n return result;\n }\n\n /**\n * Set cancel booking id\n */\n public async setCancel(bookingID: string) {\n this.schedulerStore.set('cancelBookingId', bookingID);\n }\n\n public async resetCancel() {\n const result = await this.resetStoreStateAndFetchAvailability();\n this.schedulerStore.set('cancelBookingId', '');\n this.schedulerStore.set('cancelledEventInfo', null);\n return result;\n }\n\n /**\n * Book the selected timeslot.\n * @param data The booking info.\n * @returns {Promise<NylasResponse<NylasEvent>>}\n */\n public async bookTimeslot(data?: NylasSchedulerBookingData & { timeslot?: Timeslot }): Promise<NylasSchedulerResponse<NylasEvent>> {\n this.schedulerStore.set('isLoading', true);\n const { selectedTimeslot, selectedTimezone, bookingInfo } = this.schedulerStore.state;\n if (!data && !bookingInfo) {\n return { error: this.errors.component('Booking').no_booking_info() };\n }\n\n const timeslot = data?.timeslot || selectedTimeslot;\n if (!timeslot) {\n return { error: this.errors.component('Create Booking').no_timeslot_selected() };\n }\n\n const timezone = data && data?.timezone ? data?.timezone : selectedTimezone;\n\n if (!timezone) {\n return { error: this.errors.component('Create Booking').no_timezone_selected() };\n }\n\n const primaryParticipant = data ? data?.primaryParticipant : bookingInfo?.primaryParticipant;\n const guests = data ? data?.guests || [] : bookingInfo?.guests || [];\n const additional_fields = data ? data?.additionalFields : bookingInfo?.additionalFields;\n\n const headers = this.getHeaders();\n const configIdParam = !this.sessionId && this.configId ? `?configuration_id=${this.configId}` : '';\n const url = `/v3/scheduling/bookings${configIdParam}`;\n\n const response = await this.makeAPIRequest<NylasEvent>(\n decodeURIComponent(url),\n 'POST',\n JSON.stringify({\n additional_fields,\n additional_guests: guests,\n guest: { ...primaryParticipant },\n start_time: timeslot.start_time.getTime() / 1000,\n end_time: timeslot.end_time.getTime() / 1000,\n timezone: timezone,\n }),\n headers,\n );\n\n if ('error' in response) {\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in this.errors.api('Create Booking')) {\n const errorMessage = this.getErrorMessage(error);\n error = this.errors.api('Create Booking')[errorType as APIErrorType](errorMessage);\n }\n return { error };\n }\n\n if ('data' in response) {\n this.schedulerStore.set('eventInfo', response?.data);\n }\n\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n\n /**\n * Get UI settings for the scheduler.\n */\n public async getUISettings(): Promise<NylasSchedulerResponse<UISettingsResponse>> {\n this.schedulerStore.set('isLoading', true);\n const headers = this.getHeaders();\n const configIdParam = !this.sessionId && this.configId ? `?configuration_id=${this.configId}` : '';\n const url = `/v3/scheduling/ui-settings${configIdParam}`;\n\n const response = await this.makeAPIRequest<UISettingsResponse>(url, 'GET', undefined, headers);\n if ('error' in response) {\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in this.errors.api('Get UI Settings')) {\n error = this.errors.api('Get UI Settings')[errorType as APIErrorType](error?.message || error?.title || 'Something went wrong');\n }\n return { error };\n }\n if ('data' in response) {\n this.schedulerStore.set('configSettings', response.data);\n }\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n\n private getStartTimeWithMinBookingNotice(startTime: number) {\n const scheduler = this.schedulerStore.get('configSettings')?.scheduler;\n const min_booking_notice = scheduler?.min_booking_notice;\n if (!min_booking_notice) {\n return startTime;\n }\n return startTime + min_booking_notice * 60;\n }\n\n private getEndTimeForAvailableDaysInFuture(endTime: number) {\n const today = new Date();\n const availableDaysInFuture = this.schedulerStore.get('configSettings')?.scheduler?.available_days_in_future;\n const endTimeForAvailableDaysInFuture = Math.floor(addDaysToCurrentDate(today, availableDaysInFuture).getTime() / 1000);\n const endTimeWithOffset = Math.min(endTimeForAvailableDaysInFuture, endTime);\n return endTimeWithOffset;\n }\n\n /**\n * Gets the availability for a page.\n * @param startTime The start time.\n * @param endTime The end time.\n * @returns {Promise<AvailabilityResponse>}\n */\n public async getAvailability(startTime: number = 0, endTime: number = 0): Promise<NylasSchedulerResponse<AvailabilityResponse>> {\n this.schedulerStore.set('isLoading', true);\n const params = new URLSearchParams();\n const now = new Date();\n const nowTime = now.getTime();\n\n if (endTime && endTime < nowTime / 1000) {\n this.schedulerStore.set('isLoading', false);\n const error = this.errors.component('Get Availability').endtime_not_in_future();\n return { error };\n }\n\n // Calculate the start of the current month if startTime is not provided\n if (!startTime) {\n const startOfMonth = new Date(now.getFullYear(), now.getMonth(), 1);\n startTime = Math.floor(startOfMonth.getTime() / 1000); // Convert to UNIX timestamp in seconds\n }\n\n startTime = this.getStartTimeWithMinBookingNotice(startTime);\n // Calculate the end of the current month if endTime is not provided\n if (!endTime) {\n const endOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0); // Setting day to 0 gets the last day of the previous month, so in this case, the last day of the current month\n endTime = Math.floor(endOfMonth.getTime() / 1000); // Convert to UNIX timestamp in seconds\n }\n endTime = this.getEndTimeForAvailableDaysInFuture(endTime);\n\n params.append('start_time', encodeURIComponent(startTime.toString()));\n params.append('end_time', encodeURIComponent(endTime.toString()));\n if (this.configId && !this.sessionId) {\n params.append('configuration_id', encodeURIComponent(this.configId));\n }\n const queryString = params.toString();\n const url = `/v3/scheduling/availability${queryString ? `?${queryString}` : ''}`;\n const headers = this.getHeaders();\n const response = await this.makeAPIRequest<AvailabilityResponse>(decodeURIComponent(url), 'GET', undefined, headers);\n\n if ('error' in response) {\n this.schedulerStore.set('availability', []);\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in this.errors.api('Get Availability')) {\n const errorMessage = this.getErrorMessage(error);\n error = this.errors.api('Get Availability')[errorType as APIErrorType](errorMessage);\n }\n return { error };\n }\n\n if ('data' in response) {\n const availability =\n response.data?.time_slots?.map(timeslot => {\n return {\n ...timeslot,\n start_time: new Date(timeslot.start_time * 1000),\n end_time: new Date(timeslot.end_time * 1000),\n };\n }) || [];\n\n // Filter out timeslots that are in the past\n const availabilityTimeslotsFiltered = availability.filter(timeslot => timeslot.start_time.getTime() > nowTime);\n this.schedulerStore.set('availability', availabilityTimeslotsFiltered);\n }\n\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n\n /**\n * Cancels a booking.\n * @param bookingId The booking ID.\n */\n public async cancelBooking(bookingId: string, reason: string): Promise<NylasSchedulerResponse<Partial<NylasEvent>>> {\n this.schedulerStore.set('isLoading', true);\n if (!bookingId) {\n return { error: this.errors.component('Cancel Booking').no_booking_id() };\n }\n const configIdParam = !this.sessionId && this.configId ? `?configuration_id=${this.configId}` : '';\n const url = `/v3/scheduling/bookings/${bookingId}${configIdParam}`;\n const headers = this.getHeaders();\n const response = await this.makeAPIRequest<Partial<NylasEvent>>(\n decodeURIComponent(url),\n 'DELETE',\n JSON.stringify({\n action: 'cancel',\n cancellation_reason: reason,\n }),\n headers,\n );\n\n if ('error' in response) {\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in this.errors.api('Cancel Booking')) {\n const errorMessage = this.getErrorMessage(error);\n error = this.errors.api('Cancel Booking')[errorType as APIErrorType](errorMessage);\n }\n return { error };\n }\n\n this.schedulerStore.set('cancelledEventInfo', {\n booking_id: bookingId,\n });\n\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n\n /**\n * Reschedules a booking.\n * @param bookingId The booking ID.\n * @param data The booking info.\n * @returns {Promise<NylasResponse<NylasEvent>>}\n */\n public async rescheduleBooking(bookingId: string, data: NylasSchedulerBookingData): Promise<NylasSchedulerResponse<NylasEvent>> {\n this.schedulerStore.set('isLoading', true);\n if (!bookingId) {\n return { error: this.errors.component('Reschedule Booking').no_booking_id() };\n }\n const apiErrors = this.errors.api('Reschedule Booking');\n const componentErrors = this.errors.component('Reschedule Booking');\n const { bookingInfo, selectedTimeslot, selectedTimezone } = this.schedulerStore.state;\n // Validate data\n const { startTime, endTime, timezone } = data;\n const start_time = startTime || selectedTimeslot?.start_time;\n\n if (!start_time) {\n return { error: componentErrors.invalid_start_time('Please pass \"startTime\" in data or set \"selectedTimeslot\" in the defaultSchedulerState.') };\n }\n const end_time = endTime || selectedTimeslot?.end_time;\n if (!end_time) {\n return { error: componentErrors.invalid_end_time('Please pass \"endTime\" in data or set \"selectedTimeslot\" in the defaultSchedulerState.') };\n }\n const time_zone = timezone || selectedTimezone;\n if (!time_zone) {\n return { error: componentErrors.invalid_timezone('Please pass \"timezone\" in data or set \"selectedTimezone\" in the defaultSchedulerState.') };\n }\n\n const primaryParticipant = data ? data?.primaryParticipant : bookingInfo?.primaryParticipant;\n const guests = data ? data?.guests || [] : bookingInfo?.guests || [];\n const additional_fields = data ? { ...data?.additionalFields, guests } : { ...bookingInfo?.additionalFields, guests };\n\n const configIdParam = !this.sessionId && this.configId ? `?configuration_id=${this.configId}` : '';\n const url = `/v3/scheduling/bookings/${bookingId}${configIdParam}`;\n const headers = this.getHeaders();\n const response = await this.makeAPIRequest<NylasEvent>(\n decodeURIComponent(url),\n 'PATCH',\n JSON.stringify({\n start_time: start_time.getTime() / 1000,\n end_time: end_time.getTime() / 1000,\n time_zone,\n additional_fields,\n guest: { ...primaryParticipant },\n }),\n headers,\n );\n\n if ('error' in response) {\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in apiErrors) {\n const errorMessage = this.getErrorMessage(error);\n error = apiErrors[errorType as APIErrorType](errorMessage);\n }\n return { error };\n }\n\n const eventInfo = this.schedulerStore.get('reschedulingEventInfo');\n if ('data' in response) {\n this.schedulerStore.set('eventInfo', response?.data);\n } else if (eventInfo) {\n this.schedulerStore.set('eventInfo', eventInfo);\n } else {\n // We should technically never reach this point\n const event = {\n booking_id: bookingId,\n } as NylasEvent;\n this.schedulerStore.set('eventInfo', event);\n }\n\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n}\n","import { DataState, NylasEvent } from '@/common/types';\nimport { debug } from '@/utils/utils';\nimport { NylasSchedulerBookingData, Timeslot } from '@nylas/core';\nimport { createStore } from '@stencil/store';\n\nexport type AvailabilityTimeslot = {\n emails: string[];\n start_time: Date;\n end_time: Date;\n};\n\nexport type LoadingState = {\n api: 'availability' | 'createBooking' | 'cancelBooking' | 'rescheduleBooking';\n};\n\nexport type ConfigSettings = {\n scheduler: {\n available_days_in_future: number;\n min_cancellation_notice: number;\n min_booking_notice: number;\n rescheduling_url?: string;\n cancellation_url?: string;\n cancellation_policy?: string;\n additional_guests_hidden?: boolean;\n hide_cancellation_options?: boolean;\n hide_rescheduling_options?: boolean;\n };\n organizer: {\n name: string;\n email: string;\n };\n};\n\nexport interface NylasSchedulerStoreState {\n selectedDate: Date | null;\n selectedLanguage: string;\n selectedTimezone: string;\n selectedTimeslot: Timeslot | null;\n showBookingForm: boolean;\n selectableDates: Date[] | null;\n eventDuration: number;\n availability: AvailabilityTimeslot[];\n state: DataState;\n eventInfo: NylasEvent | null;\n cancelledEventInfo: Partial<NylasEvent> | null;\n reschedulingEventInfo?: NylasEvent;\n bookingInfo?: NylasSchedulerBookingData;\n rescheduleBookingId?: string;\n cancelBookingId?: string;\n isLoading: boolean;\n nylasBranding?: boolean;\n configSettings?: ConfigSettings;\n}\n\nexport type NylasSchedulerStoreType = ReturnType<typeof CreateNylasSchedulerStore>;\n\nexport function CreateNylasSchedulerStore(defaultState: Partial<NylasSchedulerStoreState> = {}) {\n const defaultNylasStoreState: NylasSchedulerStoreState = {\n selectedDate: null,\n selectedLanguage: navigator.language,\n selectedTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n selectedTimeslot: null,\n showBookingForm: false,\n selectableDates: null,\n availability: [],\n eventDuration: 0,\n state: 'ready',\n eventInfo: null,\n cancelledEventInfo: null,\n isLoading: false,\n nylasBranding: true,\n ...defaultState,\n };\n debug(`[defaultNylasStoreState]: `, defaultNylasStoreState);\n const store = createStore<NylasSchedulerStoreState>(defaultNylasStoreState);\n\n store.onChange('availability', availability => {\n debug(`[availability]: `, availability);\n const selectableDates = availability.map(timeslot => timeslot.start_time);\n debug(`[selectableDates]: `, selectableDates);\n store.set('selectableDates', selectableDates);\n const timeslot = availability[0];\n if (!timeslot) return;\n const durationMinutes = Math.floor((timeslot.end_time.getTime() - timeslot.start_time.getTime()) / 60000);\n debug(`[durationMinutes]: `, durationMinutes);\n store.set('eventDuration', durationMinutes);\n });\n\n /**\n * Reset the Nylas store to its default state.\n * There is something wrong with the stencil/store reset method,\n * so we have to do it via this hack.\n */\n store.reset = () => {\n for (const key in defaultNylasStoreState) {\n const value = defaultNylasStoreState[key as keyof typeof defaultNylasStoreState];\n store.set(key as any, value);\n }\n };\n\n return store;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ErrorCategory","ComponentErrorType","APIErrorType","Errors","constructor","this","component","_title","category","Component","title","endtime_not_in_future","message","no_booking_info","no_timeslot_selected","no_timezone_selected","no_booking_id","invalid_start_time","invalid_end_time","invalid_timezone","api","Api","invalid_session","general_error","internal_error","invalid_request_error","timeslot_not_available","provider_error","not_found_error","NylaSchedulerAPIConnector","schedulerAPIURL","schedulerStore","sessionId","configId","errors","getHeaders","Authorization","makeAPIRequest","path","method","body","headers","schedulerURL","URL","pathname","response","fetch","decodeURIComponent","toString","Origin","window","location","origin","data","json","error","type","getErrorMessage","errorMessage","setConfigId","selectDate","date","set","selectTime","time","selectTimezone","timezone","toggleAdditionalData","value","refetchAvailability","setParticipantName","name","bookingInfo","state","primaryParticipant","setParticipantEmail","email","today","Date","startTime","getFullYear","getMonth","getTime","startTimeWithOffset","Math","floor","endTime","result","getAvailability","resetStoreStateAndFetchAvailability","firstAvailableDate","get","find","timeslot","start_time","_selectedDate","setReschedule","bookingID","eventInfo","setCancel","resetCancel","bookTimeslot","selectedTimeslot","selectedTimezone","guests","additional_fields","additionalFields","configIdParam","url","JSON","stringify","additional_guests","guest","end_time","errorType","getUISettings","undefined","getStartTimeWithMinBookingNotice","scheduler","min_booking_notice","getEndTimeForAvailableDaysInFuture","availableDaysInFuture","available_days_in_future","endTimeForAvailableDaysInFuture","addDaysToCurrentDate","endTimeWithOffset","min","params","URLSearchParams","now","nowTime","startOfMonth","endOfMonth","append","encodeURIComponent","queryString","availability","time_slots","map","availabilityTimeslotsFiltered","filter","cancelBooking","bookingId","reason","action","cancellation_reason","booking_id","rescheduleBooking","apiErrors","componentErrors","time_zone","event","CreateNylasSchedulerStore","defaultState","defaultNylasStoreState","selectedDate","selectedLanguage","navigator","language","Intl","DateTimeFormat","resolvedOptions","timeZone","showBookingForm","selectableDates","eventDuration","cancelledEventInfo","isLoading","nylasBranding","debug","store","createStore","onChange","durationMinutes","reset","key"],"sources":["src/connector/nylas-scheduler-connector/errors/index.ts","src/connector/shared/api/scheduler.ts","src/stores/scheduler-store.ts"],"sourcesContent":["export enum ErrorCategory {\n Component = 'component',\n Api = 'api',\n Auth = 'auth',\n}\n\nexport interface ErrorDetails {\n title: string;\n message: string;\n category: ErrorCategory;\n}\n\nexport enum ComponentErrorType {\n endtime_not_in_future = 'endtime_not_in_future',\n no_booking_info = 'no_booking_info',\n no_timeslot_selected = 'no_timeslot_selected',\n no_timezone_selected = 'no_timezone_selected',\n no_booking_id = 'no_booking_id',\n invalid_start_time = 'invalid_start_time',\n invalid_end_time = 'invalid_end_time',\n invalid_timezone = 'invalid_timezone',\n}\n\nexport enum APIErrorType {\n invalid_session = 'invalid_session',\n general_error = 'general_error',\n internal_error = 'internal_error',\n invalid_request_error = 'invalid_request_error',\n timeslot_not_available = 'timeslot_not_available',\n provider_error = 'provider_error',\n not_found_error = 'not_found_error',\n}\n\nexport class Errors {\n component = (_title: string): Record<ComponentErrorType, (message?: string) => ErrorDetails> => {\n const category = ErrorCategory.Component;\n const title = `${_title} Error`;\n return {\n endtime_not_in_future: (message: string = '\"endtime\" can not be in the future') => {\n return {\n title,\n message,\n category,\n };\n },\n no_booking_info: (message: string = 'No booking info provided') => {\n return {\n title,\n message,\n category,\n };\n },\n no_timeslot_selected: (message: string = 'No timeslot selected') => {\n return {\n title,\n message,\n category,\n };\n },\n no_timezone_selected: (message: string = 'No timezone selected') => {\n return {\n title,\n message,\n category,\n };\n },\n no_booking_id: (message: string = 'No booking id provided') => {\n return {\n title,\n message,\n category,\n };\n },\n invalid_start_time: (message: string = 'Invalid start time') => {\n return {\n title,\n message,\n category,\n };\n },\n invalid_end_time: (message: string = 'Invalid end time') => {\n return {\n title,\n message,\n category,\n };\n },\n invalid_timezone: (message: string = 'Invalid timezone') => {\n return {\n title,\n message,\n category,\n };\n },\n };\n };\n\n api = (_title: string): Record<APIErrorType, (message: string) => ErrorDetails> => {\n const category = ErrorCategory.Api;\n const title = `${_title} Error`;\n\n return {\n invalid_session: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n general_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n internal_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n invalid_request_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n timeslot_not_available: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n provider_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n not_found_error: (message: string) => {\n return {\n title,\n message,\n category,\n };\n },\n };\n };\n}\n","import { AvailabilityResponse, NylasEvent, UISettingsResponse } from '@/common/types';\nimport { NylasSchedulerStoreType } from '../../../components';\nimport type { NylasErrorResponse, NylasResponse, NylasSchedulerBookingData, NylasSchedulerResponse, Timeslot } from '@nylas/core';\nimport { APIErrorType, Errors } from '@/connector/nylas-scheduler-connector/errors';\nimport { addDaysToCurrentDate } from '@/utils/utils';\n\ntype NylasSchedulerAPIConnectorOptions = {\n schedulerAPIURL: string;\n schedulerStore: NylasSchedulerStoreType;\n sessionId?: string;\n configId?: string;\n};\n\n/**\n * NylaSchedulerConnector\n * This class is used to make API requests to the scheduler.\n */\nexport class NylaSchedulerAPIConnector {\n private schedulerStore: NylasSchedulerStoreType;\n private schedulerAPIURL: string;\n private sessionId: string | undefined;\n private configId: string | undefined;\n private errors = new Errors();\n\n constructor({ schedulerAPIURL, schedulerStore, sessionId, configId }: NylasSchedulerAPIConnectorOptions) {\n this.schedulerStore = schedulerStore;\n this.schedulerAPIURL = schedulerAPIURL;\n this.sessionId = sessionId;\n this.configId = configId;\n }\n\n private getHeaders() {\n return this.sessionId\n ? {\n Authorization: `Bearer ${this.sessionId}`,\n }\n : {};\n }\n\n /**\n * Makes an API request to the scheduler.\n * @param path The path to the API endpoint.\n * @param method The HTTP method.\n * @param body The request body (if any).\n * @returns {Promise<T>}\n */\n public async makeAPIRequest<T>(path: string, method: string, body: string | undefined, headers = {}): Promise<NylasResponse<T>> {\n try {\n const schedulerURL = new URL(this.schedulerAPIURL);\n schedulerURL.pathname = path;\n const response = await fetch(decodeURIComponent(schedulerURL.toString()), {\n method,\n headers: {\n 'Content-Type': 'application/json',\n 'Origin': window.location.origin,\n ...headers,\n },\n body,\n });\n // The server returns a json object for errors: eg.\n // {\n // \"request_id\": \"<request_id>\",\n // \"error\": {\n // \"type\": \"not_found_error\",\n // \"message\": \"Session not found\"\n // }\n // }\n const data = await response.json();\n return data as NylasResponse<T>;\n } catch (error: any) {\n // NOTE: current server implementation doesn't return a JSON object for errors on some endpoints\n // handle this case by returning the error response as a string to be handled downstream\n return {\n error: {\n message: error.message,\n title: 'API request failed',\n type: 'api',\n },\n } as NylasErrorResponse;\n }\n }\n\n private getErrorMessage(error: NylasErrorResponse['error']) {\n let errorMessage = error?.message || error?.title || 'Something went wrong';\n if (error?.type === 'provider_error') {\n errorMessage = error?.provider_error?.error?.message || error?.provider_error?.error?.title || 'Something went wrong';\n }\n return errorMessage;\n }\n\n public setConfigId(configId: string) {\n this.configId = configId;\n }\n\n /**\n * Selects a date in the scheduler.\n */\n public selectDate(date: Date) {\n this.schedulerStore.set('selectedDate', date);\n this.schedulerStore.set('selectedTimeslot', null);\n }\n\n /**\n * Selects a time in the scheduler.\n */\n public selectTime(time: Timeslot) {\n this.schedulerStore.set('selectedTimeslot', time);\n }\n\n /**\n * Sets the timezone in the scheduler.\n */\n public selectTimezone(timezone: string) {\n this.schedulerStore.set('selectedTimezone', timezone);\n }\n\n /**\n * Toggles showBookingForm\n * @param value boolean\n */\n public async toggleAdditionalData(value: boolean) {\n if (!value) {\n // Refetch availability\n await this.refetchAvailability();\n }\n this.schedulerStore.set('showBookingForm', value);\n }\n\n /**\n * Set/update the name of the participant booking the event.\n */\n public setParticipantName(name: string) {\n const { bookingInfo } = this.schedulerStore.state;\n this.schedulerStore.set('bookingInfo', {\n ...bookingInfo,\n primaryParticipant: {\n ...(bookingInfo?.primaryParticipant as NylasSchedulerBookingData['primaryParticipant']),\n name,\n },\n });\n }\n\n /**\n * Set/update the email of the participant booking the event.\n */\n public setParticipantEmail(email: string) {\n const { bookingInfo } = this.schedulerStore.state;\n this.schedulerStore.set('bookingInfo', {\n ...bookingInfo,\n primaryParticipant: {\n ...(bookingInfo?.primaryParticipant as NylasSchedulerBookingData['primaryParticipant']),\n email,\n },\n });\n }\n\n private async refetchAvailability() {\n const today = new Date();\n // Refetch availability\n const startTime = new Date(today.getFullYear(), today.getMonth(), 1).getTime() / 1000;\n const startTimeWithOffset = startTime < today.getTime() / 1000 ? Math.floor(today.getTime() / 1000) : startTime;\n const endTime = new Date(today.getFullYear(), today.getMonth() + 1, 1).getTime() / 1000;\n const result = await this.getAvailability(startTimeWithOffset, endTime);\n return result;\n }\n\n private async resetStoreStateAndFetchAvailability() {\n const today = new Date();\n // Refetch availability\n const result = await this.refetchAvailability();\n // Set selected date to first available date\n const firstAvailableDate = this.schedulerStore.get('availability').find((timeslot: any) => new Date(timeslot.start_time) > new Date());\n let _selectedDate = today;\n if (firstAvailableDate) {\n _selectedDate = firstAvailableDate.start_time;\n }\n this.schedulerStore.set('selectedDate', _selectedDate);\n // Reset store state\n this.schedulerStore.set('eventInfo', null);\n this.schedulerStore.set('showBookingForm', false);\n this.schedulerStore.set('selectedTimeslot', null);\n\n return result;\n }\n\n /**\n * Set reschedule booking id\n */\n public async setReschedule(bookingID: string) {\n const eventInfo = this.schedulerStore.state.eventInfo;\n if (eventInfo) {\n this.schedulerStore.set('reschedulingEventInfo', eventInfo);\n }\n // Set reschedule booking id\n const result = await this.resetStoreStateAndFetchAvailability();\n this.schedulerStore.set('rescheduleBookingId', bookingID);\n return result;\n }\n\n /**\n * Set cancel booking id\n */\n public async setCancel(bookingID: string) {\n this.schedulerStore.set('cancelBookingId', bookingID);\n }\n\n public async resetCancel() {\n const result = await this.resetStoreStateAndFetchAvailability();\n this.schedulerStore.set('cancelBookingId', '');\n this.schedulerStore.set('cancelledEventInfo', null);\n return result;\n }\n\n /**\n * Book the selected timeslot.\n * @param data The booking info.\n * @returns {Promise<NylasResponse<NylasEvent>>}\n */\n public async bookTimeslot(data?: NylasSchedulerBookingData & { timeslot?: Timeslot }): Promise<NylasSchedulerResponse<NylasEvent>> {\n this.schedulerStore.set('isLoading', true);\n const { selectedTimeslot, selectedTimezone, bookingInfo } = this.schedulerStore.state;\n if (!data && !bookingInfo) {\n return { error: this.errors.component('Booking').no_booking_info() };\n }\n\n const timeslot = data?.timeslot || selectedTimeslot;\n if (!timeslot) {\n return { error: this.errors.component('Create Booking').no_timeslot_selected() };\n }\n\n const timezone = data && data?.timezone ? data?.timezone : selectedTimezone;\n\n if (!timezone) {\n return { error: this.errors.component('Create Booking').no_timezone_selected() };\n }\n\n const primaryParticipant = data ? data?.primaryParticipant : bookingInfo?.primaryParticipant;\n const guests = data ? data?.guests || [] : bookingInfo?.guests || [];\n const additional_fields = data ? data?.additionalFields : bookingInfo?.additionalFields;\n\n const headers = this.getHeaders();\n const configIdParam = !this.sessionId && this.configId ? `?configuration_id=${this.configId}` : '';\n const url = `/v3/scheduling/bookings${configIdParam}`;\n\n const response = await this.makeAPIRequest<NylasEvent>(\n decodeURIComponent(url),\n 'POST',\n JSON.stringify({\n additional_fields,\n additional_guests: guests,\n guest: { ...primaryParticipant },\n start_time: timeslot.start_time.getTime() / 1000,\n end_time: timeslot.end_time.getTime() / 1000,\n timezone: timezone,\n }),\n headers,\n );\n\n if ('error' in response) {\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in this.errors.api('Create Booking')) {\n const errorMessage = this.getErrorMessage(error);\n error = this.errors.api('Create Booking')[errorType as APIErrorType](errorMessage);\n }\n return { error };\n }\n\n if ('data' in response) {\n this.schedulerStore.set('eventInfo', response?.data);\n }\n\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n\n /**\n * Get UI settings for the scheduler.\n */\n public async getUISettings(): Promise<NylasSchedulerResponse<UISettingsResponse>> {\n this.schedulerStore.set('isLoading', true);\n const headers = this.getHeaders();\n const configIdParam = !this.sessionId && this.configId ? `?configuration_id=${this.configId}` : '';\n const url = `/v3/scheduling/ui-settings${configIdParam}`;\n\n const response = await this.makeAPIRequest<UISettingsResponse>(url, 'GET', undefined, headers);\n if ('error' in response) {\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in this.errors.api('Get UI Settings')) {\n error = this.errors.api('Get UI Settings')[errorType as APIErrorType](error?.message || error?.title || 'Something went wrong');\n }\n return { error };\n }\n if ('data' in response) {\n this.schedulerStore.set('configSettings', response.data);\n }\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n\n private getStartTimeWithMinBookingNotice(startTime: number) {\n const scheduler = this.schedulerStore.get('configSettings')?.scheduler;\n const min_booking_notice = scheduler?.min_booking_notice;\n if (!min_booking_notice) {\n return startTime;\n }\n return startTime + min_booking_notice * 60;\n }\n\n private getEndTimeForAvailableDaysInFuture(endTime: number) {\n const today = new Date();\n const availableDaysInFuture = this.schedulerStore.get('configSettings')?.scheduler?.available_days_in_future;\n const endTimeForAvailableDaysInFuture = Math.floor(addDaysToCurrentDate(today, availableDaysInFuture).getTime() / 1000);\n const endTimeWithOffset = Math.min(endTimeForAvailableDaysInFuture, endTime);\n return endTimeWithOffset;\n }\n\n /**\n * Gets the availability for a page.\n * @param startTime The start time.\n * @param endTime The end time.\n * @returns {Promise<AvailabilityResponse>}\n */\n public async getAvailability(startTime: number = 0, endTime: number = 0): Promise<NylasSchedulerResponse<AvailabilityResponse>> {\n this.schedulerStore.set('isLoading', true);\n const params = new URLSearchParams();\n const now = new Date();\n const nowTime = now.getTime();\n\n if (endTime && endTime < nowTime / 1000) {\n this.schedulerStore.set('isLoading', false);\n const error = this.errors.component('Get Availability').endtime_not_in_future();\n return { error };\n }\n\n // Calculate the start of the current month if startTime is not provided\n if (!startTime) {\n const startOfMonth = new Date(now.getFullYear(), now.getMonth(), 1);\n startTime = Math.floor(startOfMonth.getTime() / 1000); // Convert to UNIX timestamp in seconds\n }\n\n startTime = this.getStartTimeWithMinBookingNotice(startTime);\n // Calculate the end of the current month if endTime is not provided\n if (!endTime) {\n const endOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0); // Setting day to 0 gets the last day of the previous month, so in this case, the last day of the current month\n endTime = Math.floor(endOfMonth.getTime() / 1000); // Convert to UNIX timestamp in seconds\n }\n endTime = this.getEndTimeForAvailableDaysInFuture(endTime);\n\n params.append('start_time', encodeURIComponent(startTime.toString()));\n params.append('end_time', encodeURIComponent(endTime.toString()));\n if (this.configId && !this.sessionId) {\n params.append('configuration_id', encodeURIComponent(this.configId));\n }\n const queryString = params.toString();\n const url = `/v3/scheduling/availability${queryString ? `?${queryString}` : ''}`;\n const headers = this.getHeaders();\n const response = await this.makeAPIRequest<AvailabilityResponse>(decodeURIComponent(url), 'GET', undefined, headers);\n\n if ('error' in response) {\n this.schedulerStore.set('availability', []);\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in this.errors.api('Get Availability')) {\n const errorMessage = this.getErrorMessage(error);\n error = this.errors.api('Get Availability')[errorType as APIErrorType](errorMessage);\n }\n return { error };\n }\n\n if ('data' in response) {\n const availability =\n response.data?.time_slots?.map(timeslot => {\n return {\n ...timeslot,\n start_time: new Date(timeslot.start_time * 1000),\n end_time: new Date(timeslot.end_time * 1000),\n };\n }) || [];\n\n // Filter out timeslots that are in the past\n const availabilityTimeslotsFiltered = availability.filter(timeslot => timeslot.start_time.getTime() > nowTime);\n this.schedulerStore.set('availability', availabilityTimeslotsFiltered);\n }\n\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n\n /**\n * Cancels a booking.\n * @param bookingId The booking ID.\n */\n public async cancelBooking(bookingId: string, reason: string): Promise<NylasSchedulerResponse<Partial<NylasEvent>>> {\n this.schedulerStore.set('isLoading', true);\n if (!bookingId) {\n return { error: this.errors.component('Cancel Booking').no_booking_id() };\n }\n const configIdParam = !this.sessionId && this.configId ? `?configuration_id=${this.configId}` : '';\n const url = `/v3/scheduling/bookings/${bookingId}${configIdParam}`;\n const headers = this.getHeaders();\n const response = await this.makeAPIRequest<Partial<NylasEvent>>(\n decodeURIComponent(url),\n 'DELETE',\n JSON.stringify({\n action: 'cancel',\n cancellation_reason: reason,\n }),\n headers,\n );\n\n if ('error' in response) {\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in this.errors.api('Cancel Booking')) {\n const errorMessage = this.getErrorMessage(error);\n error = this.errors.api('Cancel Booking')[errorType as APIErrorType](errorMessage);\n }\n return { error };\n }\n\n this.schedulerStore.set('cancelledEventInfo', {\n booking_id: bookingId,\n });\n\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n\n /**\n * Reschedules a booking.\n * @param bookingId The booking ID.\n * @param data The booking info.\n * @returns {Promise<NylasResponse<NylasEvent>>}\n */\n public async rescheduleBooking(bookingId: string, data: NylasSchedulerBookingData): Promise<NylasSchedulerResponse<NylasEvent>> {\n this.schedulerStore.set('isLoading', true);\n if (!bookingId) {\n return { error: this.errors.component('Reschedule Booking').no_booking_id() };\n }\n const apiErrors = this.errors.api('Reschedule Booking');\n const componentErrors = this.errors.component('Reschedule Booking');\n const { bookingInfo, selectedTimeslot, selectedTimezone } = this.schedulerStore.state;\n // Validate data\n const { startTime, endTime, timezone } = data;\n const start_time = startTime || selectedTimeslot?.start_time;\n\n if (!start_time) {\n return { error: componentErrors.invalid_start_time('Please pass \"startTime\" in data or set \"selectedTimeslot\" in the defaultSchedulerState.') };\n }\n const end_time = endTime || selectedTimeslot?.end_time;\n if (!end_time) {\n return { error: componentErrors.invalid_end_time('Please pass \"endTime\" in data or set \"selectedTimeslot\" in the defaultSchedulerState.') };\n }\n const time_zone = timezone || selectedTimezone;\n if (!time_zone) {\n return { error: componentErrors.invalid_timezone('Please pass \"timezone\" in data or set \"selectedTimezone\" in the defaultSchedulerState.') };\n }\n\n const primaryParticipant = data ? data?.primaryParticipant : bookingInfo?.primaryParticipant;\n const guests = data ? data?.guests || [] : bookingInfo?.guests || [];\n const additional_fields = data ? { ...data?.additionalFields, guests } : { ...bookingInfo?.additionalFields, guests };\n\n const configIdParam = !this.sessionId && this.configId ? `?configuration_id=${this.configId}` : '';\n const url = `/v3/scheduling/bookings/${bookingId}${configIdParam}`;\n const headers = this.getHeaders();\n const response = await this.makeAPIRequest<NylasEvent>(\n decodeURIComponent(url),\n 'PATCH',\n JSON.stringify({\n start_time: start_time.getTime() / 1000,\n end_time: end_time.getTime() / 1000,\n time_zone,\n additional_fields,\n guest: { ...primaryParticipant },\n }),\n headers,\n );\n\n if ('error' in response) {\n this.schedulerStore.set('isLoading', false);\n const errorType = response.error?.type;\n let error = response.error;\n if (errorType && errorType in apiErrors) {\n const errorMessage = this.getErrorMessage(error);\n error = apiErrors[errorType as APIErrorType](errorMessage);\n }\n return { error };\n }\n\n const eventInfo = this.schedulerStore.get('reschedulingEventInfo');\n if ('data' in response) {\n this.schedulerStore.set('eventInfo', response?.data);\n } else if (eventInfo) {\n this.schedulerStore.set('eventInfo', eventInfo);\n } else {\n // We should technically never reach this point\n const event = {\n booking_id: bookingId,\n } as NylasEvent;\n this.schedulerStore.set('eventInfo', event);\n }\n\n this.schedulerStore.set('isLoading', false);\n return response;\n }\n}\n","import { DataState, NylasEvent } from '@/common/types';\nimport { debug } from '@/utils/utils';\nimport { NylasSchedulerBookingData, Timeslot } from '@nylas/core';\nimport { createStore } from '@stencil/store';\n\nexport type AvailabilityTimeslot = {\n emails: string[];\n start_time: Date;\n end_time: Date;\n};\n\nexport type LoadingState = {\n api: 'availability' | 'createBooking' | 'cancelBooking' | 'rescheduleBooking';\n};\n\nexport type ConfigSettings = {\n scheduler: {\n available_days_in_future: number;\n min_cancellation_notice: number;\n min_booking_notice: number;\n rescheduling_url?: string;\n cancellation_url?: string;\n cancellation_policy?: string;\n hide_additional_guests?: boolean;\n hide_cancellation_options?: boolean;\n hide_rescheduling_options?: boolean;\n };\n organizer: {\n name: string;\n email: string;\n };\n};\n\nexport interface NylasSchedulerStoreState {\n selectedDate: Date | null;\n selectedLanguage: string;\n selectedTimezone: string;\n selectedTimeslot: Timeslot | null;\n showBookingForm: boolean;\n selectableDates: Date[] | null;\n eventDuration: number;\n availability: AvailabilityTimeslot[];\n state: DataState;\n eventInfo: NylasEvent | null;\n cancelledEventInfo: Partial<NylasEvent> | null;\n reschedulingEventInfo?: NylasEvent;\n bookingInfo?: NylasSchedulerBookingData;\n rescheduleBookingId?: string;\n cancelBookingId?: string;\n isLoading: boolean;\n nylasBranding?: boolean;\n configSettings?: ConfigSettings;\n}\n\nexport type NylasSchedulerStoreType = ReturnType<typeof CreateNylasSchedulerStore>;\n\nexport function CreateNylasSchedulerStore(defaultState: Partial<NylasSchedulerStoreState> = {}) {\n const defaultNylasStoreState: NylasSchedulerStoreState = {\n selectedDate: null,\n selectedLanguage: navigator.language,\n selectedTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n selectedTimeslot: null,\n showBookingForm: false,\n selectableDates: null,\n availability: [],\n eventDuration: 0,\n state: 'ready',\n eventInfo: null,\n cancelledEventInfo: null,\n isLoading: false,\n nylasBranding: true,\n ...defaultState,\n };\n debug(`[defaultNylasStoreState]: `, defaultNylasStoreState);\n const store = createStore<NylasSchedulerStoreState>(defaultNylasStoreState);\n\n store.onChange('availability', availability => {\n debug(`[availability]: `, availability);\n const selectableDates = availability.map(timeslot => timeslot.start_time);\n debug(`[selectableDates]: `, selectableDates);\n store.set('selectableDates', selectableDates);\n const timeslot = availability[0];\n if (!timeslot) return;\n const durationMinutes = Math.floor((timeslot.end_time.getTime() - timeslot.start_time.getTime()) / 60000);\n debug(`[durationMinutes]: `, durationMinutes);\n store.set('eventDuration', durationMinutes);\n });\n\n /**\n * Reset the Nylas store to its default state.\n * There is something wrong with the stencil/store reset method,\n * so we have to do it via this hack.\n */\n store.reset = () => {\n for (const key in defaultNylasStoreState) {\n const value = defaultNylasStoreState[key as keyof typeof defaultNylasStoreState];\n store.set(key as any, value);\n }\n };\n\n return store;\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as a,h as e}from"./p-68c2fadf.js";const c=".sc-document-refresh-icon-h{display:flex}";const d=c;const t=class{constructor(e){a(this,e);this.width="18";this.height="18"}render(){return e("svg",{key:"6abbae134b46b6e50a2cb24282b52a6ba408ba1f",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 18 18",width:this.width,height:this.height},e("rect",{key:"64df5047db1d39380bf97e8744efc3f3c0f5a1b7",id:"Canvas",fill:"#ff13dc",opacity:"0"}),e("path",{key:"cb01c8315961830b97a39031b94f56ab9371ad5c",d:"M9.19763,12.26283A4.44131,4.44131,0,0,1,16.948,10.71741l.62524-.62524a.24433.24433,0,0,1,.1748-.07373.25035.25035,0,0,1,.252.24875v2.50143a.25.25,0,0,1-.25.25l-2.4995-.00016A.25088.25088,0,0,1,15,12.76721v-.00054a.24436.24436,0,0,1,.07373-.175l.86988-.86987a3.02827,3.02827,0,0,0-5.29847.71808.48835.48835,0,0,1-.46081.30981H9.55908a.37949.37949,0,0,1-.36145-.48686Z"}),e("path",{key:"8d7c5608d3adf066d4487f3a6e41937b32edc35c",d:"M17.80237,14.77441A4.4413,4.4413,0,0,1,10.052,16.31982l-.62524.62524a.24429.24429,0,0,1-.1748.07373A.25036.25036,0,0,1,9,16.77V14.26863a.25.25,0,0,1,.25-.25l2.4995.00016A.25087.25087,0,0,1,12,14.27v.00052a.24434.24434,0,0,1-.07373.175l-.86988.86988a3.02828,3.02828,0,0,0,5.29847-.71808.48836.48836,0,0,1,.46081-.30982h.62525a.3795.3795,0,0,1,.36145.48687Z"}),e("path",{key:"3567306a935ef0e19c25534e2688dfae08bda770",d:"M7,13.5A6.5,6.5,0,0,1,13.5,7c.16883,0,.33447.01264.5.02527V5H9.5A.5.5,0,0,1,9,4.5V0H2.5A.5.5,0,0,0,2,.5v15a.5.5,0,0,0,.5.5H7.49981A6.4779,6.4779,0,0,1,7,13.5Z"}),e("path",{key:"5e99392793c239585ee01d5b308ec647772857da",d:"M10,0h.043a.5.5,0,0,1,.353.146L13.854,3.6A.5.5,0,0,1,14,3.957V4H10Z"}))}};t.style=d;export{t as document_refresh_icon};
2
- //# sourceMappingURL=p-ace74b9d.entry.js.map
1
+ import{r as a,h as e}from"./p-68c2fadf.js";const c=".sc-document-refresh-icon-h{display:flex}";const t=c;const s=class{constructor(e){a(this,e);this.width="18";this.height="18"}render(){return e("svg",{key:"e3c8ce9a46cf9b98c47e6f0ae9eef63e061025ba",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 18 18",width:this.width,height:this.height},e("rect",{key:"ae00ee99b4573e7f7f85622b150e1256952da85d",id:"Canvas",fill:"#ff13dc",opacity:"0"}),e("path",{key:"4aba80a4c9390d069a0f34eb3c0daa9b4941eaad",d:"M9.19763,12.26283A4.44131,4.44131,0,0,1,16.948,10.71741l.62524-.62524a.24433.24433,0,0,1,.1748-.07373.25035.25035,0,0,1,.252.24875v2.50143a.25.25,0,0,1-.25.25l-2.4995-.00016A.25088.25088,0,0,1,15,12.76721v-.00054a.24436.24436,0,0,1,.07373-.175l.86988-.86987a3.02827,3.02827,0,0,0-5.29847.71808.48835.48835,0,0,1-.46081.30981H9.55908a.37949.37949,0,0,1-.36145-.48686Z"}),e("path",{key:"7abb44527d7352a59166711530350ec84c81b991",d:"M17.80237,14.77441A4.4413,4.4413,0,0,1,10.052,16.31982l-.62524.62524a.24429.24429,0,0,1-.1748.07373A.25036.25036,0,0,1,9,16.77V14.26863a.25.25,0,0,1,.25-.25l2.4995.00016A.25087.25087,0,0,1,12,14.27v.00052a.24434.24434,0,0,1-.07373.175l-.86988.86988a3.02828,3.02828,0,0,0,5.29847-.71808.48836.48836,0,0,1,.46081-.30982h.62525a.3795.3795,0,0,1,.36145.48687Z"}),e("path",{key:"4c275837793c3e8621bbe1170a14509329672f50",d:"M7,13.5A6.5,6.5,0,0,1,13.5,7c.16883,0,.33447.01264.5.02527V5H9.5A.5.5,0,0,1,9,4.5V0H2.5A.5.5,0,0,0,2,.5v15a.5.5,0,0,0,.5.5H7.49981A6.4779,6.4779,0,0,1,7,13.5Z"}),e("path",{key:"2c88a8c5b48c7cb016f7689269791ed63ecab977",d:"M10,0h.043a.5.5,0,0,1,.353.146L13.854,3.6A.5.5,0,0,1,14,3.957V4H10Z"}))}};s.style=t;export{s as document_refresh_icon};
2
+ //# sourceMappingURL=p-84c53084.entry.js.map
@@ -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 y,L as u}from"./p-49f716ed.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(e.getTime()<a){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}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:"25f461e554d352c8b62341f77c84d61521a40472",part:"nbec"},a("sp-theme",{key:"fa7ae9d97b3c334d71a64076bd6c5787b48b124b",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"731d9d89bfc2f63b8a1095ea671f39d1a99dc4a4",class:"booked-event-timezone"},a("globe-icon",{key:"e7a7d73d7c9461f34145ddf3e99bf5640b39ab56"}),h[this.selectedTimezone]),a("div",{key:"dbb07cac45a1528a2633119af6050a630f8df173",class:"event-card-wrapper",part:"nbec__card"},a("div",{key:"79b6b636707f8e867358da1b4340e6f0bfeb386e",class:"calendar-icon"},a("calendar-check-icon",{key:"a268b01ecbf64976dc61c9e3c66a67cade9d2227"})),a("div",{key:"52c4c97407582b05bfb87e1379930f7cf149c013",class:"booked-event-header"},a("h2",{key:"ed4631c601b4920b20c27d158063dcbef92084d4",slot:"card-title",part:"nbec__title"},"Booking ",!!this.rescheduleBookingId?"rescheduled":"confirmed","!"),a("div",{key:"f5e93f73c4828764cb7e27cc3d5ab2b761e66fdc",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:"d9f14eeb24c4935f131edebb3102ffd69d2bde43"}),a("div",{key:"57f6f7877162eb8de8898d6523dac452b3c841e9",class:"booking-date-time"},a("checkmark-circle-icon",{key:"5bd672ae7c70b0102d6a14e2761b8ecc222ce488"}),a("h3",{key:"5e8ca582a26a51f790ca111648381a10f8ef917c"},"Booking date and time"),a("p",{key:"0b98f73c94add678003f63cd1e59352f7acd29b3"},new Date(this.selectedTimeslot?.start_time).toLocaleDateString(undefined,{dateStyle:"full"})," ",a("br",{key:"cc2a50917760651ca2e015fa22f264740b545a58"}),new Date(this.selectedTimeslot?.start_time).toLocaleTimeString(undefined,{timeStyle:"short"})," -"," ",new Date(this.selectedTimeslot?.end_time).toLocaleTimeString(undefined,{timeStyle:"short"}))),a("div",{key:"5ccf1dbc6002c9eaf60b3bd9211e590ab9135d68",class:"booking-participants"}),a("sp-divider",{key:"7ff9b9f4fa4bfc19da47d358ddda325b13b1a465"}),a("div",{key:"2c3d69854b255864cca3782a9ad87175a18d8cf9",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.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,a)=>{const n=this.additionalFields.findIndex((t=>t.name===e));if(n>-1){this.additionalFields[n].value=t}else{this.additionalFields.push({name:e,value:t,type:a||"text"})}};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,e.detail.type);break}if(e.detail.name==="name"){this.changeName(e.detail.value)}else if(e.detail.name==="email"){this.changeEmail(e.detail.value)}}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,"dropdown")}switchToggledHandler(e){this.updateAdditionalFields(e.detail.label,e.detail.checked?"true":"false","checkbox")}checkboxToggledHandler(e){this.updateAdditionalFields(e.detail.label,e.detail.checked?"true":"false","checkbox")}render(){return a(n,{key:"5a4ca2feb2f89ada6abada8dd3f6dc4909cb3500"},a("form",{key:"1df9fb2f5a519f4e3ed189f9a11623caa86f3dee",onSubmit:e=>this.bookButtonClickedHandler(e),noValidate:true},a("div",{key:"86a4548532291a4aec3f004eeeb6edde6064248b",class:"nylas-booking-form"},a("div",{key:"7749795a2086658ef53cbe1e6dfa073b29b8b880",class:"input-wrapper"},a("input-component",{key:"b2fd6473fa91b144cb2a23d1db9059f7aafce20b",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:"cf6fca8e8ced455047b555905e5b21ad7307505d",class:"input-wrapper"},a("input-component",{key:"0a5639811623911f7ed59fa12bd45ceb76ae0373",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"))),a("slot",{key:"d853e1e084cb8c769fa0eb0b1e94b09473f6e670",name:"custom-booking-form"})),a("div",{key:"5239eabf55e8be79d1c17b71c6d7f392f563d54d",class:"cta"},a("sp-button",{key:"7b11d64985c876327144ef026934357b37b09cb2",treatment:"outline",variant:"secondary",class:"back",part:"nbf__button-outline",onClick:this.handleBackButtonClicked},a("slot",{key:"160c368859256544a236a6a010f06eab039dc2ce",name:"booking-form-back-label"},"Back")),a("sp-button",{key:"6f6c79cf9d8bef6178af788e427f62262d873738",variant:"primary",class:"book",part:"nbf__button-primary",type:"submit"},this.isLoading&&a("loading-icon",{slot:"icon"}),a("slot",{key:"6fedba0ecc756ceb8941158b6620cdf1df6fe3c0",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}o(`[nylas-cancel-booking-form] Cancel booking form submitted with reason: ${this.cancellationReason}`);const t=e=>{this.cancelBookedEventError.emit(e)};this.cancelBookingFormSubmitted.emit({bookingId:this.cancelBookingId,reason:this.cancellationReason,errorHandler:t})};this.handleOnChangeCancellationReason=e=>{this.cancellationError="";this.cancellationReason=e.target.value};this.cancelBookingId=undefined;this.configSettings=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:"25f45d91057f52263ae313ffed14d56ba22a783d",part:"ncec"},a("sp-theme",{key:"c213bc36d8459f0c206ca19bdd77d2d6b5ba5c1b",theme:"spectrum",scale:"medium"},a("div",{key:"bd50aa9a5c416825bc6b05c0bf47d85a31021c29",class:"nylas-cancel-booking-form",part:"ncec__card"},a("div",{key:"9654b0cbda12436ac025265f82aa8bfe0a127fbd",class:"nylas-cancel-booking-form__calendar-icon",part:"ncec__icon"},a("calendar-cancel-icon",{key:"3a97606f7c5f2e0f9c08dc7f0b199e56a4afa7f4"})),a("h3",{key:"26c0a115101786847fa681fa2cb3492561516f64",class:"nylas-cancel-booking-form__title",part:"ncec__title"},"Cancel booking?"),a("div",{key:"05fe59fff1fa6b8bf38313bef5457d4022674570",class:"nylas-cancel-booking-form__description",part:"ncec__description"},this.cancellationPolicy),a("form",{key:"6c3c1365bde80d1915026f125be9208c3c16d69c",onSubmit:this.handleSubmitCancelBooking},a("sp-field-label",{key:"fca2f04d8300b0e1be7a8071fed69c714f82491e",for:"cancel-reason",class:this.cancellationError?"error":""},"Reason for cancellation ",a("span",{key:"1a77038fbda4048fca0e7cc8a39ad357a10f0fd7",class:"required"},"*")),a("sp-textfield",{key:"dbb19d14b09f7b85776ca288ec8f9fe58d5080f5",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:"e2e0c9794cae46b4a5cc857156d904a1236ccb49",slot:"negative-help-text"},this.cancellationError)),a("sp-button",{key:"a647e3e70704325f3986e6a869b65a5ec7495354",variant:"primary",class:"cancel",type:"submit",part:"ncec__button-cta"},"Cancel booking"),a("sp-button",{key:"b8b732ceafaf6d1090cf7b1a3d979854e17684ca",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"]]),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 V=undefined&&undefined.__metadata||function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};const O=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:"9c4e8c3d74888d794d747e048ab368ae4f9fce9f",part:"ncec"},a("sp-theme",{key:"fe7c297e3da3ec06c54b8c4eddce779e283a6f8c",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"1154b9e1271af9d613401f1958937a2dc87ad2e9",class:"nylas-cancelled-event-card",part:"ncec__card"},a("div",{key:"c1d5e51311db568bdfd14c45cdb17a341d1222ad",class:"nylas-cancelled-event-card__calendar-icon",part:"ncec__icon"},a("calendar-cancel-icon",{key:"9c3f516a80498ff983fe17dd2fbc84d9ee0ac7b8"})),a("h3",{key:"82ed5d4165dbc590bb996569252a5661ac915d98",class:"nylas-cancelled-event-card__title",part:"ncec__title"},"Your booking has been cancelled successfully!"),a("div",{key:"5a01351f61614bee349cb350395d00d61b43c574",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:"c82b6b6260111bdecf664a475591cbfab6d4321e",class:"nylas-cancelled-event-card__cta"},a("sp-button",{key:"34fdcee6945a44597a2084c3043aa3375cd560cb",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}),V("design:type",Function),V("design:paramtypes",[]),V("design:returntype",void 0)],O.prototype,"render",null);O.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 Z=1e3;const q=Z*60;const N=q*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())*q)/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 X=':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 Y=X;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:"bc2d37f59dc4cc59c9659a15ce640d3f3c738239",part:"ndp"},a("div",{key:"7b39c6ff3b5c820d6ee4cc3419a80f9803011deb",class:"nylas-date-picker"},a("div",{key:"e7e08bbe189da82d187241b1025633f9ea690bbe",class:"title",part:"'ndp__title"},a("h1",{key:"6619e950e5b31181663916bb95eb72efcda2031b"},a("person-icon",{key:"3db3207dea880167c6f7f4058887b51620da58f9"}),this.configSettings?.organizer?.name||this.configSettings?.organizer.email),a("p",{key:"8a1ec0fe12579b46279b1c95af1928740b9fffb4"},a("clock-icon",{key:"677dc941e4bba5387a16af1f47eb52ed0daf37ab"}),this.eventDuration?b(this.eventDuration):`- minutes`)),a("div",{key:"55ceabd5fe27d3261d8a1c320cc9d612829c50b5",class:"header flex-row"},a("h2",{key:"0fb27b957ac9315139b1cc6ead9504d3b35549cd",part:"ndp__month-header"},a("strong",{key:"c916747bc9714fa1e0743674aa8845f0bb3bc8c6"},this.month.toLocaleDateString(undefined,{month:"long"}))," ",this.month.toLocaleDateString(undefined,{year:"numeric"})),a("div",{key:"f730a61b661c581d623eca6d56f809d40c0a775b",class:"pagination"},a("button",{key:"69555f5b4de9306dedd29bdeeb90effbda01c521",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:"ea5c5492aa75cbb1c94af57d01c091a353b7ee2a"})),a("button",{key:"9313976fea433d8babf3ce5a63891492e93c22bc",onClick:()=>this.changeMonth(1),class:{"chevron-right":true,button:true},disabled:this.disableNextMonthButton,part:"ndp__month-button"},a("chevron-icon",{key:"81f86816719358949d8eef1e346702da314de68f"})))),a("div",{key:"32e3e0cf78205054739acc6ae3a3363b7d10c926",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=Y;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=y(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(u).map((e=>({label:u[e],value:e})));return a(n,{key:"b568b75977c586e88d88d69ce6a4b7651fd6123b"},a("div",{key:"95b12f2d96e46b31ed606c85c4fe3151861d188c",class:"nylas-locale-switch"},a("div",{key:"d44690dae20a0068ffe55ab87024c8e283acaa6c",class:{"select-wrapper":true,timezone:true}},a("select-dropdown",{key:"09b895b074f36381567d439869b68d8e10869b2a",name:"timezone",options:e,defaultSelectedOption:e.find((e=>e.value==this.selectedTimezone))},a("span",{key:"72a40810ca3d7a59b0e8d76be62c63f70c1cf183",slot:"select-icon"},a("globe-icon",{key:"01dedea1be14b299cf447085b5778663015b2e2d",width:"20",height:"20"})))),a("div",{key:"2b4078132bc366f7784648cce51fe0ee33467d06",class:{"select-wrapper":true,language:true}},a("select-dropdown",{key:"eb73c3eb853aba5c0acde42bf49dd09c19f1d43b",name:"language",options:t,defaultSelectedOption:t.find((e=>e.value==this.selectedLanguage))},a("span",{key:"b2b1b5e1d8d2b85e67615c6f63a69ac955e3fc16",slot:"select-icon"},a("translate-icon",{key:"161bb7dad0a08d8362c5c3cdd85238d732e5888c",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:"dcfc1d62178b1d3d699e49e4ee23f8d3db1c58f0",width:this.width,height:this.height,viewBox:"0 0 69 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a("g",{key:"0dba7753e8c6eaf6e21ed13db42b1f8b54be53d4","clip-path":"url(#clip0_455_3543)"},a("path",{key:"35e067694b0f607b7ca5b9342e8253a5ca11f840",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:"cea19b0f33edb2330b306a92865800e28f28b15e",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:"671c4d7360da3fccfa0f9a1db64d97122abf0a87",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:"7212a39f00bc169c28f29d5f88e5582ab003fe0d",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:"3a7901b100e2365da4c67c7f012b7212c505bd49",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:"e7d169a405085e5e02428fe8c2859e22dfec6554",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:"01d182723a8bf07a7c7e4e45cb7014dae5303486",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:"ca5c8ba4be2fbe7c80e212ac085809a9daba6674",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:"a0d9574defb476b7e2fdb8d3b28fa08ef38f042e"},a("clipPath",{key:"dff8cf481c3ba6324a58fc4348a3c76c9a4c8609",id:"clip0_455_3543"},a("rect",{key:"f72786c654715d47462741503b6a07d635389835",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:"9011372a63b5b706177dedf93b14df8158e14e04"},a(i,{key:"d06168682c50f2b5330f8c923ecaec19dfc44add"},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:"6cfe1ecaea1c313ca1549d01b3b8c1627af0d8f2"})))}};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:"27aa2e0c4ea3a4ac04c24c3e7049360ab1da450c",part:"nsec"},a("sp-theme",{key:"06a93ef1f378da9bf9c8eeb8cbb3b7ab912cbe39",theme:"spectrum",color:"dark",scale:"medium"},a("div",{key:"cbeab1951966e48db4e7c0e652946099377abfaa",class:"event-card",part:"nsec__card"},a("div",{key:"014aed3ae5739ec763f3fe0ff7b94f859a35090c",class:"calendar-icon",part:"nsec__icon"},a("calendar-icon",{key:"b19e2752e3b87c07f14c23651416de2a1fa78ca5"})),a("div",{key:"d4adee688565fcec2e217cc2b3ae8bb2d2572630",class:"nylas-selected-event-card__date",part:"nsec__date"},this.selectedDate?.toLocaleDateString(undefined,{dateStyle:"full"})),a("div",{key:"c9f15e73f1cf65d6df1739fe348abd9fe50c34d9",class:"nylas-selected-event-card__time",part:"nsec__time"},this.startTime," - ",this.endTime)),a("div",{key:"531c381692eefac442a0646d4584f9cf2a51808e",class:"event-timezone",part:"nsec__timezone"},a("globe-icon",{key:"d6d7225298063ab5d5005f2c0a8d2a57de0d1a27"}),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%}.time-slots{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 .time-slot-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 ye=he;var ue=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})}getTimeSlotLabel(e){const t=new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"numeric",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:"time-slot-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:"time-slots"},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"]}}};ue([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=ye;export{w as nylas_booked_event_card,D as nylas_booking_form,I as nylas_cancel_booking_form,O 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-8c1a5e57.entry.js.map