@nylas/web-elements 1.0.2-canary.2 → 1.1.0-canary.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1005) hide show
  1. package/dist/cjs/add-circle-icon.cjs.entry.js +2 -2
  2. package/dist/cjs/{add-circle-icon_18.cjs.entry.js → add-circle-icon_22.cjs.entry.js} +425 -97
  3. package/dist/cjs/add-circle-icon_22.cjs.entry.js.map +1 -0
  4. package/dist/cjs/archive-icon.cjs.entry.js +2 -2
  5. package/dist/cjs/archive-icon_7.cjs.entry.js +8 -8
  6. package/dist/cjs/arrow-icon.cjs.entry.js +2 -2
  7. package/dist/cjs/bold-icon.cjs.entry.js +2 -2
  8. package/dist/cjs/bold-icon_3.cjs.entry.js +4 -4
  9. package/dist/cjs/button-component.cjs.entry.js +30 -0
  10. package/dist/cjs/button-component.cjs.entry.js.map +1 -0
  11. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +2 -2
  12. package/dist/cjs/calendar-check-icon.cjs.entry.js +2 -2
  13. package/dist/cjs/calendar-check-icon_2.cjs.entry.js +3 -3
  14. package/dist/cjs/calendar-icon.cjs.entry.js +2 -2
  15. package/dist/cjs/calendar-info-icon.cjs.entry.js +2 -2
  16. package/dist/cjs/calendar-patterns-icon.cjs.entry.js +2 -2
  17. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +2 -2
  18. package/dist/cjs/chevron-icon.cjs.entry.js +2 -2
  19. package/dist/cjs/chevron-icon_3.cjs.entry.js +23 -6
  20. package/dist/cjs/chevron-icon_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/close-icon.cjs.entry.js +2 -2
  22. package/dist/cjs/{constants-9e39ba68.js → constants-0fba94a4.js} +2 -1
  23. package/dist/cjs/{constants-9e39ba68.js.map → constants-0fba94a4.js.map} +1 -1
  24. package/dist/cjs/{constants-c48567b9.js → constants-6baf1f1d.js} +2 -1
  25. package/dist/cjs/{constants-c48567b9.js.map → constants-6baf1f1d.js.map} +1 -1
  26. package/dist/cjs/document-refresh-icon.cjs.entry.js +2 -2
  27. package/dist/cjs/flow-icon.cjs.entry.js +2 -2
  28. package/dist/cjs/folder-icon.cjs.entry.js +2 -2
  29. package/dist/cjs/forward-icon.cjs.entry.js +2 -2
  30. package/dist/cjs/forward-icon_6.cjs.entry.js +9 -9
  31. package/dist/cjs/globe-icon.cjs.entry.js +2 -2
  32. package/dist/cjs/google-logo-icon.cjs.entry.js +23 -0
  33. package/dist/cjs/google-logo-icon.cjs.entry.js.map +1 -0
  34. package/dist/cjs/google-logo-icon_3.cjs.entry.js +302 -0
  35. package/dist/cjs/google-logo-icon_3.cjs.entry.js.map +1 -0
  36. package/dist/cjs/inbox-icon.cjs.entry.js +2 -2
  37. package/dist/cjs/{index-ecd19640.js → index-5ba61c57.js} +2 -2
  38. package/dist/cjs/{index-ecd19640.js.map → index-5ba61c57.js.map} +1 -1
  39. package/dist/cjs/{index-37045c7b.js → index-7af03e3f.js} +482 -21
  40. package/dist/cjs/index-7af03e3f.js.map +1 -0
  41. package/dist/cjs/{index-ec8e2a4d.js → index-c14ea8f5.js} +34 -6
  42. package/dist/cjs/index-c14ea8f5.js.map +1 -0
  43. package/dist/cjs/{index-f969795f.js → index-e31dc92c.js} +2 -2
  44. package/dist/cjs/{index-f969795f.js.map → index-e31dc92c.js.map} +1 -1
  45. package/dist/cjs/index.cjs.js +4 -2
  46. package/dist/cjs/index.cjs.js.map +1 -1
  47. package/dist/cjs/{index.es-9122f5a3.js → index.es-447c5aca.js} +7 -2
  48. package/dist/cjs/index.es-447c5aca.js.map +1 -0
  49. package/dist/cjs/{index.es-3c12ec8c.js → index.es-68425511.js} +7 -2
  50. package/dist/cjs/index.es-68425511.js.map +1 -0
  51. package/dist/cjs/info-icon.cjs.entry.js +2 -2
  52. package/dist/cjs/info-icon_2.cjs.entry.js +3 -3
  53. package/dist/cjs/italic-icon.cjs.entry.js +2 -2
  54. package/dist/cjs/loader.cjs.js +2 -2
  55. package/dist/cjs/loading-icon.cjs.entry.js +2 -2
  56. package/dist/cjs/location-icon.cjs.entry.js +2 -2
  57. package/dist/cjs/location-off-icon.cjs.entry.js +2 -2
  58. package/dist/cjs/{mailbox-store-37622628.js → mailbox-store-556bc7b6.js} +81 -3
  59. package/dist/cjs/mailbox-store-556bc7b6.js.map +1 -0
  60. package/dist/cjs/{mailbox-store-5cd5e485.js → mailbox-store-aacd75ff.js} +81 -3
  61. package/dist/cjs/mailbox-store-aacd75ff.js.map +1 -0
  62. package/dist/cjs/microsoft-logo-icon.cjs.entry.js +23 -0
  63. package/dist/cjs/microsoft-logo-icon.cjs.entry.js.map +1 -0
  64. package/dist/cjs/multi-select-dropdown.cjs.entry.js +3 -3
  65. package/dist/cjs/nylas-additional-participants.cjs.entry.js +6 -6
  66. package/dist/cjs/nylas-additional-participants.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nylas-api-request-8ec3a89c.js +39 -0
  68. package/dist/cjs/nylas-api-request-8ec3a89c.js.map +1 -0
  69. package/dist/cjs/nylas-api-request-ab24150d.js +37 -0
  70. package/dist/cjs/nylas-api-request-ab24150d.js.map +1 -0
  71. package/dist/cjs/nylas-availability-picker.cjs.entry.js +9 -9
  72. package/dist/cjs/nylas-availability-picker.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nylas-booked-event-card.cjs.entry.js +4 -4
  74. package/dist/cjs/nylas-booked-event-card.cjs.entry.js.map +1 -1
  75. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +14 -14
  76. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
  77. package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js +4 -4
  78. package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js.map +1 -1
  79. package/dist/cjs/nylas-booking-form.cjs.entry.js +3 -3
  80. package/dist/cjs/nylas-booking-form.cjs.entry.js.map +1 -1
  81. package/dist/cjs/nylas-buffer-time.cjs.entry.js +5 -5
  82. package/dist/cjs/nylas-buffer-time.cjs.entry.js.map +1 -1
  83. package/dist/cjs/nylas-calendar-picker.cjs.entry.js +4 -4
  84. package/dist/cjs/nylas-calendar-picker.cjs.entry.js.map +1 -1
  85. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +4 -4
  86. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js.map +1 -1
  87. package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +3 -3
  88. package/dist/cjs/nylas-composer.cjs.entry.js +2 -2
  89. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +3 -3
  90. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js.map +1 -1
  91. package/dist/cjs/nylas-date-picker.cjs.entry.js +3 -3
  92. package/dist/cjs/nylas-date-picker.cjs.entry.js.map +1 -1
  93. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +100 -48
  94. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  95. package/dist/cjs/nylas-event-description.cjs.entry.js +3 -3
  96. package/dist/cjs/nylas-event-description.cjs.entry.js.map +1 -1
  97. package/dist/cjs/nylas-event-duration.cjs.entry.js +4 -4
  98. package/dist/cjs/nylas-event-duration.cjs.entry.js.map +1 -1
  99. package/dist/cjs/nylas-event-info.cjs.entry.js +4 -4
  100. package/dist/cjs/nylas-event-info.cjs.entry.js.map +1 -1
  101. package/dist/cjs/nylas-event-limits.cjs.entry.js +68 -0
  102. package/dist/cjs/nylas-event-limits.cjs.entry.js.map +1 -0
  103. package/dist/cjs/nylas-event-title.cjs.entry.js +4 -4
  104. package/dist/cjs/nylas-event-title.cjs.entry.js.map +1 -1
  105. package/dist/cjs/nylas-form-card.cjs.entry.js +4 -4
  106. package/dist/cjs/nylas-form-card.cjs.entry.js.map +1 -1
  107. package/dist/cjs/nylas-if-state.cjs.entry.js +2 -2
  108. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +122 -0
  109. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js.map +1 -0
  110. package/dist/cjs/nylas-list-folders.cjs.entry.js +3 -3
  111. package/dist/cjs/nylas-list-threads.cjs.entry.js +3 -3
  112. package/dist/cjs/nylas-locale-switch.cjs.entry.js +4 -4
  113. package/dist/cjs/nylas-locale-switch.cjs.entry.js.map +1 -1
  114. package/dist/cjs/nylas-location-component.cjs.entry.js +5 -5
  115. package/dist/cjs/nylas-location-component.cjs.entry.js.map +1 -1
  116. package/dist/cjs/nylas-login.cjs.entry.js +3 -3
  117. package/dist/cjs/nylas-logo.cjs.entry.js +2 -2
  118. package/dist/cjs/nylas-mailbox-pagination.cjs.entry.js +2 -2
  119. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +3 -3
  120. package/dist/cjs/nylas-mailbox.cjs.entry.js +12 -13
  121. package/dist/cjs/nylas-mailbox.cjs.entry.js.map +1 -1
  122. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +145 -0
  123. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js.map +1 -0
  124. package/dist/cjs/nylas-notification.cjs.entry.js +2 -2
  125. package/dist/cjs/nylas-provider.cjs.entry.js +9 -21
  126. package/dist/cjs/nylas-provider.cjs.entry.js.map +1 -1
  127. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +7257 -74
  128. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  129. package/dist/cjs/nylas-scheduling.cjs.entry.js +17 -13
  130. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  131. package/dist/cjs/nylas-selected-event-card.cjs.entry.js +4 -4
  132. package/dist/cjs/nylas-selected-event-card.cjs.entry.js.map +1 -1
  133. package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +4 -4
  134. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +4 -4
  135. package/dist/cjs/nylas-threads-search.cjs.entry.js +3 -3
  136. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +4 -4
  137. package/dist/cjs/nylas-time-window-picker.cjs.entry.js.map +1 -1
  138. package/dist/cjs/nylas-timeslot-picker.cjs.entry.js +3 -3
  139. package/dist/cjs/nylas-timeslot-picker.cjs.entry.js.map +1 -1
  140. package/dist/cjs/nylas-view-email.cjs.entry.js +2 -2
  141. package/dist/cjs/nylas-view-thread.cjs.entry.js +3 -3
  142. package/dist/cjs/nylas-web-elements.cjs.js +2 -2
  143. package/dist/cjs/people-icon.cjs.entry.js +2 -2
  144. package/dist/cjs/play-icon.cjs.entry.js +2 -2
  145. package/dist/cjs/play-icon_2.cjs.entry.js +3 -3
  146. package/dist/cjs/refresh-icon.cjs.entry.js +2 -2
  147. package/dist/cjs/{register-component-cc1cf810.js → register-component-d729f3f7.js} +2 -2
  148. package/dist/cjs/{register-component-cc1cf810.js.map → register-component-d729f3f7.js.map} +1 -1
  149. package/dist/cjs/{register-component-dfbd5404.js → register-component-f1ebc65d.js} +2 -2
  150. package/dist/cjs/{register-component-dfbd5404.js.map → register-component-f1ebc65d.js.map} +1 -1
  151. package/dist/cjs/reply-all-icon.cjs.entry.js +2 -2
  152. package/dist/cjs/reply-icon.cjs.entry.js +2 -2
  153. package/dist/cjs/scheduler-config-store-31b83ad3.js +19 -0
  154. package/dist/cjs/scheduler-config-store-31b83ad3.js.map +1 -0
  155. package/dist/cjs/scheduler-config-store-9c2cc421.js +19 -0
  156. package/dist/cjs/scheduler-config-store-9c2cc421.js.map +1 -0
  157. package/dist/cjs/{scheduler-store-65f0fbe5.js → scheduler-store-4cb46b3c.js} +3 -2
  158. package/dist/cjs/scheduler-store-4cb46b3c.js.map +1 -0
  159. package/dist/cjs/{scheduler-store-41b6d179.js → scheduler-store-7320f5d0.js} +3 -2
  160. package/dist/cjs/scheduler-store-7320f5d0.js.map +1 -0
  161. package/dist/cjs/search-icon.cjs.entry.js +2 -2
  162. package/dist/cjs/select-dropdown.cjs.entry.js +21 -4
  163. package/dist/cjs/select-dropdown.cjs.entry.js.map +1 -1
  164. package/dist/cjs/sent-icon.cjs.entry.js +2 -2
  165. package/dist/cjs/spam-icon.cjs.entry.js +2 -2
  166. package/dist/cjs/star-icon.cjs.entry.js +2 -2
  167. package/dist/cjs/stop-icon.cjs.entry.js +2 -2
  168. package/dist/cjs/time-period-selector.cjs.entry.js +104 -0
  169. package/dist/cjs/time-period-selector.cjs.entry.js.map +1 -0
  170. package/dist/cjs/tooltip-component.cjs.entry.js +2 -2
  171. package/dist/cjs/translate-icon.cjs.entry.js +2 -2
  172. package/dist/cjs/trash-icon.cjs.entry.js +2 -2
  173. package/dist/cjs/underline-icon.cjs.entry.js +2 -2
  174. package/dist/cjs/warning-icon.cjs.entry.js +2 -2
  175. package/dist/collection/collection-manifest.json +7 -0
  176. package/dist/collection/common/constants.js +1 -0
  177. package/dist/collection/common/constants.js.map +1 -1
  178. package/dist/collection/common/icons/add-circle.js +1 -1
  179. package/dist/collection/common/icons/archive.js +1 -1
  180. package/dist/collection/common/icons/arrow.js +1 -1
  181. package/dist/collection/common/icons/bold.js +1 -1
  182. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  183. package/dist/collection/common/icons/calendar-check.js +1 -1
  184. package/dist/collection/common/icons/calendar-info.js +1 -1
  185. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  186. package/dist/collection/common/icons/calendar.js +1 -1
  187. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  188. package/dist/collection/common/icons/chevron.js +1 -1
  189. package/dist/collection/common/icons/close.js +1 -1
  190. package/dist/collection/common/icons/document-refresh.js +1 -1
  191. package/dist/collection/common/icons/flow.js +1 -1
  192. package/dist/collection/common/icons/folder.js +1 -1
  193. package/dist/collection/common/icons/forward.js +1 -1
  194. package/dist/collection/common/icons/globe.js +1 -1
  195. package/dist/collection/common/icons/google-logo.js +63 -0
  196. package/dist/collection/common/icons/google-logo.js.map +1 -0
  197. package/dist/collection/common/icons/inbox.js +1 -1
  198. package/dist/collection/common/icons/info.js +1 -1
  199. package/dist/collection/common/icons/italic.js +1 -1
  200. package/dist/collection/common/icons/loading.js +1 -1
  201. package/dist/collection/common/icons/location-off.js +1 -1
  202. package/dist/collection/common/icons/location.js +1 -1
  203. package/dist/collection/common/icons/microsoft-logo.js +63 -0
  204. package/dist/collection/common/icons/microsoft-logo.js.map +1 -0
  205. package/dist/collection/common/icons/nylas-logo.js +1 -1
  206. package/dist/collection/common/icons/people.js +1 -1
  207. package/dist/collection/common/icons/play.js +1 -1
  208. package/dist/collection/common/icons/refresh.js +1 -1
  209. package/dist/collection/common/icons/reply-all.js +1 -1
  210. package/dist/collection/common/icons/reply.js +1 -1
  211. package/dist/collection/common/icons/search.js +1 -1
  212. package/dist/collection/common/icons/sent.js +1 -1
  213. package/dist/collection/common/icons/spam.js +1 -1
  214. package/dist/collection/common/icons/star.js +1 -1
  215. package/dist/collection/common/icons/stop.js +1 -1
  216. package/dist/collection/common/icons/translate.js +1 -1
  217. package/dist/collection/common/icons/trash.js +1 -1
  218. package/dist/collection/common/icons/underline.js +1 -1
  219. package/dist/collection/common/icons/warning.js +1 -1
  220. package/dist/collection/common/nylas-api-request.js +34 -0
  221. package/dist/collection/common/nylas-api-request.js.map +1 -0
  222. package/dist/collection/components/design-system/button-component/button-component.css +73 -0
  223. package/dist/collection/components/design-system/button-component/button-component.js +193 -0
  224. package/dist/collection/components/design-system/button-component/button-component.js.map +1 -0
  225. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  226. package/dist/collection/components/design-system/select-dropdown/select-dropdown.css +6 -4
  227. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +42 -2
  228. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js.map +1 -1
  229. package/dist/collection/components/design-system/time-period-selector/time-period-selector.css +22 -0
  230. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +200 -0
  231. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js.map +1 -0
  232. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  233. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  234. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  235. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  236. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  237. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +2 -2
  238. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  239. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  240. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  241. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  242. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  243. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  244. package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
  245. package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.css +4 -3
  246. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.css +4 -0
  247. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.css +1 -0
  248. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
  249. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
  250. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.css +20 -10
  251. package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.css +6 -1
  252. package/dist/collection/components/scheduler/nylas-locale-switch/test/nylas-locale-switch.spec.js +3 -3
  253. package/dist/collection/components/scheduler/nylas-locale-switch/test/nylas-locale-switch.spec.js.map +1 -1
  254. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  255. package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.css +7 -8
  256. package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.js +27 -6
  257. package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.js.map +1 -1
  258. package/dist/collection/components/scheduler/nylas-scheduler/scheduler-view.js +2 -1
  259. package/dist/collection/components/scheduler/nylas-scheduler/scheduler-view.js.map +1 -1
  260. package/dist/collection/components/scheduler/nylas-scheduler/test/nylas-scheduling.spec.js +9 -0
  261. package/dist/collection/components/scheduler/nylas-scheduler/test/nylas-scheduling.spec.js.map +1 -1
  262. package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.css +12 -2
  263. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.css +1 -1
  264. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.css +5 -16
  265. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +3 -3
  266. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  267. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.css +49 -3
  268. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +5 -5
  269. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  270. package/dist/collection/components/scheduler-editor/nylas-availability-picker/test/nylas-availability-picker.spec.js +1 -1
  271. package/dist/collection/components/scheduler-editor/nylas-availability-picker/test/nylas-availability-picker.spec.js.map +1 -1
  272. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.css +6 -0
  273. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js +1 -1
  274. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js.map +1 -1
  275. package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.js +3 -3
  276. package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.js.map +1 -1
  277. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.css +6 -0
  278. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js +1 -1
  279. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js.map +1 -1
  280. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  281. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js.map +1 -1
  282. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.css +2 -2
  283. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +90 -52
  284. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  285. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +22 -0
  286. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -0
  287. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +1 -1
  288. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js.map +1 -1
  289. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +2 -2
  290. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js.map +1 -1
  291. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.css +2 -2
  292. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  293. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.css +60 -0
  294. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +59 -0
  295. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js.map +1 -0
  296. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +1 -1
  297. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js.map +1 -1
  298. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.css +2 -2
  299. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  300. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.css +46 -0
  301. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +191 -0
  302. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js.map +1 -0
  303. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/test/nylas-limit-future-bookings.spec.js +41 -0
  304. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/test/nylas-limit-future-bookings.spec.js.map +1 -0
  305. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js +3 -3
  306. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js.map +1 -1
  307. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.css +46 -0
  308. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +214 -0
  309. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js.map +1 -0
  310. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/test/nylas-min-cancellation-notice.spec.js +41 -0
  311. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/test/nylas-min-cancellation-notice.spec.js.map +1 -0
  312. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.css +73 -1
  313. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +177 -66
  314. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  315. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.css +10 -2
  316. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +2 -2
  317. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js.map +1 -1
  318. package/dist/collection/connector/connector-interface.js.map +1 -1
  319. package/dist/collection/connector/nylas-connector/index.js +0 -12
  320. package/dist/collection/connector/nylas-connector/index.js.map +1 -1
  321. package/dist/collection/connector/nylas-scheduler-config-connector/index.js +3 -24
  322. package/dist/collection/connector/nylas-scheduler-config-connector/index.js.map +1 -1
  323. package/dist/collection/connector/shared/api/scheduler-config.js +79 -10
  324. package/dist/collection/connector/shared/api/scheduler-config.js.map +1 -1
  325. package/dist/collection/index.js +1 -0
  326. package/dist/collection/index.js.map +1 -1
  327. package/dist/collection/stores/auth-session-store.js +18 -0
  328. package/dist/collection/stores/auth-session-store.js.map +1 -0
  329. package/dist/collection/stores/scheduler-config-store.js +2 -0
  330. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  331. package/dist/collection/stores/scheduler-store.js +1 -0
  332. package/dist/collection/stores/scheduler-store.js.map +1 -1
  333. package/dist/components/add-circle.js +1 -1
  334. package/dist/components/archive.js +1 -1
  335. package/dist/components/arrow.js +1 -1
  336. package/dist/components/bold.js +1 -1
  337. package/dist/components/button-component.d.ts +11 -0
  338. package/dist/components/button-component.js +8 -0
  339. package/dist/components/button-component.js.map +1 -0
  340. package/dist/components/button-component2.js +50 -0
  341. package/dist/components/button-component2.js.map +1 -0
  342. package/dist/components/calendar-cancel.js +1 -1
  343. package/dist/components/calendar-check.js +1 -1
  344. package/dist/components/calendar-info.js +1 -1
  345. package/dist/components/calendar-patterns.js +1 -1
  346. package/dist/components/calendar.js +1 -1
  347. package/dist/components/checkmark-circle.js +1 -1
  348. package/dist/components/chevron.js +1 -1
  349. package/dist/components/close.js +1 -1
  350. package/dist/components/constants.js +1 -0
  351. package/dist/components/constants.js.map +1 -1
  352. package/dist/components/document-refresh-icon.js +1 -1
  353. package/dist/components/flow.js +1 -1
  354. package/dist/components/folder.js +1 -1
  355. package/dist/components/forward.js +1 -1
  356. package/dist/components/globe.js +1 -1
  357. package/dist/components/google-logo-icon.d.ts +11 -0
  358. package/dist/components/google-logo-icon.js +8 -0
  359. package/dist/components/google-logo-icon.js.map +1 -0
  360. package/dist/components/google-logo.js +37 -0
  361. package/dist/components/google-logo.js.map +1 -0
  362. package/dist/components/inbox.js +1 -1
  363. package/dist/components/index.es.js +6 -2
  364. package/dist/components/index.es.js.map +1 -1
  365. package/dist/components/index.js +1 -0
  366. package/dist/components/index.js.map +1 -1
  367. package/dist/components/info.js +1 -1
  368. package/dist/components/italic.js +1 -1
  369. package/dist/components/loading.js +1 -1
  370. package/dist/components/location-off.js +1 -1
  371. package/dist/components/location.js +1 -1
  372. package/dist/components/mailbox-store.js +78 -2
  373. package/dist/components/mailbox-store.js.map +1 -1
  374. package/dist/components/microsoft-logo-icon.d.ts +11 -0
  375. package/dist/components/microsoft-logo-icon.js +8 -0
  376. package/dist/components/microsoft-logo-icon.js.map +1 -0
  377. package/dist/components/microsoft-logo.js +37 -0
  378. package/dist/components/microsoft-logo.js.map +1 -0
  379. package/dist/components/multi-select-dropdown2.js +2 -2
  380. package/dist/components/nylas-additional-participants.js +4 -4
  381. package/dist/components/nylas-additional-participants.js.map +1 -1
  382. package/dist/components/nylas-api-request.js +37 -0
  383. package/dist/components/nylas-api-request.js.map +1 -0
  384. package/dist/components/nylas-availability-picker2.js +6 -6
  385. package/dist/components/nylas-availability-picker2.js.map +1 -1
  386. package/dist/components/nylas-booked-event-card2.js +1 -1
  387. package/dist/components/nylas-booked-event-card2.js.map +1 -1
  388. package/dist/components/nylas-booking-calendar-picker2.js +2 -2
  389. package/dist/components/nylas-booking-calendar-picker2.js.map +1 -1
  390. package/dist/components/nylas-booking-form2.js +1 -1
  391. package/dist/components/nylas-booking-form2.js.map +1 -1
  392. package/dist/components/nylas-buffer-time2.js +3 -3
  393. package/dist/components/nylas-buffer-time2.js.map +1 -1
  394. package/dist/components/nylas-calendar-picker2.js +2 -2
  395. package/dist/components/nylas-calendar-picker2.js.map +1 -1
  396. package/dist/components/nylas-cancel-booking-form2.js +2 -2
  397. package/dist/components/nylas-cancel-booking-form2.js.map +1 -1
  398. package/dist/components/nylas-cancelled-event-card2.js +1 -1
  399. package/dist/components/nylas-composer2.js +1 -1
  400. package/dist/components/nylas-custom-booking-flow2.js +1 -1
  401. package/dist/components/nylas-custom-booking-flow2.js.map +1 -1
  402. package/dist/components/nylas-date-picker2.js +1 -1
  403. package/dist/components/nylas-date-picker2.js.map +1 -1
  404. package/dist/components/nylas-editor-tabs2.js +184 -101
  405. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  406. package/dist/components/nylas-event-description2.js +1 -1
  407. package/dist/components/nylas-event-description2.js.map +1 -1
  408. package/dist/components/nylas-event-duration2.js +2 -2
  409. package/dist/components/nylas-event-duration2.js.map +1 -1
  410. package/dist/components/nylas-event-info2.js +2 -2
  411. package/dist/components/nylas-event-info2.js.map +1 -1
  412. package/dist/components/nylas-event-limits.d.ts +11 -0
  413. package/dist/components/nylas-event-limits.js +8 -0
  414. package/dist/components/nylas-event-limits.js.map +1 -0
  415. package/dist/components/nylas-event-limits2.js +79 -0
  416. package/dist/components/nylas-event-limits2.js.map +1 -0
  417. package/dist/components/nylas-event-title2.js +1 -1
  418. package/dist/components/nylas-event-title2.js.map +1 -1
  419. package/dist/components/nylas-form-card2.js +2 -2
  420. package/dist/components/nylas-form-card2.js.map +1 -1
  421. package/dist/components/nylas-limit-future-bookings.d.ts +11 -0
  422. package/dist/components/nylas-limit-future-bookings.js +8 -0
  423. package/dist/components/nylas-limit-future-bookings.js.map +1 -0
  424. package/dist/components/nylas-limit-future-bookings2.js +171 -0
  425. package/dist/components/nylas-limit-future-bookings2.js.map +1 -0
  426. package/dist/components/nylas-list-folders.js +1 -1
  427. package/dist/components/nylas-list-threads.js +1 -1
  428. package/dist/components/nylas-locale-switch2.js +1 -1
  429. package/dist/components/nylas-locale-switch2.js.map +1 -1
  430. package/dist/components/nylas-location-component2.js +3 -3
  431. package/dist/components/nylas-location-component2.js.map +1 -1
  432. package/dist/components/nylas-login.js +1 -1
  433. package/dist/components/nylas-logo2.js +1 -1
  434. package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
  435. package/dist/components/nylas-mailbox.js +2 -3
  436. package/dist/components/nylas-mailbox.js.map +1 -1
  437. package/dist/components/nylas-min-cancellation-notice.d.ts +11 -0
  438. package/dist/components/nylas-min-cancellation-notice.js +8 -0
  439. package/dist/components/nylas-min-cancellation-notice.js.map +1 -0
  440. package/dist/components/nylas-min-cancellation-notice2.js +194 -0
  441. package/dist/components/nylas-min-cancellation-notice2.js.map +1 -0
  442. package/dist/components/nylas-notification2.js +1 -1
  443. package/dist/components/nylas-provider.js +3 -15
  444. package/dist/components/nylas-provider.js.map +1 -1
  445. package/dist/components/nylas-scheduler-editor.js +7362 -132
  446. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  447. package/dist/components/nylas-scheduling.js +14 -9
  448. package/dist/components/nylas-scheduling.js.map +1 -1
  449. package/dist/components/nylas-selected-event-card2.js +1 -1
  450. package/dist/components/nylas-selected-event-card2.js.map +1 -1
  451. package/dist/components/nylas-summarize-message-button2.js +2 -2
  452. package/dist/components/nylas-threads-refresh.js +2 -2
  453. package/dist/components/nylas-threads-search.js +1 -1
  454. package/dist/components/nylas-time-window-picker2.js +3 -3
  455. package/dist/components/nylas-time-window-picker2.js.map +1 -1
  456. package/dist/components/nylas-timeslot-picker2.js +1 -1
  457. package/dist/components/nylas-timeslot-picker2.js.map +1 -1
  458. package/dist/components/nylas-view-email2.js +1 -1
  459. package/dist/components/nylas-view-thread.js +1 -1
  460. package/dist/components/people-icon.js +1 -1
  461. package/dist/components/play.js +1 -1
  462. package/dist/components/refresh.js +1 -1
  463. package/dist/components/reply-all.js +1 -1
  464. package/dist/components/reply.js +1 -1
  465. package/dist/components/scheduler-config-store.js +3 -30
  466. package/dist/components/scheduler-config-store.js.map +1 -1
  467. package/dist/components/scheduler-store.js +1 -0
  468. package/dist/components/scheduler-store.js.map +1 -1
  469. package/dist/components/search.js +1 -1
  470. package/dist/components/select-dropdown2.js +25 -4
  471. package/dist/components/select-dropdown2.js.map +1 -1
  472. package/dist/components/sent.js +1 -1
  473. package/dist/components/spam.js +1 -1
  474. package/dist/components/star.js +1 -1
  475. package/dist/components/stop.js +1 -1
  476. package/dist/components/time-period-selector.d.ts +11 -0
  477. package/dist/components/time-period-selector.js +8 -0
  478. package/dist/components/time-period-selector.js.map +1 -0
  479. package/dist/components/time-period-selector2.js +144 -0
  480. package/dist/components/time-period-selector2.js.map +1 -0
  481. package/dist/components/toolitp-component.js +1 -1
  482. package/dist/components/translate.js +1 -1
  483. package/dist/components/trash.js +1 -1
  484. package/dist/components/underline.js +1 -1
  485. package/dist/components/warning.js +1 -1
  486. package/dist/esm/add-circle-icon.entry.js +2 -2
  487. package/dist/esm/{add-circle-icon_18.entry.js → add-circle-icon_22.entry.js} +423 -99
  488. package/dist/esm/add-circle-icon_22.entry.js.map +1 -0
  489. package/dist/esm/archive-icon.entry.js +2 -2
  490. package/dist/esm/archive-icon_7.entry.js +8 -8
  491. package/dist/esm/arrow-icon.entry.js +2 -2
  492. package/dist/esm/bold-icon.entry.js +2 -2
  493. package/dist/esm/bold-icon_3.entry.js +4 -4
  494. package/dist/esm/button-component.entry.js +26 -0
  495. package/dist/esm/button-component.entry.js.map +1 -0
  496. package/dist/esm/calendar-cancel-icon.entry.js +2 -2
  497. package/dist/esm/calendar-check-icon.entry.js +2 -2
  498. package/dist/esm/calendar-check-icon_2.entry.js +3 -3
  499. package/dist/esm/calendar-icon.entry.js +2 -2
  500. package/dist/esm/calendar-info-icon.entry.js +2 -2
  501. package/dist/esm/calendar-patterns-icon.entry.js +2 -2
  502. package/dist/esm/checkmark-circle-icon.entry.js +2 -2
  503. package/dist/esm/chevron-icon.entry.js +2 -2
  504. package/dist/esm/chevron-icon_3.entry.js +23 -6
  505. package/dist/esm/chevron-icon_3.entry.js.map +1 -1
  506. package/dist/esm/close-icon.entry.js +2 -2
  507. package/dist/{nylas-web-elements/constants-56fee505.js → esm/constants-335dffcf.js} +2 -1
  508. package/dist/{nylas-web-elements/constants-56fee505.js.map → esm/constants-335dffcf.js.map} +1 -1
  509. package/dist/esm/{constants-b6bf6671.js → constants-6ee60d6d.js} +2 -1
  510. package/dist/esm/{constants-b6bf6671.js.map → constants-6ee60d6d.js.map} +1 -1
  511. package/dist/esm/document-refresh-icon.entry.js +2 -2
  512. package/dist/esm/flow-icon.entry.js +2 -2
  513. package/dist/esm/folder-icon.entry.js +2 -2
  514. package/dist/esm/forward-icon.entry.js +2 -2
  515. package/dist/esm/forward-icon_6.entry.js +10 -10
  516. package/dist/esm/globe-icon.entry.js +2 -2
  517. package/dist/esm/google-logo-icon.entry.js +19 -0
  518. package/dist/esm/google-logo-icon.entry.js.map +1 -0
  519. package/dist/esm/google-logo-icon_3.entry.js +296 -0
  520. package/dist/esm/google-logo-icon_3.entry.js.map +1 -0
  521. package/dist/esm/inbox-icon.entry.js +2 -2
  522. package/dist/{nylas-web-elements/index-7b27868b.js → esm/index-11d12497.js} +2 -2
  523. package/dist/esm/{index-7b27868b.js.map → index-11d12497.js.map} +1 -1
  524. package/dist/esm/{index-10914bc1.js → index-628f294a.js} +2 -2
  525. package/dist/esm/{index-10914bc1.js.map → index-628f294a.js.map} +1 -1
  526. package/dist/esm/{index-0583f8a8.js → index-7cb0dd3d.js} +482 -21
  527. package/dist/esm/index-7cb0dd3d.js.map +1 -0
  528. package/dist/esm/{index-bda1cba1.js → index-8362ce5c.js} +34 -6
  529. package/dist/esm/index-8362ce5c.js.map +1 -0
  530. package/dist/esm/{index.es-0a5de5bf.js → index.es-2578c6a5.js} +8 -4
  531. package/dist/esm/index.es-2578c6a5.js.map +1 -0
  532. package/dist/{nylas-web-elements/index.es-a9f78dad.js → esm/index.es-bd511719.js} +7 -3
  533. package/dist/esm/index.es-bd511719.js.map +1 -0
  534. package/dist/esm/index.js +3 -2
  535. package/dist/esm/index.js.map +1 -1
  536. package/dist/esm/info-icon.entry.js +2 -2
  537. package/dist/esm/info-icon_2.entry.js +3 -3
  538. package/dist/esm/italic-icon.entry.js +2 -2
  539. package/dist/esm/loader.js +3 -3
  540. package/dist/esm/loading-icon.entry.js +2 -2
  541. package/dist/esm/location-icon.entry.js +2 -2
  542. package/dist/esm/location-off-icon.entry.js +2 -2
  543. package/dist/{nylas-web-elements/mailbox-store-8a1c2d32.js → esm/mailbox-store-150cc456.js} +80 -4
  544. package/dist/esm/mailbox-store-150cc456.js.map +1 -0
  545. package/dist/esm/{mailbox-store-e721b17c.js → mailbox-store-bb21512c.js} +81 -5
  546. package/dist/esm/mailbox-store-bb21512c.js.map +1 -0
  547. package/dist/esm/microsoft-logo-icon.entry.js +19 -0
  548. package/dist/esm/microsoft-logo-icon.entry.js.map +1 -0
  549. package/dist/esm/multi-select-dropdown.entry.js +3 -3
  550. package/dist/esm/nylas-additional-participants.entry.js +6 -6
  551. package/dist/esm/nylas-additional-participants.entry.js.map +1 -1
  552. package/dist/esm/nylas-api-request-55446aba.js +37 -0
  553. package/dist/esm/nylas-api-request-55446aba.js.map +1 -0
  554. package/dist/esm/nylas-api-request-c97a0153.js +35 -0
  555. package/dist/esm/nylas-api-request-c97a0153.js.map +1 -0
  556. package/dist/esm/nylas-availability-picker.entry.js +9 -9
  557. package/dist/esm/nylas-availability-picker.entry.js.map +1 -1
  558. package/dist/esm/nylas-booked-event-card.entry.js +4 -4
  559. package/dist/esm/nylas-booked-event-card.entry.js.map +1 -1
  560. package/dist/esm/nylas-booked-event-card_10.entry.js +15 -15
  561. package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
  562. package/dist/esm/nylas-booking-calendar-picker.entry.js +4 -4
  563. package/dist/esm/nylas-booking-calendar-picker.entry.js.map +1 -1
  564. package/dist/esm/nylas-booking-form.entry.js +3 -3
  565. package/dist/esm/nylas-booking-form.entry.js.map +1 -1
  566. package/dist/esm/nylas-buffer-time.entry.js +5 -5
  567. package/dist/esm/nylas-buffer-time.entry.js.map +1 -1
  568. package/dist/esm/nylas-calendar-picker.entry.js +4 -4
  569. package/dist/esm/nylas-calendar-picker.entry.js.map +1 -1
  570. package/dist/esm/nylas-cancel-booking-form.entry.js +4 -4
  571. package/dist/esm/nylas-cancel-booking-form.entry.js.map +1 -1
  572. package/dist/esm/nylas-cancelled-event-card.entry.js +3 -3
  573. package/dist/esm/nylas-composer.entry.js +2 -2
  574. package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
  575. package/dist/esm/nylas-custom-booking-flow.entry.js.map +1 -1
  576. package/dist/esm/nylas-date-picker.entry.js +3 -3
  577. package/dist/esm/nylas-date-picker.entry.js.map +1 -1
  578. package/dist/esm/nylas-editor-tabs.entry.js +100 -48
  579. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  580. package/dist/esm/nylas-event-description.entry.js +3 -3
  581. package/dist/esm/nylas-event-description.entry.js.map +1 -1
  582. package/dist/esm/nylas-event-duration.entry.js +4 -4
  583. package/dist/esm/nylas-event-duration.entry.js.map +1 -1
  584. package/dist/esm/nylas-event-info.entry.js +4 -4
  585. package/dist/esm/nylas-event-info.entry.js.map +1 -1
  586. package/dist/esm/nylas-event-limits.entry.js +64 -0
  587. package/dist/esm/nylas-event-limits.entry.js.map +1 -0
  588. package/dist/esm/nylas-event-title.entry.js +4 -4
  589. package/dist/esm/nylas-event-title.entry.js.map +1 -1
  590. package/dist/esm/nylas-form-card.entry.js +4 -4
  591. package/dist/esm/nylas-form-card.entry.js.map +1 -1
  592. package/dist/esm/nylas-if-state.entry.js +2 -2
  593. package/dist/esm/nylas-limit-future-bookings.entry.js +118 -0
  594. package/dist/esm/nylas-limit-future-bookings.entry.js.map +1 -0
  595. package/dist/esm/nylas-list-folders.entry.js +3 -3
  596. package/dist/esm/nylas-list-threads.entry.js +3 -3
  597. package/dist/esm/nylas-locale-switch.entry.js +4 -4
  598. package/dist/esm/nylas-locale-switch.entry.js.map +1 -1
  599. package/dist/esm/nylas-location-component.entry.js +5 -5
  600. package/dist/esm/nylas-location-component.entry.js.map +1 -1
  601. package/dist/esm/nylas-login.entry.js +3 -3
  602. package/dist/esm/nylas-logo.entry.js +2 -2
  603. package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
  604. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +3 -3
  605. package/dist/esm/nylas-mailbox.entry.js +5 -6
  606. package/dist/esm/nylas-mailbox.entry.js.map +1 -1
  607. package/dist/esm/nylas-min-cancellation-notice.entry.js +141 -0
  608. package/dist/esm/nylas-min-cancellation-notice.entry.js.map +1 -0
  609. package/dist/esm/nylas-notification.entry.js +2 -2
  610. package/dist/esm/nylas-provider.entry.js +7 -19
  611. package/dist/esm/nylas-provider.entry.js.map +1 -1
  612. package/dist/esm/nylas-scheduler-editor.entry.js +7257 -74
  613. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  614. package/dist/esm/nylas-scheduling.entry.js +17 -13
  615. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  616. package/dist/esm/nylas-selected-event-card.entry.js +4 -4
  617. package/dist/esm/nylas-selected-event-card.entry.js.map +1 -1
  618. package/dist/esm/nylas-summarize-message-button.entry.js +4 -4
  619. package/dist/esm/nylas-threads-refresh.entry.js +4 -4
  620. package/dist/esm/nylas-threads-search.entry.js +3 -3
  621. package/dist/esm/nylas-time-window-picker.entry.js +4 -4
  622. package/dist/esm/nylas-time-window-picker.entry.js.map +1 -1
  623. package/dist/esm/nylas-timeslot-picker.entry.js +3 -3
  624. package/dist/esm/nylas-timeslot-picker.entry.js.map +1 -1
  625. package/dist/esm/nylas-view-email.entry.js +2 -2
  626. package/dist/esm/nylas-view-thread.entry.js +3 -3
  627. package/dist/esm/nylas-web-elements.js +3 -3
  628. package/dist/esm/people-icon.entry.js +2 -2
  629. package/dist/esm/play-icon.entry.js +2 -2
  630. package/dist/esm/play-icon_2.entry.js +3 -3
  631. package/dist/esm/refresh-icon.entry.js +2 -2
  632. package/dist/{nylas-web-elements/register-component-93f9bcf5.js → esm/register-component-0645dce0.js} +2 -2
  633. package/dist/esm/{register-component-93f9bcf5.js.map → register-component-0645dce0.js.map} +1 -1
  634. package/dist/esm/{register-component-d056a880.js → register-component-dc659dc3.js} +3 -3
  635. package/dist/esm/{register-component-d056a880.js.map → register-component-dc659dc3.js.map} +1 -1
  636. package/dist/esm/reply-all-icon.entry.js +2 -2
  637. package/dist/esm/reply-icon.entry.js +2 -2
  638. package/dist/esm/scheduler-config-store-51ee4f42.js +17 -0
  639. package/dist/esm/scheduler-config-store-51ee4f42.js.map +1 -0
  640. package/dist/esm/scheduler-config-store-bc59545b.js +17 -0
  641. package/dist/esm/scheduler-config-store-bc59545b.js.map +1 -0
  642. package/dist/esm/{scheduler-store-f2e72da4.js → scheduler-store-4d0a4f8a.js} +3 -2
  643. package/dist/esm/scheduler-store-4d0a4f8a.js.map +1 -0
  644. package/dist/esm/{scheduler-store-0fbe642c.js → scheduler-store-72116723.js} +4 -3
  645. package/dist/esm/scheduler-store-72116723.js.map +1 -0
  646. package/dist/esm/search-icon.entry.js +2 -2
  647. package/dist/esm/select-dropdown.entry.js +21 -4
  648. package/dist/esm/select-dropdown.entry.js.map +1 -1
  649. package/dist/esm/sent-icon.entry.js +2 -2
  650. package/dist/esm/spam-icon.entry.js +2 -2
  651. package/dist/esm/star-icon.entry.js +2 -2
  652. package/dist/esm/stop-icon.entry.js +2 -2
  653. package/dist/esm/time-period-selector.entry.js +100 -0
  654. package/dist/esm/time-period-selector.entry.js.map +1 -0
  655. package/dist/esm/tooltip-component.entry.js +2 -2
  656. package/dist/esm/translate-icon.entry.js +2 -2
  657. package/dist/esm/trash-icon.entry.js +2 -2
  658. package/dist/esm/underline-icon.entry.js +2 -2
  659. package/dist/esm/{utils-0cd66d04.js → utils-c00bdc3c.js} +2 -2
  660. package/dist/esm/{utils-0cd66d04.js.map → utils-c00bdc3c.js.map} +1 -1
  661. package/dist/esm/warning-icon.entry.js +2 -2
  662. package/dist/nylas-web-elements/add-circle-icon.entry.js +2 -2
  663. package/dist/nylas-web-elements/archive-icon.entry.js +2 -2
  664. package/dist/nylas-web-elements/arrow-icon.entry.js +2 -2
  665. package/dist/nylas-web-elements/bold-icon.entry.js +2 -2
  666. package/dist/nylas-web-elements/button-component.entry.js +26 -0
  667. package/dist/nylas-web-elements/button-component.entry.js.map +1 -0
  668. package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +2 -2
  669. package/dist/nylas-web-elements/calendar-check-icon.entry.js +2 -2
  670. package/dist/nylas-web-elements/calendar-icon.entry.js +2 -2
  671. package/dist/nylas-web-elements/calendar-info-icon.entry.js +2 -2
  672. package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +2 -2
  673. package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +2 -2
  674. package/dist/nylas-web-elements/chevron-icon.entry.js +2 -2
  675. package/dist/nylas-web-elements/close-icon.entry.js +2 -2
  676. package/dist/{esm/constants-56fee505.js → nylas-web-elements/constants-335dffcf.js} +2 -1
  677. package/dist/{esm/constants-56fee505.js.map → nylas-web-elements/constants-335dffcf.js.map} +1 -1
  678. package/dist/nylas-web-elements/document-refresh-icon.entry.js +2 -2
  679. package/dist/nylas-web-elements/flow-icon.entry.js +2 -2
  680. package/dist/nylas-web-elements/folder-icon.entry.js +2 -2
  681. package/dist/nylas-web-elements/forward-icon.entry.js +2 -2
  682. package/dist/nylas-web-elements/globe-icon.entry.js +2 -2
  683. package/dist/nylas-web-elements/google-logo-icon.entry.js +19 -0
  684. package/dist/nylas-web-elements/google-logo-icon.entry.js.map +1 -0
  685. package/dist/nylas-web-elements/inbox-icon.entry.js +2 -2
  686. package/dist/{esm/index-7b27868b.js → nylas-web-elements/index-11d12497.js} +2 -2
  687. package/dist/nylas-web-elements/{index-7b27868b.js.map → index-11d12497.js.map} +1 -1
  688. package/dist/nylas-web-elements/{index-bda1cba1.js → index-8362ce5c.js} +2 -2
  689. package/dist/nylas-web-elements/index-8362ce5c.js.map +1 -0
  690. package/dist/{esm/index.es-a9f78dad.js → nylas-web-elements/index.es-bd511719.js} +7 -3
  691. package/dist/nylas-web-elements/index.es-bd511719.js.map +1 -0
  692. package/dist/nylas-web-elements/index.esm.js +3 -2
  693. package/dist/nylas-web-elements/index.esm.js.map +1 -1
  694. package/dist/nylas-web-elements/info-icon.entry.js +2 -2
  695. package/dist/nylas-web-elements/italic-icon.entry.js +2 -2
  696. package/dist/nylas-web-elements/loading-icon.entry.js +2 -2
  697. package/dist/nylas-web-elements/location-icon.entry.js +2 -2
  698. package/dist/nylas-web-elements/location-off-icon.entry.js +2 -2
  699. package/dist/{esm/mailbox-store-8a1c2d32.js → nylas-web-elements/mailbox-store-150cc456.js} +80 -4
  700. package/dist/nylas-web-elements/mailbox-store-150cc456.js.map +1 -0
  701. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +19 -0
  702. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js.map +1 -0
  703. package/dist/nylas-web-elements/multi-select-dropdown.entry.js +3 -3
  704. package/dist/nylas-web-elements/nylas-additional-participants.entry.js +6 -6
  705. package/dist/nylas-web-elements/nylas-additional-participants.entry.js.map +1 -1
  706. package/dist/nylas-web-elements/nylas-api-request-55446aba.js +37 -0
  707. package/dist/nylas-web-elements/nylas-api-request-55446aba.js.map +1 -0
  708. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +9 -9
  709. package/dist/nylas-web-elements/nylas-availability-picker.entry.js.map +1 -1
  710. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +4 -4
  711. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js.map +1 -1
  712. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +4 -4
  713. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js.map +1 -1
  714. package/dist/nylas-web-elements/nylas-booking-form.entry.js +3 -3
  715. package/dist/nylas-web-elements/nylas-booking-form.entry.js.map +1 -1
  716. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +5 -5
  717. package/dist/nylas-web-elements/nylas-buffer-time.entry.js.map +1 -1
  718. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +4 -4
  719. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js.map +1 -1
  720. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +4 -4
  721. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js.map +1 -1
  722. package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +3 -3
  723. package/dist/nylas-web-elements/nylas-composer.entry.js +2 -2
  724. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
  725. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js.map +1 -1
  726. package/dist/nylas-web-elements/nylas-date-picker.entry.js +3 -3
  727. package/dist/nylas-web-elements/nylas-date-picker.entry.js.map +1 -1
  728. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +100 -48
  729. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  730. package/dist/nylas-web-elements/nylas-event-description.entry.js +3 -3
  731. package/dist/nylas-web-elements/nylas-event-description.entry.js.map +1 -1
  732. package/dist/nylas-web-elements/nylas-event-duration.entry.js +4 -4
  733. package/dist/nylas-web-elements/nylas-event-duration.entry.js.map +1 -1
  734. package/dist/nylas-web-elements/nylas-event-info.entry.js +4 -4
  735. package/dist/nylas-web-elements/nylas-event-info.entry.js.map +1 -1
  736. package/dist/nylas-web-elements/nylas-event-limits.entry.js +64 -0
  737. package/dist/nylas-web-elements/nylas-event-limits.entry.js.map +1 -0
  738. package/dist/nylas-web-elements/nylas-event-title.entry.js +4 -4
  739. package/dist/nylas-web-elements/nylas-event-title.entry.js.map +1 -1
  740. package/dist/nylas-web-elements/nylas-form-card.entry.js +4 -4
  741. package/dist/nylas-web-elements/nylas-form-card.entry.js.map +1 -1
  742. package/dist/nylas-web-elements/nylas-if-state.entry.js +2 -2
  743. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +118 -0
  744. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js.map +1 -0
  745. package/dist/nylas-web-elements/nylas-list-folders.entry.js +3 -3
  746. package/dist/nylas-web-elements/nylas-list-threads.entry.js +3 -3
  747. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +4 -4
  748. package/dist/nylas-web-elements/nylas-locale-switch.entry.js.map +1 -1
  749. package/dist/nylas-web-elements/nylas-location-component.entry.js +5 -5
  750. package/dist/nylas-web-elements/nylas-location-component.entry.js.map +1 -1
  751. package/dist/nylas-web-elements/nylas-login.entry.js +3 -3
  752. package/dist/nylas-web-elements/nylas-logo.entry.js +2 -2
  753. package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
  754. package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +3 -3
  755. package/dist/nylas-web-elements/nylas-mailbox.entry.js +5 -6
  756. package/dist/nylas-web-elements/nylas-mailbox.entry.js.map +1 -1
  757. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +141 -0
  758. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js.map +1 -0
  759. package/dist/nylas-web-elements/nylas-notification.entry.js +2 -2
  760. package/dist/nylas-web-elements/nylas-provider.entry.js +7 -19
  761. package/dist/nylas-web-elements/nylas-provider.entry.js.map +1 -1
  762. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +7257 -74
  763. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
  764. package/dist/nylas-web-elements/nylas-scheduling.entry.js +17 -13
  765. package/dist/nylas-web-elements/nylas-scheduling.entry.js.map +1 -1
  766. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +4 -4
  767. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js.map +1 -1
  768. package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +4 -4
  769. package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +4 -4
  770. package/dist/nylas-web-elements/nylas-threads-search.entry.js +3 -3
  771. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +4 -4
  772. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js.map +1 -1
  773. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +3 -3
  774. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js.map +1 -1
  775. package/dist/nylas-web-elements/nylas-view-email.entry.js +2 -2
  776. package/dist/nylas-web-elements/nylas-view-thread.entry.js +3 -3
  777. package/dist/nylas-web-elements/nylas-web-elements.esm.js +3 -3
  778. package/dist/nylas-web-elements/p-006ab406.entry.js +2 -0
  779. package/dist/nylas-web-elements/p-006ab406.entry.js.map +1 -0
  780. package/dist/nylas-web-elements/p-01bf65c2.entry.js +2 -0
  781. package/dist/nylas-web-elements/{p-bf2887bd.js → p-1819b3d7.js} +2 -2
  782. package/dist/nylas-web-elements/{p-bf2887bd.js.map → p-1819b3d7.js.map} +1 -1
  783. package/dist/nylas-web-elements/{p-26b75895.entry.js → p-2523c292.entry.js} +2 -2
  784. package/dist/nylas-web-elements/p-2c5d5953.entry.js +2 -0
  785. package/dist/nylas-web-elements/p-2c5d5953.entry.js.map +1 -0
  786. package/dist/nylas-web-elements/p-3631e6e5.entry.js +2 -0
  787. package/dist/nylas-web-elements/p-3631e6e5.entry.js.map +1 -0
  788. package/dist/nylas-web-elements/p-374527e6.entry.js +2 -0
  789. package/dist/nylas-web-elements/p-374527e6.entry.js.map +1 -0
  790. package/dist/nylas-web-elements/{p-0195d832.entry.js → p-395f49eb.entry.js} +2 -2
  791. package/dist/nylas-web-elements/p-39b280e2.entry.js +2 -0
  792. package/dist/nylas-web-elements/p-39b280e2.entry.js.map +1 -0
  793. package/dist/nylas-web-elements/p-3da66838.entry.js +2 -0
  794. package/dist/nylas-web-elements/p-3da66838.entry.js.map +1 -0
  795. package/dist/nylas-web-elements/{p-9955e9b6.js → p-408dda49.js} +2 -2
  796. package/dist/nylas-web-elements/{p-31f12f3f.entry.js → p-409d4410.entry.js} +2 -2
  797. package/dist/nylas-web-elements/{p-3105fc0a.entry.js → p-40ed7eab.entry.js} +2 -2
  798. package/dist/nylas-web-elements/{p-412215d1.entry.js → p-41c1654e.entry.js} +2 -2
  799. package/dist/nylas-web-elements/{p-a959a080.entry.js → p-42a4c2fd.entry.js} +2 -2
  800. package/dist/nylas-web-elements/{p-68f47a72.entry.js → p-4d9fceeb.entry.js} +2 -2
  801. package/dist/nylas-web-elements/p-59b6ae90.entry.js +2 -0
  802. package/dist/nylas-web-elements/p-59b6ae90.entry.js.map +1 -0
  803. package/dist/nylas-web-elements/p-5a3809a7.entry.js +2 -0
  804. package/dist/nylas-web-elements/p-5a3809a7.entry.js.map +1 -0
  805. package/dist/nylas-web-elements/{p-c0fac9fc.entry.js → p-64364434.entry.js} +2 -2
  806. package/dist/nylas-web-elements/p-65fdfb60.js +2 -0
  807. package/dist/nylas-web-elements/p-65fdfb60.js.map +1 -0
  808. package/dist/nylas-web-elements/p-68c2fadf.js +3 -0
  809. package/dist/nylas-web-elements/{p-e4b9d6af.js.map → p-68c2fadf.js.map} +1 -1
  810. package/dist/nylas-web-elements/{p-67f20520.entry.js → p-7b1bb792.entry.js} +3 -3
  811. package/dist/nylas-web-elements/{p-facc84f3.js → p-901f9612.js} +2 -2
  812. package/dist/nylas-web-elements/{p-e324add5.entry.js → p-9dac153b.entry.js} +2 -2
  813. package/dist/nylas-web-elements/p-9f168ff0.js +2 -0
  814. package/dist/nylas-web-elements/{p-ce89d941.js.map → p-9f168ff0.js.map} +1 -1
  815. package/dist/nylas-web-elements/p-a0c2ce03.entry.js +2 -0
  816. package/dist/nylas-web-elements/{p-f8e59935.entry.js → p-a1e27dc5.entry.js} +2 -2
  817. package/dist/nylas-web-elements/p-a3d5a1dd.entry.js +2 -0
  818. package/dist/nylas-web-elements/p-ad9c3cab.entry.js +2 -0
  819. package/dist/nylas-web-elements/p-ad9c3cab.entry.js.map +1 -0
  820. package/dist/nylas-web-elements/{p-5d875283.entry.js → p-ae01e1cb.entry.js} +2 -2
  821. package/dist/nylas-web-elements/p-af22da60.entry.js +17 -0
  822. package/dist/nylas-web-elements/p-af22da60.entry.js.map +1 -0
  823. package/dist/nylas-web-elements/{p-b54b575a.entry.js → p-b2208193.entry.js} +2 -2
  824. package/dist/nylas-web-elements/{p-02435888.entry.js → p-ba3d383f.entry.js} +2 -2
  825. package/dist/nylas-web-elements/{p-f826c690.entry.js → p-baa620b4.entry.js} +2 -2
  826. package/dist/nylas-web-elements/p-bfdc148c.entry.js +2 -0
  827. package/dist/nylas-web-elements/{p-65b275df.js → p-cabb2e68.js} +2 -2
  828. package/dist/nylas-web-elements/p-cadc9052.js +2 -0
  829. package/dist/nylas-web-elements/p-cadc9052.js.map +1 -0
  830. package/dist/nylas-web-elements/p-d224c7af.entry.js +2 -0
  831. package/dist/nylas-web-elements/p-d224c7af.entry.js.map +1 -0
  832. package/dist/nylas-web-elements/p-d67d1c72.js +2 -0
  833. package/dist/nylas-web-elements/p-d67d1c72.js.map +1 -0
  834. package/dist/nylas-web-elements/p-d85eecf4.entry.js +2 -0
  835. package/dist/nylas-web-elements/p-d85eecf4.entry.js.map +1 -0
  836. package/dist/nylas-web-elements/p-d92a0405.entry.js +2 -0
  837. package/dist/nylas-web-elements/p-dc1cee56.entry.js +2 -0
  838. package/dist/nylas-web-elements/p-dc1cee56.entry.js.map +1 -0
  839. package/dist/nylas-web-elements/p-de63bc35.entry.js +2 -0
  840. package/dist/nylas-web-elements/{p-22c0a883.entry.js → p-deafc6bc.entry.js} +2 -2
  841. package/dist/nylas-web-elements/{p-64be0bab.js → p-df5e9aaf.js} +2 -2
  842. package/dist/nylas-web-elements/p-df5e9aaf.js.map +1 -0
  843. package/dist/nylas-web-elements/p-f48d0571.entry.js +2 -0
  844. package/dist/nylas-web-elements/p-fbbca7a6.entry.js +2 -0
  845. package/dist/nylas-web-elements/people-icon.entry.js +2 -2
  846. package/dist/nylas-web-elements/play-icon.entry.js +2 -2
  847. package/dist/nylas-web-elements/refresh-icon.entry.js +2 -2
  848. package/dist/{esm/register-component-93f9bcf5.js → nylas-web-elements/register-component-0645dce0.js} +2 -2
  849. package/dist/nylas-web-elements/{register-component-93f9bcf5.js.map → register-component-0645dce0.js.map} +1 -1
  850. package/dist/nylas-web-elements/reply-all-icon.entry.js +2 -2
  851. package/dist/nylas-web-elements/reply-icon.entry.js +2 -2
  852. package/dist/nylas-web-elements/scheduler-config-store-bc59545b.js +17 -0
  853. package/dist/nylas-web-elements/scheduler-config-store-bc59545b.js.map +1 -0
  854. package/dist/nylas-web-elements/{scheduler-store-f2e72da4.js → scheduler-store-4d0a4f8a.js} +3 -2
  855. package/dist/nylas-web-elements/scheduler-store-4d0a4f8a.js.map +1 -0
  856. package/dist/nylas-web-elements/search-icon.entry.js +2 -2
  857. package/dist/nylas-web-elements/select-dropdown.entry.js +21 -4
  858. package/dist/nylas-web-elements/select-dropdown.entry.js.map +1 -1
  859. package/dist/nylas-web-elements/sent-icon.entry.js +2 -2
  860. package/dist/nylas-web-elements/spam-icon.entry.js +2 -2
  861. package/dist/nylas-web-elements/star-icon.entry.js +2 -2
  862. package/dist/nylas-web-elements/stop-icon.entry.js +2 -2
  863. package/dist/nylas-web-elements/time-period-selector.entry.js +100 -0
  864. package/dist/nylas-web-elements/time-period-selector.entry.js.map +1 -0
  865. package/dist/nylas-web-elements/tooltip-component.entry.js +2 -2
  866. package/dist/nylas-web-elements/translate-icon.entry.js +2 -2
  867. package/dist/nylas-web-elements/trash-icon.entry.js +2 -2
  868. package/dist/nylas-web-elements/underline-icon.entry.js +2 -2
  869. package/dist/nylas-web-elements/warning-icon.entry.js +2 -2
  870. package/dist/types/common/icons/google-logo.d.ts +5 -0
  871. package/dist/types/common/icons/microsoft-logo.d.ts +5 -0
  872. package/dist/types/common/nylas-api-request.d.ts +35 -0
  873. package/dist/types/components/design-system/button-component/button-component.d.ts +13 -0
  874. package/dist/types/components/design-system/select-dropdown/select-dropdown.d.ts +3 -0
  875. package/dist/types/components/design-system/time-period-selector/time-period-selector.d.ts +31 -0
  876. package/dist/types/components/scheduler/nylas-scheduler/nylas-scheduling.d.ts +1 -0
  877. package/dist/types/components/scheduler/nylas-scheduler/scheduler-view.d.ts +1 -0
  878. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +21 -28
  879. package/dist/types/components/scheduler-editor/nylas-editor-tabs/tab-contents.d.ts +7 -0
  880. package/dist/types/components/scheduler-editor/nylas-event-limits/nylas-event-limits.d.ts +8 -0
  881. package/dist/types/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.d.ts +28 -0
  882. package/dist/types/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.d.ts +25 -0
  883. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +12 -10
  884. package/dist/types/components.d.ts +314 -19
  885. package/dist/types/connector/connector-interface.d.ts +1 -1
  886. package/dist/types/connector/nylas-connector/index.d.ts +1 -4
  887. package/dist/types/connector/nylas-scheduler-config-connector/index.d.ts +5 -32
  888. package/dist/types/connector/shared/api/scheduler-config.d.ts +12 -11
  889. package/dist/types/index.d.ts +2 -0
  890. package/dist/types/stores/auth-session-store.d.ts +9 -0
  891. package/dist/types/stores/scheduler-config-store.d.ts +5 -2
  892. package/dist/types/stores/scheduler-store.d.ts +1 -0
  893. package/package.json +10 -7
  894. package/dist/cjs/add-circle-icon_18.cjs.entry.js.map +0 -1
  895. package/dist/cjs/auth-store-78906da5.js +0 -85
  896. package/dist/cjs/auth-store-78906da5.js.map +0 -1
  897. package/dist/cjs/auth-store-be4bbe89.js +0 -85
  898. package/dist/cjs/auth-store-be4bbe89.js.map +0 -1
  899. package/dist/cjs/index-37045c7b.js.map +0 -1
  900. package/dist/cjs/index-ec8e2a4d.js.map +0 -1
  901. package/dist/cjs/index.es-3c12ec8c.js.map +0 -1
  902. package/dist/cjs/index.es-9122f5a3.js.map +0 -1
  903. package/dist/cjs/mailbox-store-37622628.js.map +0 -1
  904. package/dist/cjs/mailbox-store-5cd5e485.js.map +0 -1
  905. package/dist/cjs/nylas-if-state_3.cjs.entry.js +0 -411
  906. package/dist/cjs/nylas-if-state_3.cjs.entry.js.map +0 -1
  907. package/dist/cjs/scheduler-config-store-03b22a70.js +0 -47
  908. package/dist/cjs/scheduler-config-store-03b22a70.js.map +0 -1
  909. package/dist/cjs/scheduler-config-store-9577e499.js +0 -47
  910. package/dist/cjs/scheduler-config-store-9577e499.js.map +0 -1
  911. package/dist/cjs/scheduler-store-41b6d179.js.map +0 -1
  912. package/dist/cjs/scheduler-store-65f0fbe5.js.map +0 -1
  913. package/dist/components/auth-store.js +0 -82
  914. package/dist/components/auth-store.js.map +0 -1
  915. package/dist/esm/add-circle-icon_18.entry.js.map +0 -1
  916. package/dist/esm/auth-store-69ac49c7.js +0 -82
  917. package/dist/esm/auth-store-69ac49c7.js.map +0 -1
  918. package/dist/esm/auth-store-f46d9222.js +0 -82
  919. package/dist/esm/auth-store-f46d9222.js.map +0 -1
  920. package/dist/esm/index-0583f8a8.js.map +0 -1
  921. package/dist/esm/index-bda1cba1.js.map +0 -1
  922. package/dist/esm/index.es-0a5de5bf.js.map +0 -1
  923. package/dist/esm/index.es-a9f78dad.js.map +0 -1
  924. package/dist/esm/mailbox-store-8a1c2d32.js.map +0 -1
  925. package/dist/esm/mailbox-store-e721b17c.js.map +0 -1
  926. package/dist/esm/nylas-if-state_3.entry.js +0 -405
  927. package/dist/esm/nylas-if-state_3.entry.js.map +0 -1
  928. package/dist/esm/scheduler-config-store-4d035001.js +0 -44
  929. package/dist/esm/scheduler-config-store-4d035001.js.map +0 -1
  930. package/dist/esm/scheduler-config-store-8f162729.js +0 -44
  931. package/dist/esm/scheduler-config-store-8f162729.js.map +0 -1
  932. package/dist/esm/scheduler-store-0fbe642c.js.map +0 -1
  933. package/dist/esm/scheduler-store-f2e72da4.js.map +0 -1
  934. package/dist/nylas-web-elements/auth-store-f46d9222.js +0 -82
  935. package/dist/nylas-web-elements/auth-store-f46d9222.js.map +0 -1
  936. package/dist/nylas-web-elements/index-bda1cba1.js.map +0 -1
  937. package/dist/nylas-web-elements/index.es-a9f78dad.js.map +0 -1
  938. package/dist/nylas-web-elements/mailbox-store-8a1c2d32.js.map +0 -1
  939. package/dist/nylas-web-elements/p-18c6ddfa.entry.js +0 -2
  940. package/dist/nylas-web-elements/p-1af51c6b.js +0 -2
  941. package/dist/nylas-web-elements/p-1af51c6b.js.map +0 -1
  942. package/dist/nylas-web-elements/p-1c3b651f.entry.js +0 -2
  943. package/dist/nylas-web-elements/p-1c3b651f.entry.js.map +0 -1
  944. package/dist/nylas-web-elements/p-558faafb.entry.js +0 -2
  945. package/dist/nylas-web-elements/p-558faafb.entry.js.map +0 -1
  946. package/dist/nylas-web-elements/p-5642190a.entry.js +0 -2
  947. package/dist/nylas-web-elements/p-5642190a.entry.js.map +0 -1
  948. package/dist/nylas-web-elements/p-577ecdd4.entry.js +0 -2
  949. package/dist/nylas-web-elements/p-577ecdd4.entry.js.map +0 -1
  950. package/dist/nylas-web-elements/p-578f4029.js +0 -2
  951. package/dist/nylas-web-elements/p-578f4029.js.map +0 -1
  952. package/dist/nylas-web-elements/p-5c72d9a4.js +0 -2
  953. package/dist/nylas-web-elements/p-5c72d9a4.js.map +0 -1
  954. package/dist/nylas-web-elements/p-5fd0eb1d.entry.js +0 -2
  955. package/dist/nylas-web-elements/p-64be0bab.js.map +0 -1
  956. package/dist/nylas-web-elements/p-6aa84fd8.entry.js +0 -2
  957. package/dist/nylas-web-elements/p-6c84f99e.entry.js +0 -2
  958. package/dist/nylas-web-elements/p-6c84f99e.entry.js.map +0 -1
  959. package/dist/nylas-web-elements/p-80079122.entry.js +0 -2
  960. package/dist/nylas-web-elements/p-a30e3755.entry.js +0 -2
  961. package/dist/nylas-web-elements/p-afdac062.entry.js +0 -2
  962. package/dist/nylas-web-elements/p-afdac062.entry.js.map +0 -1
  963. package/dist/nylas-web-elements/p-be3b6e3a.entry.js +0 -2
  964. package/dist/nylas-web-elements/p-be3b6e3a.entry.js.map +0 -1
  965. package/dist/nylas-web-elements/p-cc6721a7.entry.js +0 -2
  966. package/dist/nylas-web-elements/p-ce89d941.js +0 -2
  967. package/dist/nylas-web-elements/p-e4b9d6af.js +0 -3
  968. package/dist/nylas-web-elements/p-e4ec4651.entry.js +0 -2
  969. package/dist/nylas-web-elements/p-e4ec4651.entry.js.map +0 -1
  970. package/dist/nylas-web-elements/p-f442a2f9.entry.js +0 -2
  971. package/dist/nylas-web-elements/p-f78abda8.entry.js +0 -2
  972. package/dist/nylas-web-elements/p-f78abda8.entry.js.map +0 -1
  973. package/dist/nylas-web-elements/p-f8056365.entry.js +0 -2
  974. package/dist/nylas-web-elements/p-fbe6262b.entry.js +0 -2
  975. package/dist/nylas-web-elements/p-fbe6262b.entry.js.map +0 -1
  976. package/dist/nylas-web-elements/scheduler-config-store-8f162729.js +0 -44
  977. package/dist/nylas-web-elements/scheduler-config-store-8f162729.js.map +0 -1
  978. package/dist/nylas-web-elements/scheduler-store-f2e72da4.js.map +0 -1
  979. /package/dist/nylas-web-elements/{p-5fd0eb1d.entry.js.map → p-01bf65c2.entry.js.map} +0 -0
  980. /package/dist/nylas-web-elements/{p-26b75895.entry.js.map → p-2523c292.entry.js.map} +0 -0
  981. /package/dist/nylas-web-elements/{p-0195d832.entry.js.map → p-395f49eb.entry.js.map} +0 -0
  982. /package/dist/nylas-web-elements/{p-9955e9b6.js.map → p-408dda49.js.map} +0 -0
  983. /package/dist/nylas-web-elements/{p-31f12f3f.entry.js.map → p-409d4410.entry.js.map} +0 -0
  984. /package/dist/nylas-web-elements/{p-3105fc0a.entry.js.map → p-40ed7eab.entry.js.map} +0 -0
  985. /package/dist/nylas-web-elements/{p-412215d1.entry.js.map → p-41c1654e.entry.js.map} +0 -0
  986. /package/dist/nylas-web-elements/{p-a959a080.entry.js.map → p-42a4c2fd.entry.js.map} +0 -0
  987. /package/dist/nylas-web-elements/{p-68f47a72.entry.js.map → p-4d9fceeb.entry.js.map} +0 -0
  988. /package/dist/nylas-web-elements/{p-c0fac9fc.entry.js.map → p-64364434.entry.js.map} +0 -0
  989. /package/dist/nylas-web-elements/{p-67f20520.entry.js.map → p-7b1bb792.entry.js.map} +0 -0
  990. /package/dist/nylas-web-elements/{p-facc84f3.js.map → p-901f9612.js.map} +0 -0
  991. /package/dist/nylas-web-elements/{p-e324add5.entry.js.map → p-9dac153b.entry.js.map} +0 -0
  992. /package/dist/nylas-web-elements/{p-6aa84fd8.entry.js.map → p-a0c2ce03.entry.js.map} +0 -0
  993. /package/dist/nylas-web-elements/{p-f8e59935.entry.js.map → p-a1e27dc5.entry.js.map} +0 -0
  994. /package/dist/nylas-web-elements/{p-18c6ddfa.entry.js.map → p-a3d5a1dd.entry.js.map} +0 -0
  995. /package/dist/nylas-web-elements/{p-5d875283.entry.js.map → p-ae01e1cb.entry.js.map} +0 -0
  996. /package/dist/nylas-web-elements/{p-b54b575a.entry.js.map → p-b2208193.entry.js.map} +0 -0
  997. /package/dist/nylas-web-elements/{p-02435888.entry.js.map → p-ba3d383f.entry.js.map} +0 -0
  998. /package/dist/nylas-web-elements/{p-f826c690.entry.js.map → p-baa620b4.entry.js.map} +0 -0
  999. /package/dist/nylas-web-elements/{p-f8056365.entry.js.map → p-bfdc148c.entry.js.map} +0 -0
  1000. /package/dist/nylas-web-elements/{p-65b275df.js.map → p-cabb2e68.js.map} +0 -0
  1001. /package/dist/nylas-web-elements/{p-cc6721a7.entry.js.map → p-d92a0405.entry.js.map} +0 -0
  1002. /package/dist/nylas-web-elements/{p-a30e3755.entry.js.map → p-de63bc35.entry.js.map} +0 -0
  1003. /package/dist/nylas-web-elements/{p-22c0a883.entry.js.map → p-deafc6bc.entry.js.map} +0 -0
  1004. /package/dist/nylas-web-elements/{p-f442a2f9.entry.js.map → p-f48d0571.entry.js.map} +0 -0
  1005. /package/dist/nylas-web-elements/{p-80079122.entry.js.map → p-fbbca7a6.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{h as e,F as t,r as n,c as s,H as i,a}from"./p-e4b9d6af.js";import{N as o,n as r}from"./p-1af51c6b.js";import{d as l}from"./p-facc84f3.js";import{N as d,C as c,E as h}from"./p-64be0bab.js";import"./p-cb65c223.js";import"./p-65b275df.js";class p{constructor({schedulerAPIURL:e,nylasSchedulerStore:t,sessionId:n,configId:s}){if(!e){throw new Error("schedulerAPIURL is required")}if(!t){throw new Error("nylasSchedulerStore is required")}if(!n&&!s){throw new Error("sessionId is required for private configs, if not config id is required for public configs")}if(e==="/"){const t=new URL(window.location.href);e=t.origin}this.configId=s;this.sessionId=n;this.schedulerAPIURL=e;this.nylasSchedulerStore=t}init(){l("NylasConnector init")}get schedulerStore(){return this.nylasSchedulerStore}get scheduler(){if(this._schedulerAPIConnector){return this._schedulerAPIConnector}this._schedulerAPIConnector=new d({schedulerAPIURL:this.schedulerAPIURL,schedulerStore:this.schedulerStore,sessionId:this.sessionId,configId:this.configId});return this._schedulerAPIConnector}resetStores(){this.nylasSchedulerStore.reset()}}const f=(n,s)=>{const i=n.isLoading;const a=n.showNotification;return e(t,null,a&&e("nylas-notification",null),i&&e("div",{class:"loading"},e("div",{class:"left"},e("div",{class:"skeleton"})),e("div",{class:"right"},e("div",{class:"skeleton"}),e("div",{class:"skeleton"}),e("div",{class:"skeleton"}),e("div",{class:"skeleton"}),e("div",{class:"skeleton"}))),!i&&s,e("div",{class:"footer"},"Powered by  ",e("nylas-logo",null)))};const g=(t,n)=>e("div",{class:"message-banner"},n);const u=':host{display:flex;flex-direction:column;overflow:visible;border-radius:var(--nylas-border-radius-2x);width:fit-content;background:var(--nylas-base-0);position:relative;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05), 0px 10px 15px -3px rgba(0, 0, 0, 0.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;font-family:var(--nylas-font-family);font-optical-sizing:auto;font-style:normal;font-variation-settings:"slnt" 0}@media screen and (max-width: 768px){:host{width:auto;min-width:325px}}:root{font-family:inherit}.error{padding:8rem 12rem;color:var(--nylas-base-0);background-color:var(--nylas-error);margin:1.5rem;border-radius:var(--nylas-border-radius-2x)}.message-banner{text-align:right;color:var(--nylas-base-800);padding:1rem;border-bottom:1px solid var(--nylas-color-primary-200);margin-top:1rem}.loading{margin:1.5rem;display:flex;gap:1rem}.loading .skeleton{border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite}.loading .skeleton:nth-child(2){animation-delay:-100ms}.loading .skeleton:nth-child(3){animation-delay:-200ms}.loading .skeleton:nth-child(4){animation-delay:-300ms}.loading .skeleton:nth-child(5){animation-delay:-400ms}.loading .left .skeleton{height:100%;width:400px}.loading .right .skeleton{height:5rem;width:300px;margin-bottom:1rem}.loading .right .skeleton:last-child{margin-bottom:0}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.select-date-page,.additional-data-page,.booked-event-page,.cancelled-event-page,.cancel-flow-page{border-top-left-radius:var(--nylas-border-radius-2x);border-top-right-radius:var(--nylas-border-radius-2x)}.select-date-page,.additional-data-page{display:flex}@media screen and (max-width: 768px){.select-date-page,.additional-data-page{flex-direction:column}}.booked-event-page{background-color:var(--nylas-base-50)}.cancelled-event-page,.cancel-flow-page{padding:1rem;height:496px;display:flex;justify-content:center;align-items:center}.booked-event-page,.cancelled-event-page,.cancel-flow-page{min-width:784px}@media screen and (max-width: 768px){.booked-event-page,.cancelled-event-page,.cancel-flow-page{min-width:90%}}.left-panel{padding:1rem 20px 0;gap:1rem;height:512px;min-width:384px;border-top-left-radius:inherit}@media screen and (max-width: 768px){.left-panel{border-top-right-radius:inherit;min-width:unset}}@media screen and (max-width: 768px){.additional-data-page .left-panel{height:325px}}@media screen and (max-width: 768px){.select-date-page .left-panel{padding:0.5rem 4px 0}}.border{margin-left:-20px;margin-right:-20px;border-top-width:1px;height:1px;background-color:var(--nylas-base-200)}@media screen and (max-width: 768px){.border{display:none}}.right-panel{min-width:360px;width:360px;background-color:var(--nylas-base-50);height:512px;padding-top:16px;border-left:1px solid var(--nylas-base-200);border-top-right-radius:inherit}@media screen and (max-width: 768px){.right-panel{border-top-right-radius:0px;width:inherit;min-width:unset}}.right-panel h2{display:flex;margin:0;height:48px;gap:0.25rem;justify-content:center;align-items:center;width:auto;font-size:1.125rem;line-height:1.5rem;font-weight:500;text-align:center;color:var(--nylas-base-800)}.additional-data-page .left-panel{background-color:var(--nylas-base-50)}.additional-data-page .right-panel{background-color:var(--nylas-base-0)}nylas-selected-event-card{height:496px}@media screen and (max-width: 768px){nylas-selected-event-card{height:325px}}.footer{display:flex;justify-content:flex-end;align-items:center;padding:16px;font-size:14px;font-weight:300;color:var(--nylas-base-500);border-top:1px solid var(--nylas-base-200)}.footer svg{fill:var(--nylas-base-500)}.footer svg{margin-top:1px}nylas-selected-event-card::part(nsec__timezone){position:absolute;bottom:0}';const b=u;const m={title:"Something went wrong...",type:r.Error,category:h.Component};const y=class{constructor(e){n(this,e);this.init=s(this,"init",7);this.schedulerWillLoad=s(this,"schedulerWillLoad",7);this.schedulerDidLoad=s(this,"schedulerDidLoad",7);this.nylasSchedulerError=s(this,"nylasSchedulerError",7);this.mode="app";this.defaultSchedulerState=undefined;this.sessionId=undefined;this.schedulerApiUrl="https://api.us.nylas.com";this.bookingInfo=undefined;this.rescheduleBookingId=undefined;this.cancelBookingId=undefined;this.configId=undefined;this.eventOverrides={};this.isLoading=undefined;this.themeConfig=undefined;this.showNotification=true;this.automaticComponentRegistration=true;this.selectedDateLabel=(new Date).toLocaleDateString(undefined,{dateStyle:"full"})||"No date selected"}connectedCallback(){l(`[nylas-scheduler] connectedCallback`)}async componentWillLoad(){l(`[nylas-scheduler] Component will load`);const e=this.schedulerWillLoad.emit(this.host);if(e.defaultPrevented){return}if(!this.checkIfSessionIdOrConfigIdExists()){return}this.stores={scheduler:c({bookingInfo:this.bookingInfo,...this.defaultSchedulerState})};this.baseProvider=new o(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides);const t=this.baseProvider?.getStore("scheduler");this.nylasSchedulerConnector=new p({schedulerAPIURL:this.schedulerApiUrl,sessionId:this.sessionId,configId:this.configId,nylasSchedulerStore:t});this.init.emit(this.host);this.baseProvider?.componentWillLoad(this.nylasSchedulerConnector);if(this.themeConfig){for(const[e,t]of Object.entries(this.themeConfig)){this.host.style.setProperty(`${e}`,t)}}}async componentDidLoad(){this.baseProvider?.componentDidLoad();if(!this.checkIfSessionIdOrConfigIdExists()){return}const e=this.baseProvider?.getStore("scheduler");const t=e?.get("selectedTimeslot");if(t&&t?.start_time){if(!this.isTimeslotValid(t)){return}if(e?.get("showBookingForm")){e?.set("selectedDate",t.start_time);return}}const n=e?.get("selectedDate");const s=e?.get("availability");let i;if(s&&s.length>0){return}if(!n){i=await(this.nylasSchedulerConnector?.scheduler.getAvailability())}else{const e=new Date(n.getFullYear(),n.getMonth(),1).getTime()/1e3;const t=new Date(n.getFullYear(),n.getMonth()+1,1).getTime()/1e3;i=await(this.nylasSchedulerConnector?.scheduler.getAvailability(e,t))}if(!i||"error"in i){this.nylasSchedulerError.emit({...this.getErrorObject(i?.error)})}if(!n){let t=new Date;const n=e?.get("availability").find((e=>new Date(e.start_time)>new Date));if(n){t=n.start_time}e?.set("selectedDate",t)}}componentDisconnected(){this.baseProvider?.componentDisconnected()}bookingInfoChanged(e){this.stores?.scheduler.set("bookingInfo",e)}async registerComponentHandler(e){this.baseProvider?.registerComponent(e.detail)}async unregisterComponentHandler(e){this.baseProvider?.unregisterComponent(e.detail)}async monthChangedHandler(e){const t=e.detail;const n=new Date(t.getFullYear(),t.getMonth(),1).getTime()/1e3;const s=new Date(t.getFullYear(),t.getMonth()+1,1).getTime()/1e3;const i=await(this.nylasSchedulerConnector?.scheduler.getAvailability(n,s));if(!i||"error"in i){this.nylasSchedulerError.emit({...this.getErrorObject(i?.error)})}}async bookButtonClickedHandler(e){if(this.rescheduleBookingId){const t=await(this.nylasSchedulerConnector?.scheduler.rescheduleBooking(this.rescheduleBookingId,e.detail));if(!t||"error"in t){this.nylasSchedulerError.emit({...this.getErrorObject(t?.error)})}return}const t=await(this.nylasSchedulerConnector?.scheduler.bookTimeslot(e.detail));if(!t||"error"in t){this.nylasSchedulerError.emit({...this.getErrorObject(t?.error)})}}dateSelectedHandler(e){const t=e.detail;this.selectedDateLabel=t?t.toLocaleDateString(undefined,{dateStyle:"full"}):"No date selected"}cancelBookedEventErrorHandler(e){this.nylasSchedulerError.emit({...this.getErrorObject(e.detail.error)})}rescheduleBookedEventErrorHandler(e){this.nylasSchedulerError.emit({...this.getErrorObject(e.detail.error)})}async getNylasSchedulerStore(){return this.baseProvider?.getStore("scheduler")}async getNylasSchedulerConnector(){return this.nylasSchedulerConnector}async getRef(){return this.host}getErrorObject(e){return{title:e?.title||m.title,category:e?.category||m.category,type:r.Error,description:e?.message||"",id:(new Date).getTime().toString(),ttl:"none"}}checkIfSessionIdOrConfigIdExists(){if(!this.sessionId&&!this.configId){this.nylasSchedulerError.emit({title:"No sessionId!",category:h.Component,type:r.Error,description:"Session ID is required",id:(new Date).getTime().toString(),ttl:"none"});return false}return true}isTimeslotValid(e){const t=new Date(e.start_time);if(t<new Date){this.nylasSchedulerError.emit({title:"Invalid tiemslot!",category:h.Component,type:r.Error,description:"The selected timeslot is invalid.",id:(new Date).getTime().toString(),ttl:"none"});return false}return true}render(){const t=this.mode==="app";const n=this.baseProvider?.getStore("scheduler");const s=n?.get("eventInfo");const a=n?.get("showBookingForm");const o=n?.get("cancelledEventInfo");const r=n?.get("cancelBookingId")||this.cancelBookingId;const l=n?.get("selectedTimeslot");const d=n?.get("rescheduleBookingId")||this.rescheduleBookingId;if(t&&r&&!o){return e(i,null,e(f,{isLoading:this.isLoading,showNotification:this.showNotification},e("div",{class:"cancel-flow-page",part:"cancel-flow-page"},e("nylas-cancel-booking-form",{cancelBookingId:r,exportparts:"ncbf, ncbf__input-textfield, ncbf__button-cta, ncbf__button-outline, ncbf__input-label"}))))}if(t&&o){return e(i,null,e(f,{isLoading:this.isLoading,showNotification:this.showNotification},e("div",{class:"cancelled-event-page",part:"cancelled-event-page"},e("nylas-cancelled-event-card",{cancelledEventInfo:o,exportparts:"ncec, ncec__icon, ncec__title, ncec__description, ncec__button-outline, ncec__card"}))))}if(t&&s){return e(i,null,e(f,{isLoading:this.isLoading,showNotification:this.showNotification},e("div",{class:"booked-event-page",part:"booked-event-page"},e("nylas-booked-event-card",{selectedTimeslot:l,eventInfo:s,exportparts:"nbec, nbec__title, nbec__card, nbec__description, nbec__button-outline, nbec__cancel-cta, nbec__reschedule-cta"}))))}if(t&&(!s||!!d)&&!a){const t=this.host.querySelector('[slot="timeslot-picker-cta-label"]');return e(i,null,e(f,{isLoading:this.isLoading,showNotification:this.showNotification},d&&e(g,null,"Choose another time slot to reschedule your meeting"),e("div",{class:"select-date-page",part:"select-date-page"},e("div",{class:"left-panel"},e("nylas-date-picker",{exportparts:"ndp, ndp__month-header, ndp__month-button, ndp__day, ndp__date, ndp__date--selected, ndp__date--current-day, ndp__date--current-month"}),e("div",{class:"border"}),e("nylas-locale-switch",null)),e("div",{class:"right-panel"},e("h2",null,e("calendar-icon",null),e("span",{id:"selectedDate"},this.selectedDateLabel)),e("nylas-timeslot-picker",{exportparts:"ntp, ntp__timeslot, ntp__timeslot--selected, ntp__button-primary"},t&&e("span",{slot:"timeslot-picker-cta-label"},e("slot",{name:"timeslot-picker-cta-label"})))))))}if(t&&!s&&a){const t=this.host.querySelector('[slot="custom-booking-form"]');return e(i,null,e(f,{isLoading:this.isLoading,showNotification:this.showNotification},d&&e(g,null,"Choose another time slot to reschedule your meeting"),e("div",{class:"additional-data-page",part:"additional-data-page"},e("div",{class:"left-panel"},e("div",{class:"wrapper"},e("nylas-selected-event-card",{exportparts:"nsec, nsec__card, nsec__icon, nsec__date, nsec__time"}))),e("div",{class:"right-panel"},e("nylas-booking-form",{exportparts:"nbf, nbf__input-label, nbf__input-textfield, nbf__button-ghost, nbf__button-primary, nbf__button-outline"},t&&e("div",{slot:"custom-booking-form"},e("slot",{name:"custom-booking-form"})))))))}return e(i,null,e("slot",null))}get host(){return a(this)}static get watchers(){return{bookingInfo:["bookingInfoChanged"]}}};y.style=b;export{y as nylas_scheduling};
2
- //# sourceMappingURL=p-1c3b651f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NylasSchedulerConnector","constructor","schedulerAPIURL","nylasSchedulerStore","sessionId","configId","Error","url","URL","window","location","href","origin","this","init","debug","schedulerStore","scheduler","_schedulerAPIConnector","NylaSchedulerAPIConnector","resetStores","reset","SchedulerView","props","children","isLoading","showNotification","h","Fragment","class","MessageBanner","_props","nylasSchedulingCss","NylasSchedulingStyle0","genericError","title","type","NotificationType","category","ErrorCategory","Component","NylasScheduling","Date","toLocaleDateString","undefined","dateStyle","connectedCallback","componentWillLoad","schedulerWillLoadEvent","schedulerWillLoad","emit","host","defaultPrevented","checkIfSessionIdOrConfigIdExists","stores","CreateNylasSchedulerStore","bookingInfo","defaultSchedulerState","baseProvider","NylasBaseProvider","automaticComponentRegistration","eventOverrides","getStore","nylasSchedulerConnector","schedulerApiUrl","themeConfig","key","value","Object","entries","style","setProperty","componentDidLoad","selectedTimeslot","get","start_time","isTimeslotValid","set","selectedDate","availability","result","length","getAvailability","startTime","getFullYear","getMonth","getTime","endTime","nylasSchedulerError","getErrorObject","error","_selectedDate","firstAvailableDate","find","timeslot","componentDisconnected","bookingInfoChanged","newVal","registerComponentHandler","event","registerComponent","detail","unregisterComponentHandler","unregisterComponent","monthChangedHandler","date","bookButtonClickedHandler","rescheduleBookingId","rescheduleBooking","bookTimeslot","dateSelectedHandler","selectedDateLabel","cancelBookedEventErrorHandler","rescheduleBookedEventErrorHandler","getNylasSchedulerStore","getNylasSchedulerConnector","getRef","description","message","id","toString","ttl","render","showDefaultScheduler","mode","eventInfo","showBookingForm","cancelledEventInfo","cancelBookingId","Host","part","exportparts","timeslotPickerCTALabel","querySelector","slot","name","customTemplateSlot"],"sources":["src/connector/nylas-scheduler-connector/index.ts","src/components/scheduler/nylas-scheduler/scheduler-view.tsx","src/components/scheduler/nylas-scheduler/message-banner.tsx","src/components/scheduler/nylas-scheduler/nylas-scheduling.scss?tag=nylas-scheduling&encapsulation=shadow","src/components/scheduler/nylas-scheduler/nylas-scheduling.tsx"],"sourcesContent":["import { NylasSchedulerStoreType } from '@/stores/scheduler-store';\nimport { debug } from '@/utils/utils';\nimport { NylasSchedulerConnectorInterface } from '../connector-interface';\nimport { NylaSchedulerAPIConnector } from '../shared/api/scheduler';\n\ntype NylasSchedulerConnectorOptions = {\n schedulerAPIURL: string;\n nylasSchedulerStore: NylasSchedulerStoreType;\n sessionId?: string;\n configId?: string;\n};\n/**\n * Base class for the Nylas connector.\n */\nexport class NylasSchedulerConnector implements NylasSchedulerConnectorInterface {\n public schedulerAPIURL: string;\n public nylasSchedulerStore: NylasSchedulerStoreType;\n public sessionId: string | undefined;\n public configId: string | undefined;\n\n private _schedulerAPIConnector: NylaSchedulerAPIConnector | undefined;\n\n constructor({ schedulerAPIURL, nylasSchedulerStore, sessionId, configId }: NylasSchedulerConnectorOptions) {\n if (!schedulerAPIURL) {\n throw new Error('schedulerAPIURL is required');\n }\n\n if (!nylasSchedulerStore) {\n throw new Error('nylasSchedulerStore is required');\n }\n\n if (!sessionId && !configId) {\n throw new Error('sessionId is required for private configs, if not config id is required for public configs');\n }\n\n // If the url is only /, then we need to add the base url.\n // We assume that the base url is the same as the current url.\n if (schedulerAPIURL === '/') {\n const url = new URL(window.location.href);\n schedulerAPIURL = url.origin;\n }\n\n this.configId = configId;\n this.sessionId = sessionId;\n this.schedulerAPIURL = schedulerAPIURL;\n this.nylasSchedulerStore = nylasSchedulerStore;\n }\n\n public init() {\n debug('NylasConnector init');\n }\n\n public get schedulerStore() {\n return this.nylasSchedulerStore;\n }\n\n public get scheduler() {\n if (this._schedulerAPIConnector) {\n return this._schedulerAPIConnector;\n }\n this._schedulerAPIConnector = new NylaSchedulerAPIConnector({\n schedulerAPIURL: this.schedulerAPIURL,\n schedulerStore: this.schedulerStore,\n sessionId: this.sessionId,\n configId: this.configId,\n });\n return this._schedulerAPIConnector;\n }\n\n public resetStores() {\n this.nylasSchedulerStore.reset();\n }\n}\nexport type PublicMethods<T> = {\n [K in keyof T]: T[K] extends Function ? (string extends K ? never : K) : never;\n}[keyof T];\n\nexport type NylasSchedulerConnectorPublicMethods = PublicMethods<NylasSchedulerConnector>;\n","import { Fragment, FunctionalComponent, h } from '@stencil/core';\n\nexport type SchedulerViewProps = {\n isLoading?: boolean;\n showNotification?: boolean;\n};\n\n/**\n * The Scheduler view component.\n */\nexport const SchedulerView: FunctionalComponent<SchedulerViewProps> = (props: SchedulerViewProps, children) => {\n const isLoading = props.isLoading;\n const showNotification = props.showNotification;\n\n return (\n <Fragment>\n {showNotification && <nylas-notification></nylas-notification>}\n\n {isLoading && (\n <div class={'loading'}>\n <div class={'left'}>\n <div class={'skeleton'} />\n </div>\n <div class={'right'}>\n <div class={'skeleton'} />\n <div class={'skeleton'} />\n <div class={'skeleton'} />\n <div class={'skeleton'} />\n <div class={'skeleton'} />\n </div>\n </div>\n )}\n {!isLoading && children}\n <div class={'footer'}>\n Powered by&nbsp; <nylas-logo />\n </div>\n </Fragment>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\n\nexport type HeaderBannerProps = {};\n\nexport const MessageBanner: FunctionalComponent<HeaderBannerProps> = (_props: HeaderBannerProps, children) => <div class=\"message-banner\">{children}</div>;\n","@import '../../../common/styles/variables.scss';\n\n:host {\n display: flex;\n flex-direction: column;\n overflow: visible;\n border-radius: var(--nylas-border-radius-2x);\n width: fit-content;\n @media #{$mobile} {\n width: auto;\n min-width: 325px;\n }\n background: var(--nylas-base-0);\n position: relative;\n box-shadow:\n 0px 4px 6px -2px rgba(0, 0, 0, 0.05),\n 0px 10px 15px -3px rgba(0, 0, 0, 0.1);\n @include default-css-variables;\n font-family: var(--nylas-font-family);\n font-optical-sizing: auto;\n font-style: normal;\n font-variation-settings: 'slnt' 0;\n}\n\n:root {\n font-family: inherit;\n}\n\n.error {\n padding: 8rem 12rem;\n color: var(--nylas-base-0);\n background-color: var(--nylas-error);\n margin: 1.5rem;\n border-radius: var(--nylas-border-radius-2x);\n}\n\n.message-banner {\n text-align: right;\n color: var(--nylas-base-800);\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-color-primary-200);\n margin-top: 1rem;\n}\n\n.loading {\n margin: 1.5rem;\n display: flex;\n gap: 1rem;\n\n .skeleton {\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite;\n &:nth-child(2) {\n animation-delay: -100ms;\n }\n &:nth-child(3) {\n animation-delay: -200ms;\n }\n &:nth-child(4) {\n animation-delay: -300ms;\n }\n &:nth-child(5) {\n animation-delay: -400ms;\n }\n }\n\n .left .skeleton {\n height: 100%;\n width: 400px;\n }\n .right .skeleton {\n height: 5rem;\n width: 300px;\n margin-bottom: 1rem;\n &:last-child {\n margin-bottom: 0;\n }\n }\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n 50% {\n background-color: var(--nylas-base-100);\n }\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.select-date-page,\n.additional-data-page,\n.booked-event-page,\n.cancelled-event-page,\n.cancel-flow-page {\n border-top-left-radius: var(--nylas-border-radius-2x);\n border-top-right-radius: var(--nylas-border-radius-2x);\n}\n\n.select-date-page,\n.additional-data-page {\n display: flex;\n\n @media #{$mobile} {\n flex-direction: column;\n }\n}\n\n.booked-event-page {\n background-color: var(--nylas-base-50);\n}\n\n.cancelled-event-page,\n.cancel-flow-page {\n padding: 1rem;\n height: 496px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.booked-event-page,\n.cancelled-event-page,\n.cancel-flow-page {\n min-width: 784px;\n @media #{$mobile} {\n min-width: 90%;\n }\n}\n\n.left-panel {\n padding: 1rem 20px 0;\n gap: 1rem;\n height: 512px;\n min-width: 384px;\n border-top-left-radius: inherit;\n @media #{$mobile} {\n border-top-right-radius: inherit;\n min-width: unset;\n }\n}\n.additional-data-page .left-panel {\n @media #{$mobile} {\n height: 325px;\n }\n}\n.select-date-page .left-panel {\n @media #{$mobile} {\n padding: 0.5rem 4px 0;\n }\n}\n\n.border {\n margin-left: -20px; // Offset left padding\n margin-right: -20px; // Offset right padding\n border-top-width: 1px;\n height: 1px;\n background-color: var(--nylas-base-200);\n @media #{$mobile} {\n display: none;\n }\n}\n\n.right-panel {\n min-width: 360px;\n width: 360px;\n background-color: var(--nylas-base-50);\n height: 512px;\n padding-top: 16px;\n border-left: 1px solid var(--nylas-base-200);\n border-top-right-radius: inherit;\n @media #{$mobile} {\n border-top-right-radius: 0px;\n width: inherit;\n min-width: unset;\n }\n h2 {\n display: flex;\n margin: 0;\n height: 48px;\n gap: 0.25rem;\n justify-content: center;\n align-items: center;\n width: auto;\n font-size: 1.125rem;\n line-height: 1.5rem;\n font-weight: 500;\n text-align: center;\n color: var(--nylas-base-800);\n }\n}\n\n.additional-data-page {\n .left-panel {\n background-color: var(--nylas-base-50);\n }\n .right-panel {\n background-color: var(--nylas-base-0);\n }\n}\n\nnylas-selected-event-card {\n height: 496px;\n\n @media #{$mobile} {\n height: 325px;\n }\n}\n\n.footer {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n padding: 16px;\n font-size: 14px;\n font-weight: 300;\n color: var(--nylas-base-500);\n border-top: 1px solid var(--nylas-base-200);\n svg {\n fill: var(--nylas-base-500);\n }\n}\n\n.footer svg {\n margin-top: 1px;\n}\n\nnylas-selected-event-card::part(nsec__timezone) {\n position: absolute;\n bottom: 0;\n}\n","import { NylasBaseProvider } from '@/common/abstract-provider';\nimport { RegisteredComponent } from '@/common/register-component';\nimport type { SchedulerEventOverride } from '@/common/component-types';\nimport { NylasSchedulerConnector } from '@/connector/nylas-scheduler-connector';\nimport { CreateNylasSchedulerStore, NylasSchedulerStoreState, NylasSchedulerStoreType } from '@/stores/scheduler-store';\nimport { NylasSchedulerBookingData, ThemeConfig, Notification, NotificationType, NylasSchedulerErrorResponse, Timeslot } from '@nylas/core';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { debug } from '@/utils/utils';\nimport { SchedulerView } from './scheduler-view';\nimport { ErrorCategory } from '@/connector/nylas-scheduler-connector/errors';\nimport { MessageBanner } from './message-banner';\n\nconst genericError = { title: 'Something went wrong...', type: NotificationType.Error, category: ErrorCategory.Component };\n\n/**\n * The `nylas-scheduling` component is used to display the Nylas Scheduling UI.\n *\n * @slot custom-booking-form - This slot is used to pass a custom booking form to the Nylas Scheduling component.\n * @slot timeslot-picker-cta-label - This slot is used to pass a custom label to the timeslot picker CTA. The default label is \"Next\".\n *\n * @part ndp - [nylas-date-picker] The date picker host.\n * @part ndp__month-header - [nylas-date-picker] The month header.\n * @part ndp__month-button - [nylas-date-picker] The month button.\n * @part ndp__day - [nylas-date-picker] The day.\n * @part ndp__date - [nylas-date-picker] The date.\n * @part ndp__date--selected - [nylas-date-picker] The selected date.\n * @part ndp__date--current-day - [nylas-date-picker] The current day.\n * @part ndp__date--current-month - [nylas-date-picker] The dates in the current month.\n * @part ntp - [nylas-timeslot-picker] The timeslot picker component.\n * @part ntp__timeslot - [nylas-timeslot-picker] The timeslot button.\n * @part ntp__timeslot--selected - [nylas-timeslot-picker] The selected timeslot button.\n * @part ntp__button-primary - [nylas-timeslot-picker] The timeslot picker CTA.\n * @part nsec - [nylas-selected-event-card] The selected event card component.\n * @part nsec__card - [nylas-selected-event-card] The card component.\n * @part nsec__icon - [nylas-selected-event-card] The calendar icon.\n * @part nsec__date - [nylas-selected-event-card] The date selected.\n * @part nsec__time - [nylas-selected-event-card] The timeslot selected.\n * @part nbf - [nylas-booking-form] The booking form host.\n * @part nbf__input-label - [nylas-booking-form] The input label.\n * @part nbf__input-textfield - [nylas-booking-form] The input textfield.\n * @part nbf__button-ghost - [nylas-booking-form] The ghost button for adding guests.\n * @part nbf__button-primary - [nylas-booking-form] The primary button for booking.\n * @part nbf__button-outline - [nylas-booking-form] The outline button for canceling.\n * @part ncec - [nylas-cancelled-event-card] The cancelled event card host.\n * @part ncec__icon - [nylas-cancelled-event-card] The calendar icon.\n * @part ncec__title - [nylas-cancelled-event-card] The title of the cancelled event card.\n * @part ncec__description - [nylas-cancelled-event-card] The description of the cancelled event card.\n * @part ncec__button-outline - [nylas-cancelled-event-card] The close button CTA.\n * @part ncec__card - [nylas-cancelled-event-card] The cancelled event card.\n * @part nbec - [nylas-booked-event-card] The booked event card host.\n * @part nbec__card - [nylas-booked-event-card] The booked event card.\n * @part nbec__title - [nylas-booked-event-card] The title of the booked event card.\n * @part nbec__description - [nylas-booked-event-card] The description of the booked event card.\n * @part nbec__button-outline - [nylas-booked-event-card] The cancel & reschedule button CTA.\n * @part nbec__cancel-cta - [nylas-booked-event-card] The cancel button CTA.\n * @part nbec__reschedule-cta - [nylas-booked-event-card] The reschedule button CTA.\n */\n@Component({\n tag: 'nylas-scheduling',\n styleUrl: 'nylas-scheduling.scss',\n shadow: true,\n})\nexport class NylasScheduling {\n /**\n * Stores to be used by the provider.\n */\n private stores?: { scheduler: NylasSchedulerStoreType };\n\n /**\n * This is a base provide that defines the common methods and properties\n * that all providers should have.\n *\n * Because stencil does not support abstract classes, we have to use a\n * property to store the base provider instance.\n */\n private baseProvider?: NylasBaseProvider<Exclude<typeof this.stores, undefined>>;\n\n /**\n * The Nylas Scheduler Connector instance.\n * The branins of the provider. It manages data fetching and state synchronization.\n */\n private nylasSchedulerConnector?: NylasSchedulerConnector;\n\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasSchedulingElement;\n\n /**\n * This is used to set the mode for the Nylas Scheduler.\n * The mode can be either `app` or `composable`. The default mode is `app`.\n * - `app`: This mode is used to show the default Nylas Scheduler UI.\n * - `composable`: This mode is used to show the composable Nylas Scheduler UI\n * by passing the individual scheduler components as children.\n */\n @Prop() readonly mode: 'app' | 'composable' = 'app';\n\n /**\n * The default scheduler store state.\n * Used to set the initial state of the scheduler store.\n */\n @Prop({ attribute: 'default-scheduler-store-state' }) readonly defaultSchedulerState?: Partial<NylasSchedulerStoreState>;\n\n /**\n * The session ID for the Nylas Scheduler.\n * This is used to authenticate the user.\n */\n @Prop() readonly sessionId?: string;\n\n /**\n * The URL for the Nylas Scheduler API. (staging or production URL)\n */\n @Prop() readonly schedulerApiUrl: string = 'https://api.us.nylas.com';\n\n /**\n * This enables passing the bookingInfo object to the Scheduler UI for direct booking event creation.\n * When used with timeslotConfirmedHandler, it bypasses the additional data page and immediately\n * invokes the handler after booking.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * Booking Id required for rescheduling flow.\n */\n @Prop() readonly rescheduleBookingId?: string;\n\n /**\n * Booking Id required for cancelling flow.\n */\n @Prop() readonly cancelBookingId?: string;\n\n /**\n * The config ID for the Nylas Scheduler. This should be passed in when using a public config,\n * in which case the sessionId is not required.\n */\n @Prop() readonly configId?: string;\n\n /**\n * This provides an easy way to override the default function of the event emitter.\n * An example of this is the `timeslotConfirmed` event. By default, this event will set the scheduler store state for `showBookingForm` to `true` which will\n * show the booking form. However, if you want to override this behavior, you can pass in the prop `eventOverride` like:\n * ```html\n * <nylas-scheduling eventOverride={{\"timeslotConfirmed\": (event, nylasConnector) => { console.log(\"Timeslot confirmed event fired!\"); } }} />\n * ```\n */\n @Prop({ attribute: 'event-overrides' }) readonly eventOverrides: SchedulerEventOverride = {};\n\n /**\n * The loading state. This is used to set the loading state for the Nylas Scheduler when fetching data.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * Theme config, used to automatically generate a theme with color palette and\n * CSS variables to customize the look and feel of the Nylas Scheduler.\n */\n @Prop() readonly themeConfig?: ThemeConfig;\n\n /*\n * Displays notifications for errors by default. When enabled (`true`), errors\n * automatically appear as notifications. Disabling this feature (`false`) allows\n * the parent application to capture and manage errors by listening to the\n * `nylasSchedulerError` event, providing flexibility in error handling.\n */\n @Prop() readonly showNotification?: boolean = true;\n\n /**\n * Automatically register components that have the `@RegisterComponent` decorator.\n * If this is set to false, you will need to manually register components using the\n * `registerComponent` method.\n * @default true\n */\n @State() automaticComponentRegistration: boolean = true;\n\n /**\n * The selected date label for the Nylas Scheduler.\n * This is used to set the initial date label for the Nylas Scheduler.\n */\n @State() selectedDateLabel: string = new Date().toLocaleDateString(undefined, { dateStyle: 'full' }) || 'No date selected';\n\n /**\n * This event is fired when the provider is initialized.\n * It can be used to set the initial state of the provider,\n * or to prevent the provider from firing some default behavior.\n */\n @Event({ cancelable: true }) init!: EventEmitter<HTMLNylasSchedulingElement>;\n\n /**\n * This event is fired when the scheduler component enters componentWillLoad lifecycle.\n */\n @Event() schedulerWillLoad!: EventEmitter<HTMLNylasSchedulingElement>;\n\n /**\n * This event is fired when the scheduler component enters componentDidLoad lifecycle.\n */\n @Event() schedulerDidLoad!: EventEmitter<HTMLNylasSchedulingElement>;\n\n @Event({\n eventName: 'nylasSchedulerError',\n })\n nylasSchedulerError!: EventEmitter<Notification>;\n\n /**\n * This function is called when the component is connected to the DOM.\n * At this point in the component lifecycle, the base provider has not yet\n * been initialized. So avoid using the base provider in this method or stores\n * in this method.\n */\n connectedCallback() {\n debug(`[nylas-scheduler] connectedCallback`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-scheduler] Component will load`);\n\n // Emit the schedulerWillLoad event to allow the parent application to set the initial\n // state of the provider or to prevent the provider from firing some default behavior.\n const schedulerWillLoadEvent = this.schedulerWillLoad.emit(this.host);\n if (schedulerWillLoadEvent.defaultPrevented) {\n return;\n }\n\n if (!this.checkIfSessionIdOrConfigIdExists()) {\n return;\n }\n\n this.stores = {\n scheduler: CreateNylasSchedulerStore({\n bookingInfo: this.bookingInfo,\n ...this.defaultSchedulerState,\n }),\n };\n\n this.baseProvider = new NylasBaseProvider(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides);\n\n const nylasSchedulerStore = this.baseProvider?.getStore('scheduler');\n this.nylasSchedulerConnector = new NylasSchedulerConnector({\n schedulerAPIURL: this.schedulerApiUrl,\n sessionId: this.sessionId,\n configId: this.configId,\n nylasSchedulerStore,\n });\n this.init.emit(this.host);\n\n this.baseProvider?.componentWillLoad(this.nylasSchedulerConnector);\n // Override theme\n if (this.themeConfig) {\n for (const [key, value] of Object.entries(this.themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n async componentDidLoad() {\n this.baseProvider?.componentDidLoad();\n\n // If sessionId is not provided, do not fetch availability\n if (!this.checkIfSessionIdOrConfigIdExists()) {\n return;\n }\n\n const nylasSchedulerStore = this.baseProvider?.getStore('scheduler');\n\n const selectedTimeslot = nylasSchedulerStore?.get('selectedTimeslot');\n\n if (selectedTimeslot && selectedTimeslot?.start_time) {\n if (!this.isTimeslotValid(selectedTimeslot)) {\n return;\n }\n\n // If the selected timeslot is already set, do not fetch availability\n if (nylasSchedulerStore?.get('showBookingForm')) {\n nylasSchedulerStore?.set('selectedDate', selectedTimeslot.start_time);\n return;\n }\n }\n\n const selectedDate = nylasSchedulerStore?.get('selectedDate');\n const availability = nylasSchedulerStore?.get('availability');\n let result;\n\n if (availability && availability.length > 0) {\n return;\n }\n\n if (!selectedDate) {\n result = await this.nylasSchedulerConnector?.scheduler.getAvailability();\n } else {\n const startTime = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), 1).getTime() / 1000;\n const endTime = new Date(selectedDate.getFullYear(), selectedDate.getMonth() + 1, 1).getTime() / 1000;\n result = await this.nylasSchedulerConnector?.scheduler.getAvailability(startTime, endTime);\n }\n\n if (!result || 'error' in result) {\n this.nylasSchedulerError.emit({ ...this.getErrorObject(result?.error) });\n }\n\n if (!selectedDate) {\n let _selectedDate = new Date();\n const firstAvailableDate = nylasSchedulerStore?.get('availability').find((timeslot: any) => new Date(timeslot.start_time) > new Date());\n if (firstAvailableDate) {\n _selectedDate = firstAvailableDate.start_time;\n }\n nylasSchedulerStore?.set('selectedDate', _selectedDate);\n }\n }\n\n componentDisconnected() {\n this.baseProvider?.componentDisconnected();\n }\n\n @Watch('bookingInfo')\n bookingInfoChanged(newVal?: NylasSchedulerBookingData) {\n this.stores?.scheduler.set('bookingInfo', newVal);\n }\n\n /**\n * This is a custom event handler that is used to register a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to register\n * @returns Promise<void>\n */\n @Listen('registerComponent')\n async registerComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.registerComponent(event.detail);\n }\n\n /**\n * This is a custom event handler that is used to unregister a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to unregister\n * @returns Promise<void>\n */\n @Listen('unregisterComponent')\n async unregisterComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.unregisterComponent(event.detail);\n }\n\n /**\n * This is a custom event handler that is used to refetch the availability when the month is changed.\n */\n @Listen('monthChanged')\n async monthChangedHandler(event: CustomEvent<Date>) {\n const date = event.detail;\n const startTime = new Date(date.getFullYear(), date.getMonth(), 1).getTime() / 1000;\n const endTime = new Date(date.getFullYear(), date.getMonth() + 1, 1).getTime() / 1000;\n\n const result = await this.nylasSchedulerConnector?.scheduler.getAvailability(startTime, endTime);\n\n if (!result || 'error' in result) {\n this.nylasSchedulerError.emit({ ...this.getErrorObject(result?.error) });\n }\n }\n\n /**\n * This is a custom event handler to book an event.\n */\n @Listen('detailsConfirmed')\n async bookButtonClickedHandler(event: CustomEvent<NylasSchedulerBookingData>) {\n if (this.rescheduleBookingId) {\n const result = await this.nylasSchedulerConnector?.scheduler.rescheduleBooking(this.rescheduleBookingId, event.detail);\n if (!result || 'error' in result) {\n this.nylasSchedulerError.emit({ ...this.getErrorObject(result?.error) });\n }\n return;\n }\n const result = await this.nylasSchedulerConnector?.scheduler.bookTimeslot(event.detail);\n if (!result || 'error' in result) {\n this.nylasSchedulerError.emit({ ...this.getErrorObject(result?.error) });\n }\n }\n\n /**\n * This is a custom event handler to update the selected date label.\n */\n @Listen('dateSelected')\n dateSelectedHandler(event: CustomEvent<Date>) {\n const date = event.detail;\n this.selectedDateLabel = date ? date.toLocaleDateString(undefined, { dateStyle: 'full' }) : 'No date selected';\n }\n\n /**\n * This is an event handler to handle the error (if any) when the\n * cancel booking button is clicked on the cancel booking form.\n */\n @Listen('cancelBookedEventError')\n cancelBookedEventErrorHandler(event: CustomEvent<NylasSchedulerErrorResponse>) {\n this.nylasSchedulerError.emit({ ...this.getErrorObject(event.detail.error) });\n }\n\n /**\n * This is an event handler to handle the error (if any) when the\n * reschedule button is clicked on the booked event card.\n */\n @Listen('rescheduleBookedEventError')\n rescheduleBookedEventErrorHandler(event: CustomEvent<NylasSchedulerErrorResponse>) {\n this.nylasSchedulerError.emit({ ...this.getErrorObject(event.detail.error) });\n }\n\n /**\n * This method is used to retrieve the NylasScheduler instance\n * @returns The NylasScheduler instance\n */\n @Method()\n async getNylasSchedulerStore(): Promise<NylasSchedulerStoreType | undefined> {\n return this.baseProvider?.getStore('scheduler');\n }\n\n /**\n * This method is used to retrieve the NylasConnector instance\n * @returns The NylasConnector instance\n */\n @Method()\n async getNylasSchedulerConnector() {\n return this.nylasSchedulerConnector;\n }\n\n @Method()\n async getRef() {\n return this.host;\n }\n\n private getErrorObject(error: NylasSchedulerErrorResponse['error']): Notification {\n return {\n title: error?.title || genericError.title,\n category: error?.category || genericError.category,\n type: NotificationType.Error,\n description: error?.message || '',\n id: new Date().getTime().toString(),\n ttl: 'none',\n };\n }\n\n private checkIfSessionIdOrConfigIdExists(): boolean {\n if (!this.sessionId && !this.configId) {\n this.nylasSchedulerError.emit({\n title: 'No sessionId!',\n category: ErrorCategory.Component,\n type: NotificationType.Error,\n description: 'Session ID is required',\n id: new Date().getTime().toString(),\n ttl: 'none',\n });\n return false;\n }\n return true;\n }\n\n private isTimeslotValid(timeslot: Timeslot): boolean {\n const selectedDate = new Date(timeslot.start_time);\n if (selectedDate < new Date()) {\n this.nylasSchedulerError.emit({\n title: 'Invalid tiemslot!',\n category: ErrorCategory.Component,\n type: NotificationType.Error,\n description: 'The selected timeslot is invalid.',\n id: new Date().getTime().toString(),\n ttl: 'none',\n });\n return false;\n }\n return true;\n }\n\n render() {\n const showDefaultScheduler = this.mode === 'app';\n const nylasSchedulerStore = this.baseProvider?.getStore('scheduler');\n const eventInfo = nylasSchedulerStore?.get('eventInfo');\n const showBookingForm = nylasSchedulerStore?.get('showBookingForm');\n const cancelledEventInfo = nylasSchedulerStore?.get('cancelledEventInfo');\n const cancelBookingId = nylasSchedulerStore?.get('cancelBookingId') || this.cancelBookingId;\n const selectedTimeslot = nylasSchedulerStore?.get('selectedTimeslot') as Timeslot;\n const rescheduleBookingId = nylasSchedulerStore?.get('rescheduleBookingId') || this.rescheduleBookingId;\n\n if (showDefaultScheduler && cancelBookingId && !cancelledEventInfo) {\n return (\n <Host>\n <SchedulerView isLoading={this.isLoading} showNotification={this.showNotification}>\n <div class=\"cancel-flow-page\" part=\"cancel-flow-page\">\n <nylas-cancel-booking-form cancelBookingId={cancelBookingId} exportparts=\"ncbf, ncbf__input-textfield, ncbf__button-cta, ncbf__button-outline, ncbf__input-label\" />\n </div>\n </SchedulerView>\n </Host>\n );\n }\n\n // Cancelled event card is shown when the event is cancelled\n if (showDefaultScheduler && cancelledEventInfo) {\n return (\n <Host>\n <SchedulerView isLoading={this.isLoading} showNotification={this.showNotification}>\n <div class=\"cancelled-event-page\" part=\"cancelled-event-page\">\n <nylas-cancelled-event-card\n cancelledEventInfo={cancelledEventInfo}\n exportparts=\"ncec, ncec__icon, ncec__title, ncec__description, ncec__button-outline, ncec__card\"\n />\n </div>\n </SchedulerView>\n </Host>\n );\n }\n // Booked event card is shown when the event is booked\n if (showDefaultScheduler && eventInfo) {\n return (\n <Host>\n <SchedulerView isLoading={this.isLoading} showNotification={this.showNotification}>\n <div class=\"booked-event-page\" part=\"booked-event-page\">\n <nylas-booked-event-card\n selectedTimeslot={selectedTimeslot}\n eventInfo={eventInfo}\n exportparts=\"nbec, nbec__title, nbec__card, nbec__description, nbec__button-outline, nbec__cancel-cta, nbec__reschedule-cta\"\n />\n </div>\n </SchedulerView>\n </Host>\n );\n }\n // Date and time picker is shown when the event is not booked and no additional data is shown\n if (showDefaultScheduler && (!eventInfo || !!rescheduleBookingId) && !showBookingForm) {\n const timeslotPickerCTALabel = this.host.querySelector('[slot=\"timeslot-picker-cta-label\"]');\n return (\n <Host>\n <SchedulerView isLoading={this.isLoading} showNotification={this.showNotification}>\n {rescheduleBookingId && <MessageBanner>Choose another time slot to reschedule your meeting</MessageBanner>}\n <div class=\"select-date-page\" part=\"select-date-page\">\n <div class=\"left-panel\">\n <nylas-date-picker exportparts=\"ndp, ndp__month-header, ndp__month-button, ndp__day, ndp__date, ndp__date--selected, ndp__date--current-day, ndp__date--current-month\"></nylas-date-picker>\n <div class=\"border\"></div>\n <nylas-locale-switch></nylas-locale-switch>\n </div>\n <div class=\"right-panel\">\n <h2>\n <calendar-icon></calendar-icon>\n <span id=\"selectedDate\">{this.selectedDateLabel}</span>\n </h2>\n <nylas-timeslot-picker exportparts=\"ntp, ntp__timeslot, ntp__timeslot--selected, ntp__button-primary\">\n {timeslotPickerCTALabel && (\n <span slot=\"timeslot-picker-cta-label\">\n <slot name=\"timeslot-picker-cta-label\"></slot>\n </span>\n )}\n </nylas-timeslot-picker>\n </div>\n </div>\n </SchedulerView>\n </Host>\n );\n }\n // Additional data is shown when the time is selected, event is not booked and additional data is shown\n if (showDefaultScheduler && !eventInfo && showBookingForm) {\n // Check if a \"custom-booking-form\" slot is provided\n const customTemplateSlot = this.host.querySelector('[slot=\"custom-booking-form\"]');\n\n return (\n <Host>\n <SchedulerView isLoading={this.isLoading} showNotification={this.showNotification}>\n {rescheduleBookingId && <MessageBanner>Choose another time slot to reschedule your meeting</MessageBanner>}\n <div class=\"additional-data-page\" part=\"additional-data-page\">\n <div class=\"left-panel\">\n <div class=\"wrapper\">\n <nylas-selected-event-card exportparts=\"nsec, nsec__card, nsec__icon, nsec__date, nsec__time\"></nylas-selected-event-card>\n </div>\n </div>\n <div class=\"right-panel\">\n <nylas-booking-form exportparts=\"nbf, nbf__input-label, nbf__input-textfield, nbf__button-ghost, nbf__button-primary, nbf__button-outline\">\n {customTemplateSlot && (\n <div slot=\"custom-booking-form\">\n <slot name=\"custom-booking-form\"></slot>\n </div>\n )}\n </nylas-booking-form>\n </div>\n </div>\n </SchedulerView>\n </Host>\n );\n }\n\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as s,h as t,H as i,a as r}from"./p-e4b9d6af.js";import{N as n,e as a}from"./p-1af51c6b.js";import{N as o,C as h}from"./p-5c72d9a4.js";import{d as l}from"./p-facc84f3.js";import{N as d,C as c}from"./p-578f4029.js";import"./p-65b275df.js";import"./p-cb65c223.js";class u{constructor({nylasAuth:e,nylasAuthStore:s,nylasSchedulerConfigStore:t}){this.nylasAuth=e;this.nylasAuthStore=s;this.nylasSchedulerConfigStore=t}init(){l("NylasSchedulerConfigConnector init")}get authStore(){return this.nylasAuthStore}get auth(){if(this._authConnector){return this._authConnector}this._authConnector=new o(this.nylasAuth,this.nylasAuthStore);return this._authConnector}get schedulerConfigStore(){return this.nylasSchedulerConfigStore}get schedulerConfig(){if(this._schedulerConfigConnector){return this._schedulerConfigConnector}this._schedulerConfigConnector=new d({nylasAuth:this.nylasAuth,nylasAuthStore:this.nylasAuthStore,nylasSchedulerConfigStore:this.nylasSchedulerConfigStore});return this._schedulerConfigConnector}getAuth(){return this.nylasAuth}getTokenInfo(){return this.nylasAuth.getTokenInfo()}resetStores(){l("NylasSchedulerConfigConnector resetStores");this.nylasAuthStore.reset();this.nylasSchedulerConfigStore.reset()}async logout(){l("NylasSchedulerConfigConnector logout");await this.auth.logout();this.resetStores()}}const f=':host{display:flex;flex-direction:column;overflow:visible;border-radius:var(--nylas-border-radius-2x);width:fit-content;background:var(--nylas-base-0);position:relative;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05), 0px 10px 15px -3px rgba(0, 0, 0, 0.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}@media screen and (max-width: 768px){:host{width:auto;min-width:325px}}div.scheduler-editor-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--nylas-base-200);color:var(--nylas-base-900)}div.scheduler-editor-header h1.scheduler-editor-title{display:flex;align-items:center;gap:0.5rem;width:858px;margin:0;font-size:18px;line-height:24px;font-weight:600}@media screen and (max-width: 768px){div.scheduler-editor-header h1.scheduler-editor-title{width:auto;min-width:calc(325px - 1rem)}}div.scheduler-editor-header button{background:transparent;border:none;cursor:pointer}div.scheduler-editor-header button:hover,div.scheduler-editor-header button:active{color:var(--nylas-primary)}div.scheduler-editor-header button:disabled{cursor:not-allowed}nylas-editor-tabs{width:100%}';const p=f;const y=class{constructor(t){e(this,t);this.init=s(this,"init",7);this.loggedIn=s(this,"loggedIn",7);this.loggedOut=s(this,"loggedOut",7);this.schedulerConfigCloseClicked=s(this,"schedulerConfigCloseClicked",7);this.handleAuthChange=async e=>{if(e){this.loggedIn.emit(this.host)}else{const e=this.loggedOut.emit(this.host);if(!e.defaultPrevented){await(this.nylasSchedulerConfigConnector?.logout())}}};this.handleSchedulerConfigCloseClicked=e=>{this.schedulerConfigCloseClicked.emit(this.host)};this.authConfig=undefined;this.eventOverrides={};this.defaultAuthStoreState=undefined;this.defaultSchedulerConfigStoreState=undefined;this.mode="app";this.automaticComponentRegistration=true;this.loggedInUser=""}connectedCallback(){l(`[nylas-scheduler-editor] connectedCallback`)}async componentWillLoad(){l(`[nylas-scheduler-editor] componentWillLoad`);this.stores={auth:h(this.defaultAuthStoreState),schedulerConfig:c({...this.defaultSchedulerConfigStoreState})};this.baseProvider=new n(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides);this.nylasAuth=a({apiUri:"https://api.us.nylas.com",elementsApiUri:"https://elements.us.nylas.com",storageType:"indexeddb",clientId:"YOUR_CLIENT_ID",defaultScopes:[],redirectURI:"/",...this.authConfig});const e=this.baseProvider?.getStore("auth");const s=this.baseProvider.getStore("schedulerConfig");this.nylasSchedulerConfigConnector=new u({nylasAuth:this.nylasAuth,nylasAuthStore:this.stores.auth,nylasSchedulerConfigStore:s});const t=this.init.emit(this.host);if(!t.defaultPrevented){await(this.nylasSchedulerConfigConnector?.auth.validateSession());const e=await(this.nylasSchedulerConfigConnector?.auth.getTokenInfo());if(e){this.loggedInUser=e.email}}this.handleAuthChange(e.state.isAuthenticated);this.baseProvider?.componentWillLoad(this.nylasSchedulerConfigConnector)}async componentDidLoad(){l(`[nylas-scheduler-editor] componentDidLoad`);this.baseProvider?.componentDidLoad();await(this.nylasSchedulerConfigConnector?.schedulerConfig?.getCalendars())}componentDisconnected(){this.baseProvider?.componentDisconnected()}async registerComponentHandler(e){this.baseProvider?.registerComponent(e.detail)}async unregisterComponentHandler(e){this.baseProvider?.unregisterComponent(e.detail)}render(){const e=this.mode==="app";if(e){return t(i,null,t("div",{class:"scheduler-editor-header"},t("h1",{class:"scheduler-editor-title"},t("calendar-icon",{width:"18",height:"18"}),"Schedule editor"),t("button",{class:"scheduler-editor-close",onClick:e=>this.handleSchedulerConfigCloseClicked(e),part:"nsc-close-button"},t("close-icon",{width:"18",height:"18"}))),t("nylas-editor-tabs",null))}return t(i,null,t("slot",null))}get host(){return r(this)}};y.style=p;export{y as nylas_scheduler_editor};
2
- //# sourceMappingURL=p-558faafb.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NylasSchedulerConfigConnector","constructor","nylasAuth","nylasAuthStore","nylasSchedulerConfigStore","this","init","debug","authStore","auth","_authConnector","NylasAuthConnector","schedulerConfigStore","schedulerConfig","_schedulerConfigConnector","NylasSchedulerConfigAPIConnector","getAuth","getTokenInfo","resetStores","reset","logout","nylasSchedulerEditorCss","NylasSchedulerEditorStyle0","NylasSchedulerEditor","handleAuthChange","async","isAuthenticated","loggedIn","emit","host","loggedOutEvent","loggedOut","defaultPrevented","nylasSchedulerConfigConnector","handleSchedulerConfigCloseClicked","_event","schedulerConfigCloseClicked","connectedCallback","componentWillLoad","stores","CreateNylasAuthStore","defaultAuthStoreState","CreateNylasSchedulerConfigStore","defaultSchedulerConfigStoreState","baseProvider","NylasBaseProvider","automaticComponentRegistration","eventOverrides","NylasAuth","apiUri","elementsApiUri","storageType","clientId","defaultScopes","redirectURI","authConfig","getStore","initEvent","validateSession","token","loggedInUser","email","state","componentDidLoad","getCalendars","componentDisconnected","registerComponentHandler","event","registerComponent","detail","unregisterComponentHandler","unregisterComponent","render","defaultEditor","mode","h","Host","class","width","height","onClick","e","part"],"sources":["src/connector/nylas-scheduler-config-connector/index.ts","src/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.scss?tag=nylas-scheduler-editor&encapsulation=shadow","src/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.tsx"],"sourcesContent":["import { NylasSchedulerConfigStoreType } from '@/stores/scheduler-config-store';\nimport { NylasAuthType } from '@nylas/core';\nimport { NylasAuthStoreType } from '../..';\nimport { NylasAuthConnector } from '../shared/api/auth';\nimport { debug } from '@/utils/utils';\nimport { NylasSchedulerConfigAPIConnector } from '../shared/api/scheduler-config';\n\ntype NylasSchedulerConfigConnectorOptions = {\n nylasAuth: NylasAuthType;\n nylasAuthStore: NylasAuthStoreType;\n nylasSchedulerConfigStore: NylasSchedulerConfigStoreType;\n};\n\nexport class NylasSchedulerConfigConnector {\n public nylasAuth: NylasAuthType;\n public nylasAuthStore: NylasAuthStoreType;\n public nylasSchedulerConfigStore: NylasSchedulerConfigStoreType;\n\n private _authConnector: NylasAuthConnector | undefined;\n private _schedulerConfigConnector: NylasSchedulerConfigAPIConnector | undefined;\n\n constructor({ nylasAuth, nylasAuthStore, nylasSchedulerConfigStore }: NylasSchedulerConfigConnectorOptions) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasSchedulerConfigStore = nylasSchedulerConfigStore;\n }\n\n public init() {\n debug('NylasSchedulerConfigConnector init');\n }\n\n public get authStore() {\n return this.nylasAuthStore;\n }\n\n public get auth() {\n if (this._authConnector) {\n return this._authConnector;\n }\n this._authConnector = new NylasAuthConnector(this.nylasAuth, this.nylasAuthStore);\n return this._authConnector;\n }\n\n public get schedulerConfigStore() {\n return this.nylasSchedulerConfigStore;\n }\n\n public get schedulerConfig() {\n if (this._schedulerConfigConnector) {\n return this._schedulerConfigConnector;\n }\n this._schedulerConfigConnector = new NylasSchedulerConfigAPIConnector({\n nylasAuth: this.nylasAuth,\n nylasAuthStore: this.nylasAuthStore,\n nylasSchedulerConfigStore: this.nylasSchedulerConfigStore,\n });\n return this._schedulerConfigConnector;\n }\n\n public getAuth() {\n return this.nylasAuth;\n }\n\n public getTokenInfo() {\n return this.nylasAuth.getTokenInfo();\n }\n\n public resetStores() {\n debug('NylasSchedulerConfigConnector resetStores');\n this.nylasAuthStore.reset();\n this.nylasSchedulerConfigStore.reset();\n }\n\n public async logout() {\n debug('NylasSchedulerConfigConnector logout');\n await this.auth.logout();\n this.resetStores();\n }\n}\n\nexport type PublicMethods<T> = {\n [K in keyof T]: T[K] extends Function ? (string extends K ? never : K) : never;\n}[keyof T];\n\nexport type NylasSchedulerConfigConnectorPublicMethods = PublicMethods<NylasSchedulerConfigConnector>;\n","@import '../../../common/styles/variables.scss';\n@import '../../../common/mixins/buttons.scss';\n\n:host {\n display: flex;\n flex-direction: column;\n overflow: visible;\n border-radius: var(--nylas-border-radius-2x);\n width: fit-content;\n @media #{$mobile} {\n width: auto;\n min-width: 325px;\n }\n background: var(--nylas-base-0);\n position: relative;\n box-shadow:\n 0px 4px 6px -2px rgba(0, 0, 0, 0.05),\n 0px 10px 15px -3px rgba(0, 0, 0, 0.1);\n @include default-css-variables;\n}\n\ndiv.scheduler-editor-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n color: var(--nylas-base-900);\n\n h1.scheduler-editor-title {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 858px;\n margin: 0;\n font-size: 18px;\n line-height: 24px;\n font-weight: 600;\n @media #{$mobile} {\n width: auto;\n min-width: calc(325px - 1rem);\n }\n }\n button {\n @include invisible-button;\n }\n}\n\nnylas-editor-tabs {\n width: 100%;\n}\n","import { NylasBaseProvider } from '@/common/abstract-provider';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, h } from '@stencil/core';\nimport { NylasAuthStoreState, NylasAuthStoreType, NylasAuthType, NylasSchedulerConfigStoreType } from '../../..';\nimport { debug } from '@/utils/utils';\nimport { CreateNylasSchedulerConfigStore, NylasSchedulerConfigStoreState } from '@/stores/scheduler-config-store';\nimport { CreateNylasAuthStore } from '@/stores/auth-store';\nimport { AuthConfig, NylasAuth } from '@nylas/core';\nimport { RegisteredComponent } from '@/common/register-component';\nimport type { SchedulerEditorEventOverride } from '@/common/component-types';\n\n/**\n * The `nylas-scheduler-editor` component is a form that allows users to configure the settings for the Nylas Scheduler.\n */\n@Component({\n tag: 'nylas-scheduler-editor',\n styleUrl: 'nylas-scheduler-editor.scss',\n shadow: true,\n})\nexport class NylasSchedulerEditor {\n /**\n * Stores to be used by the provider.\n */\n private stores?: {\n auth: NylasAuthStoreType;\n schedulerConfig: NylasSchedulerConfigStoreType;\n };\n\n /**\n * This is a base provide that defines the common methods and properties\n * that all providers should have.\n *\n * Because stencil does not support abstract classes, we have to use a\n * property to store the base provider instance.\n */\n private baseProvider?: NylasBaseProvider<Exclude<typeof this.stores, undefined>>;\n\n /**\n * The Nylas Auth instance.\n * Used to manage all things authentication with Nylas.\n */\n private nylasAuth?: NylasAuthType;\n\n /**\n * The Nylas Scheduler Config Connector instance.\n * The brains of the provider. It manages data fetching and state synchronization.\n */\n private nylasSchedulerConfigConnector?: NylasSchedulerConfigConnector;\n\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasSchedulerEditorElement;\n\n /**\n * The Nylas Auth configuration.\n * Used to manage all things authentication with Nylas.\n */\n @Prop({ attribute: 'auth-config' }) readonly authConfig?: AuthConfig;\n\n /**\n * This provides a way to override the default event handlers.\n */\n @Prop() eventOverrides: SchedulerEditorEventOverride = {};\n\n /**\n * The default auth store state.\n * Used to set the initial state of the auth store.\n */\n @Prop({ attribute: 'default-auth-store-state' }) readonly defaultAuthStoreState?: NylasAuthStoreState;\n\n /**\n * The default scheduler config store state.\n * Used to set the initial state of the scheduler config store.\n */\n @Prop({ attribute: 'default-scheduler-config-store-state' }) readonly defaultSchedulerConfigStoreState?: NylasSchedulerConfigStoreState;\n\n /**\n * The is used to set the mode for the scheduler config.\n * The mode can be 'app' or 'composable'.\n * The default mode is 'app'.\n */\n @Prop({ attribute: 'mode' }) readonly mode: 'app' | 'composable' = 'app';\n\n /**\n * This event is fired when the provider is initialized.\n * It can be used to set the initial state of the provider,\n * or to prevent the provider from firing some default behavior.\n */\n @Event({ cancelable: true }) readonly init!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the the NyalsAuth isAuthenticated state changes\n * to true.\n */\n @Event({ cancelable: true }) readonly loggedIn!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the the NyalsAuth isAuthenticated state changes\n * to true.\n */\n @Event({ cancelable: true }) readonly loggedOut!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * This event is fired when the close button on scheduler config is clicked.\n */\n @Event({ cancelable: true }) readonly schedulerConfigCloseClicked!: EventEmitter<HTMLNylasSchedulerEditorElement>;\n\n /**\n * Automatically register components that have the `@RegisterComponent` decorator.\n * If this is set to false, you will need to manually register components using the\n * `registerComponent` method.\n * @default true\n */\n @State() automaticComponentRegistration: boolean = true;\n\n @State() loggedInUser: string = '';\n\n connectedCallback() {\n debug(`[nylas-scheduler-editor] connectedCallback`);\n }\n\n async componentWillLoad() {\n debug(`[nylas-scheduler-editor] componentWillLoad`);\n this.stores = {\n auth: CreateNylasAuthStore(this.defaultAuthStoreState),\n schedulerConfig: CreateNylasSchedulerConfigStore({\n ...this.defaultSchedulerConfigStoreState,\n }),\n };\n\n this.baseProvider = new NylasBaseProvider(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides);\n\n /**\n * Create the NylasAuth instance.\n * This will be used to manage all things authentication with Nylas.\n */\n this.nylasAuth = NylasAuth({\n apiUri: 'https://api.us.nylas.com',\n elementsApiUri: 'https://elements.us.nylas.com',\n storageType: 'indexeddb',\n clientId: 'YOUR_CLIENT_ID',\n defaultScopes: [],\n redirectURI: '/',\n ...this.authConfig,\n });\n const authStore = this.baseProvider?.getStore('auth');\n const nylasSchedulerConfigStore = this.baseProvider.getStore('schedulerConfig');\n this.nylasSchedulerConfigConnector = new NylasSchedulerConfigConnector({\n nylasAuth: this.nylasAuth,\n nylasAuthStore: this.stores.auth,\n nylasSchedulerConfigStore: nylasSchedulerConfigStore,\n });\n\n const initEvent = this.init.emit(this.host);\n if (!initEvent.defaultPrevented) {\n /**\n * By default, on init, we will validate the session.\n * This will check if the user is logged in and if the session is still valid.\n * If the session is not valid, the user will be logged out.\n */\n await this.nylasSchedulerConfigConnector?.auth.validateSession();\n const token = await this.nylasSchedulerConfigConnector?.auth.getTokenInfo();\n if (token) {\n this.loggedInUser = token.email;\n }\n }\n /**\n * Listen for changes in the NylasAuth isAuthenticated state.\n * This is used to fire the loggedIn and loggedOut events.\n */\n this.handleAuthChange(authStore.state.isAuthenticated);\n this.baseProvider?.componentWillLoad(this.nylasSchedulerConfigConnector);\n }\n\n async componentDidLoad() {\n debug(`[nylas-scheduler-editor] componentDidLoad`);\n this.baseProvider?.componentDidLoad();\n\n await this.nylasSchedulerConfigConnector?.schedulerConfig?.getCalendars();\n }\n\n componentDisconnected() {\n this.baseProvider?.componentDisconnected();\n }\n\n /**\n * This is a custom event handler that is used to register a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to register\n * @returns Promise<void>\n */\n @Listen('registerComponent')\n async registerComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.registerComponent(event.detail);\n }\n\n /**\n * This is a custom event handler that is used to unregister a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to unregister\n * @returns Promise<void>\n */\n @Listen('unregisterComponent')\n async unregisterComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.unregisterComponent(event.detail);\n }\n\n /**\n * This method is used to handle changes in the NylasAuth isAuthenticated state\n * @param isAuthenticated isAuthenticated state\n * @returns void\n */\n private handleAuthChange = async (isAuthenticated: boolean) => {\n if (isAuthenticated) {\n this.loggedIn.emit(this.host);\n } else {\n const loggedOutEvent = this.loggedOut.emit(this.host);\n if (!loggedOutEvent.defaultPrevented) {\n await this.nylasSchedulerConfigConnector?.logout();\n }\n }\n };\n\n private handleSchedulerConfigCloseClicked = (_event: Event) => {\n this.schedulerConfigCloseClicked.emit(this.host);\n };\n\n // @Listen('schedulerConfigChanged')\n // async schedulerConfigChangedHandler(\n // event: CustomEvent<{\n // title: string;\n // description: string;\n // duration: string;\n // availability?: any;\n // calendarIds: string[];\n // }>,\n // ) {\n // console.log('schedulerConfigChanged', event.detail);\n // }\n\n render() {\n const defaultEditor = this.mode === 'app';\n\n if (defaultEditor) {\n return (\n <Host>\n <div class=\"scheduler-editor-header\">\n <h1 class=\"scheduler-editor-title\">\n <calendar-icon width=\"18\" height=\"18\" />\n Schedule editor\n </h1>\n <button class=\"scheduler-editor-close\" onClick={e => this.handleSchedulerConfigCloseClicked(e)} part=\"nsc-close-button\">\n <close-icon width=\"18\" height=\"18\" />\n </button>\n </div>\n <nylas-editor-tabs></nylas-editor-tabs>\n </Host>\n );\n }\n\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as a,h as t,H as n,a as s,F as r}from"./p-e4b9d6af.js";import{R as i}from"./p-9955e9b6.js";import{d as o,l,m as c,n as d,o as b}from"./p-facc84f3.js";import{T as f,g as y,L as p}from"./p-bf2887bd.js";import"./p-cb65c223.js";const h=':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 0;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.5rem;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:1rem;font-weight:600;line-height:1.25rem;text-align:justify;margin-bottom:8px}.booking-date-time p,.booking-participants p{font-size:0.875rem;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)}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);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 u=h;var m=undefined&&undefined.__decorate||function(e,a,t,n){var s=arguments.length,r=s<3?a:n===null?n=Object.getOwnPropertyDescriptor(a,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,a,t,n);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(s<3?i(r):s>3?i(a,t,r):i(a,t))||r;return s>3&&r&&Object.defineProperty(a,t,r),r};var g=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const v=class{constructor(t){e(this,t);this.cancelBookingButtonClicked=a(this,"cancelBookingButtonClicked",7);this.rescheduleButtonClicked=a(this,"rescheduleButtonClicked",7);this.rescheduleBookedEventError=a(this,"rescheduleBookedEventError",7);this.handleCancelBookingButtonClicked=()=>{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 a=e?.organizer;return a};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}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){o(`[nylas-booked-event-card] Component will load`)}async componentDidLoad(){o(`[nylas-booked-event-card] Component did load`)}render(){return t(n,{key:"1585329ee957e66c757861d989d29a9c1bb1451f",part:"nbec"},t("sp-theme",{key:"113da8c82dd485188d40f1dea9f814be0c408ca2",theme:"spectrum",color:"dark",scale:"medium"},t("div",{key:"af6b0a085e582f2d7bdb5503b9d5b6d3c7042fd3",class:"booked-event-timezone"},t("globe-icon",{key:"0c3fbff398a24c97d82bb74434d9da574349919f"}),f[this.selectedTimezone]),t("div",{key:"136d5341ef1d252b525359418e8df0a43f4160a0",class:"event-card-wrapper",part:"nbec__card"},t("div",{key:"767bcbb50f4ae8c294f3ab3733fe99cd7c4c78e1",class:"calendar-icon"},t("calendar-check-icon",{key:"e6fd3ec502795fbcaaf9d34b5b5c4cee2d732d4f"})),t("div",{key:"7dfa8cc7719760d396716ec81ab0022c01bbe22f",class:"booked-event-header"},t("h2",{key:"34a452c275a3880f64575735a9e67db5a8cdea45",slot:"card-title",part:"nbec__title"},"Booking ",!!this.rescheduleBookingId?"rescheduled":"confirmed","!"),t("div",{key:"a081b1a3791e2e80dd651d1f9dbf5de2f2057f9a",part:"nbec__description"},this.getOrganizer(this.eventInfo)?.name||this.getOrganizer(this.eventInfo)?.email," & ",this.bookingInfo?.primaryParticipant?.name||this.bookingInfo?.primaryParticipant?.email)),t("sp-divider",{key:"0744f0fa4f3fff8f2dc0dec978632496d26bfae6"}),t("div",{key:"38460fbfbe5d19b4f0d48cb0df02e6d12c2f2740",class:"booking-date-time"},t("checkmark-circle-icon",{key:"1e282c329489e4def089d8fca1bd532557f91b92"}),t("h3",{key:"34bebd074562352d54628f763c339ccd4c44918a"},"Booking date and time"),t("p",{key:"d897859d30e6dd6651c0d4b0079bf0eab1df0356"},new Date(this.selectedTimeslot.start_time).toLocaleDateString(undefined,{dateStyle:"full"})," ",t("br",{key:"2aa56898e654721616459102329cbe498232d3e8"}),new Date(this.selectedTimeslot.start_time).toLocaleTimeString(undefined,{timeStyle:"short"})," -"," ",new Date(this.selectedTimeslot.end_time).toLocaleTimeString(undefined,{timeStyle:"short"}))),t("div",{key:"5009ca55f795c2fd1240ed8bbc50216c4e66be87",class:"booking-participants"}),t("sp-divider",{key:"4b5b4325dda3f935387218429823b850d2a12f0e"}),t("div",{key:"d25cc602a134085c19f0acea006db0707ceae7e5",class:"footer"},t("sp-button",{key:"4625e515f2f79d6ecb0bb37813efe100c03cdaf2",variant:"secondary",treatment:"outline",class:"cancel",onClick:this.handleCancelBookingButtonClicked,part:"nbec__button-outline nbec__cancel-cta"},"Cancel booking"),t("sp-button",{key:"9cbdc95cd53aa2d536751984b91ef5974e71179d",variant:"secondary",treatment:"outline",class:"reschedule",onClick:this.handleRescheduleButtonClicked,part:"nbec__button-outline nbec__reschedule-cta"},"Reschedule")))))}};m([i({name:"nylas-booked-event-card",stateToProps:new Map([["scheduler.bookingInfo","bookingInfo"],["scheduler.rescheduleBookingId","rescheduleBookingId"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.selectedTimeslot","selectedTimeslot"]]),eventToProps:{cancelBookingButtonClicked:async(e,a)=>{a.scheduler.setCancel(e.detail.bookingId)},rescheduleButtonClicked:async(e,a)=>{const t=await a.scheduler.setReschedule(e.detail.bookingId);const{errorHandler:n}=e.detail;if(n&&(!t||"error"in t)){n(t)}}},fireRegisterEvent:true}),g("design:type",Function),g("design:paramtypes",[]),g("design:returntype",void 0)],v.prototype,"render",null);v.style=u;const k=':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:10px;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)}.input-wrapper .help-text{margin:0;color:var(--nylas-error)}.button-wrapper{width:100%;align-items:flex-start;height:max-content;position:relative}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].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].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}';const x=k;var w=undefined&&undefined.__decorate||function(e,a,t,n){var s=arguments.length,r=s<3?a:n===null?n=Object.getOwnPropertyDescriptor(a,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,a,t,n);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(s<3?i(r):s>3?i(a,t,r):i(a,t))||r;return s>3&&r&&Object.defineProperty(a,t,r),r};var C=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const _=/^[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 j=class{constructor(t){e(this,t);this.nameChanged=a(this,"nameChanged",7);this.emailChanged=a(this,"emailChanged",7);this.backButtonClicked=a(this,"backButtonClicked",7);this.detailsConfirmed=a(this,"detailsConfirmed",7);this.bookingFormError=a(this,"bookingFormError",7);this.handleGuestChange=(e,a)=>{this.resetGuestEmailError(e);const t=[...this.guestEmails];t[e]=a;this.guestEmails=[...t]};this.handleGuestBlur=(e,a)=>{this.resetGuestEmailError(e);if(a===""){this.guestEmailErrors[e]="Email is required";return}if(!_.test(a)){this.guestEmailErrors[e]="Enter a valid email address";return}this.handleGuestChange(e,a)};this.addGuestButtonClickedHandler=()=>{this.guestEmails=[...this.guestEmails,""]};this.removeGuestButtonClickHandler=(e,a)=>{e.preventDefault();this.resetGuestEmailError(a);const t=[...this.guestEmails];t.splice(a,1);this.guestEmails=[...t]};this.handleBackButtonClicked=()=>{this.backButtonClicked.emit()};this.bookButtonClickedHandler=async e=>{e.preventDefault();o("nylas-booking-form","bookButtonClickedHandler",this.bookingInfo);const a=this.name||this.bookingInfo?.primaryParticipant?.name;const t=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(!t||t===""){this.isEmailValid=false;this.validationError.email="Email is required";this.bookingFormError.emit({title:"Booking form error",description:"Email is required"});return}if(!_.test(t)){this.isEmailValid=false;this.validationError.email="Enter a valid email address";this.bookingFormError.emit({title:"Booking form error",description:"Invalid email"});return}let n=[];if(this.guestEmails.length>0){let e=false;this.guestEmails.forEach(((a,t)=>{if(a===""){e=true;this.guestEmailErrors={...this.guestEmailErrors,[t]:"Email is required"}}else if(!_.test(a)){e=true;this.guestEmailErrors={...this.guestEmailErrors,[t]:"Enter a valid email address"}}}));if(e){this.bookingFormError.emit({title:"Booking form error",description:"Invalid guest email"});return}n=this.guestEmails.map((e=>({name:"",email:e.trim()})))}else if(this.bookingInfo?.guests){n=this.bookingInfo?.guests}this.detailsConfirmed.emit({primaryParticipant:{name:a,email:t},guests:n,additionalFields:{...this.bookingInfo?.additionalFields}})};this.isLoading=undefined;this.bookingInfo=undefined;this.eventInfo=undefined;this.name="";this.email="";this.guestEmails=[];this.guestEmailErrors={};this.isNameValid=true;this.isEmailValid=true;this.validationError={name:"",email:""}}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){o("nylas-booking-form","componentWillLoad",this.bookingInfo);if(this.bookingInfo){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=e;this.nameChanged.emit(e)}changeEmail(e){this.isEmailValid=true;this.validationError.email="";this.email=e;this.emailChanged.emit(e)}resetGuestEmailError(e){const a={...this.guestEmailErrors};delete a[e];this.guestEmailErrors={...a}}render(){return t(n,{key:"5a255277a21fa84d100bb53d13bb9dce0ce58e24"},t("form",{key:"19b7aecb9223557f0ff9d4c062968c3242026f0c",onSubmit:e=>this.bookButtonClickedHandler(e),noValidate:true},t("div",{key:"49276b2a59934eeaeb38c06db6968f957b7b9bee",class:"nylas-booking-form"},t("slot",{key:"ee0a8c29c1fb6b7273d6a2d3c8cb88180f0e9dbf",name:"custom-booking-form"},t("div",{key:"662e46f3a7925282f824547a069f52584b94d564",class:"input-wrapper"},t("label",{key:"a01c1903ee983e1555006ad14e75cd1b2c3036ff",htmlFor:"name",class:{"input-label":true,error:!this.isNameValid},part:"nbf__input-label"},"Name ",t("span",{key:"4729d580bbf9d851c2ac8b686dc826c4e3e4616f",class:"required"},"*")),t("input",{key:"51754a63345f1d0332a38f646dde6a8a998c8dee",id:"name",type:"text",placeholder:"Enter your name",value:this.name,class:{input:true,error:!this.isNameValid},part:"nbf__input-textfield",onInput:e=>this.changeName(e.target?.value)}),t("p",{key:"b8a6660e959a877421bdfffdb87279d8f09123b8",class:"help-text"},this.validationError.name)),t("div",{key:"e78a74e67abde7e61c1d3c555c234817770a4040",class:"input-wrapper"},t("label",{key:"d5507037f5c668f58e14031dba4276900ef5ed09",htmlFor:"email",class:{"input-label":true,error:!this.isEmailValid},part:"nbf__input-label"},"Email ",t("span",{key:"514f00587069ac1cfc6d16bfd30750d6d501817d",class:"required"},"*")),t("input",{key:"0b80ded98b2174f783fa9e7c951a47661aa894f6",id:"email",type:"email",placeholder:"Enter your email",value:this.email,class:{input:true,error:!this.isEmailValid},part:"nbf__input-textfield",onInput:e=>this.changeEmail(e.target?.value)}),t("p",{key:"ba185ccb2bec87049e94d8c5f8d211a838de0025",class:"help-text"},this.validationError.email)))),t("div",{key:"56e2cce79371533ad66cccad95a79dd8935fe3eb",class:"cta"},t("sp-button",{key:"2b6410b3cf2b7634737aa858396290ad065dfcfc",treatment:"outline",variant:"secondary",class:"back",part:"nbf__button-outline",onClick:this.handleBackButtonClicked},t("slot",{key:"4ba60a2fb3542434ede16ea382ec4ca80cb8d422",name:"booking-form-back-label"},"Back")),t("sp-button",{key:"49dd32531d7b55529bb73bc82eb0b91820c6ea33",variant:"primary",class:"book",part:"nbf__button-primary",type:"submit"},this.isLoading&&t("loading-icon",{slot:"icon"}),t("slot",{key:"a57ae44c1c3a1b020a110f0156435f27897410c6",name:"booking-form-book-label"},"Book now")))))}get host(){return s(this)}static get watchers(){return{bookingInfo:["bookingInfoChangedHandler"]}}};w([i({name:"nylas-booking-form",stateToProps:new Map([["scheduler.isLoading","isLoading"],["scheduler.bookingInfo","bookingInfo"],["scheduler.eventInfo","eventInfo"]]),eventToProps:{backButtonClicked:async(e,a)=>{a.scheduler.toggleAdditionalData(false)},nameChanged:async(e,a)=>{a.scheduler.setParticipantName(e.detail)},emailChanged:async(e,a)=>{a.scheduler.setParticipantEmail(e.detail)}},fireRegisterEvent:true}),C("design:type",Function),C("design:paramtypes",[]),C("design:returntype",void 0)],j.prototype,"render",null);j.style=x;const z=':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)}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 R=z;var L=undefined&&undefined.__decorate||function(e,a,t,n){var s=arguments.length,r=s<3?a:n===null?n=Object.getOwnPropertyDescriptor(a,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,a,t,n);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(s<3?i(r):s>3?i(a,t,r):i(a,t))||r;return s>3&&r&&Object.defineProperty(a,t,r),r};var T=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const D=class{constructor(t){e(this,t);this.goBackButtonClicked=a(this,"goBackButtonClicked",7);this.cancelBookingFormSubmitted=a(this,"cancelBookingFormSubmitted",7);this.cancelBookedEventError=a(this,"cancelBookedEventError",7);this.cancelBookingFormError=a(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 a=e=>{this.cancelBookedEventError.emit(e)};this.cancelBookingFormSubmitted.emit({bookingId:this.cancelBookingId,reason:this.cancellationReason,errorHandler:a})};this.handleOnChangeCancellationReason=e=>{this.cancellationError="";this.cancellationReason=e.target.value};this.cancelBookingId=undefined;this.cancellationReason="";this.cancellationError=""}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`)}disconnectedCallback(){o(`[nylas-cancel-booking-form] Component disconnected`)}render(){return t(n,{key:"37bca52431abe226b6fd868fc24076ec3e841294",part:"ncec"},t("sp-theme",{key:"40cdcc06a4c14ee3708c34be9260bd6d48a9846d",theme:"spectrum",scale:"medium"},t("div",{key:"5361b2877dfa977494b51adb4dee9a15ff18179b",class:"nylas-cancel-booking-form",part:"ncec__card"},t("div",{key:"abb7b5820d3e48d4986f0fb01d873fb857a93c0e",class:"nylas-cancel-booking-form__calendar-icon",part:"ncec__icon"},t("calendar-cancel-icon",{key:"1dcb825a6b57df4cb0cbd07e188d55519670798a"})),t("h3",{key:"e8e261dd983185aedefcd7f4d556723c963f5880",class:"nylas-cancel-booking-form__title",part:"ncec__title"},"Cancel booking?"),t("div",{key:"c142bbb14fe2f3e416f2503c0ddef533850182d6",class:"nylas-cancel-booking-form__description",part:"ncec__description"},"Your current timeslot will become available to others."),t("form",{key:"7b1c3b6465310f358583f952472f6eb4c29dcd49",onSubmit:this.handleSubmitCancelBooking},t("sp-field-label",{key:"c013d9b44b21f6e35fec4c75fcbf80548fb55e76",for:"cancel-reason",class:this.cancellationError?"error":""},"Reason for cancellation ",t("span",{key:"23043f60c6243e3713c4ff909942a3358042bdb6",class:"required"},"*")),t("sp-textfield",{key:"ec70ddb3dfdc3ac35e762bf6f7211fd8d1f400f5",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},t("sp-help-text",{key:"c20a578c582aad43ce4ee228f8cb87b48d02305b",slot:"negative-help-text"},this.cancellationError)),t("sp-button",{key:"ee0e1cc78325b8e3fdaa99ed4e3b516790050dd5",variant:"primary",class:"cancel",type:"submit",part:"ncec__button-cta"},"Cancel booking"),t("sp-button",{key:"d924c5db2efea170c1ef4c00e237954e69efcd5a",variant:"secondary",class:"back",treatment:"outline",part:"ncec__button-outline",onClick:this.handleGoBackClicked},"Go back")))))}};L([i({name:"nylas-cancel-booking-form",eventToProps:{cancelBookingFormSubmitted:async(e,a)=>{const t=await a.scheduler.cancelBooking(e.detail.bookingId);const{errorHandler:n}=e.detail;if(n&&(!t||"error"in t)){n(t)}}},fireRegisterEvent:true}),T("design:type",Function),T("design:paramtypes",[]),T("design:returntype",void 0)],D.prototype,"render",null);D.style=R;const I=':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 E=I;var S=undefined&&undefined.__decorate||function(e,a,t,n){var s=arguments.length,r=s<3?a:n===null?n=Object.getOwnPropertyDescriptor(a,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,a,t,n);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(s<3?i(r):s>3?i(a,t,r):i(a,t))||r;return s>3&&r&&Object.defineProperty(a,t,r),r};var B=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const M=class{constructor(t){e(this,t);this.closeCancelEventCardClicked=a(this,"closeCancelEventCardClicked",7);this.handleCloseClicked=()=>{this.closeCancelEventCardClicked.emit()};this.cancelledEventInfo=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`)}disconnectedCallback(){o(`[nylas-cancelled-event-card] Component disconnected`)}render(){return t(n,{key:"e8e30ff1e8e629c9a522167cfd14629f3b8dc7a6",part:"ncec"},t("sp-theme",{key:"bc3928c9c42250b59457ec2dd50599878e162567",theme:"spectrum",color:"dark",scale:"medium"},t("div",{key:"6aa1399164d77ce4972c2278ef56d537c5027f76",class:"nylas-cancelled-event-card",part:"ncec__card"},t("div",{key:"dc92dd92882eb01cea5d0c762f87a536a823e0d5",class:"nylas-cancelled-event-card__calendar-icon",part:"ncec__icon"},t("calendar-cancel-icon",{key:"60229789ba46ee3abe328e4c9442b4df631d57f9"})),t("h3",{key:"8ddd0f47dc710a41798d32043d641a363e245272",class:"nylas-cancelled-event-card__title",part:"ncec__title"},"Your booking has been cancelled successfully!"),t("div",{key:"8506cc89a56047b8a6f3026697f752ea061c77ee",class:"nylas-cancelled-event-card__description",part:"ncec__description"},"A cancellation email has been sent to the participants."),t("div",{key:"5a38391df6da96396ee719e58ab6c3cb67058c17",class:"nylas-cancelled-event-card__cta"},t("sp-button",{key:"6d87963e3071dff1e9cb033db37b1afe5a0f419f",variant:"secondary",treatment:"outline",part:"ncec__button-outline",onClick:this.handleCloseClicked},"Close")))))}};S([i({name:"nylas-cancelled-event-card",eventToProps:{},fireRegisterEvent:true}),B("design:type",Function),B("design:paramtypes",[]),B("design:returntype",void 0)],M.prototype,"render",null);M.style=E;const O=new Date,H=new Date;function V(e,a,t,n){function s(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}s.floor=a=>(e(a=new Date(+a)),a);s.ceil=t=>(e(t=new Date(t-1)),a(t,1),e(t),t);s.round=e=>{const a=s(e),t=s.ceil(e);return e-a<t-e?a:t};s.offset=(e,t)=>(a(e=new Date(+e),t==null?1:Math.floor(t)),e);s.range=(t,n,r)=>{const i=[];t=s.ceil(t);r=r==null?1:Math.floor(r);if(!(t<n)||!(r>0))return i;let o;do{i.push(o=new Date(+t)),a(t,r),e(t)}while(o<t&&t<n);return i};s.filter=t=>V((a=>{if(a>=a)while(e(a),!t(a))a.setTime(a-1)}),((e,n)=>{if(e>=e){if(n<0)while(++n<=0){while(a(e,-1),!t(e)){}}else while(--n>=0){while(a(e,+1),!t(e)){}}}}));if(t){s.count=(a,n)=>{O.setTime(+a),H.setTime(+n);e(O),e(H);return Math.floor(t(O,H))};s.every=e=>{e=Math.floor(e);return!isFinite(e)||!(e>0)?null:!(e>1)?s:s.filter(n?a=>n(a)%e===0:a=>s.count(0,a)%e===0)}}return s}const F=1e3;const $=F*60;const P=$*60;const Z=P*24;const W=V((e=>e.setHours(0,0,0,0)),((e,a)=>e.setDate(e.getDate()+a)),((e,a)=>(a-e-(a.getTimezoneOffset()-e.getTimezoneOffset())*$)/Z),(e=>e.getDate()-1));V((e=>{e.setUTCHours(0,0,0,0)}),((e,a)=>{e.setUTCDate(e.getUTCDate()+a)}),((e,a)=>(a-e)/Z),(e=>e.getUTCDate()-1));V((e=>{e.setUTCHours(0,0,0,0)}),((e,a)=>{e.setUTCDate(e.getUTCDate()+a)}),((e,a)=>(a-e)/Z),(e=>Math.floor(e/Z)));const q=':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}.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}@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:1rem}.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:min(max(14px, 3vw), 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: 768px){.dates .date{width:max(min(1rem, 7vw), 75%);height:2.5rem;min-width:2rem}}.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:0.75rem;color:var(--nylas-base-800);font-weight:600;letter-spacing:0.5px;height:32px;display:flex;align-items:center}.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: 768px){.dates .date.day-skeleton{width:max(min(1rem, 7vw), 75%);min-width:2rem;font-size:0.825rem}}.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 A=q;var N=undefined&&undefined.__decorate||function(e,a,t,n){var s=arguments.length,r=s<3?a:n===null?n=Object.getOwnPropertyDescriptor(a,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,a,t,n);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(s<3?i(r):s>3?i(a,t,r):i(a,t))||r;return s>3&&r&&Object.defineProperty(a,t,r),r};var X=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const U=class{constructor(t){e(this,t);this.dateSelected=a(this,"dateSelected",7);this.monthChanged=a(this,"monthChanged",7);this.selectableDates=undefined;this.selectedDate=undefined;this.isLoading=undefined;this.month=this.selectedDate||new Date;this.dates=this.getDates()}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}getDates(){const e=l(this.month);const a=c(this.month);return W.range(W.offset(a,-a.getDay()),W.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);this.dates=this.getDates();this.monthChanged.emit(this.month);this.selectDate()}isSelected(e,a,t){return e&&a&&d(e,a)&&t&&t?.length>0}isDisabled(e,a){return e&&a?.find((a=>d(a,e)))===undefined}render(){return t(n,{key:"da3c7e290b60613575379d559e03d5e1dca04535",part:"ndp"},t("div",{key:"4bb1b14f4f609f601b27f7ad2eb4baeed6cc4d55",class:"nylas-date-picker"},t("div",{key:"5d6c68298c5e9606bae9e45a99f0c59da3d36854",class:"header flex-row"},t("h2",{key:"2504a779961e1e07a881f2eb2f5ffa5d8329e627",part:"ndp__month-header"},t("strong",{key:"433fdd38ccf5b49144bafd3b284acd26b94d19c4"},this.month.toLocaleDateString(undefined,{month:"long"}))," ",this.month.toLocaleDateString(undefined,{year:"numeric"})),t("div",{key:"ffaa3276b249a85dc197828625835ad1f2278179",class:"pagination"},t("button",{key:"451c9d09fc01e4c7ae35742d7c6b4b2f3da4d3ee",onClick:()=>this.changeMonth(-1),class:{"chevron-left":true,button:true},disabled:!this.selectableDates?.length||this.month<=new Date,part:"ndp__month-button"},t("chevron-icon",{key:"3a23fa0fb325feab4b56477602f122b800dce5ce"})),t("button",{key:"56b81156d02525a70c6c567e5facb1d9995ea2de",onClick:()=>this.changeMonth(1),class:{"chevron-right":true,button:true},disabled:!this.selectableDates?.length,part:"ndp__month-button"},t("chevron-icon",{key:"1329d513678bffec6bc21d579b240e7af29ec530"})))),t("div",{key:"14eb94fe04ca2797f3377057a87825689b818719",class:"dates"},["SUN","MON","TUE","WED","THU","FRI","SAT"].map((e=>t("div",{class:"day",part:"ndp__day"},e))),this.dates.map(((e,a)=>{const n=this.isDisabled(e,this.selectableDates);if(this.isLoading){return t("button",{disabled:true,class:{"date day-skeleton":true,"current-month":b(e,this.month)},style:{animationDelay:`${a*20}ms`},part:"ndp__date"},e.getDate())}return t("button",{class:{date:true,selected:!!(this.selectedDate&&d(e,this.selectedDate)&&this.selectableDates&&this.selectableDates?.length>0),"current-day":d(e,new Date),"current-month":b(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":""} ${d(e,new Date)?"ndp__date--current-day":""} ${b(e,this.month)?"ndp__date--current-month":""}`},e.getDate())})))))}};N([i({name:"nylas-date-picker",stateToProps:new Map([["scheduler.selectableDates","selectableDates"],["scheduler.selectedDate","selectedDate"],["scheduler.isLoading","isLoading"]]),eventToProps:{dateSelected:async(e,a)=>{a.scheduler.selectDate(e.detail)}},fireRegisterEvent:true}),X("design:type",Function),X("design:paramtypes",[]),X("design:returntype",void 0)],U.prototype,"render",null);U.style=A;const Y=':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;height:68px;border-left:none;border-right:none;color:var(--nylas-base-50);font-size:min(max(14px, 3vw), 16px);font-weight:600;cursor:pointer;transition:all 0.2s ease-in-out;font-family:inherit}.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}';const G=Y;var J=undefined&&undefined.__decorate||function(e,a,t,n){var s=arguments.length,r=s<3?a:n===null?n=Object.getOwnPropertyDescriptor(a,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,a,t,n);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(s<3?i(r):s>3?i(a,t,r):i(a,t))||r;return s>3&&r&&Object.defineProperty(a,t,r),r};var K=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const Q=class{constructor(t){e(this,t);this.timezoneChanged=a(this,"timezoneChanged",7);this.languageChanged=a(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)}selectedOptionChangedHandler(e){const{name:a,value:t}=e.detail;if(a==="timezone"){this.changeTimezone(t)}else if(a==="language"){this.changeLanguage(t)}}getTimezoneLabelHTML(e){const a=y(e);return t("span",{class:"timezone-label",style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"-webkit-fill-available"}},f[e]," ",t("span",{class:"timezone-offset",style:{fontSize:"14px",fontWeight:"400",color:"var(--nylas-base-500)"}},a))}render(){const e=Object.keys(f).map((e=>({labelHTML:this.getTimezoneLabelHTML(e),label:f[e],value:e})));const a=Object.keys(p).map((e=>({label:p[e],value:e})));return t(n,{key:"688b90cbd1410a8025a8becfd3f979fc854c60a2"},t("div",{key:"a4f485ce6204d89e16336c93809dbcf5ebf862ef",class:"nylas-locale-switch"},t("div",{key:"5525e493d2f8e3258a2fe8b4c739db49d7ef1a35",class:{"select-wrapper":true,timezone:true}},t("select-dropdown",{key:"68f7f48a2cada4cc0c7327431f15384d17ebc261",name:"timezone",options:e,defaultSelectedOption:e.find((e=>e.value==this.selectedTimezone))},t("span",{key:"d1213a8cba28b2163997cdb4bce7e13d7485e869",slot:"select-icon"},t("globe-icon",{key:"f11285b20c93a42a0f195f89966bc7ff7b2d7322",width:"20",height:"20"})))),t("div",{key:"0287627954a80ef5092ded694e61ec2a19606667",class:{"select-wrapper":true,language:true}},t("select-dropdown",{key:"1bd58884de605b22cb6a5631b8e9f960cfa058d4",name:"language",options:a,defaultSelectedOption:a.find((e=>e.value==this.selectedLanguage))},t("span",{key:"0681b6c8296d60c258c2df3bcb60d895c0e0c533",slot:"select-icon"},t("translate-icon",{key:"bd3f346f56da2a139c5050799c9e2774d311d72c",width:"20",height:"20"}))))))}};J([i({name:"nylas-locale-switch",stateToProps:new Map([["scheduler.selectedLanguage","selectedLanguage"],["scheduler.selectedTimezone","selectedTimezone"]]),eventToProps:{timezoneChanged:async(e,a)=>{a.scheduler.selectTimezone(e.detail)}},fireRegisterEvent:true}),K("design:type",Function),K("design:paramtypes",[]),K("design:returntype",void 0)],Q.prototype,"render",null);Q.style=G;const ee=".sc-nylas-logo-h{display:flex}";const ae=ee;const te=class{constructor(a){e(this,a);this.width="69";this.height="24"}render(){return t("svg",{key:"21736a4bf0d9699bb8d1ec3ba9bd8ddc0ab0cd13",width:this.width,height:this.height,viewBox:"0 0 69 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("g",{key:"c2f2dacfd2dc562111f7df4dea7991e4cfd486ca","clip-path":"url(#clip0_455_3543)"},t("path",{key:"ae25032f25c608c0a5045056cc01f8ef14c5db86",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"}),t("path",{key:"1ac3ff4c15ed295da7a45c9e2535f7174c72b12f",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"}),t("path",{key:"e5c1e9317f9486a5d58ecc024f15cc996351e4e5",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"}),t("path",{key:"7139cb894ed89312b82cf15e5d0ee61b266aca66",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"}),t("path",{key:"00f54221aae9da9e17a7a42be5780c57e817d104",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"}),t("path",{key:"fc3c9a34c99bb73b895e0b4891d409ccc76c75c6",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"}),t("path",{key:"cbfc07f4e84ca5366fec778045da681e62a151e1",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"}),t("path",{key:"609264e1de51e636ee4a8ffde65317b9c586c5b5",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"})),t("defs",{key:"ca88162cd3c8cfa013c0d1903e525d95d2c0b5c5"},t("clipPath",{key:"51f98301090cc04cdc8277955e97a99046c55503",id:"clip0_455_3543"},t("rect",{key:"262e5a56bb5123a1631739a54c9977af8b9ae5db",width:"68.7123",height:"19.2877",fill:"white",transform:"translate(0.144043 0.356201)"}))))}};te.style=ae;const ne=':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)}.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 se=ne;const re=class{constructor(a){e(this,a);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 a=e.detail.ttl?e.detail.ttl:this.ttl;window.setTimeout((()=>{this.notifications=this.notifications.filter((a=>a.id!==e.detail.id))}),a)}}dismissNotification(e){this.notifications=this.notifications.filter((a=>a.id!==e))}render(){return t(n,{key:"682b2c144c7d428df4a2286ba44fab02984004c8"},t(r,{key:"5ba2368dcd37b7ae6d06f91c4df5c50cc625cd6d"},this.notifications.map((e=>t("div",{class:`notif ${e.type}`,key:e.id},t("div",{class:"content"},t("span",{class:`icon ${e.type}`},(e.type==="error"||e.type==="warning")&&t("warning-icon",null)),t("span",{class:"message"},t("span",{class:"title"},e.title),e.description&&t("span",{class:"description"},e.description))),t("button",{class:"dismiss-btn",onClick:()=>this.dismissNotification(e.id)},t("close-icon",null))))),t("slot",{key:"e83993688481ffe1fba1ad2f4f7122d0cac0e1a8"})))}};re.style=se;const ie=":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 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}.nylas-selected-event-card__date{font-size:min(max(16px, 3vw), 18px);font-weight:600}.nylas-selected-event-card__time{font-size:min(max(14px, 3vw), 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:1.5rem;gap:4px;align-items:center}";const oe=ie;var le=undefined&&undefined.__decorate||function(e,a,t,n){var s=arguments.length,r=s<3?a:n===null?n=Object.getOwnPropertyDescriptor(a,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,a,t,n);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(s<3?i(r):s>3?i(a,t,r):i(a,t))||r;return s>3&&r&&Object.defineProperty(a,t,r),r};var ce=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const de=class{constructor(a){e(this,a);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`)}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 t(n,{key:"1104fd2969ab03bb794c17bbf08f1600a200448c",part:"nsec"},t("sp-theme",{key:"674934ecb54519d9e8c227a9946b9725518b77e5",theme:"spectrum",color:"dark",scale:"medium"},t("div",{key:"4d492e825e93b93ff96af4970812178656de4ab8",class:"event-card",part:"nsec__card"},t("div",{key:"239131412dab45da5b1f7bfe3b4a2eda45a2978b",class:"calendar-icon",part:"nsec__icon"},t("calendar-icon",{key:"a2fa2f47b94a2c331d4cac88ef736faef3e30dae"})),t("div",{key:"81c873d5c2019b6ae1d8b746685dbe5efc2d7d0b",class:"nylas-selected-event-card__date",part:"nsec__date"},this.selectedDate?.toLocaleDateString(undefined,{dateStyle:"full"})),t("div",{key:"67348e66fd879ead10594b216a2d66cf7da272aa",class:"nylas-selected-event-card__time",part:"nsec__time"},this.startTime," - ",this.endTime)),t("div",{key:"0fc6452dae7c5998a70d116c9bdfe25ab109661c",class:"event-timezone",part:"nsec__timezone"},t("globe-icon",{key:"86c4a1e2728a30e34805a7c286378fe9adef110e"}),f[this.selectedTimezone])))}static get watchers(){return{selectedTimeslot:["handleSelectedTimeslotChange"]}}};le([i({name:"nylas-selected-event-card",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"]]),eventToProps:{},fireRegisterEvent:true}),ce("design:type",Function),ce("design:paramtypes",[]),ce("design:returntype",void 0)],de.prototype,"render",null);de.style=oe;const be=":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;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:min(max(14px, 3vw), 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:10px;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 fe=be;var ye=undefined&&undefined.__decorate||function(e,a,t,n){var s=arguments.length,r=s<3?a:n===null?n=Object.getOwnPropertyDescriptor(a,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,a,t,n);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(s<3?i(r):s>3?i(a,t,r):i(a,t))||r;return s>3&&r&&Object.defineProperty(a,t,r),r};var pe=undefined&&undefined.__metadata||function(e,a){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,a)};const he=class{constructor(t){e(this,t);this.timeslotSelected=a(this,"timeslotSelected",7);this.timeslotConfirmed=a(this,"timeslotConfirmed",7);this.handleConfirmedTimeslot=async(e,a)=>{e.preventDefault();o(`[nylas-timeslot-picker] Confirm timeslot`,a);this.timeslotConfirmed.emit(a)};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&&d(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,a){return`${e.toLocaleDateString()}-${a}`}onClickSelectTime(e,a){o(`[nylas-timeslot-picker] Time selected`,e,a);this.selectedTimeslotIndex=this.getTimeslotId(e.start_time,a);this.timeslotSelected.emit({start_time:e.start_time,end_time:e.end_time})}getTimeSlotLabel(e){const a=new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"numeric",timeZone:this.selectedTimezone});return`${a.format(e.start_time)} - ${a.format(e.end_time)}`}selectedDateChanged(e){o(`[nylas-timeslot-picker] Selected date changed`,{newVal:e});if(e){this.selectedTimeslotIndex="";if(typeof e!=="undefined"){const a=this.availability?.filter((a=>d(a.start_time,e))).map((e=>e));this.times=a||[]}}}availabilityChanged(e){o(`[nylas-timeslot-picker] Available times changed`,{newVal:e,selectedDate:this.selectedDate});if(typeof e!=="undefined"){const a=e?.filter((e=>this.selectedDate&&d(e.start_time,this.selectedDate))).map((e=>e));this.times=a||[]}}render(){if(this.isLoading){return t(n,null,t("div",{class:"loading"},new Array(6).fill(0).map(((e,a)=>t("div",{class:"time-slot-skeleton",style:{animationDelay:`${a*20}ms`}})))))}if(this.availability&&this.availability.length===0){return t(n,null,t("div",{class:"empty"},t("span",null,"No dates available")))}if((!this.times||this.times.length===0)&&!!this.selectedDate){return t(n,null,t("div",{class:"empty"},t("span",null,"No time slots available for selected date")))}if(!this.selectedDate)return t(n,null);return t(n,{part:"ntp"},t("div",{class:"time-picker-wrapper"},t("div",{class:"time-slots"},this.times.map(((e,a)=>t("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,a),onMouseEnter:()=>this.handleMouseEnter(a),onMouseLeave:()=>this.handleMouseLeave()},this.hoveredTimeslotIndex==a||this.selectedTimeslotIndex==this.getTimeslotId(e.start_time,a)?this.getTimeSlotLabel(e):e.start_time.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",timeZone:this.selectedTimezone}))))),this.selectedTimeslot&&t("div",{class:"footer"},t("sp-button",{variant:"primary",onClick:e=>this.handleConfirmedTimeslot(e,this.selectedTimeslot),part:"ntp__button-primary"},t("slot",{name:"timeslot-picker-cta-label"},"Next")))))}static get watchers(){return{selectedDate:["selectedDateChanged"],availability:["availabilityChanged"]}}};ye([i({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,a)=>{a.scheduler.selectTime(e.detail)},timeslotConfirmed:async(e,a)=>{if(e.detail){a.scheduler.toggleAdditionalData(true)}}},fireRegisterEvent:true}),pe("design:type",Function),pe("design:paramtypes",[]),pe("design:returntype",void 0)],he.prototype,"render",null);he.style=fe;export{v as nylas_booked_event_card,j as nylas_booking_form,D as nylas_cancel_booking_form,M as nylas_cancelled_event_card,U as nylas_date_picker,Q as nylas_locale_switch,te as nylas_logo,re as nylas_notification,de as nylas_selected_event_card,he as nylas_timeslot_picker};
2
- //# sourceMappingURL=p-5642190a.entry.js.map