@nylas/web-elements 1.1.0-canary.3 → 1.1.0-canary.5

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 (831) hide show
  1. package/dist/cjs/add-circle-icon.cjs.entry.js +1 -1
  2. package/dist/cjs/add-circle-icon_22.cjs.entry.js +20 -20
  3. package/dist/cjs/archive-icon.cjs.entry.js +1 -1
  4. package/dist/cjs/archive-icon_7.cjs.entry.js +7 -7
  5. package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
  6. package/dist/cjs/bold-icon.cjs.entry.js +1 -1
  7. package/dist/cjs/bold-icon_3.cjs.entry.js +3 -3
  8. package/dist/cjs/button-component.cjs.entry.js +1 -1
  9. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +1 -1
  10. package/dist/cjs/calendar-check-icon.cjs.entry.js +1 -1
  11. package/dist/cjs/calendar-check-icon_2.cjs.entry.js +2 -2
  12. package/dist/cjs/calendar-icon.cjs.entry.js +1 -1
  13. package/dist/cjs/calendar-info-icon.cjs.entry.js +1 -1
  14. package/dist/cjs/calendar-patterns-icon.cjs.entry.js +1 -1
  15. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
  16. package/dist/cjs/chevron-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/chevron-icon_3.cjs.entry.js +4 -4
  18. package/dist/cjs/close-icon.cjs.entry.js +1 -1
  19. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  20. package/dist/cjs/flow-icon.cjs.entry.js +1 -1
  21. package/dist/cjs/folder-icon.cjs.entry.js +1 -1
  22. package/dist/cjs/forward-icon.cjs.entry.js +1 -1
  23. package/dist/cjs/forward-icon_6.cjs.entry.js +9 -9
  24. package/dist/cjs/globe-icon.cjs.entry.js +1 -1
  25. package/dist/cjs/google-logo-icon.cjs.entry.js +1 -1
  26. package/dist/cjs/{google-logo-icon_3.cjs.entry.js → google-logo-icon_4.cjs.entry.js} +137 -16
  27. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -0
  28. package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
  29. package/dist/cjs/index-7af03e3f.js +6 -6
  30. package/dist/cjs/index-c14ea8f5.js +12 -8
  31. package/dist/cjs/index.cjs.js +3 -1
  32. package/dist/cjs/index.cjs.js.map +1 -1
  33. package/dist/cjs/{index.es-68425511.js → index.es-0a0f2d87.js} +9 -4
  34. package/dist/cjs/index.es-0a0f2d87.js.map +1 -0
  35. package/dist/cjs/{index.es-447c5aca.js → index.es-b12b7df1.js} +9 -4
  36. package/dist/cjs/index.es-b12b7df1.js.map +1 -0
  37. package/dist/cjs/info-icon.cjs.entry.js +1 -1
  38. package/dist/cjs/info-icon_2.cjs.entry.js +2 -2
  39. package/dist/cjs/italic-icon.cjs.entry.js +1 -1
  40. package/dist/cjs/loader.cjs.js +1 -1
  41. package/dist/cjs/loading-icon.cjs.entry.js +1 -1
  42. package/dist/cjs/location-icon.cjs.entry.js +1 -1
  43. package/dist/cjs/location-off-icon.cjs.entry.js +1 -1
  44. package/dist/cjs/{mailbox-store-556bc7b6.js → mailbox-store-05fa3bec.js} +3 -3
  45. package/dist/cjs/{mailbox-store-556bc7b6.js.map → mailbox-store-05fa3bec.js.map} +1 -1
  46. package/dist/cjs/{mailbox-store-aacd75ff.js → mailbox-store-14531fd4.js} +3 -3
  47. package/dist/cjs/{mailbox-store-aacd75ff.js.map → mailbox-store-14531fd4.js.map} +1 -1
  48. package/dist/cjs/microsoft-logo-icon.cjs.entry.js +1 -1
  49. package/dist/cjs/multi-select-dropdown.cjs.entry.js +3 -3
  50. package/dist/cjs/nylas-additional-participants.cjs.entry.js +3 -3
  51. package/dist/cjs/{nylas-api-request-8ec3a89c.js → nylas-api-request-2a0e7022.js} +17 -7
  52. package/dist/cjs/nylas-api-request-2a0e7022.js.map +1 -0
  53. package/dist/cjs/{nylas-api-request-ab24150d.js → nylas-api-request-55923233.js} +17 -7
  54. package/dist/cjs/nylas-api-request-55923233.js.map +1 -0
  55. package/dist/cjs/nylas-availability-picker.cjs.entry.js +2 -2
  56. package/dist/cjs/nylas-booked-event-card.cjs.entry.js +2 -2
  57. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +6 -6
  58. package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js +2 -2
  59. package/dist/cjs/nylas-booking-form.cjs.entry.js +2 -2
  60. package/dist/cjs/nylas-buffer-time.cjs.entry.js +2 -2
  61. package/dist/cjs/nylas-calendar-picker.cjs.entry.js +2 -2
  62. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +3 -3
  63. package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +3 -3
  64. package/dist/cjs/nylas-composer.cjs.entry.js +2 -2
  65. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +3 -3
  66. package/dist/cjs/nylas-date-picker.cjs.entry.js +2 -2
  67. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +25 -8
  68. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nylas-event-description.cjs.entry.js +2 -2
  70. package/dist/cjs/nylas-event-duration.cjs.entry.js +2 -2
  71. package/dist/cjs/nylas-event-info.cjs.entry.js +3 -3
  72. package/dist/cjs/nylas-event-limits.cjs.entry.js +3 -3
  73. package/dist/cjs/nylas-event-title.cjs.entry.js +2 -2
  74. package/dist/cjs/nylas-form-card.cjs.entry.js +3 -3
  75. package/dist/cjs/nylas-if-state.cjs.entry.js +2 -2
  76. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +3 -3
  77. package/dist/cjs/nylas-list-configurations.cjs.entry.js +114 -0
  78. package/dist/cjs/nylas-list-configurations.cjs.entry.js.map +1 -0
  79. package/dist/cjs/nylas-list-folders.cjs.entry.js +3 -3
  80. package/dist/cjs/nylas-list-threads.cjs.entry.js +3 -3
  81. package/dist/cjs/nylas-locale-switch.cjs.entry.js +2 -2
  82. package/dist/cjs/nylas-location-component.cjs.entry.js +5 -5
  83. package/dist/cjs/nylas-login.cjs.entry.js +3 -3
  84. package/dist/cjs/nylas-logo.cjs.entry.js +1 -1
  85. package/dist/cjs/nylas-mailbox-pagination.cjs.entry.js +2 -2
  86. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +3 -3
  87. package/dist/cjs/nylas-mailbox.cjs.entry.js +4 -4
  88. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +3 -3
  89. package/dist/cjs/nylas-notification.cjs.entry.js +2 -2
  90. package/dist/cjs/nylas-provider.cjs.entry.js +6 -6
  91. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +207 -66
  92. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  93. package/dist/cjs/nylas-scheduling.cjs.entry.js +6 -6
  94. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  95. package/dist/cjs/nylas-selected-event-card.cjs.entry.js +2 -2
  96. package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +4 -4
  97. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +4 -4
  98. package/dist/cjs/nylas-threads-search.cjs.entry.js +3 -3
  99. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +2 -2
  100. package/dist/cjs/nylas-timeslot-picker.cjs.entry.js +2 -2
  101. package/dist/cjs/nylas-view-email.cjs.entry.js +2 -2
  102. package/dist/cjs/nylas-view-thread.cjs.entry.js +3 -3
  103. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  104. package/dist/cjs/people-icon.cjs.entry.js +1 -1
  105. package/dist/cjs/play-icon.cjs.entry.js +1 -1
  106. package/dist/cjs/play-icon_2.cjs.entry.js +2 -2
  107. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  108. package/dist/cjs/{register-component-d729f3f7.js → register-component-09ebdf31.js} +8 -2
  109. package/dist/cjs/register-component-09ebdf31.js.map +1 -0
  110. package/dist/cjs/{register-component-f1ebc65d.js → register-component-c8b6e907.js} +8 -2
  111. package/dist/cjs/register-component-c8b6e907.js.map +1 -0
  112. package/dist/cjs/reply-all-icon.cjs.entry.js +1 -1
  113. package/dist/cjs/reply-icon.cjs.entry.js +1 -1
  114. package/dist/cjs/{scheduler-config-store-9c2cc421.js → scheduler-config-store-4d93a9b7.js} +8 -1
  115. package/dist/cjs/scheduler-config-store-4d93a9b7.js.map +1 -0
  116. package/dist/cjs/{scheduler-config-store-31b83ad3.js → scheduler-config-store-a0e08cab.js} +8 -1
  117. package/dist/cjs/scheduler-config-store-a0e08cab.js.map +1 -0
  118. package/dist/cjs/{scheduler-store-7320f5d0.js → scheduler-store-a492526c.js} +2 -2
  119. package/dist/cjs/{scheduler-store-7320f5d0.js.map → scheduler-store-a492526c.js.map} +1 -1
  120. package/dist/cjs/{scheduler-store-4cb46b3c.js → scheduler-store-e148a4cc.js} +2 -2
  121. package/dist/cjs/{scheduler-store-4cb46b3c.js.map → scheduler-store-e148a4cc.js.map} +1 -1
  122. package/dist/cjs/search-icon.cjs.entry.js +1 -1
  123. package/dist/cjs/select-dropdown.cjs.entry.js +2 -2
  124. package/dist/cjs/sent-icon.cjs.entry.js +1 -1
  125. package/dist/cjs/spam-icon.cjs.entry.js +1 -1
  126. package/dist/cjs/star-icon.cjs.entry.js +1 -1
  127. package/dist/cjs/stop-icon.cjs.entry.js +1 -1
  128. package/dist/cjs/time-period-selector.cjs.entry.js +2 -2
  129. package/dist/cjs/tooltip-component.cjs.entry.js +1 -1
  130. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  131. package/dist/cjs/trash-icon.cjs.entry.js +1 -1
  132. package/dist/cjs/underline-icon.cjs.entry.js +1 -1
  133. package/dist/cjs/{utils-53dd7574.js → utils-20663d54.js} +19 -1
  134. package/dist/cjs/utils-20663d54.js.map +1 -0
  135. package/dist/cjs/{utils-53298b01.js → utils-2c7f0895.js} +19 -1
  136. package/dist/cjs/{utils-53298b01.js.map → utils-2c7f0895.js.map} +1 -1
  137. package/dist/cjs/warning-icon.cjs.entry.js +1 -1
  138. package/dist/collection/collection-manifest.json +1 -0
  139. package/dist/collection/common/abstract-provider.js +7 -2
  140. package/dist/collection/common/abstract-provider.js.map +1 -1
  141. package/dist/collection/common/component-types.js.map +1 -1
  142. package/dist/collection/common/icons/add-circle.js +1 -1
  143. package/dist/collection/common/icons/archive.js +1 -1
  144. package/dist/collection/common/icons/arrow.js +1 -1
  145. package/dist/collection/common/icons/bold.js +1 -1
  146. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  147. package/dist/collection/common/icons/calendar-check.js +1 -1
  148. package/dist/collection/common/icons/calendar-info.js +1 -1
  149. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  150. package/dist/collection/common/icons/calendar.js +1 -1
  151. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  152. package/dist/collection/common/icons/chevron.js +1 -1
  153. package/dist/collection/common/icons/close.js +1 -1
  154. package/dist/collection/common/icons/document-refresh.js +1 -1
  155. package/dist/collection/common/icons/flow.js +1 -1
  156. package/dist/collection/common/icons/folder.js +1 -1
  157. package/dist/collection/common/icons/forward.js +1 -1
  158. package/dist/collection/common/icons/globe.js +1 -1
  159. package/dist/collection/common/icons/google-logo.js +1 -1
  160. package/dist/collection/common/icons/inbox.js +1 -1
  161. package/dist/collection/common/icons/info.js +1 -1
  162. package/dist/collection/common/icons/italic.js +1 -1
  163. package/dist/collection/common/icons/loading.js +1 -1
  164. package/dist/collection/common/icons/location-off.js +1 -1
  165. package/dist/collection/common/icons/location.js +1 -1
  166. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  167. package/dist/collection/common/icons/nylas-logo.js +1 -1
  168. package/dist/collection/common/icons/people.js +1 -1
  169. package/dist/collection/common/icons/play.js +1 -1
  170. package/dist/collection/common/icons/refresh.js +1 -1
  171. package/dist/collection/common/icons/reply-all.js +1 -1
  172. package/dist/collection/common/icons/reply.js +1 -1
  173. package/dist/collection/common/icons/search.js +1 -1
  174. package/dist/collection/common/icons/sent.js +1 -1
  175. package/dist/collection/common/icons/spam.js +1 -1
  176. package/dist/collection/common/icons/star.js +1 -1
  177. package/dist/collection/common/icons/stop.js +1 -1
  178. package/dist/collection/common/icons/translate.js +1 -1
  179. package/dist/collection/common/icons/trash.js +1 -1
  180. package/dist/collection/common/icons/underline.js +1 -1
  181. package/dist/collection/common/icons/warning.js +1 -1
  182. package/dist/collection/common/nylas-api-request.js +15 -6
  183. package/dist/collection/common/nylas-api-request.js.map +1 -1
  184. package/dist/collection/common/register-component.js +6 -0
  185. package/dist/collection/common/register-component.js.map +1 -1
  186. package/dist/collection/common/types.js.map +1 -1
  187. package/dist/collection/components/design-system/button-component/button-component.js +1 -1
  188. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  189. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +2 -2
  190. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  191. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  192. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  193. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  194. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  195. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  196. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +1 -1
  197. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  198. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  199. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  200. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  201. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  202. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  203. package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
  204. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
  205. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
  206. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  207. package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.js +5 -5
  208. package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.js.map +1 -1
  209. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +1 -1
  210. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  211. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.css +15 -8
  212. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +75 -7
  213. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  214. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  215. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  216. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  217. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +1 -1
  218. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.css +105 -0
  219. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js +293 -0
  220. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js.map +1 -0
  221. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js +3 -3
  222. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
  223. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/LoginRequired.js +30 -0
  224. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/LoginRequired.js.map +1 -0
  225. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.css +17 -2
  226. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +90 -40
  227. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  228. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +1 -1
  229. package/dist/collection/connector/nylas-scheduler-config-connector/index.js.map +1 -1
  230. package/dist/collection/connector/shared/api/scheduler-config.js +114 -26
  231. package/dist/collection/connector/shared/api/scheduler-config.js.map +1 -1
  232. package/dist/collection/stores/scheduler-config-store.js +7 -0
  233. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  234. package/dist/collection/utils/utils.js +16 -0
  235. package/dist/collection/utils/utils.js.map +1 -1
  236. package/dist/collection/utils/utils.spec.js +8 -1
  237. package/dist/collection/utils/utils.spec.js.map +1 -1
  238. package/dist/components/add-circle.js +1 -2
  239. package/dist/components/add-circle.js.map +1 -1
  240. package/dist/components/archive.js +1 -2
  241. package/dist/components/archive.js.map +1 -1
  242. package/dist/components/arrow.js +1 -2
  243. package/dist/components/arrow.js.map +1 -1
  244. package/dist/components/bold.js +1 -2
  245. package/dist/components/bold.js.map +1 -1
  246. package/dist/components/button-component2.js +1 -2
  247. package/dist/components/button-component2.js.map +1 -1
  248. package/dist/components/calendar-cancel.js +1 -2
  249. package/dist/components/calendar-cancel.js.map +1 -1
  250. package/dist/components/calendar-check.js +1 -2
  251. package/dist/components/calendar-check.js.map +1 -1
  252. package/dist/components/calendar-info.js +1 -2
  253. package/dist/components/calendar-info.js.map +1 -1
  254. package/dist/components/calendar-patterns.js +1 -2
  255. package/dist/components/calendar-patterns.js.map +1 -1
  256. package/dist/components/calendar.js +1 -2
  257. package/dist/components/calendar.js.map +1 -1
  258. package/dist/components/checkmark-circle.js +1 -2
  259. package/dist/components/checkmark-circle.js.map +1 -1
  260. package/dist/components/chevron.js +1 -2
  261. package/dist/components/chevron.js.map +1 -1
  262. package/dist/components/close.js +1 -2
  263. package/dist/components/close.js.map +1 -1
  264. package/dist/components/constants.js +1 -1
  265. package/dist/components/document-refresh-icon.js +1 -2
  266. package/dist/components/document-refresh-icon.js.map +1 -1
  267. package/dist/components/flow.js +1 -2
  268. package/dist/components/flow.js.map +1 -1
  269. package/dist/components/focus-visible.js +1 -1
  270. package/dist/components/folder.js +1 -2
  271. package/dist/components/folder.js.map +1 -1
  272. package/dist/components/forward.js +1 -2
  273. package/dist/components/forward.js.map +1 -1
  274. package/dist/components/globe.js +1 -2
  275. package/dist/components/globe.js.map +1 -1
  276. package/dist/components/google-logo.js +1 -2
  277. package/dist/components/google-logo.js.map +1 -1
  278. package/dist/components/inbox.js +1 -2
  279. package/dist/components/inbox.js.map +1 -1
  280. package/dist/components/index.d.ts +179 -0
  281. package/dist/components/index.es.js +201 -4
  282. package/dist/components/index.es.js.map +1 -1
  283. package/dist/components/index.js +89 -2
  284. package/dist/components/index.js.map +1 -1
  285. package/dist/components/info.js +1 -2
  286. package/dist/components/info.js.map +1 -1
  287. package/dist/components/italic.js +1 -2
  288. package/dist/components/italic.js.map +1 -1
  289. package/dist/components/loading.js +1 -2
  290. package/dist/components/loading.js.map +1 -1
  291. package/dist/components/location-off.js +1 -2
  292. package/dist/components/location-off.js.map +1 -1
  293. package/dist/components/location.js +1 -2
  294. package/dist/components/location.js.map +1 -1
  295. package/dist/components/mailbox-store.js +1 -2
  296. package/dist/components/mailbox-store.js.map +1 -1
  297. package/dist/components/microsoft-logo.js +1 -2
  298. package/dist/components/microsoft-logo.js.map +1 -1
  299. package/dist/components/multi-select-dropdown2.js +2 -3
  300. package/dist/components/multi-select-dropdown2.js.map +1 -1
  301. package/dist/components/nylas-additional-participants.js +1 -2
  302. package/dist/components/nylas-additional-participants.js.map +1 -1
  303. package/dist/components/nylas-availability-picker2.js +1 -2
  304. package/dist/components/nylas-availability-picker2.js.map +1 -1
  305. package/dist/components/nylas-booked-event-card2.js +0 -1
  306. package/dist/components/nylas-booked-event-card2.js.map +1 -1
  307. package/dist/components/nylas-booking-calendar-picker2.js +0 -1
  308. package/dist/components/nylas-booking-calendar-picker2.js.map +1 -1
  309. package/dist/components/nylas-booking-form2.js +0 -1
  310. package/dist/components/nylas-booking-form2.js.map +1 -1
  311. package/dist/components/nylas-buffer-time2.js +0 -1
  312. package/dist/components/nylas-buffer-time2.js.map +1 -1
  313. package/dist/components/nylas-calendar-picker2.js +0 -1
  314. package/dist/components/nylas-calendar-picker2.js.map +1 -1
  315. package/dist/components/nylas-cancel-booking-form2.js +1 -2
  316. package/dist/components/nylas-cancel-booking-form2.js.map +1 -1
  317. package/dist/components/nylas-cancelled-event-card2.js +1 -2
  318. package/dist/components/nylas-cancelled-event-card2.js.map +1 -1
  319. package/dist/components/nylas-composer2.js +1 -2
  320. package/dist/components/nylas-composer2.js.map +1 -1
  321. package/dist/components/nylas-custom-booking-flow2.js +1 -2
  322. package/dist/components/nylas-custom-booking-flow2.js.map +1 -1
  323. package/dist/components/nylas-date-picker2.js +1 -2
  324. package/dist/components/nylas-date-picker2.js.map +1 -1
  325. package/dist/components/nylas-editor-tabs2.js +25 -8
  326. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  327. package/dist/components/nylas-event-description2.js +0 -1
  328. package/dist/components/nylas-event-description2.js.map +1 -1
  329. package/dist/components/nylas-event-duration2.js +0 -1
  330. package/dist/components/nylas-event-duration2.js.map +1 -1
  331. package/dist/components/nylas-event-info2.js +1 -2
  332. package/dist/components/nylas-event-info2.js.map +1 -1
  333. package/dist/components/nylas-event-limits2.js +1 -2
  334. package/dist/components/nylas-event-limits2.js.map +1 -1
  335. package/dist/components/nylas-event-title2.js +1 -2
  336. package/dist/components/nylas-event-title2.js.map +1 -1
  337. package/dist/components/nylas-form-card2.js +1 -2
  338. package/dist/components/nylas-form-card2.js.map +1 -1
  339. package/dist/components/nylas-if-state.js +0 -1
  340. package/dist/components/nylas-if-state.js.map +1 -1
  341. package/dist/components/nylas-limit-future-bookings2.js +1 -2
  342. package/dist/components/nylas-limit-future-bookings2.js.map +1 -1
  343. package/dist/components/nylas-list-configurations.d.ts +11 -0
  344. package/dist/components/nylas-list-configurations.js +8 -0
  345. package/dist/components/nylas-list-configurations.js.map +1 -0
  346. package/dist/components/nylas-list-configurations2.js +142 -0
  347. package/dist/components/nylas-list-configurations2.js.map +1 -0
  348. package/dist/components/nylas-list-folders.js +2 -3
  349. package/dist/components/nylas-list-folders.js.map +1 -1
  350. package/dist/components/nylas-list-threads.js +2 -3
  351. package/dist/components/nylas-list-threads.js.map +1 -1
  352. package/dist/components/nylas-locale-switch2.js +0 -1
  353. package/dist/components/nylas-locale-switch2.js.map +1 -1
  354. package/dist/components/nylas-location-component2.js +3 -4
  355. package/dist/components/nylas-location-component2.js.map +1 -1
  356. package/dist/components/nylas-login.js +1 -2
  357. package/dist/components/nylas-login.js.map +1 -1
  358. package/dist/components/nylas-logo2.js +1 -2
  359. package/dist/components/nylas-logo2.js.map +1 -1
  360. package/dist/components/nylas-mailbox-pagination.js +0 -1
  361. package/dist/components/nylas-mailbox-pagination.js.map +1 -1
  362. package/dist/components/nylas-mailbox-toolbar-button.js +1 -2
  363. package/dist/components/nylas-mailbox-toolbar-button.js.map +1 -1
  364. package/dist/components/nylas-mailbox.js +1 -2
  365. package/dist/components/nylas-mailbox.js.map +1 -1
  366. package/dist/components/nylas-min-cancellation-notice2.js +1 -2
  367. package/dist/components/nylas-min-cancellation-notice2.js.map +1 -1
  368. package/dist/components/nylas-notification2.js +1 -2
  369. package/dist/components/nylas-notification2.js.map +1 -1
  370. package/dist/components/nylas-provider.js +1 -2
  371. package/dist/components/nylas-provider.js.map +1 -1
  372. package/dist/components/nylas-scheduler-editor.js +317 -128
  373. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  374. package/dist/components/nylas-scheduling.js +4 -5
  375. package/dist/components/nylas-scheduling.js.map +1 -1
  376. package/dist/components/nylas-selected-event-card2.js +0 -1
  377. package/dist/components/nylas-selected-event-card2.js.map +1 -1
  378. package/dist/components/nylas-summarize-message-button2.js +3 -4
  379. package/dist/components/nylas-summarize-message-button2.js.map +1 -1
  380. package/dist/components/nylas-threads-refresh.js +2 -3
  381. package/dist/components/nylas-threads-refresh.js.map +1 -1
  382. package/dist/components/nylas-threads-search.js +1 -2
  383. package/dist/components/nylas-threads-search.js.map +1 -1
  384. package/dist/components/nylas-time-window-picker2.js +2 -4
  385. package/dist/components/nylas-time-window-picker2.js.map +1 -1
  386. package/dist/components/nylas-timeslot-picker2.js +1 -2
  387. package/dist/components/nylas-timeslot-picker2.js.map +1 -1
  388. package/dist/components/nylas-view-email2.js +2 -4
  389. package/dist/components/nylas-view-email2.js.map +1 -1
  390. package/dist/components/nylas-view-thread.js +2 -3
  391. package/dist/components/nylas-view-thread.js.map +1 -1
  392. package/dist/components/people-icon.js +1 -2
  393. package/dist/components/people-icon.js.map +1 -1
  394. package/dist/components/play.js +1 -2
  395. package/dist/components/play.js.map +1 -1
  396. package/dist/components/refresh.js +1 -2
  397. package/dist/components/refresh.js.map +1 -1
  398. package/dist/components/register-component.js +7 -1
  399. package/dist/components/register-component.js.map +1 -1
  400. package/dist/components/reply-all.js +1 -2
  401. package/dist/components/reply-all.js.map +1 -1
  402. package/dist/components/reply.js +1 -2
  403. package/dist/components/reply.js.map +1 -1
  404. package/dist/components/scheduler-config-store.js +8 -1
  405. package/dist/components/scheduler-config-store.js.map +1 -1
  406. package/dist/components/scheduler-store.js +1 -1
  407. package/dist/components/search.js +1 -2
  408. package/dist/components/search.js.map +1 -1
  409. package/dist/components/select-dropdown2.js +2 -3
  410. package/dist/components/select-dropdown2.js.map +1 -1
  411. package/dist/components/sent.js +1 -2
  412. package/dist/components/sent.js.map +1 -1
  413. package/dist/components/spam.js +1 -2
  414. package/dist/components/spam.js.map +1 -1
  415. package/dist/components/star.js +1 -2
  416. package/dist/components/star.js.map +1 -1
  417. package/dist/components/stop.js +1 -2
  418. package/dist/components/stop.js.map +1 -1
  419. package/dist/components/time-period-selector2.js +1 -2
  420. package/dist/components/time-period-selector2.js.map +1 -1
  421. package/dist/components/toolitp-component.js +1 -2
  422. package/dist/components/toolitp-component.js.map +1 -1
  423. package/dist/components/translate.js +1 -2
  424. package/dist/components/translate.js.map +1 -1
  425. package/dist/components/trash.js +1 -2
  426. package/dist/components/trash.js.map +1 -1
  427. package/dist/components/underline.js +1 -2
  428. package/dist/components/underline.js.map +1 -1
  429. package/dist/components/utils.js +49 -2
  430. package/dist/components/utils.js.map +1 -1
  431. package/dist/components/warning.js +1 -2
  432. package/dist/components/warning.js.map +1 -1
  433. package/dist/esm/add-circle-icon.entry.js +1 -1
  434. package/dist/esm/add-circle-icon_22.entry.js +20 -20
  435. package/dist/esm/archive-icon.entry.js +1 -1
  436. package/dist/esm/archive-icon_7.entry.js +7 -7
  437. package/dist/esm/arrow-icon.entry.js +1 -1
  438. package/dist/esm/bold-icon.entry.js +1 -1
  439. package/dist/esm/bold-icon_3.entry.js +3 -3
  440. package/dist/esm/button-component.entry.js +1 -1
  441. package/dist/esm/calendar-cancel-icon.entry.js +1 -1
  442. package/dist/esm/calendar-check-icon.entry.js +1 -1
  443. package/dist/esm/calendar-check-icon_2.entry.js +2 -2
  444. package/dist/esm/calendar-icon.entry.js +1 -1
  445. package/dist/esm/calendar-info-icon.entry.js +1 -1
  446. package/dist/esm/calendar-patterns-icon.entry.js +1 -1
  447. package/dist/esm/checkmark-circle-icon.entry.js +1 -1
  448. package/dist/esm/chevron-icon.entry.js +1 -1
  449. package/dist/esm/chevron-icon_3.entry.js +4 -4
  450. package/dist/esm/close-icon.entry.js +1 -1
  451. package/dist/esm/document-refresh-icon.entry.js +1 -1
  452. package/dist/esm/flow-icon.entry.js +1 -1
  453. package/dist/esm/folder-icon.entry.js +1 -1
  454. package/dist/esm/forward-icon.entry.js +1 -1
  455. package/dist/esm/forward-icon_6.entry.js +9 -9
  456. package/dist/esm/globe-icon.entry.js +1 -1
  457. package/dist/esm/google-logo-icon.entry.js +1 -1
  458. package/dist/esm/{google-logo-icon_3.entry.js → google-logo-icon_4.entry.js} +138 -18
  459. package/dist/esm/google-logo-icon_4.entry.js.map +1 -0
  460. package/dist/esm/inbox-icon.entry.js +1 -1
  461. package/dist/esm/index-7cb0dd3d.js +6 -6
  462. package/dist/esm/index-8362ce5c.js +12 -8
  463. package/dist/{nylas-web-elements/index.es-bd511719.js → esm/index.es-2842f8c8.js} +9 -4
  464. package/dist/esm/index.es-2842f8c8.js.map +1 -0
  465. package/dist/esm/{index.es-2578c6a5.js → index.es-f57e612a.js} +9 -4
  466. package/dist/esm/index.es-f57e612a.js.map +1 -0
  467. package/dist/esm/index.js +3 -1
  468. package/dist/esm/index.js.map +1 -1
  469. package/dist/esm/info-icon.entry.js +1 -1
  470. package/dist/esm/info-icon_2.entry.js +2 -2
  471. package/dist/esm/italic-icon.entry.js +1 -1
  472. package/dist/esm/loader.js +1 -1
  473. package/dist/esm/loading-icon.entry.js +1 -1
  474. package/dist/esm/location-icon.entry.js +1 -1
  475. package/dist/esm/location-off-icon.entry.js +1 -1
  476. package/dist/esm/{mailbox-store-bb21512c.js → mailbox-store-47fc8a1a.js} +3 -3
  477. package/dist/{nylas-web-elements/mailbox-store-150cc456.js.map → esm/mailbox-store-47fc8a1a.js.map} +1 -1
  478. package/dist/esm/{mailbox-store-150cc456.js → mailbox-store-d48269de.js} +3 -3
  479. package/dist/esm/{mailbox-store-150cc456.js.map → mailbox-store-d48269de.js.map} +1 -1
  480. package/dist/esm/microsoft-logo-icon.entry.js +1 -1
  481. package/dist/esm/multi-select-dropdown.entry.js +3 -3
  482. package/dist/esm/nylas-additional-participants.entry.js +3 -3
  483. package/dist/esm/{nylas-api-request-c97a0153.js → nylas-api-request-3120d9ac.js} +17 -7
  484. package/dist/esm/nylas-api-request-3120d9ac.js.map +1 -0
  485. package/dist/{nylas-web-elements/nylas-api-request-55446aba.js → esm/nylas-api-request-4f3dbb72.js} +17 -7
  486. package/dist/esm/nylas-api-request-4f3dbb72.js.map +1 -0
  487. package/dist/esm/nylas-availability-picker.entry.js +2 -2
  488. package/dist/esm/nylas-booked-event-card.entry.js +2 -2
  489. package/dist/esm/nylas-booked-event-card_10.entry.js +6 -6
  490. package/dist/esm/nylas-booking-calendar-picker.entry.js +2 -2
  491. package/dist/esm/nylas-booking-form.entry.js +2 -2
  492. package/dist/esm/nylas-buffer-time.entry.js +2 -2
  493. package/dist/esm/nylas-calendar-picker.entry.js +2 -2
  494. package/dist/esm/nylas-cancel-booking-form.entry.js +3 -3
  495. package/dist/esm/nylas-cancelled-event-card.entry.js +3 -3
  496. package/dist/esm/nylas-composer.entry.js +2 -2
  497. package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
  498. package/dist/esm/nylas-date-picker.entry.js +2 -2
  499. package/dist/esm/nylas-editor-tabs.entry.js +26 -9
  500. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  501. package/dist/esm/nylas-event-description.entry.js +2 -2
  502. package/dist/esm/nylas-event-duration.entry.js +2 -2
  503. package/dist/esm/nylas-event-info.entry.js +3 -3
  504. package/dist/esm/nylas-event-limits.entry.js +3 -3
  505. package/dist/esm/nylas-event-title.entry.js +2 -2
  506. package/dist/esm/nylas-form-card.entry.js +3 -3
  507. package/dist/esm/nylas-if-state.entry.js +2 -2
  508. package/dist/esm/nylas-limit-future-bookings.entry.js +3 -3
  509. package/dist/esm/nylas-list-configurations.entry.js +110 -0
  510. package/dist/esm/nylas-list-configurations.entry.js.map +1 -0
  511. package/dist/esm/nylas-list-folders.entry.js +3 -3
  512. package/dist/esm/nylas-list-threads.entry.js +3 -3
  513. package/dist/esm/nylas-locale-switch.entry.js +2 -2
  514. package/dist/esm/nylas-location-component.entry.js +5 -5
  515. package/dist/esm/nylas-login.entry.js +3 -3
  516. package/dist/esm/nylas-logo.entry.js +1 -1
  517. package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
  518. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +3 -3
  519. package/dist/esm/nylas-mailbox.entry.js +4 -4
  520. package/dist/esm/nylas-min-cancellation-notice.entry.js +3 -3
  521. package/dist/esm/nylas-notification.entry.js +2 -2
  522. package/dist/esm/nylas-provider.entry.js +6 -6
  523. package/dist/esm/nylas-scheduler-editor.entry.js +208 -67
  524. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  525. package/dist/esm/nylas-scheduling.entry.js +6 -6
  526. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  527. package/dist/esm/nylas-selected-event-card.entry.js +2 -2
  528. package/dist/esm/nylas-summarize-message-button.entry.js +4 -4
  529. package/dist/esm/nylas-threads-refresh.entry.js +4 -4
  530. package/dist/esm/nylas-threads-search.entry.js +3 -3
  531. package/dist/esm/nylas-time-window-picker.entry.js +2 -2
  532. package/dist/esm/nylas-timeslot-picker.entry.js +2 -2
  533. package/dist/esm/nylas-view-email.entry.js +2 -2
  534. package/dist/esm/nylas-view-thread.entry.js +3 -3
  535. package/dist/esm/nylas-web-elements.js +1 -1
  536. package/dist/esm/people-icon.entry.js +1 -1
  537. package/dist/esm/play-icon.entry.js +1 -1
  538. package/dist/esm/play-icon_2.entry.js +2 -2
  539. package/dist/esm/refresh-icon.entry.js +1 -1
  540. package/dist/esm/{register-component-dc659dc3.js → register-component-cf5c8420.js} +8 -2
  541. package/dist/esm/register-component-cf5c8420.js.map +1 -0
  542. package/dist/{nylas-web-elements/register-component-0645dce0.js → esm/register-component-e5afe237.js} +8 -2
  543. package/dist/esm/register-component-e5afe237.js.map +1 -0
  544. package/dist/esm/reply-all-icon.entry.js +1 -1
  545. package/dist/esm/reply-icon.entry.js +1 -1
  546. package/dist/esm/{scheduler-config-store-bc59545b.js → scheduler-config-store-0efc3519.js} +8 -1
  547. package/dist/esm/scheduler-config-store-0efc3519.js.map +1 -0
  548. package/dist/esm/{scheduler-config-store-51ee4f42.js → scheduler-config-store-6222c0ed.js} +8 -1
  549. package/dist/esm/scheduler-config-store-6222c0ed.js.map +1 -0
  550. package/dist/esm/{scheduler-store-72116723.js → scheduler-store-39d37291.js} +2 -2
  551. package/dist/esm/{scheduler-store-4d0a4f8a.js.map → scheduler-store-39d37291.js.map} +1 -1
  552. package/dist/{nylas-web-elements/scheduler-store-4d0a4f8a.js → esm/scheduler-store-8ddcc496.js} +2 -2
  553. package/dist/esm/{scheduler-store-72116723.js.map → scheduler-store-8ddcc496.js.map} +1 -1
  554. package/dist/esm/search-icon.entry.js +1 -1
  555. package/dist/esm/select-dropdown.entry.js +2 -2
  556. package/dist/esm/sent-icon.entry.js +1 -1
  557. package/dist/esm/spam-icon.entry.js +1 -1
  558. package/dist/esm/star-icon.entry.js +1 -1
  559. package/dist/esm/stop-icon.entry.js +1 -1
  560. package/dist/esm/time-period-selector.entry.js +2 -2
  561. package/dist/esm/tooltip-component.entry.js +1 -1
  562. package/dist/esm/translate-icon.entry.js +1 -1
  563. package/dist/esm/trash-icon.entry.js +1 -1
  564. package/dist/esm/underline-icon.entry.js +1 -1
  565. package/dist/{nylas-web-elements/utils-3a8d433a.js → esm/utils-73d8a928.js} +18 -2
  566. package/dist/{nylas-web-elements/utils-3a8d433a.js.map → esm/utils-73d8a928.js.map} +1 -1
  567. package/dist/esm/{utils-c00bdc3c.js → utils-d6204242.js} +18 -2
  568. package/dist/esm/utils-d6204242.js.map +1 -0
  569. package/dist/esm/warning-icon.entry.js +1 -1
  570. package/dist/nylas-web-elements/add-circle-icon.entry.js +1 -1
  571. package/dist/nylas-web-elements/archive-icon.entry.js +1 -1
  572. package/dist/nylas-web-elements/arrow-icon.entry.js +1 -1
  573. package/dist/nylas-web-elements/bold-icon.entry.js +1 -1
  574. package/dist/nylas-web-elements/button-component.entry.js +1 -1
  575. package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +1 -1
  576. package/dist/nylas-web-elements/calendar-check-icon.entry.js +1 -1
  577. package/dist/nylas-web-elements/calendar-icon.entry.js +1 -1
  578. package/dist/nylas-web-elements/calendar-info-icon.entry.js +1 -1
  579. package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +1 -1
  580. package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +1 -1
  581. package/dist/nylas-web-elements/chevron-icon.entry.js +1 -1
  582. package/dist/nylas-web-elements/close-icon.entry.js +1 -1
  583. package/dist/nylas-web-elements/document-refresh-icon.entry.js +1 -1
  584. package/dist/nylas-web-elements/flow-icon.entry.js +1 -1
  585. package/dist/nylas-web-elements/folder-icon.entry.js +1 -1
  586. package/dist/nylas-web-elements/forward-icon.entry.js +1 -1
  587. package/dist/nylas-web-elements/globe-icon.entry.js +1 -1
  588. package/dist/nylas-web-elements/google-logo-icon.entry.js +1 -1
  589. package/dist/nylas-web-elements/inbox-icon.entry.js +1 -1
  590. package/dist/{esm/index.es-bd511719.js → nylas-web-elements/index.es-2842f8c8.js} +9 -4
  591. package/dist/nylas-web-elements/index.es-2842f8c8.js.map +1 -0
  592. package/dist/nylas-web-elements/index.esm.js +3 -1
  593. package/dist/nylas-web-elements/index.esm.js.map +1 -1
  594. package/dist/nylas-web-elements/info-icon.entry.js +1 -1
  595. package/dist/nylas-web-elements/italic-icon.entry.js +1 -1
  596. package/dist/nylas-web-elements/loading-icon.entry.js +1 -1
  597. package/dist/nylas-web-elements/location-icon.entry.js +1 -1
  598. package/dist/nylas-web-elements/location-off-icon.entry.js +1 -1
  599. package/dist/nylas-web-elements/{mailbox-store-150cc456.js → mailbox-store-d48269de.js} +3 -3
  600. package/dist/{esm/mailbox-store-bb21512c.js.map → nylas-web-elements/mailbox-store-d48269de.js.map} +1 -1
  601. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +1 -1
  602. package/dist/nylas-web-elements/multi-select-dropdown.entry.js +3 -3
  603. package/dist/nylas-web-elements/nylas-additional-participants.entry.js +3 -3
  604. package/dist/{esm/nylas-api-request-55446aba.js → nylas-web-elements/nylas-api-request-4f3dbb72.js} +17 -7
  605. package/dist/nylas-web-elements/nylas-api-request-4f3dbb72.js.map +1 -0
  606. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +2 -2
  607. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +2 -2
  608. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +2 -2
  609. package/dist/nylas-web-elements/nylas-booking-form.entry.js +2 -2
  610. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +2 -2
  611. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +2 -2
  612. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +3 -3
  613. package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +3 -3
  614. package/dist/nylas-web-elements/nylas-composer.entry.js +2 -2
  615. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
  616. package/dist/nylas-web-elements/nylas-date-picker.entry.js +2 -2
  617. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +26 -9
  618. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  619. package/dist/nylas-web-elements/nylas-event-description.entry.js +2 -2
  620. package/dist/nylas-web-elements/nylas-event-duration.entry.js +2 -2
  621. package/dist/nylas-web-elements/nylas-event-info.entry.js +3 -3
  622. package/dist/nylas-web-elements/nylas-event-limits.entry.js +3 -3
  623. package/dist/nylas-web-elements/nylas-event-title.entry.js +2 -2
  624. package/dist/nylas-web-elements/nylas-form-card.entry.js +3 -3
  625. package/dist/nylas-web-elements/nylas-if-state.entry.js +2 -2
  626. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +3 -3
  627. package/dist/nylas-web-elements/nylas-list-configurations.entry.js +110 -0
  628. package/dist/nylas-web-elements/nylas-list-configurations.entry.js.map +1 -0
  629. package/dist/nylas-web-elements/nylas-list-folders.entry.js +3 -3
  630. package/dist/nylas-web-elements/nylas-list-threads.entry.js +3 -3
  631. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +2 -2
  632. package/dist/nylas-web-elements/nylas-location-component.entry.js +5 -5
  633. package/dist/nylas-web-elements/nylas-login.entry.js +3 -3
  634. package/dist/nylas-web-elements/nylas-logo.entry.js +1 -1
  635. package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
  636. package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +3 -3
  637. package/dist/nylas-web-elements/nylas-mailbox.entry.js +4 -4
  638. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +3 -3
  639. package/dist/nylas-web-elements/nylas-notification.entry.js +2 -2
  640. package/dist/nylas-web-elements/nylas-provider.entry.js +6 -6
  641. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +208 -67
  642. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
  643. package/dist/nylas-web-elements/nylas-scheduling.entry.js +6 -6
  644. package/dist/nylas-web-elements/nylas-scheduling.entry.js.map +1 -1
  645. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +2 -2
  646. package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +4 -4
  647. package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +4 -4
  648. package/dist/nylas-web-elements/nylas-threads-search.entry.js +3 -3
  649. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +2 -2
  650. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +2 -2
  651. package/dist/nylas-web-elements/nylas-view-email.entry.js +2 -2
  652. package/dist/nylas-web-elements/nylas-view-thread.entry.js +3 -3
  653. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  654. package/dist/nylas-web-elements/{p-f48d0571.entry.js → p-04e3a98e.entry.js} +2 -2
  655. package/dist/nylas-web-elements/p-0edb3b69.entry.js +2 -0
  656. package/dist/nylas-web-elements/{p-40ed7eab.entry.js → p-1260ac06.entry.js} +2 -2
  657. package/dist/nylas-web-elements/{p-af22da60.entry.js → p-1655dec3.entry.js} +4 -4
  658. package/dist/nylas-web-elements/p-1655dec3.entry.js.map +1 -0
  659. package/dist/nylas-web-elements/{p-64364434.entry.js → p-18a936a3.entry.js} +2 -2
  660. package/dist/nylas-web-elements/{p-df5e9aaf.js → p-1aa7b357.js} +2 -2
  661. package/dist/nylas-web-elements/{p-b2208193.entry.js → p-1ab25f04.entry.js} +2 -2
  662. package/dist/nylas-web-elements/p-1c94940d.entry.js +2 -0
  663. package/dist/nylas-web-elements/{p-d85eecf4.entry.js.map → p-1c94940d.entry.js.map} +1 -1
  664. package/dist/nylas-web-elements/p-1f843391.js +2 -0
  665. package/dist/nylas-web-elements/p-1f843391.js.map +1 -0
  666. package/dist/nylas-web-elements/{p-42a4c2fd.entry.js → p-266f9995.entry.js} +2 -2
  667. package/dist/nylas-web-elements/p-3116f5cc.js +2 -0
  668. package/dist/nylas-web-elements/p-3116f5cc.js.map +1 -0
  669. package/dist/nylas-web-elements/{p-ad9c3cab.entry.js → p-370cdcca.entry.js} +2 -2
  670. package/dist/nylas-web-elements/{p-2c5d5953.entry.js → p-3f6155de.entry.js} +2 -2
  671. package/dist/nylas-web-elements/{p-901f9612.js → p-41dc0d93.js} +2 -2
  672. package/dist/nylas-web-elements/p-41dc0d93.js.map +1 -0
  673. package/dist/nylas-web-elements/{p-006ab406.entry.js → p-424f4d9a.entry.js} +2 -2
  674. package/dist/nylas-web-elements/p-47180df9.entry.js +2 -0
  675. package/dist/nylas-web-elements/{p-5a3809a7.entry.js → p-55368bc0.entry.js} +2 -2
  676. package/dist/nylas-web-elements/{p-374527e6.entry.js → p-572bf8c2.entry.js} +2 -2
  677. package/dist/nylas-web-elements/{p-2523c292.entry.js → p-57b753c6.entry.js} +2 -2
  678. package/dist/nylas-web-elements/{p-a0c2ce03.entry.js → p-605142a9.entry.js} +2 -2
  679. package/dist/nylas-web-elements/p-618b94cd.entry.js +2 -0
  680. package/dist/nylas-web-elements/p-618b94cd.entry.js.map +1 -0
  681. package/dist/nylas-web-elements/{p-4d9fceeb.entry.js → p-674b6d5d.entry.js} +2 -2
  682. package/dist/nylas-web-elements/{p-39b280e2.entry.js → p-6dcc9411.entry.js} +2 -2
  683. package/dist/nylas-web-elements/{p-395f49eb.entry.js → p-7692056f.entry.js} +2 -2
  684. package/dist/nylas-web-elements/p-7c55dfa0.entry.js +2 -0
  685. package/dist/nylas-web-elements/{p-ba3d383f.entry.js.map → p-7c55dfa0.entry.js.map} +1 -1
  686. package/dist/nylas-web-elements/{p-9dac153b.entry.js → p-81ea7310.entry.js} +2 -2
  687. package/dist/nylas-web-elements/{p-a1e27dc5.entry.js → p-858f0aad.entry.js} +2 -2
  688. package/dist/nylas-web-elements/{p-baa620b4.entry.js → p-8b1a6e27.entry.js} +2 -2
  689. package/dist/nylas-web-elements/{p-deafc6bc.entry.js → p-945caf14.entry.js} +2 -2
  690. package/dist/nylas-web-elements/{p-ae01e1cb.entry.js → p-9b195811.entry.js} +2 -2
  691. package/dist/nylas-web-elements/{p-409d4410.entry.js → p-9c399019.entry.js} +2 -2
  692. package/dist/nylas-web-elements/p-9d0c0340.entry.js +2 -0
  693. package/dist/nylas-web-elements/{p-fbbca7a6.entry.js → p-9d4bffbb.entry.js} +2 -2
  694. package/dist/nylas-web-elements/p-9d75bcb2.entry.js +2 -0
  695. package/dist/nylas-web-elements/p-9d75bcb2.entry.js.map +1 -0
  696. package/dist/nylas-web-elements/p-9ea458c3.js +2 -0
  697. package/dist/nylas-web-elements/p-9ea458c3.js.map +1 -0
  698. package/dist/nylas-web-elements/{p-7b1bb792.entry.js → p-ae893050.entry.js} +3 -3
  699. package/dist/nylas-web-elements/{p-d92a0405.entry.js → p-be7124f0.entry.js} +2 -2
  700. package/dist/nylas-web-elements/{p-3da66838.entry.js → p-c199d203.entry.js} +2 -2
  701. package/dist/nylas-web-elements/p-c451c9e1.entry.js +2 -0
  702. package/dist/nylas-web-elements/{p-41c1654e.entry.js.map → p-c451c9e1.entry.js.map} +1 -1
  703. package/dist/nylas-web-elements/p-c45ac7c6.entry.js +2 -0
  704. package/dist/nylas-web-elements/{p-d224c7af.entry.js → p-e03b2592.entry.js} +2 -2
  705. package/dist/nylas-web-elements/{p-9f168ff0.js → p-e22aa0b0.js} +2 -2
  706. package/dist/nylas-web-elements/{p-408dda49.js → p-eaa9151b.js} +2 -2
  707. package/dist/nylas-web-elements/p-eaa9151b.js.map +1 -0
  708. package/dist/nylas-web-elements/{p-3631e6e5.entry.js → p-fe3b8e66.entry.js} +2 -2
  709. package/dist/nylas-web-elements/people-icon.entry.js +1 -1
  710. package/dist/nylas-web-elements/play-icon.entry.js +1 -1
  711. package/dist/nylas-web-elements/refresh-icon.entry.js +1 -1
  712. package/dist/{esm/register-component-0645dce0.js → nylas-web-elements/register-component-e5afe237.js} +8 -2
  713. package/dist/nylas-web-elements/register-component-e5afe237.js.map +1 -0
  714. package/dist/nylas-web-elements/reply-all-icon.entry.js +1 -1
  715. package/dist/nylas-web-elements/reply-icon.entry.js +1 -1
  716. package/dist/nylas-web-elements/{scheduler-config-store-bc59545b.js → scheduler-config-store-0efc3519.js} +8 -1
  717. package/dist/nylas-web-elements/scheduler-config-store-0efc3519.js.map +1 -0
  718. package/dist/{esm/scheduler-store-4d0a4f8a.js → nylas-web-elements/scheduler-store-8ddcc496.js} +2 -2
  719. package/dist/nylas-web-elements/{scheduler-store-4d0a4f8a.js.map → scheduler-store-8ddcc496.js.map} +1 -1
  720. package/dist/nylas-web-elements/search-icon.entry.js +1 -1
  721. package/dist/nylas-web-elements/select-dropdown.entry.js +2 -2
  722. package/dist/nylas-web-elements/sent-icon.entry.js +1 -1
  723. package/dist/nylas-web-elements/spam-icon.entry.js +1 -1
  724. package/dist/nylas-web-elements/star-icon.entry.js +1 -1
  725. package/dist/nylas-web-elements/stop-icon.entry.js +1 -1
  726. package/dist/nylas-web-elements/time-period-selector.entry.js +2 -2
  727. package/dist/nylas-web-elements/tooltip-component.entry.js +1 -1
  728. package/dist/nylas-web-elements/translate-icon.entry.js +1 -1
  729. package/dist/nylas-web-elements/trash-icon.entry.js +1 -1
  730. package/dist/nylas-web-elements/underline-icon.entry.js +1 -1
  731. package/dist/{esm/utils-3a8d433a.js → nylas-web-elements/utils-73d8a928.js} +18 -2
  732. package/dist/{esm/utils-3a8d433a.js.map → nylas-web-elements/utils-73d8a928.js.map} +1 -1
  733. package/dist/nylas-web-elements/warning-icon.entry.js +1 -1
  734. package/dist/types/common/component-types.d.ts +3 -1
  735. package/dist/types/common/nylas-api-request.d.ts +3 -2
  736. package/dist/types/common/register-component.d.ts +1 -0
  737. package/dist/types/common/types.d.ts +3 -1
  738. package/dist/types/components/scheduler/nylas-scheduler/nylas-scheduling.d.ts +1 -1
  739. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +6 -2
  740. package/dist/types/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.d.ts +25 -0
  741. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/LoginRequired.d.ts +4 -0
  742. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +7 -2
  743. package/dist/types/components.d.ts +125 -2
  744. package/dist/types/connector/nylas-scheduler-config-connector/index.d.ts +2 -2
  745. package/dist/types/connector/shared/api/scheduler-config.d.ts +45 -8
  746. package/dist/types/stores/scheduler-config-store.d.ts +2 -0
  747. package/dist/types/utils/utils.d.ts +4 -1
  748. package/package.json +1 -2
  749. package/dist/cjs/google-logo-icon_3.cjs.entry.js.map +0 -1
  750. package/dist/cjs/index.es-447c5aca.js.map +0 -1
  751. package/dist/cjs/index.es-68425511.js.map +0 -1
  752. package/dist/cjs/nylas-api-request-8ec3a89c.js.map +0 -1
  753. package/dist/cjs/nylas-api-request-ab24150d.js.map +0 -1
  754. package/dist/cjs/register-component-d729f3f7.js.map +0 -1
  755. package/dist/cjs/register-component-f1ebc65d.js.map +0 -1
  756. package/dist/cjs/scheduler-config-store-31b83ad3.js.map +0 -1
  757. package/dist/cjs/scheduler-config-store-9c2cc421.js.map +0 -1
  758. package/dist/cjs/utils-53dd7574.js.map +0 -1
  759. package/dist/components/_commonjsHelpers.js +0 -36
  760. package/dist/components/_commonjsHelpers.js.map +0 -1
  761. package/dist/components/index2.js +0 -196
  762. package/dist/components/index2.js.map +0 -1
  763. package/dist/components/nylas-api-request.js +0 -37
  764. package/dist/components/nylas-api-request.js.map +0 -1
  765. package/dist/esm/google-logo-icon_3.entry.js.map +0 -1
  766. package/dist/esm/index.es-2578c6a5.js.map +0 -1
  767. package/dist/esm/index.es-bd511719.js.map +0 -1
  768. package/dist/esm/nylas-api-request-55446aba.js.map +0 -1
  769. package/dist/esm/nylas-api-request-c97a0153.js.map +0 -1
  770. package/dist/esm/register-component-0645dce0.js.map +0 -1
  771. package/dist/esm/register-component-dc659dc3.js.map +0 -1
  772. package/dist/esm/scheduler-config-store-51ee4f42.js.map +0 -1
  773. package/dist/esm/scheduler-config-store-bc59545b.js.map +0 -1
  774. package/dist/esm/utils-c00bdc3c.js.map +0 -1
  775. package/dist/nylas-web-elements/index.es-bd511719.js.map +0 -1
  776. package/dist/nylas-web-elements/nylas-api-request-55446aba.js.map +0 -1
  777. package/dist/nylas-web-elements/p-01bf65c2.entry.js +0 -2
  778. package/dist/nylas-web-elements/p-408dda49.js.map +0 -1
  779. package/dist/nylas-web-elements/p-41c1654e.entry.js +0 -2
  780. package/dist/nylas-web-elements/p-59b6ae90.entry.js +0 -2
  781. package/dist/nylas-web-elements/p-59b6ae90.entry.js.map +0 -1
  782. package/dist/nylas-web-elements/p-65fdfb60.js +0 -2
  783. package/dist/nylas-web-elements/p-65fdfb60.js.map +0 -1
  784. package/dist/nylas-web-elements/p-901f9612.js.map +0 -1
  785. package/dist/nylas-web-elements/p-a3d5a1dd.entry.js +0 -2
  786. package/dist/nylas-web-elements/p-af22da60.entry.js.map +0 -1
  787. package/dist/nylas-web-elements/p-ba3d383f.entry.js +0 -2
  788. package/dist/nylas-web-elements/p-bfdc148c.entry.js +0 -2
  789. package/dist/nylas-web-elements/p-cadc9052.js +0 -2
  790. package/dist/nylas-web-elements/p-cadc9052.js.map +0 -1
  791. package/dist/nylas-web-elements/p-d67d1c72.js +0 -2
  792. package/dist/nylas-web-elements/p-d67d1c72.js.map +0 -1
  793. package/dist/nylas-web-elements/p-d85eecf4.entry.js +0 -2
  794. package/dist/nylas-web-elements/p-dc1cee56.entry.js +0 -2
  795. package/dist/nylas-web-elements/p-dc1cee56.entry.js.map +0 -1
  796. package/dist/nylas-web-elements/p-de63bc35.entry.js +0 -2
  797. package/dist/nylas-web-elements/register-component-0645dce0.js.map +0 -1
  798. package/dist/nylas-web-elements/scheduler-config-store-bc59545b.js.map +0 -1
  799. /package/dist/nylas-web-elements/{p-f48d0571.entry.js.map → p-04e3a98e.entry.js.map} +0 -0
  800. /package/dist/nylas-web-elements/{p-a3d5a1dd.entry.js.map → p-0edb3b69.entry.js.map} +0 -0
  801. /package/dist/nylas-web-elements/{p-40ed7eab.entry.js.map → p-1260ac06.entry.js.map} +0 -0
  802. /package/dist/nylas-web-elements/{p-64364434.entry.js.map → p-18a936a3.entry.js.map} +0 -0
  803. /package/dist/nylas-web-elements/{p-df5e9aaf.js.map → p-1aa7b357.js.map} +0 -0
  804. /package/dist/nylas-web-elements/{p-b2208193.entry.js.map → p-1ab25f04.entry.js.map} +0 -0
  805. /package/dist/nylas-web-elements/{p-42a4c2fd.entry.js.map → p-266f9995.entry.js.map} +0 -0
  806. /package/dist/nylas-web-elements/{p-ad9c3cab.entry.js.map → p-370cdcca.entry.js.map} +0 -0
  807. /package/dist/nylas-web-elements/{p-2c5d5953.entry.js.map → p-3f6155de.entry.js.map} +0 -0
  808. /package/dist/nylas-web-elements/{p-006ab406.entry.js.map → p-424f4d9a.entry.js.map} +0 -0
  809. /package/dist/nylas-web-elements/{p-bfdc148c.entry.js.map → p-47180df9.entry.js.map} +0 -0
  810. /package/dist/nylas-web-elements/{p-5a3809a7.entry.js.map → p-55368bc0.entry.js.map} +0 -0
  811. /package/dist/nylas-web-elements/{p-374527e6.entry.js.map → p-572bf8c2.entry.js.map} +0 -0
  812. /package/dist/nylas-web-elements/{p-2523c292.entry.js.map → p-57b753c6.entry.js.map} +0 -0
  813. /package/dist/nylas-web-elements/{p-a0c2ce03.entry.js.map → p-605142a9.entry.js.map} +0 -0
  814. /package/dist/nylas-web-elements/{p-4d9fceeb.entry.js.map → p-674b6d5d.entry.js.map} +0 -0
  815. /package/dist/nylas-web-elements/{p-39b280e2.entry.js.map → p-6dcc9411.entry.js.map} +0 -0
  816. /package/dist/nylas-web-elements/{p-395f49eb.entry.js.map → p-7692056f.entry.js.map} +0 -0
  817. /package/dist/nylas-web-elements/{p-9dac153b.entry.js.map → p-81ea7310.entry.js.map} +0 -0
  818. /package/dist/nylas-web-elements/{p-a1e27dc5.entry.js.map → p-858f0aad.entry.js.map} +0 -0
  819. /package/dist/nylas-web-elements/{p-baa620b4.entry.js.map → p-8b1a6e27.entry.js.map} +0 -0
  820. /package/dist/nylas-web-elements/{p-deafc6bc.entry.js.map → p-945caf14.entry.js.map} +0 -0
  821. /package/dist/nylas-web-elements/{p-ae01e1cb.entry.js.map → p-9b195811.entry.js.map} +0 -0
  822. /package/dist/nylas-web-elements/{p-409d4410.entry.js.map → p-9c399019.entry.js.map} +0 -0
  823. /package/dist/nylas-web-elements/{p-01bf65c2.entry.js.map → p-9d0c0340.entry.js.map} +0 -0
  824. /package/dist/nylas-web-elements/{p-fbbca7a6.entry.js.map → p-9d4bffbb.entry.js.map} +0 -0
  825. /package/dist/nylas-web-elements/{p-7b1bb792.entry.js.map → p-ae893050.entry.js.map} +0 -0
  826. /package/dist/nylas-web-elements/{p-d92a0405.entry.js.map → p-be7124f0.entry.js.map} +0 -0
  827. /package/dist/nylas-web-elements/{p-3da66838.entry.js.map → p-c199d203.entry.js.map} +0 -0
  828. /package/dist/nylas-web-elements/{p-de63bc35.entry.js.map → p-c45ac7c6.entry.js.map} +0 -0
  829. /package/dist/nylas-web-elements/{p-d224c7af.entry.js.map → p-e03b2592.entry.js.map} +0 -0
  830. /package/dist/nylas-web-elements/{p-9f168ff0.js.map → p-e22aa0b0.js.map} +0 -0
  831. /package/dist/nylas-web-elements/{p-3631e6e5.entry.js.map → p-fe3b8e66.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"mailbox-store-aacd75ff.js","mappings":"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","names":["debug","isNylasErrorResponse","NylasAPIError","createStore"],"sources":["src/connector/shared/api/auth.ts","src/connector/shared/api/messages.ts","src/connector/shared/api/threads.ts","src/connector/shared/api/folders.ts","src/routers/hash-router.ts","src/stores/auth-store.ts","src/stores/mailbox-store.ts"],"sourcesContent":["import { debug } from '@/utils/utils';\nimport { NylasAuthStoreType, NylasAuthType, TokenInfo } from '../../..';\n\nexport class NylasAuthConnector {\n private nylasAuth: NylasAuthType;\n private nylasAuthStore: NylasAuthStoreType;\n\n constructor(nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n }\n\n /**\n * Validates the current session and updates the store with the token info\n * if the user is authenticated.\n * If the user is not authenticated, the store is reset.\n * @returns {Promise<void>}\n */\n public async validateSession(): Promise<void> {\n const isAuthenticated = await this.isAccessTokenValid();\n if (!isAuthenticated) {\n // Reset the store if the access token is not valid\n this.logout();\n } else {\n // If the user is authenticated, update the store with the token info\n let tokenInfo = await this.nylasAuth.getTokenInfo();\n if (tokenInfo) {\n // If token is expired or about to expire (in 5 minutes), refresh it\n const expireTimeCheck = 5 * 60 * 1000; // 5 minutes\n const currentTimeInSeconds = Math.floor(Date.now() / 1000);\n\n if (tokenInfo.expires_in && tokenInfo.expires_in - currentTimeInSeconds < expireTimeCheck) {\n debug('[NylasAuthConnectorMixin] Refreshing access token');\n tokenInfo = await this.nylasAuth.refreshAccessToken();\n if (!tokenInfo) {\n debug('[NylasAuthConnectorMixin] Token is expired and could not be refreshed. Logging out.');\n this.logout();\n return;\n }\n }\n\n this.nylasAuthStore.state.tokenInfo = tokenInfo;\n }\n }\n this.nylasAuthStore.state.isAuthenticated = isAuthenticated;\n }\n\n /**\n * Returns true if the user is authenticated.\n * @returns {Promise<boolean>}\n */\n public async isAuthenticated(): Promise<boolean> {\n return this.nylasAuth.isAuthenticated();\n }\n\n /**\n * Returns the token info if the user is authenticated.\n * @returns {Promise<TokenInfo>}\n */\n public async getTokenInfo(): Promise<TokenInfo | null> {\n return this.nylasAuth.getTokenInfo();\n }\n\n /**\n * Returns true if the access token is valid.\n * @returns {Promise<boolean>}\n */\n public async isAccessTokenValid(): Promise<boolean> {\n return this.nylasAuth.isAccessTokenValid();\n }\n\n /**\n * Removes the token info from the store and logs the user out.\n * @returns {Promise<void>}\n */\n public async logout(): Promise<void> {\n await this.nylasAuth.logout();\n }\n\n /**\n * Returns the URL to redirect the user to for authentication.\n * @param scopes An array of scopes to request from the user.\n * @param email The email address of the user to authenticate.\n * @param provider The provider to use for authentication.\n * @returns {Promise<string>}\n */\n public async getHostedAuthRedirectURL(scopes?: string[], email?: string, provider?: string): Promise<string> {\n return this.nylasAuth.getHostedAuthRedirectURL(scopes, email, provider);\n }\n\n /**\n * Exchanges the auth code for a token info and updates the store.\n * @param currentUrl The current URL of the page.\n * @returns {Promise<TokenInfo | null>}\n */\n public async manageHostedAuthCodeExchange(currentUrl: string): Promise<TokenInfo | null> {\n const url = new URL(currentUrl);\n const code = url.searchParams.get('code');\n\n if (code) {\n const tokenInfo = await this.nylasAuth.exchangeAuthCodeForTokenInfo(code);\n if (tokenInfo) {\n this.nylasAuthStore.state.tokenInfo = tokenInfo;\n this.nylasAuthStore.state.isAuthenticated = true;\n return tokenInfo;\n }\n }\n\n return null;\n }\n}\n","import { Message, NylasAPIError, NylasAuthType, NylasResponse, isNylasErrorResponse } from '@nylas/core';\nimport { NylasAuthStoreType, NylasMailboxStoreType } from '../../../components';\n\nexport class NylasMessagesConnector {\n private nylasAuth: NylasAuthType;\n private nylasAuthStore: NylasAuthStoreType;\n private nylasMailboxStore: NylasMailboxStoreType;\n\n constructor(nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType, nylasMailboxStore: NylasMailboxStoreType) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasMailboxStore = nylasMailboxStore;\n }\n\n /**\n * Returns the list of messages.\n * @returns {Promise<Message[]>}\n */\n public async getMessages(): Promise<Message[]> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n // Set the state to loading.\n this.nylasMailboxStore.state.state = 'loading';\n\n // Get the message query parameters from the store.\n const queryParams = this.nylasMailboxStore.state.messgeQueryParams;\n\n // Build the URLSearchParams object.\n const params = new URLSearchParams();\n for (const key in queryParams) {\n const value = queryParams[key as keyof typeof queryParams]?.toString();\n if (value) {\n params.append(key, value);\n }\n }\n\n // Build the URL with the query parameters\n const path = `/v3/grants/me/messages?${params.toString()}`;\n\n // Make the API request.\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Message[]>>(path);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Set the messages in the store.\n const messages = response.data;\n this.nylasMailboxStore.state.messages = messages;\n\n // Set the state to ready.\n this.nylasMailboxStore.state.state = 'ready';\n\n return messages;\n }\n\n /**\n * Returns the list of messages for a given thread.\n * @param {string} threadId The thread ID.\n * @returns {Promise<Message[]>}\n * @throws {NylasAPIError}\n */\n public async getThreadMessages(threadId: string): Promise<Message[]> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Message[]>>(`/v3/grants/me/messages?thread_id=${threadId}&fields=include_headers`);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n const messages = response.data;\n this.nylasMailboxStore.state.messages = messages;\n\n return messages;\n }\n\n /**\n * Downloads the attachments for a given message.\n * @param message The message to download attachments for.\n * @returns {Promise<Blob>[]} An array of promises that will resolve to a Blob.\n */\n public downloadMessageAttachments(message: Message): Promise<Blob>[] {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n // We'll go through each attachment and download it.\n const blobPromises: Promise<Blob>[] = [];\n const attachments = message.attachments || [];\n for (const attachment of attachments) {\n const blob = this.nylasAuth.nylasDownloadFileRequest(`/v3/grants/me/attachments/${attachment.id}?message_id=${message.id}`);\n blobPromises.push(blob);\n }\n\n return blobPromises;\n }\n\n /**\n * Returns a summarized version of the given text.\n * @param text The non-HTML text to summarize.\n * @returns {Promise<string>} The summarized text.\n */\n public async summarizeText(text: string): Promise<string> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<{ summary: string }>>(\n `/v3/grants/me/mailbox/summarize`,\n 'POST',\n {\n message: {\n body: text,\n },\n },\n true,\n this.nylasAuth.config.elementsApiUri,\n );\n\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n return response.data.summary;\n }\n\n /**\n * Returns a summarized version of the given message.\n * @param message The message to summarize.\n * @returns {Promise<ReadableStream<Uint8Array> | null>} Returns a Fetch API response.\n */\n public async textToSpeech(text: string, abortController?: AbortController): Promise<ReadableStream<Uint8Array> | null> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n return this.nylasAuth.nylasAPIRequest(\n `/v3/grants/me/mailbox/tts`,\n 'POST',\n {\n text,\n },\n false,\n this.nylasAuth.config.elementsApiUri,\n {\n ...(abortController ? { signal: abortController?.signal } : {}),\n },\n );\n }\n}\n","import { debug } from '@/utils/utils';\nimport { NylasAPIError, NylasAuthType, NylasResponse, Thread, ThreadQueryParameters, isNylasErrorResponse } from '@nylas/core';\nimport { NylasAuthStoreType, NylasMailboxStoreType } from '../../../components';\nimport { RouterInterface } from '@/routers/router-interface';\n\nexport class NylasThreadsConnector {\n private nylasAuth: NylasAuthType;\n private nylasAuthStore: NylasAuthStoreType;\n private nylasMailboxStore: NylasMailboxStoreType;\n private router: RouterInterface;\n\n constructor(nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType, nylasMailboxStore: NylasMailboxStoreType, router: RouterInterface) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasMailboxStore = nylasMailboxStore;\n this.router = router;\n }\n\n /**\n * Returns the list of threads.\n * @todo Re-think how we handle pagination (previous/next page tokens) - there is a separation of logic here that might be confusing.\n * @param {Partial<ThreadQueryParameters> | undefined} overrideQueryParams The query parameters to override from the store.\n * @param {'prepend' | 'append' | 'overwrite'} updateMethod How to update the store with the threads (default: overwrite).\n * @param {boolean} updateState Whether to update the state or not (default: true).\n * @returns {Promise<Thread[]>}\n */\n public async getThreads(\n overrideQueryParams?: Partial<ThreadQueryParameters>,\n updateMethod: 'prepend' | 'append' | 'overwrite' = 'overwrite',\n updateState: boolean = true,\n ): Promise<Thread[]> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing thread:read-only scope');\n }\n\n // Set the state to loading.\n if (updateState) {\n this.nylasMailboxStore.state.state = 'loading';\n }\n\n // Build the URL with the query parameters\n const queryParams = overrideQueryParams || this.nylasMailboxStore.state.threadsQueryParams;\n const params = new URLSearchParams();\n for (const key in queryParams) {\n const value = queryParams[key as keyof typeof queryParams]?.toString();\n if (typeof value !== 'undefined' && value !== null) {\n params.append(key, value);\n }\n }\n\n // TODO: Re-think how to update the router, this seems wrong\n if (queryParams.search_query_native) {\n this.router.navigate(`/?query=${queryParams.search_query_native}`, true);\n } else if (this.nylasMailboxStore.state.threadsQueryParams.search_query_native && !queryParams.search_query_native) {\n this.router.navigate('/', true);\n }\n\n // If page_token is not set, reset the previous page tokens.\n if (!queryParams.page_token) {\n this.nylasMailboxStore.state.previousThreadPageTokens = [];\n }\n\n this.nylasMailboxStore.state.threadsQueryParams = queryParams;\n\n // Make the API request.\n const path = `/v3/grants/me/threads?${params.toString()}`;\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Thread[]>>(path);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Set the threads in the store.\n const threads = response.data;\n switch (updateMethod) {\n case 'prepend':\n this.nylasMailboxStore.state.threads = [...threads, ...this.nylasMailboxStore.state.threads];\n break;\n case 'append':\n this.nylasMailboxStore.state.threads = [...this.nylasMailboxStore.state.threads, ...threads];\n break;\n case 'overwrite':\n default:\n this.nylasMailboxStore.state.threads = threads;\n break;\n }\n\n // If we have a next cursor, set it in the store.\n if (response.next_cursor) {\n this.nylasMailboxStore.state.nextThreadPageToken = response.next_cursor;\n } else {\n this.nylasMailboxStore.state.nextThreadPageToken = null;\n }\n\n // Set the state to ready.\n if (updateState) {\n this.nylasMailboxStore.state.state = 'ready';\n }\n\n return threads;\n }\n\n public async getThread(threadId: string): Promise<Thread> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing thread:read-only scope');\n }\n\n // Check if we have the thread in the store already.\n const storeThread = this.nylasMailboxStore.state.threads.find(t => t.id === threadId);\n if (storeThread) {\n return storeThread;\n }\n\n // Set the state to loading.\n this.nylasMailboxStore.state.state = 'loading';\n\n // Make the API request.\n const path = `/v3/grants/me/threads/${threadId}`;\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Thread>>(path);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Set the threads in the store.\n const thread = response.data;\n this.nylasMailboxStore.state.threads = this.nylasMailboxStore.state.threads.map(t => {\n if (t.id === thread.id) {\n return thread;\n }\n return t;\n });\n\n // Set the state to ready.\n this.nylasMailboxStore.state.state = 'ready';\n\n return thread;\n }\n\n /**\n * Returns the next page of threads.\n * @param {'prepend' | 'append' | 'overwrite'} updateMethod How to update the store with the threads (default: overwrite).\n * @param {boolean} updateLoadingState Whether to update the loading state or not.\n * @returns {Promise<Thread[]>} The previous page of threads.\n */\n public async nextThreadPage(updateMethod: 'prepend' | 'append' | 'overwrite' = 'overwrite', updateLoadingState: boolean = true): Promise<Thread[]> {\n if (!this.nylasMailboxStore.state.nextThreadPageToken) {\n throw new Error('No next page token');\n }\n\n // If we have a next page token, add it to the previous page tokens.\n this.nylasMailboxStore.state.previousThreadPageTokens = Array.from(\n new Set([...this.nylasMailboxStore.state.previousThreadPageTokens, this.nylasMailboxStore.state.threadsQueryParams.page_token ?? null]),\n );\n\n // Get the last next page token.\n const nextPageToken = this.nylasMailboxStore.state.nextThreadPageToken;\n\n return this.getThreads(\n {\n ...this.nylasMailboxStore.state.threadsQueryParams,\n page_token: nextPageToken,\n },\n updateMethod,\n updateLoadingState,\n );\n }\n\n /**\n * Returns the previous page of threads.\n * @param {'prepend' | 'append' | 'overwrite'} updateMethod How to update the store with the threads (default: overwrite).\n * @param {boolean} updateLoadingState Whether to update the loading state or not.\n * @returns {Promise<Thread[]>} The previous page of threads.\n */\n public async previousThreadPage(aupdateMethod: 'prepend' | 'append' | 'overwrite' = 'overwrite', updateLoadingState: boolean = true): Promise<Thread[]> {\n if (!this.nylasMailboxStore.state.previousThreadPageTokens.length) {\n throw new Error('No previous page token');\n }\n\n // Remove the the last two next page tokens.\n const previousThreadPageTokens = [...this.nylasMailboxStore.state.previousThreadPageTokens];\n const pageToken = previousThreadPageTokens.pop();\n\n // Update the store.\n this.nylasMailboxStore.state.previousThreadPageTokens = previousThreadPageTokens;\n\n return this.getThreads(\n {\n ...this.nylasMailboxStore.state.threadsQueryParams,\n page_token: pageToken ?? undefined,\n },\n aupdateMethod,\n updateLoadingState,\n );\n }\n\n /**\n * Updates the thread query parameters in the store.\n * @param params Partial<ThreadQueryParameters>\n * @returns {void}\n */\n public updateThreadQueryParams(params: Partial<ThreadQueryParameters>): void {\n this.nylasMailboxStore.state.threadsQueryParams = {\n ...this.nylasMailboxStore.state.threadsQueryParams,\n ...params,\n };\n }\n\n /**\n * Back to the mailbox.\n */\n public back(): void {\n this.router.navigate('/', true);\n this.nylasMailboxStore.state.selectedThread = null;\n }\n\n /**\n * Unselects a thread.\n */\n public unSelectThread(): void {\n this.nylasMailboxStore.state.selectedThread = null;\n }\n\n /**\n * Selects a thread.\n * @param {Thread} thread The thread to select.\n * @returns {Promise<void>}\n */\n public async selectThread(thread: Thread): Promise<void> {\n this.router.navigate(`/thread/${thread.id}`, true);\n this.nylasMailboxStore.state.selectedThread = thread;\n\n // Mark the thread as read (async) if it is unread.\n if (thread.unread) {\n this.markThreadAsRead(thread).catch(error => {\n debug('Error marking thread as read', error);\n });\n }\n }\n\n /**\n * Marks a thread as read.\n * @param thread\n * @returns {Promise<Thread>}\n */\n public async markThreadAsRead(thread: Thread): Promise<Thread> {\n return this.updateThread(thread, { unread: false });\n }\n\n /**\n * Updates a thread.\n * @param thread The thread to update.\n * @returns {Promise<Thread>}\n */\n public async updateThread(thread: Thread, updateThread: Partial<Thread>): Promise<Thread> {\n // Make sure we have an authenticated user.\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a modify scope at least.\n if (!this.nylasAuth.hasScopeByType('email', 'modify')) {\n throw new Error('Missing thread:modify scope');\n }\n\n // Make the API request.\n const path = `/v3/grants/me/threads/${thread.id}`;\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Thread>>(path, 'PUT', updateThread);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Update the thread in the store.\n const updatedThread = response.data;\n this.nylasMailboxStore.state.threads = this.nylasMailboxStore.state.threads.map(t => {\n if (t.id === updatedThread.id) {\n return updatedThread;\n }\n return t;\n });\n this.nylasMailboxStore.state.selectedThread = updatedThread;\n\n return updatedThread;\n }\n}\n","import { Folder, NylasAPIError, NylasAuthType, NylasResponse, isNylasErrorResponse } from '@nylas/core';\nimport { NylasAuthStoreType, NylasMailboxStoreType } from '../../../components';\n\nexport class NylasFoldersConnector {\n private nylasAuth: NylasAuthType;\n private nylasAuthStore: NylasAuthStoreType;\n private nylasMailboxStore: NylasMailboxStoreType;\n\n constructor(nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType, nylasMailboxStore: NylasMailboxStoreType) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasMailboxStore = nylasMailboxStore;\n }\n\n /**\n * Returns the list of folders.\n */\n public async getFolders(): Promise<Folder[]> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing thread:read-only scope');\n }\n\n // Set the state to loading.\n this.nylasMailboxStore.state.state = 'loading';\n\n // Make the API request.\n const path = `/v3/grants/me/folders`;\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Folder[]>>(path);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Set the threads in the store.\n const folders = response.data;\n this.nylasMailboxStore.state.folders = folders;\n\n // Set the state to ready.\n this.nylasMailboxStore.state.state = 'ready';\n\n return folders;\n }\n\n public async selectFolder(folder: Folder) {\n this.nylasMailboxStore.state.threadsQueryParams = {\n in: folder.id,\n ...(this.nylasMailboxStore.state.threadsQueryParams || {}),\n };\n }\n}\n","import { debug } from '@/utils/utils';\nimport { RouteListener, RouteParams, RoutePath, RouterInterface } from './router-interface';\n\nexport class PolyFillHashChangeEvent extends Event {\n oldURL?: string;\n newURL?: string;\n\n constructor(type: string, eventInitDict: HashChangeEventInit) {\n super(type, eventInitDict);\n this.oldURL = eventInitDict.oldURL;\n this.newURL = eventInitDict.newURL;\n }\n}\n\nexport class HashRouter implements RouterInterface {\n private routeChangeListeners: [route: RoutePath, RouteListener<any>][] = [];\n\n constructor() {\n debug('HashRouter constructor');\n }\n\n // Destroy the router\n public destroy(): void {\n debug('HashRouter destroy');\n window.removeEventListener('hashchange', this.onRouteChange.bind(this));\n }\n\n // Initialize the router\n public init(): void {\n debug('HashRouter init');\n window.addEventListener('hashchange', this.onRouteChange.bind(this));\n\n // Trigger the initial route change\n if (typeof HashChangeEvent !== 'undefined') {\n const event: HashChangeEvent = new HashChangeEvent('hashchange', { oldURL: '', newURL: window.location.href });\n this.onRouteChange(event);\n } else {\n const event: Event = new PolyFillHashChangeEvent('hashchange', { oldURL: '', newURL: window.location.href });\n this.onRouteChange(event as HashChangeEvent);\n }\n }\n\n public addRouteChangeListener<Path extends RoutePath>(route: Path, listener: RouteListener<Path>): void {\n debug('HashRouter addRouteChangeListener');\n this.routeChangeListeners.push([route, listener]);\n }\n\n public navigate(route: string, shallow: boolean): void {\n debug('HashRouter navigate');\n\n // If we're navigating shallow, don't add a new history entry\n if (shallow) {\n return window.history.pushState(null, '', `#${route}`);\n }\n\n window.location.hash = route;\n }\n\n public setRoute(route: string): void {\n debug('HashRouter setRoute');\n window.location.hash = route;\n }\n\n // Matches a route and executes the callback\n public matchRoute(route: string, path: string): boolean {\n const routeParts = route.split('/');\n const pathParts = path.split('/');\n\n // If the route is `/` an the hash is empty, match the route\n debug(`HashRouter matchRoute route=${route} path=${path}`, { routeParts, pathParts });\n if (routeParts[1] === '' && pathParts[0] === '') {\n return true;\n }\n\n if (routeParts.length !== pathParts.length) {\n return false;\n }\n\n for (let i = 0; i < routeParts.length; i++) {\n const routePart = routeParts[i];\n const pathPart = pathParts[i];\n if (routePart.startsWith(':')) {\n continue;\n }\n if (routePart !== pathPart) {\n return false;\n }\n }\n\n return true;\n }\n\n // Parse the route and return the route params\n public getRouteParams<Path extends RoutePath>(route: Path): RouteParams<Path> {\n debug('HashRouter getRouteParams');\n const routeParams: RouteParams<Path> = {} as RouteParams<Path>;\n const routeParts = route.split('/');\n const routeConfigParts = window.location.hash.split('/');\n routeParts.forEach((routePart, index) => {\n if (routePart.startsWith(':')) {\n const key = routePart.substring(1) as keyof RouteParams<Path>;\n routeParams[key] = routeConfigParts[index] as RouteParams<Path>[keyof RouteParams<Path>]; // Cast the value to string\n }\n });\n return routeParams;\n }\n\n public getRouteWithParams(route: string, routeParams: Record<string, any>): string {\n debug('HashRouter getRouteWithParams');\n let routeWithParams = route;\n Object.keys(routeParams).forEach(key => {\n routeWithParams = routeWithParams.replace(`:${key}`, routeParams[key]);\n });\n return routeWithParams;\n }\n\n public getRoute(): string {\n debug('HashRouter getRoute');\n return window.location.hash;\n }\n\n public onRouteChange(event: HashChangeEvent): void {\n this.routeChangeListeners.forEach(async ([route, listener]) => {\n const path = event.newURL.indexOf('#') === -1 ? '' : event.newURL.substring(event.newURL.indexOf('#') + 1);\n debug(`HashRouter onRouteChange route=${route} path=${path}`, { event });\n if (!this.matchRoute(route, path)) {\n debug(`HashRouter onRouteChange route=${route} path=${path} does not match`);\n return;\n }\n const routeParams = this.getRouteParams(route) as RouteParams<RoutePath>;\n await listener(route, path, routeParams);\n });\n }\n\n public getBasePath(): string {\n debug('HashRouter getBasePath');\n return '';\n }\n}\n","import { TokenInfo } from '@nylas/core/dist/auth';\nimport { createStore } from '@stencil/store';\nimport { DataState } from '..';\n\nexport interface NylasAuthStoreState {\n isAuthenticated: boolean;\n tokenInfo: TokenInfo | null;\n state: DataState;\n}\n\nexport type NylasAuthStoreType = ReturnType<typeof CreateNylasAuthStore>;\n\nexport function CreateNylasAuthStore(defaultState: Partial<NylasAuthStoreState> = {}) {\n const defaultNylasStoreState: NylasAuthStoreState = {\n isAuthenticated: false,\n tokenInfo: null,\n state: 'ready',\n ...defaultState,\n };\n const store = createStore<NylasAuthStoreState>(defaultNylasStoreState);\n\n /**\n * Reset the Nylas store to its default state.\n * There is something wrong with the stencil/store reset method,\n * so we have to do it via this hack.\n */\n store.reset = () => {\n for (const key in defaultNylasStoreState) {\n const value = defaultNylasStoreState[key as keyof typeof defaultNylasStoreState];\n store.set(key as any, value);\n }\n };\n\n return store;\n}\n","import type { Folder, Message, MessageQueryParameters, Thread, ThreadQueryParameters } from '@nylas/core';\nimport { createStore } from '@stencil/store';\nimport { DataState } from '../components';\n\nexport interface NylasMailboxStoreState {\n state: DataState;\n messages: Message[];\n threads: Thread[];\n folders: Folder[];\n selectedThread: Thread | null;\n selectedFolder: string;\n searchQuery: string;\n\n nextThreadPageToken: string | null;\n previousThreadPageTokens: (string | null)[];\n hasNextThreadPage: boolean;\n hasPreviousThreadPage: boolean;\n threadsQueryParams: Partial<ThreadQueryParameters>;\n messgeQueryParams: Partial<MessageQueryParameters>;\n}\n\nexport type NylasMailboxStoreType = ReturnType<typeof CreateNylasMailboxStore>;\n\nexport function CreateNylasMailboxStore(defaultState: Partial<NylasMailboxStoreState> = {}) {\n const defaultNylasStoreState: NylasMailboxStoreState = {\n state: 'ready',\n\n messages: [],\n threads: [],\n folders: [],\n selectedThread: null,\n nextThreadPageToken: null,\n previousThreadPageTokens: [],\n searchQuery: '',\n\n hasNextThreadPage: false,\n hasPreviousThreadPage: false,\n\n selectedFolder: 'inbox',\n\n threadsQueryParams: {\n in: 'inbox',\n },\n messgeQueryParams: {\n fields: 'include_headers',\n },\n ...defaultState,\n };\n\n const store = createStore<NylasMailboxStoreState>({ ...defaultNylasStoreState });\n\n // Set our hasNextThreadPage if nextThreadPageToken is not null.\n store.onChange('nextThreadPageToken', nextThreadPageToken => {\n store.set('hasNextThreadPage', nextThreadPageToken !== null);\n });\n // Set our hasPreviousThreadPage if previousThreadPageTokens is not empty.\n store.onChange('previousThreadPageTokens', previousThreadPageTokens => {\n store.set('hasPreviousThreadPage', previousThreadPageTokens.length > 0);\n });\n\n // When threadsQueryParams changes...\n store.onChange('threadsQueryParams', threadsQueryParams => {\n // set our selectedFolder to the in param.\n store.set('selectedFolder', threadsQueryParams.in || 'inbox');\n // set our searchQuery to the search_query_native param.\n store.set('searchQuery', threadsQueryParams.search_query_native || '');\n });\n\n store.reset = () => {\n for (const key in defaultNylasStoreState) {\n const value = defaultNylasStoreState[key as keyof typeof defaultNylasStoreState];\n store.set(key as any, value);\n }\n };\n\n return store;\n}\n"],"version":3}
1
+ {"file":"mailbox-store-14531fd4.js","mappings":"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","names":["debug","isNylasErrorResponse","NylasAPIError","createStore"],"sources":["src/connector/shared/api/auth.ts","src/connector/shared/api/messages.ts","src/connector/shared/api/threads.ts","src/connector/shared/api/folders.ts","src/routers/hash-router.ts","src/stores/auth-store.ts","src/stores/mailbox-store.ts"],"sourcesContent":["import { debug } from '@/utils/utils';\nimport { NylasAuthStoreType, NylasAuthType, TokenInfo } from '../../..';\n\nexport class NylasAuthConnector {\n private nylasAuth: NylasAuthType;\n private nylasAuthStore: NylasAuthStoreType;\n\n constructor(nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n }\n\n /**\n * Validates the current session and updates the store with the token info\n * if the user is authenticated.\n * If the user is not authenticated, the store is reset.\n * @returns {Promise<void>}\n */\n public async validateSession(): Promise<void> {\n const isAuthenticated = await this.isAccessTokenValid();\n if (!isAuthenticated) {\n // Reset the store if the access token is not valid\n this.logout();\n } else {\n // If the user is authenticated, update the store with the token info\n let tokenInfo = await this.nylasAuth.getTokenInfo();\n if (tokenInfo) {\n // If token is expired or about to expire (in 5 minutes), refresh it\n const expireTimeCheck = 5 * 60 * 1000; // 5 minutes\n const currentTimeInSeconds = Math.floor(Date.now() / 1000);\n\n if (tokenInfo.expires_in && tokenInfo.expires_in - currentTimeInSeconds < expireTimeCheck) {\n debug('[NylasAuthConnectorMixin] Refreshing access token');\n tokenInfo = await this.nylasAuth.refreshAccessToken();\n if (!tokenInfo) {\n debug('[NylasAuthConnectorMixin] Token is expired and could not be refreshed. Logging out.');\n this.logout();\n return;\n }\n }\n\n this.nylasAuthStore.state.tokenInfo = tokenInfo;\n }\n }\n this.nylasAuthStore.state.isAuthenticated = isAuthenticated;\n }\n\n /**\n * Returns true if the user is authenticated.\n * @returns {Promise<boolean>}\n */\n public async isAuthenticated(): Promise<boolean> {\n return this.nylasAuth.isAuthenticated();\n }\n\n /**\n * Returns the token info if the user is authenticated.\n * @returns {Promise<TokenInfo>}\n */\n public async getTokenInfo(): Promise<TokenInfo | null> {\n return this.nylasAuth.getTokenInfo();\n }\n\n /**\n * Returns true if the access token is valid.\n * @returns {Promise<boolean>}\n */\n public async isAccessTokenValid(): Promise<boolean> {\n return this.nylasAuth.isAccessTokenValid();\n }\n\n /**\n * Removes the token info from the store and logs the user out.\n * @returns {Promise<void>}\n */\n public async logout(): Promise<void> {\n await this.nylasAuth.logout();\n }\n\n /**\n * Returns the URL to redirect the user to for authentication.\n * @param scopes An array of scopes to request from the user.\n * @param email The email address of the user to authenticate.\n * @param provider The provider to use for authentication.\n * @returns {Promise<string>}\n */\n public async getHostedAuthRedirectURL(scopes?: string[], email?: string, provider?: string): Promise<string> {\n return this.nylasAuth.getHostedAuthRedirectURL(scopes, email, provider);\n }\n\n /**\n * Exchanges the auth code for a token info and updates the store.\n * @param currentUrl The current URL of the page.\n * @returns {Promise<TokenInfo | null>}\n */\n public async manageHostedAuthCodeExchange(currentUrl: string): Promise<TokenInfo | null> {\n const url = new URL(currentUrl);\n const code = url.searchParams.get('code');\n\n if (code) {\n const tokenInfo = await this.nylasAuth.exchangeAuthCodeForTokenInfo(code);\n if (tokenInfo) {\n this.nylasAuthStore.state.tokenInfo = tokenInfo;\n this.nylasAuthStore.state.isAuthenticated = true;\n return tokenInfo;\n }\n }\n\n return null;\n }\n}\n","import { Message, NylasAPIError, NylasAuthType, NylasResponse, isNylasErrorResponse } from '@nylas/core';\nimport { NylasAuthStoreType, NylasMailboxStoreType } from '../../../components';\n\nexport class NylasMessagesConnector {\n private nylasAuth: NylasAuthType;\n private nylasAuthStore: NylasAuthStoreType;\n private nylasMailboxStore: NylasMailboxStoreType;\n\n constructor(nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType, nylasMailboxStore: NylasMailboxStoreType) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasMailboxStore = nylasMailboxStore;\n }\n\n /**\n * Returns the list of messages.\n * @returns {Promise<Message[]>}\n */\n public async getMessages(): Promise<Message[]> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n // Set the state to loading.\n this.nylasMailboxStore.state.state = 'loading';\n\n // Get the message query parameters from the store.\n const queryParams = this.nylasMailboxStore.state.messgeQueryParams;\n\n // Build the URLSearchParams object.\n const params = new URLSearchParams();\n for (const key in queryParams) {\n const value = queryParams[key as keyof typeof queryParams]?.toString();\n if (value) {\n params.append(key, value);\n }\n }\n\n // Build the URL with the query parameters\n const path = `/v3/grants/me/messages?${params.toString()}`;\n\n // Make the API request.\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Message[]>>(path);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Set the messages in the store.\n const messages = response.data;\n this.nylasMailboxStore.state.messages = messages;\n\n // Set the state to ready.\n this.nylasMailboxStore.state.state = 'ready';\n\n return messages;\n }\n\n /**\n * Returns the list of messages for a given thread.\n * @param {string} threadId The thread ID.\n * @returns {Promise<Message[]>}\n * @throws {NylasAPIError}\n */\n public async getThreadMessages(threadId: string): Promise<Message[]> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Message[]>>(`/v3/grants/me/messages?thread_id=${threadId}&fields=include_headers`);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n const messages = response.data;\n this.nylasMailboxStore.state.messages = messages;\n\n return messages;\n }\n\n /**\n * Downloads the attachments for a given message.\n * @param message The message to download attachments for.\n * @returns {Promise<Blob>[]} An array of promises that will resolve to a Blob.\n */\n public downloadMessageAttachments(message: Message): Promise<Blob>[] {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n // We'll go through each attachment and download it.\n const blobPromises: Promise<Blob>[] = [];\n const attachments = message.attachments || [];\n for (const attachment of attachments) {\n const blob = this.nylasAuth.nylasDownloadFileRequest(`/v3/grants/me/attachments/${attachment.id}?message_id=${message.id}`);\n blobPromises.push(blob);\n }\n\n return blobPromises;\n }\n\n /**\n * Returns a summarized version of the given text.\n * @param text The non-HTML text to summarize.\n * @returns {Promise<string>} The summarized text.\n */\n public async summarizeText(text: string): Promise<string> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<{ summary: string }>>(\n `/v3/grants/me/mailbox/summarize`,\n 'POST',\n {\n message: {\n body: text,\n },\n },\n true,\n this.nylasAuth.config.elementsApiUri,\n );\n\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n return response.data.summary;\n }\n\n /**\n * Returns a summarized version of the given message.\n * @param message The message to summarize.\n * @returns {Promise<ReadableStream<Uint8Array> | null>} Returns a Fetch API response.\n */\n public async textToSpeech(text: string, abortController?: AbortController): Promise<ReadableStream<Uint8Array> | null> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing message:read-only scope');\n }\n\n return this.nylasAuth.nylasAPIRequest(\n `/v3/grants/me/mailbox/tts`,\n 'POST',\n {\n text,\n },\n false,\n this.nylasAuth.config.elementsApiUri,\n {\n ...(abortController ? { signal: abortController?.signal } : {}),\n },\n );\n }\n}\n","import { debug } from '@/utils/utils';\nimport { NylasAPIError, NylasAuthType, NylasResponse, Thread, ThreadQueryParameters, isNylasErrorResponse } from '@nylas/core';\nimport { NylasAuthStoreType, NylasMailboxStoreType } from '../../../components';\nimport { RouterInterface } from '@/routers/router-interface';\n\nexport class NylasThreadsConnector {\n private nylasAuth: NylasAuthType;\n private nylasAuthStore: NylasAuthStoreType;\n private nylasMailboxStore: NylasMailboxStoreType;\n private router: RouterInterface;\n\n constructor(nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType, nylasMailboxStore: NylasMailboxStoreType, router: RouterInterface) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasMailboxStore = nylasMailboxStore;\n this.router = router;\n }\n\n /**\n * Returns the list of threads.\n * @todo Re-think how we handle pagination (previous/next page tokens) - there is a separation of logic here that might be confusing.\n * @param {Partial<ThreadQueryParameters> | undefined} overrideQueryParams The query parameters to override from the store.\n * @param {'prepend' | 'append' | 'overwrite'} updateMethod How to update the store with the threads (default: overwrite).\n * @param {boolean} updateState Whether to update the state or not (default: true).\n * @returns {Promise<Thread[]>}\n */\n public async getThreads(\n overrideQueryParams?: Partial<ThreadQueryParameters>,\n updateMethod: 'prepend' | 'append' | 'overwrite' = 'overwrite',\n updateState: boolean = true,\n ): Promise<Thread[]> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing thread:read-only scope');\n }\n\n // Set the state to loading.\n if (updateState) {\n this.nylasMailboxStore.state.state = 'loading';\n }\n\n // Build the URL with the query parameters\n const queryParams = overrideQueryParams || this.nylasMailboxStore.state.threadsQueryParams;\n const params = new URLSearchParams();\n for (const key in queryParams) {\n const value = queryParams[key as keyof typeof queryParams]?.toString();\n if (typeof value !== 'undefined' && value !== null) {\n params.append(key, value);\n }\n }\n\n // TODO: Re-think how to update the router, this seems wrong\n if (queryParams.search_query_native) {\n this.router.navigate(`/?query=${queryParams.search_query_native}`, true);\n } else if (this.nylasMailboxStore.state.threadsQueryParams.search_query_native && !queryParams.search_query_native) {\n this.router.navigate('/', true);\n }\n\n // If page_token is not set, reset the previous page tokens.\n if (!queryParams.page_token) {\n this.nylasMailboxStore.state.previousThreadPageTokens = [];\n }\n\n this.nylasMailboxStore.state.threadsQueryParams = queryParams;\n\n // Make the API request.\n const path = `/v3/grants/me/threads?${params.toString()}`;\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Thread[]>>(path);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Set the threads in the store.\n const threads = response.data;\n switch (updateMethod) {\n case 'prepend':\n this.nylasMailboxStore.state.threads = [...threads, ...this.nylasMailboxStore.state.threads];\n break;\n case 'append':\n this.nylasMailboxStore.state.threads = [...this.nylasMailboxStore.state.threads, ...threads];\n break;\n case 'overwrite':\n default:\n this.nylasMailboxStore.state.threads = threads;\n break;\n }\n\n // If we have a next cursor, set it in the store.\n if (response.next_cursor) {\n this.nylasMailboxStore.state.nextThreadPageToken = response.next_cursor;\n } else {\n this.nylasMailboxStore.state.nextThreadPageToken = null;\n }\n\n // Set the state to ready.\n if (updateState) {\n this.nylasMailboxStore.state.state = 'ready';\n }\n\n return threads;\n }\n\n public async getThread(threadId: string): Promise<Thread> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing thread:read-only scope');\n }\n\n // Check if we have the thread in the store already.\n const storeThread = this.nylasMailboxStore.state.threads.find(t => t.id === threadId);\n if (storeThread) {\n return storeThread;\n }\n\n // Set the state to loading.\n this.nylasMailboxStore.state.state = 'loading';\n\n // Make the API request.\n const path = `/v3/grants/me/threads/${threadId}`;\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Thread>>(path);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Set the threads in the store.\n const thread = response.data;\n this.nylasMailboxStore.state.threads = this.nylasMailboxStore.state.threads.map(t => {\n if (t.id === thread.id) {\n return thread;\n }\n return t;\n });\n\n // Set the state to ready.\n this.nylasMailboxStore.state.state = 'ready';\n\n return thread;\n }\n\n /**\n * Returns the next page of threads.\n * @param {'prepend' | 'append' | 'overwrite'} updateMethod How to update the store with the threads (default: overwrite).\n * @param {boolean} updateLoadingState Whether to update the loading state or not.\n * @returns {Promise<Thread[]>} The previous page of threads.\n */\n public async nextThreadPage(updateMethod: 'prepend' | 'append' | 'overwrite' = 'overwrite', updateLoadingState: boolean = true): Promise<Thread[]> {\n if (!this.nylasMailboxStore.state.nextThreadPageToken) {\n throw new Error('No next page token');\n }\n\n // If we have a next page token, add it to the previous page tokens.\n this.nylasMailboxStore.state.previousThreadPageTokens = Array.from(\n new Set([...this.nylasMailboxStore.state.previousThreadPageTokens, this.nylasMailboxStore.state.threadsQueryParams.page_token ?? null]),\n );\n\n // Get the last next page token.\n const nextPageToken = this.nylasMailboxStore.state.nextThreadPageToken;\n\n return this.getThreads(\n {\n ...this.nylasMailboxStore.state.threadsQueryParams,\n page_token: nextPageToken,\n },\n updateMethod,\n updateLoadingState,\n );\n }\n\n /**\n * Returns the previous page of threads.\n * @param {'prepend' | 'append' | 'overwrite'} updateMethod How to update the store with the threads (default: overwrite).\n * @param {boolean} updateLoadingState Whether to update the loading state or not.\n * @returns {Promise<Thread[]>} The previous page of threads.\n */\n public async previousThreadPage(aupdateMethod: 'prepend' | 'append' | 'overwrite' = 'overwrite', updateLoadingState: boolean = true): Promise<Thread[]> {\n if (!this.nylasMailboxStore.state.previousThreadPageTokens.length) {\n throw new Error('No previous page token');\n }\n\n // Remove the the last two next page tokens.\n const previousThreadPageTokens = [...this.nylasMailboxStore.state.previousThreadPageTokens];\n const pageToken = previousThreadPageTokens.pop();\n\n // Update the store.\n this.nylasMailboxStore.state.previousThreadPageTokens = previousThreadPageTokens;\n\n return this.getThreads(\n {\n ...this.nylasMailboxStore.state.threadsQueryParams,\n page_token: pageToken ?? undefined,\n },\n aupdateMethod,\n updateLoadingState,\n );\n }\n\n /**\n * Updates the thread query parameters in the store.\n * @param params Partial<ThreadQueryParameters>\n * @returns {void}\n */\n public updateThreadQueryParams(params: Partial<ThreadQueryParameters>): void {\n this.nylasMailboxStore.state.threadsQueryParams = {\n ...this.nylasMailboxStore.state.threadsQueryParams,\n ...params,\n };\n }\n\n /**\n * Back to the mailbox.\n */\n public back(): void {\n this.router.navigate('/', true);\n this.nylasMailboxStore.state.selectedThread = null;\n }\n\n /**\n * Unselects a thread.\n */\n public unSelectThread(): void {\n this.nylasMailboxStore.state.selectedThread = null;\n }\n\n /**\n * Selects a thread.\n * @param {Thread} thread The thread to select.\n * @returns {Promise<void>}\n */\n public async selectThread(thread: Thread): Promise<void> {\n this.router.navigate(`/thread/${thread.id}`, true);\n this.nylasMailboxStore.state.selectedThread = thread;\n\n // Mark the thread as read (async) if it is unread.\n if (thread.unread) {\n this.markThreadAsRead(thread).catch(error => {\n debug('Error marking thread as read', error);\n });\n }\n }\n\n /**\n * Marks a thread as read.\n * @param thread\n * @returns {Promise<Thread>}\n */\n public async markThreadAsRead(thread: Thread): Promise<Thread> {\n return this.updateThread(thread, { unread: false });\n }\n\n /**\n * Updates a thread.\n * @param thread The thread to update.\n * @returns {Promise<Thread>}\n */\n public async updateThread(thread: Thread, updateThread: Partial<Thread>): Promise<Thread> {\n // Make sure we have an authenticated user.\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a modify scope at least.\n if (!this.nylasAuth.hasScopeByType('email', 'modify')) {\n throw new Error('Missing thread:modify scope');\n }\n\n // Make the API request.\n const path = `/v3/grants/me/threads/${thread.id}`;\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Thread>>(path, 'PUT', updateThread);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Update the thread in the store.\n const updatedThread = response.data;\n this.nylasMailboxStore.state.threads = this.nylasMailboxStore.state.threads.map(t => {\n if (t.id === updatedThread.id) {\n return updatedThread;\n }\n return t;\n });\n this.nylasMailboxStore.state.selectedThread = updatedThread;\n\n return updatedThread;\n }\n}\n","import { Folder, NylasAPIError, NylasAuthType, NylasResponse, isNylasErrorResponse } from '@nylas/core';\nimport { NylasAuthStoreType, NylasMailboxStoreType } from '../../../components';\n\nexport class NylasFoldersConnector {\n private nylasAuth: NylasAuthType;\n private nylasAuthStore: NylasAuthStoreType;\n private nylasMailboxStore: NylasMailboxStoreType;\n\n constructor(nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType, nylasMailboxStore: NylasMailboxStoreType) {\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasMailboxStore = nylasMailboxStore;\n }\n\n /**\n * Returns the list of folders.\n */\n public async getFolders(): Promise<Folder[]> {\n if (!this.nylasAuthStore.state.isAuthenticated) {\n throw new Error('Not authenticated');\n }\n\n // Now make sure we have a read-only or modify scopes\n if (!this.nylasAuth.hasScopeByType('email', ['read-only', 'modify'])) {\n throw new Error('Missing thread:read-only scope');\n }\n\n // Set the state to loading.\n this.nylasMailboxStore.state.state = 'loading';\n\n // Make the API request.\n const path = `/v3/grants/me/folders`;\n const response = await this.nylasAuth.nylasAPIRequest<NylasResponse<Folder[]>>(path);\n if (isNylasErrorResponse(response)) {\n throw new NylasAPIError(response.error);\n }\n\n // Set the threads in the store.\n const folders = response.data;\n this.nylasMailboxStore.state.folders = folders;\n\n // Set the state to ready.\n this.nylasMailboxStore.state.state = 'ready';\n\n return folders;\n }\n\n public async selectFolder(folder: Folder) {\n this.nylasMailboxStore.state.threadsQueryParams = {\n in: folder.id,\n ...(this.nylasMailboxStore.state.threadsQueryParams || {}),\n };\n }\n}\n","import { debug } from '@/utils/utils';\nimport { RouteListener, RouteParams, RoutePath, RouterInterface } from './router-interface';\n\nexport class PolyFillHashChangeEvent extends Event {\n oldURL?: string;\n newURL?: string;\n\n constructor(type: string, eventInitDict: HashChangeEventInit) {\n super(type, eventInitDict);\n this.oldURL = eventInitDict.oldURL;\n this.newURL = eventInitDict.newURL;\n }\n}\n\nexport class HashRouter implements RouterInterface {\n private routeChangeListeners: [route: RoutePath, RouteListener<any>][] = [];\n\n constructor() {\n debug('HashRouter constructor');\n }\n\n // Destroy the router\n public destroy(): void {\n debug('HashRouter destroy');\n window.removeEventListener('hashchange', this.onRouteChange.bind(this));\n }\n\n // Initialize the router\n public init(): void {\n debug('HashRouter init');\n window.addEventListener('hashchange', this.onRouteChange.bind(this));\n\n // Trigger the initial route change\n if (typeof HashChangeEvent !== 'undefined') {\n const event: HashChangeEvent = new HashChangeEvent('hashchange', { oldURL: '', newURL: window.location.href });\n this.onRouteChange(event);\n } else {\n const event: Event = new PolyFillHashChangeEvent('hashchange', { oldURL: '', newURL: window.location.href });\n this.onRouteChange(event as HashChangeEvent);\n }\n }\n\n public addRouteChangeListener<Path extends RoutePath>(route: Path, listener: RouteListener<Path>): void {\n debug('HashRouter addRouteChangeListener');\n this.routeChangeListeners.push([route, listener]);\n }\n\n public navigate(route: string, shallow: boolean): void {\n debug('HashRouter navigate');\n\n // If we're navigating shallow, don't add a new history entry\n if (shallow) {\n return window.history.pushState(null, '', `#${route}`);\n }\n\n window.location.hash = route;\n }\n\n public setRoute(route: string): void {\n debug('HashRouter setRoute');\n window.location.hash = route;\n }\n\n // Matches a route and executes the callback\n public matchRoute(route: string, path: string): boolean {\n const routeParts = route.split('/');\n const pathParts = path.split('/');\n\n // If the route is `/` an the hash is empty, match the route\n debug(`HashRouter matchRoute route=${route} path=${path}`, { routeParts, pathParts });\n if (routeParts[1] === '' && pathParts[0] === '') {\n return true;\n }\n\n if (routeParts.length !== pathParts.length) {\n return false;\n }\n\n for (let i = 0; i < routeParts.length; i++) {\n const routePart = routeParts[i];\n const pathPart = pathParts[i];\n if (routePart.startsWith(':')) {\n continue;\n }\n if (routePart !== pathPart) {\n return false;\n }\n }\n\n return true;\n }\n\n // Parse the route and return the route params\n public getRouteParams<Path extends RoutePath>(route: Path): RouteParams<Path> {\n debug('HashRouter getRouteParams');\n const routeParams: RouteParams<Path> = {} as RouteParams<Path>;\n const routeParts = route.split('/');\n const routeConfigParts = window.location.hash.split('/');\n routeParts.forEach((routePart, index) => {\n if (routePart.startsWith(':')) {\n const key = routePart.substring(1) as keyof RouteParams<Path>;\n routeParams[key] = routeConfigParts[index] as RouteParams<Path>[keyof RouteParams<Path>]; // Cast the value to string\n }\n });\n return routeParams;\n }\n\n public getRouteWithParams(route: string, routeParams: Record<string, any>): string {\n debug('HashRouter getRouteWithParams');\n let routeWithParams = route;\n Object.keys(routeParams).forEach(key => {\n routeWithParams = routeWithParams.replace(`:${key}`, routeParams[key]);\n });\n return routeWithParams;\n }\n\n public getRoute(): string {\n debug('HashRouter getRoute');\n return window.location.hash;\n }\n\n public onRouteChange(event: HashChangeEvent): void {\n this.routeChangeListeners.forEach(async ([route, listener]) => {\n const path = event.newURL.indexOf('#') === -1 ? '' : event.newURL.substring(event.newURL.indexOf('#') + 1);\n debug(`HashRouter onRouteChange route=${route} path=${path}`, { event });\n if (!this.matchRoute(route, path)) {\n debug(`HashRouter onRouteChange route=${route} path=${path} does not match`);\n return;\n }\n const routeParams = this.getRouteParams(route) as RouteParams<RoutePath>;\n await listener(route, path, routeParams);\n });\n }\n\n public getBasePath(): string {\n debug('HashRouter getBasePath');\n return '';\n }\n}\n","import { TokenInfo } from '@nylas/core/dist/auth';\nimport { createStore } from '@stencil/store';\nimport { DataState } from '..';\n\nexport interface NylasAuthStoreState {\n isAuthenticated: boolean;\n tokenInfo: TokenInfo | null;\n state: DataState;\n}\n\nexport type NylasAuthStoreType = ReturnType<typeof CreateNylasAuthStore>;\n\nexport function CreateNylasAuthStore(defaultState: Partial<NylasAuthStoreState> = {}) {\n const defaultNylasStoreState: NylasAuthStoreState = {\n isAuthenticated: false,\n tokenInfo: null,\n state: 'ready',\n ...defaultState,\n };\n const store = createStore<NylasAuthStoreState>(defaultNylasStoreState);\n\n /**\n * Reset the Nylas store to its default state.\n * There is something wrong with the stencil/store reset method,\n * so we have to do it via this hack.\n */\n store.reset = () => {\n for (const key in defaultNylasStoreState) {\n const value = defaultNylasStoreState[key as keyof typeof defaultNylasStoreState];\n store.set(key as any, value);\n }\n };\n\n return store;\n}\n","import type { Folder, Message, MessageQueryParameters, Thread, ThreadQueryParameters } from '@nylas/core';\nimport { createStore } from '@stencil/store';\nimport { DataState } from '../components';\n\nexport interface NylasMailboxStoreState {\n state: DataState;\n messages: Message[];\n threads: Thread[];\n folders: Folder[];\n selectedThread: Thread | null;\n selectedFolder: string;\n searchQuery: string;\n\n nextThreadPageToken: string | null;\n previousThreadPageTokens: (string | null)[];\n hasNextThreadPage: boolean;\n hasPreviousThreadPage: boolean;\n threadsQueryParams: Partial<ThreadQueryParameters>;\n messgeQueryParams: Partial<MessageQueryParameters>;\n}\n\nexport type NylasMailboxStoreType = ReturnType<typeof CreateNylasMailboxStore>;\n\nexport function CreateNylasMailboxStore(defaultState: Partial<NylasMailboxStoreState> = {}) {\n const defaultNylasStoreState: NylasMailboxStoreState = {\n state: 'ready',\n\n messages: [],\n threads: [],\n folders: [],\n selectedThread: null,\n nextThreadPageToken: null,\n previousThreadPageTokens: [],\n searchQuery: '',\n\n hasNextThreadPage: false,\n hasPreviousThreadPage: false,\n\n selectedFolder: 'inbox',\n\n threadsQueryParams: {\n in: 'inbox',\n },\n messgeQueryParams: {\n fields: 'include_headers',\n },\n ...defaultState,\n };\n\n const store = createStore<NylasMailboxStoreState>({ ...defaultNylasStoreState });\n\n // Set our hasNextThreadPage if nextThreadPageToken is not null.\n store.onChange('nextThreadPageToken', nextThreadPageToken => {\n store.set('hasNextThreadPage', nextThreadPageToken !== null);\n });\n // Set our hasPreviousThreadPage if previousThreadPageTokens is not empty.\n store.onChange('previousThreadPageTokens', previousThreadPageTokens => {\n store.set('hasPreviousThreadPage', previousThreadPageTokens.length > 0);\n });\n\n // When threadsQueryParams changes...\n store.onChange('threadsQueryParams', threadsQueryParams => {\n // set our selectedFolder to the in param.\n store.set('selectedFolder', threadsQueryParams.in || 'inbox');\n // set our searchQuery to the search_query_native param.\n store.set('searchQuery', threadsQueryParams.search_query_native || '');\n });\n\n store.reset = () => {\n for (const key in defaultNylasStoreState) {\n const value = defaultNylasStoreState[key as keyof typeof defaultNylasStoreState];\n store.set(key as any, value);\n }\n };\n\n return store;\n}\n"],"version":3}
@@ -13,7 +13,7 @@ const MicrosoftLogoIcon = class {
13
13
  this.height = '22';
14
14
  }
15
15
  render() {
16
- return (index.h("svg", { key: '9c6a5f616c9e25067b87916d304b0cd32b00f083', width: this.width, height: this.height, viewBox: "0 0 22 22", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: 'bbe87ce62235b96d327cc0dd4dabc78f5273c034', d: "M0.043457 0.043457H10.4782V10.4782H0.043457V0.043457Z", fill: "#F35325" }), index.h("path", { key: 'de6dd97b42e8103d81cad275c722b36e5b5233b5', d: "M11.5217 0.043457H21.9565V10.4782H11.5217V0.043457Z", fill: "#81BC06" }), index.h("path", { key: 'b13b204df603dd53a9f4aba4af8a502a224ff580', d: "M0.043457 11.5217H10.4782V21.9565H0.043457V11.5217Z", fill: "#05A6F0" }), index.h("path", { key: '372e3c35aae7f712309a0d97c54f5e92741f6eb7', d: "M11.5217 11.5217H21.9565V21.9565H11.5217V11.5217Z", fill: "#FFBA08" })));
16
+ return (index.h("svg", { key: '48516ac28c70d446ba44e3b65252920c4e8d3b06', width: this.width, height: this.height, viewBox: "0 0 22 22", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: '29c0f58e11eb99e946fd2dcb33ef603620305d9d', d: "M0.043457 0.043457H10.4782V10.4782H0.043457V0.043457Z", fill: "#F35325" }), index.h("path", { key: '6b5303ad19e48b6c0ad9842ee748dc7db17e2a68', d: "M11.5217 0.043457H21.9565V10.4782H11.5217V0.043457Z", fill: "#81BC06" }), index.h("path", { key: '278ce5362ac072c57040ad1bf944557f71809b5f', d: "M0.043457 11.5217H10.4782V21.9565H0.043457V11.5217Z", fill: "#05A6F0" }), index.h("path", { key: '9c2b9b9c87a902dd80cae38db0c46c94435903c2', d: "M11.5217 11.5217H21.9565V21.9565H11.5217V11.5217Z", fill: "#FFBA08" })));
17
17
  }
18
18
  };
19
19
  MicrosoftLogoIcon.style = iconCss;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-c14ea8f5.js');
6
- const utils = require('./utils-53298b01.js');
6
+ const utils = require('./utils-2c7f0895.js');
7
7
  require('./_commonjsHelpers-ef8cd0cd.js');
8
8
 
9
9
  const multiSelectDropdownCss = ":host{display:block;width:inherit;--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}.dropdown{display:inline-block;width:100%;position:relative}.dropdown .dropdown-label{display:flex;align-items:center;gap:0.25rem;color:var(--nylas-base-800)}.dropbtn{width:inherit;height:48px;color:black;padding:0.5rem;font-size:1rem;cursor:pointer;display:flex;gap:0.5rem;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn:hover,.dropbtn:active{border:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);width:100%;max-height:336px;overflow:auto;border:1px solid #ddd;z-index:1;border-radius:4px;position:absolute;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content ul li label{display:flex;align-items:center;gap:0.5rem}.dropdown-content ul li label input{margin:0}.selected-options{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0.5rem 0;margin-top:0.25rem;background:var(--nylas-base-0)}.selected-options .selected-option{display:flex;align-items:center;gap:0.5rem;padding:4px 8px;border-radius:var(--nylas-border-radius-2x);background:var(--nylas-base-100);color:var(--nylas-base-800);font-size:16px;font-weight:500;line-height:1.5rem;letter-spacing:0.5px}.selected-options .selected-option button{background:transparent;border:none;cursor:pointer;padding:0}.selected-options .selected-option button:hover{color:var(--nylas-primary)}";
@@ -128,9 +128,9 @@ const MultiSelectDropdown = class {
128
128
  }, class: { selected: !!option.selected } }, index.h("label", { htmlFor: option.value }, index.h("input", { "aria-hidden": "true", id: option.value, type: "checkbox", checked: option.selected }), index.h("span", null, option.label))));
129
129
  }
130
130
  render() {
131
- return (index.h(index.Host, { key: '1cd6593ab9c3fba5bd85b4c6c3b72b5c02d56a06' }, index.h("div", { key: '4824791de73b31be01c7801569564c8444e14d25', class: "dropdown", part: "msd_dropdown" }, index.h("label", { key: '9cfb0b87aa5f514d2030ddb0b7f3a53d49ed623a', class: "dropdown-label" }, this.label, index.h("slot", { key: 'e3e3db4816a4599b82ad9802b50540e4d5029ffe', name: "label-icon", "aria-hidden": "true" })), index.h("button", { key: 'b00feb7b276c455987f5e9d957eecb88ba3bc65e', part: "msd_dropdown-button", class: { dropbtn: true, open: this.isOpen }, onClick: () => this.toggleDropdown(), "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.name, onKeyDown: e => this.handleSelectButtonKeyDown(e) }, index.h("slot", { key: 'e0abc205d785aaada5884a21e0b94f02828ba09c', name: "select-icon", "aria-hidden": "true" }), index.h("span", { key: '9c69fcf904171f8cd7129dcf65d00e4ac2e72c4a', class: "selected-option", part: "msd_dropdown-button-selected-label" }, this.getSelectedOptions().length > 1
131
+ return (index.h(index.Host, { key: '7502de7e6d986d6e2536849703ee28c79b5c1195' }, index.h("div", { key: '1ddfc9626f7864703fee5e0c3c9bfd09036a17ce', class: "dropdown", part: "msd_dropdown" }, index.h("label", { key: '8da2bb175a29fe6680fadfd926e3d05240635391', class: "dropdown-label" }, this.label, index.h("slot", { key: 'e1eccd82254cd095768c3e5ae36cff3134ca747f', name: "label-icon", "aria-hidden": "true" })), index.h("button", { key: '6d56072472b3e51f08e7980ddcff9650fc35c13a', part: "msd_dropdown-button", class: { dropbtn: true, open: this.isOpen }, onClick: () => this.toggleDropdown(), "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.name, onKeyDown: e => this.handleSelectButtonKeyDown(e) }, index.h("slot", { key: '11dee24f8003354b0316e19833e5001c913f4a9e', name: "select-icon", "aria-hidden": "true" }), index.h("span", { key: '65c1709b1be19a34be367455062a4719598f51a2', class: "selected-option", part: "msd_dropdown-button-selected-label" }, this.getSelectedOptions().length > 1
132
132
  ? `Multiple ${this.name}s selected`
133
- : this.availableOptions.filter(o => o.selected)[0]?.label ?? this.availableOptions[0]?.label), index.h("span", { key: '71f33e2a554531bb2cb498f857157bdaa28facea', class: this.isOpen ? 'open' : 'closed', "aria-hidden": "true" }, index.h("chevron-icon", { key: '0f418f723c61306bfa1efb8a5934957d211f3fce', width: "16", height: "16" }))), this.isOpen ? null : (index.h("div", { class: 'selected-options' }, this.getSelectedOptions().map(option => (index.h("span", { class: "selected-option" }, option.label, index.h("button", { key: option.label, onClick: () => this.selectOption(option) }, index.h("close-icon", null))))))), this.isOpen ? (index.h("div", { class: "dropdown-content", part: "msd_dropdown-content" }, index.h("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-multiselectable": true, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: e => this.handleListboxKeydown(e) }, this.availableOptions.map(option => this.renderOption(option))))) : null)));
133
+ : this.availableOptions.filter(o => o.selected)[0]?.label ?? this.availableOptions[0]?.label), index.h("span", { key: '81d7d8b18144b4276f6c19682c8fd78072a8074b', class: this.isOpen ? 'open' : 'closed', "aria-hidden": "true" }, index.h("chevron-icon", { key: '36afd55e13491d5af7af22be2aca5a1dff6c2315', width: "16", height: "16" }))), this.isOpen ? null : (index.h("div", { class: 'selected-options' }, this.getSelectedOptions().map(option => (index.h("span", { class: "selected-option" }, option.label, index.h("button", { key: option.label, onClick: () => this.selectOption(option) }, index.h("close-icon", null))))))), this.isOpen ? (index.h("div", { class: "dropdown-content", part: "msd_dropdown-content" }, index.h("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-multiselectable": true, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: e => this.handleListboxKeydown(e) }, this.availableOptions.map(option => this.renderOption(option))))) : null)));
134
134
  }
135
135
  get el() { return index.getElement(this); }
136
136
  };
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-c14ea8f5.js');
6
- const registerComponent = require('./register-component-f1ebc65d.js');
7
- const utils = require('./utils-53298b01.js');
6
+ const registerComponent = require('./register-component-c8b6e907.js');
7
+ const utils = require('./utils-2c7f0895.js');
8
8
  require('./_commonjsHelpers-ef8cd0cd.js');
9
9
 
10
10
  const nylasAdditionalParticipantsCss = ":host{display:block;margin:1rem;--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-additional-participants__title{color:var(--nylas-base-nylas-base-900-aaa, #101323);font-size:16px;font-style:normal;font-weight:600;line-height:20px;margin:0;text-align:left}.nylas-additional-participants__subtitle{color:var(--nylas-base-600);font-size:14px;font-style:normal;font-weight:400;line-height:20px;margin:0.25rem 0px 0px;text-align:left}.nylas-additional-participants__content{padding:1rem;display:flex;flex-direction:column;gap:1rem}.nylas-additional-participants__input_group{padding-top:8px;display:flex;flex-direction:column;gap:4px}.nylas-additional-participants__input_group label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:14px;font-style:normal;font-weight:400;line-height:150%}.nylas-additional-participants__input_wrapper{display:flex;border-width:1;border-radius:8px;border:1px solid var(--nylas-base-300)}.nylas-additional-participants__input_wrapper button{padding:12px;border:none;background:none;cursor:pointer}.nylas-additional-participants__input_wrapper button:hover,.nylas-additional-participants__input_wrapper button:active{color:var(--nylas-primary)}.nylas-additional-participants__input_wrapper_organizer{background:var(--nylas-base-50)}.nylas-additional-participants__input{flex:1;padding:12px 16px;border-right:1px solid var(--nylas-base-300)}.nylas-additional-participants__input input{border:none;outline:none;background:none;width:100%}.nylas-additional-participants__add{padding:12px;display:flex;align-items:center;border:none;background:none;cursor:pointer}.nylas-additional-participants__add span{padding:0 8px;font-size:16px;font-style:normal;font-weight:500}.nylas-additional-participants__add:hover,.nylas-additional-participants__add:active{color:var(--nylas-primary)}";
@@ -79,7 +79,7 @@ const NylasAdditionalParticipants = class {
79
79
  this.internals.setFormValue(JSON.stringify(this.participants), 'participants');
80
80
  }
81
81
  render() {
82
- return (index.h(index.Host, { key: 'cc6d22c88c41ea406313ab95ec7f90a38704fc5b' }, index.h("nylas-form-card", { key: '033b0b3497b62ee3a17ee8f480a332d6103f143e' }, index.h("h3", { key: 'e88c9a1e05adda093bb0b1a1a85f7c3f36d69684', slot: "header-title", class: "nylas-additional-participants__title", part: "nap__title" }, "Additional participants"), index.h("p", { key: 'aab3da584eecd3437e7d93fc726d1e8718bd066c', slot: "header-subtitle", class: "nylas-additional-participants__subtitle", part: "nap__subtitle" }, "Add anyone else who would be joining for this event."), index.h("div", { key: '0a4d920d8ea788eca41e2fb46b532df4614925b6', slot: "content", class: "nylas-additional-participants__content" }, index.h("div", { key: '9aa1c1e851de4e73b97c022f7eed52c91b8c826f' }, this.participants.map((participant, index$1) => {
82
+ return (index.h(index.Host, { key: 'ebe0dbf83d5474ee92f2cfad34a70754399e0652' }, index.h("nylas-form-card", { key: '629fe506dad5d048c6a9f941b98966ce79be84d3' }, index.h("h3", { key: 'ec27e6784081daff0de147ae92ddc40d50ebe156', slot: "header-title", class: "nylas-additional-participants__title", part: "nap__title" }, "Additional participants"), index.h("p", { key: '1f8824d73a0676d184fde73c5f80493ad86568a7', slot: "header-subtitle", class: "nylas-additional-participants__subtitle", part: "nap__subtitle" }, "Add anyone else who would be joining for this event."), index.h("div", { key: '4db703ffd3c01113814c6d19d36bf89af0a886d3', slot: "content", class: "nylas-additional-participants__content" }, index.h("div", { key: '65ce22e63fcbd4094ac3c75651400cdfcd85afe6' }, this.participants.map((participant, index$1) => {
83
83
  return (index.h("div", { class: 'nylas-additional-participants__input_group', part: "nap__input_group" }, index.h("label", null, participant.is_organizer ? 'Organizer' : `Participant ${index$1}`), index.h("div", { part: "nap__input_wrapper", class: `nylas-additional-participants__input_wrapper ${participant.is_organizer && 'nylas-additional-participants__input_wrapper_organizer'} ${participant.is_valid === false && 'nylas-additional-participants__input_wrapper_invalid'}` }, index.h("div", { class: "nylas-additional-participants__input", part: "nap__input" }, index.h("input", { type: "text", value: participant.email, onInput: e => {
84
84
  this.onParticipantChange(e, index$1);
85
85
  }, readOnly: participant.is_organizer, onBlur: () => this.validate(participant.email, index$1) })), !participant.is_organizer && (index.h("button", { onClick: () => this.removeParticipant(participant.email), part: "nap__remove-participant" }, index.h("close-icon", null))))));
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ const utils = require('./utils-2c7f0895.js');
4
+
3
5
  class NylasApiRequest {
4
6
  }
5
7
  class NylasIdentityRequestWrapper {
@@ -10,12 +12,20 @@ class NylasIdentityRequestWrapper {
10
12
  this.activeGrantId = grantId;
11
13
  }
12
14
  async request({ method, path, body, headers }) {
13
- return this.session.fetch(`grants/me/${path}`, {
14
- method,
15
- headers: headers ? new Headers(headers) : undefined,
16
- body,
17
- ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),
18
- });
15
+ try {
16
+ const response = await this.session.fetch(`grants/me/${path}`, {
17
+ method,
18
+ headers: headers ? new Headers(headers) : undefined,
19
+ body,
20
+ ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),
21
+ });
22
+ return utils.dataResponse(response);
23
+ }
24
+ catch (error) {
25
+ return utils.dataResponse(null, {
26
+ message: String(error),
27
+ });
28
+ }
19
29
  }
20
30
  async currentUser() {
21
31
  const grantId = this.session.isMultiAccount() ? this.activeGrantId : undefined;
@@ -36,4 +46,4 @@ class NylasIdentityRequestWrapper {
36
46
 
37
47
  exports.NylasIdentityRequestWrapper = NylasIdentityRequestWrapper;
38
48
 
39
- //# sourceMappingURL=nylas-api-request-8ec3a89c.js.map
49
+ //# sourceMappingURL=nylas-api-request-2a0e7022.js.map
@@ -0,0 +1 @@
1
+ {"file":"nylas-api-request-2a0e7022.js","mappings":";;;;MA2CsB,eAAe;CAiBpC;MAOY,2BAA2B;IAYtC,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;IAQD,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;KAC9B;IAWD,MAAM,OAAO,CAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAoB;QAChE,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE;gBAC7D,MAAM;gBACN,OAAO,EAAE,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS;gBACnD,IAAI;gBACJ,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC;aACjG,CAAC,CAAC;YACH,OAAOA,kBAAY,CAAC,QAAa,CAAC,CAAC;SACpC;QAAC,OAAO,KAAK,EAAE;YACd,OAAOA,kBAAY,CAAC,IAAS,EAAE;gBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;aACvB,CAAC,CAAC;SACJ;KACF;IAOD,MAAM,WAAW;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,GAAG;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;KACH;IAOD,MAAM,iBAAiB,CAAC,QAAmB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;KAC1C;;;;;","names":["dataResponse"],"sources":["src/common/nylas-api-request.ts"],"sourcesContent":["import { dataResponse } from '@/utils/utils';\nimport type { NylasSessions } from '@nylas/identity';\nimport { DataResponseReturnType } from './types';\n\n/**\n * Arguments for making a request to the Nylas API.\n */\nexport type NylasRequestArgs = {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: any;\n headers?: Record<string, string>;\n};\n\n/**\n * A model representing a user in the Nylas Identity system.\n */\nexport type User = {\n id: string;\n email: string;\n name?: string;\n};\n\n/**\n * Arguments for authenticating a user with the Nylas Identity system.\n */\nexport type AuthArgs = {\n provider?: string;\n scope?: Array<string>;\n loginHint?: string;\n includeGrantScopes?: boolean;\n prompt?: string;\n metadata?: string;\n state?: string;\n};\n\n/**\n * Interface for making requests to the Nylas API.\n *\n * This is an abstract class that is meant to be implemented by customers to provide their own\n * implementation of making requests to the Nylas API. This allows customers to use their own\n * authentication mechanism, or to use a different HTTP client library.\n */\nexport abstract class NylasApiRequest {\n /**\n * This method should make an authenticated request to the Nylas API.\n * Note: It should not throw an error if the request fails, but should return an object with the error\n * information as part of the tuple returned.\n * @param args NylasRequestArgs\n */\n abstract request<T = any>(args: NylasRequestArgs): Promise<DataResponseReturnType<T>>;\n\n /**\n * This method should return the current user's information.\n */\n abstract currentUser(): Promise<User | null>;\n /**\n * This method should return the URL to redirect the user to for authentication.\n */\n abstract authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined>;\n}\n\n/**\n * A wrapper around the Nylas Identity session that implements the NylasApiRequest interface.\n * This class is used by the Nylas Web Elements to make requests to the Nylas API if no custom\n * implementation of NylasApiRequest is provided.\n */\nexport class NylasIdentityRequestWrapper implements NylasApiRequest {\n /**\n * The Nylas Identity session instance.\n */\n private session: NylasSessions;\n\n /**\n * The grant_id to use for requests, if there is multi-account support\n * enabled in the Nylas Identity settings.\n */\n private activeGrantId?: string;\n\n constructor(session: NylasSessions) {\n this.session = session;\n }\n\n /**\n * This method sets the grant_id to use for requests.\n * This is used when there is multi-account support enabled in the Nylas Identity settings.\n *\n * @param grantId\n */\n setActiveGrantId(grantId: string) {\n this.activeGrantId = grantId;\n }\n\n /**\n * This method makes a request to the Nylas API, using the Nylas Identity's fetch method.\n *\n * The `grants/me/` prefix is added because all requests made from the browser to the Nylas API\n * must be made on behalf of the currently logged in user with a valid access token.\n *\n * @param NylasRequestArgs\n * @returns Promise<[T | null, NylasErrorResponse['error'] | null]>\n */\n async request<T>({ method, path, body, headers }: NylasRequestArgs): Promise<DataResponseReturnType<T>> {\n try {\n const response = await this.session.fetch(`grants/me/${path}`, {\n method,\n headers: headers ? new Headers(headers) : undefined,\n body,\n ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),\n });\n return dataResponse(response as T);\n } catch (error) {\n return dataResponse(null as T, {\n message: String(error),\n });\n }\n }\n\n /**\n * This method returns the current (logged in) user's information.\n * If the user is not logged in, it returns null.\n * @returns Promise<User | null>\n */\n async currentUser(): Promise<User | null> {\n const grantId = this.session.isMultiAccount() ? this.activeGrantId : undefined;\n const idToken = await this.session.getProfile(grantId);\n if (!idToken) {\n return null;\n }\n\n return {\n id: idToken.sub,\n email: idToken.email,\n name: idToken.name,\n };\n }\n\n /**\n * This method returns the URL to redirect the user to for authentication.\n * @param authConfig authArgs\n * @returns Promise<string | undefined>\n */\n async authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined> {\n return this.session.auth(authArgs || {});\n }\n}\n"],"version":3}
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ const utils = require('./utils-20663d54.js');
4
+
3
5
  class NylasIdentityRequestWrapper {
4
6
  constructor(session) {
5
7
  this.session = session;
@@ -8,12 +10,20 @@ class NylasIdentityRequestWrapper {
8
10
  this.activeGrantId = grantId;
9
11
  }
10
12
  async request({ method, path, body, headers }) {
11
- return this.session.fetch(`grants/me/${path}`, {
12
- method,
13
- headers: headers ? new Headers(headers) : undefined,
14
- body,
15
- ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),
16
- });
13
+ try {
14
+ const response = await this.session.fetch(`grants/me/${path}`, {
15
+ method,
16
+ headers: headers ? new Headers(headers) : undefined,
17
+ body,
18
+ ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),
19
+ });
20
+ return utils.dataResponse(response);
21
+ }
22
+ catch (error) {
23
+ return utils.dataResponse(null, {
24
+ message: String(error),
25
+ });
26
+ }
17
27
  }
18
28
  async currentUser() {
19
29
  const grantId = this.session.isMultiAccount() ? this.activeGrantId : undefined;
@@ -34,4 +44,4 @@ class NylasIdentityRequestWrapper {
34
44
 
35
45
  exports.NylasIdentityRequestWrapper = NylasIdentityRequestWrapper;
36
46
 
37
- //# sourceMappingURL=nylas-api-request-ab24150d.js.map
47
+ //# sourceMappingURL=nylas-api-request-55923233.js.map
@@ -0,0 +1 @@
1
+ {"file":"nylas-api-request-55923233.js","mappings":";;;;MAmEa,2BAA2B;IAYtC,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;IAQD,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;KAC9B;IAWD,MAAM,OAAO,CAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAoB;QAChE,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE;gBAC7D,MAAM;gBACN,OAAO,EAAE,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS;gBACnD,IAAI;gBACJ,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC;aACjG,CAAC,CAAC;YACH,OAAOA,kBAAY,CAAC,QAAa,CAAC,CAAC;SACpC;QAAC,OAAO,KAAK,EAAE;YACd,OAAOA,kBAAY,CAAC,IAAS,EAAE;gBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;aACvB,CAAC,CAAC;SACJ;KACF;IAOD,MAAM,WAAW;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,GAAG;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;KACH;IAOD,MAAM,iBAAiB,CAAC,QAAmB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;KAC1C;;;;;","names":["dataResponse"],"sources":["src/common/nylas-api-request.ts"],"sourcesContent":["import { dataResponse } from '@/utils/utils';\nimport type { NylasSessions } from '@nylas/identity';\nimport { DataResponseReturnType } from './types';\n\n/**\n * Arguments for making a request to the Nylas API.\n */\nexport type NylasRequestArgs = {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: any;\n headers?: Record<string, string>;\n};\n\n/**\n * A model representing a user in the Nylas Identity system.\n */\nexport type User = {\n id: string;\n email: string;\n name?: string;\n};\n\n/**\n * Arguments for authenticating a user with the Nylas Identity system.\n */\nexport type AuthArgs = {\n provider?: string;\n scope?: Array<string>;\n loginHint?: string;\n includeGrantScopes?: boolean;\n prompt?: string;\n metadata?: string;\n state?: string;\n};\n\n/**\n * Interface for making requests to the Nylas API.\n *\n * This is an abstract class that is meant to be implemented by customers to provide their own\n * implementation of making requests to the Nylas API. This allows customers to use their own\n * authentication mechanism, or to use a different HTTP client library.\n */\nexport abstract class NylasApiRequest {\n /**\n * This method should make an authenticated request to the Nylas API.\n * Note: It should not throw an error if the request fails, but should return an object with the error\n * information as part of the tuple returned.\n * @param args NylasRequestArgs\n */\n abstract request<T = any>(args: NylasRequestArgs): Promise<DataResponseReturnType<T>>;\n\n /**\n * This method should return the current user's information.\n */\n abstract currentUser(): Promise<User | null>;\n /**\n * This method should return the URL to redirect the user to for authentication.\n */\n abstract authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined>;\n}\n\n/**\n * A wrapper around the Nylas Identity session that implements the NylasApiRequest interface.\n * This class is used by the Nylas Web Elements to make requests to the Nylas API if no custom\n * implementation of NylasApiRequest is provided.\n */\nexport class NylasIdentityRequestWrapper implements NylasApiRequest {\n /**\n * The Nylas Identity session instance.\n */\n private session: NylasSessions;\n\n /**\n * The grant_id to use for requests, if there is multi-account support\n * enabled in the Nylas Identity settings.\n */\n private activeGrantId?: string;\n\n constructor(session: NylasSessions) {\n this.session = session;\n }\n\n /**\n * This method sets the grant_id to use for requests.\n * This is used when there is multi-account support enabled in the Nylas Identity settings.\n *\n * @param grantId\n */\n setActiveGrantId(grantId: string) {\n this.activeGrantId = grantId;\n }\n\n /**\n * This method makes a request to the Nylas API, using the Nylas Identity's fetch method.\n *\n * The `grants/me/` prefix is added because all requests made from the browser to the Nylas API\n * must be made on behalf of the currently logged in user with a valid access token.\n *\n * @param NylasRequestArgs\n * @returns Promise<[T | null, NylasErrorResponse['error'] | null]>\n */\n async request<T>({ method, path, body, headers }: NylasRequestArgs): Promise<DataResponseReturnType<T>> {\n try {\n const response = await this.session.fetch(`grants/me/${path}`, {\n method,\n headers: headers ? new Headers(headers) : undefined,\n body,\n ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),\n });\n return dataResponse(response as T);\n } catch (error) {\n return dataResponse(null as T, {\n message: String(error),\n });\n }\n }\n\n /**\n * This method returns the current (logged in) user's information.\n * If the user is not logged in, it returns null.\n * @returns Promise<User | null>\n */\n async currentUser(): Promise<User | null> {\n const grantId = this.session.isMultiAccount() ? this.activeGrantId : undefined;\n const idToken = await this.session.getProfile(grantId);\n if (!idToken) {\n return null;\n }\n\n return {\n id: idToken.sub,\n email: idToken.email,\n name: idToken.name,\n };\n }\n\n /**\n * This method returns the URL to redirect the user to for authentication.\n * @param authConfig authArgs\n * @returns Promise<string | undefined>\n */\n async authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined> {\n return this.session.auth(authArgs || {});\n }\n}\n"],"version":3}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-c14ea8f5.js');
6
- const registerComponent = require('./register-component-f1ebc65d.js');
7
- const utils = require('./utils-53298b01.js');
6
+ const registerComponent = require('./register-component-c8b6e907.js');
7
+ const utils = require('./utils-2c7f0895.js');
8
8
  const constants = require('./constants-0fba94a4.js');
9
9
  require('./_commonjsHelpers-ef8cd0cd.js');
10
10
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-c14ea8f5.js');
6
- const registerComponent = require('./register-component-f1ebc65d.js');
7
- const utils = require('./utils-53298b01.js');
6
+ const registerComponent = require('./register-component-c8b6e907.js');
7
+ const utils = require('./utils-2c7f0895.js');
8
8
  const constants = require('./constants-0fba94a4.js');
9
9
  require('./_commonjsHelpers-ef8cd0cd.js');
10
10
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-7af03e3f.js');
6
- const registerComponent = require('./register-component-d729f3f7.js');
7
- const utils = require('./utils-53dd7574.js');
6
+ const registerComponent = require('./register-component-09ebdf31.js');
7
+ const utils = require('./utils-20663d54.js');
8
8
  const constants = require('./constants-6baf1f1d.js');
9
9
  require('./_commonjsHelpers-0a7b82d9.js');
10
10
 
@@ -371,7 +371,7 @@ const NylasCancelBookingForm = class {
371
371
  utils.debug(`[nylas-cancel-booking-form] Component disconnected`);
372
372
  }
373
373
  render() {
374
- return (index.h(index.Host, { key: '3e77b83049c0b9cd2ed968cc97e665017f76837e', part: "ncec" }, index.h("sp-theme", { key: '857ac295df09b0f642eb1e9d01021531b935c7ad', theme: "spectrum", scale: "medium" }, index.h("div", { key: '9f52787bc3efc81618e5eac14219c5674f4efe5a', class: "nylas-cancel-booking-form", part: "ncec__card" }, index.h("div", { key: '07ddd2cd5664aacf4e123d822bde07af562a8571', class: "nylas-cancel-booking-form__calendar-icon", part: "ncec__icon" }, index.h("calendar-cancel-icon", { key: '04ccbf1eb7ccd7d9053265e1991f8fd494b7e4ae' })), index.h("h3", { key: '2fdbd40021dae8eb98e4288793af8719d3cc6226', class: "nylas-cancel-booking-form__title", part: "ncec__title" }, "Cancel booking?"), index.h("div", { key: '3af3918de0c111bcf90f6ad44a468efdcab185ac', class: "nylas-cancel-booking-form__description", part: "ncec__description" }, "Your current timeslot will become available to others."), index.h("form", { key: '7e136e261b22e513b395e47dfc2db696aced945f', onSubmit: this.handleSubmitCancelBooking }, index.h("sp-field-label", { key: 'fa566625fafbc74f98bb7c012dcb1c71093c0227', for: "cancel-reason", class: this.cancellationError ? 'error' : '' }, "Reason for cancellation ", index.h("span", { key: 'fb567a86677bfc33c63b6118ed9ce71eed7a5084', class: "required" }, "*")), index.h("sp-textfield", { key: 'c585d1f070700a4ccb39d52fdc7dba764c19d43f', 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 }, index.h("sp-help-text", { key: 'cf6d0e82b648ee662fa9244a793cfcaa64913c4c', slot: "negative-help-text" }, this.cancellationError)), index.h("sp-button", { key: 'b8e17a34e57faaaa61585ea4beb2205537c38c49', variant: "primary", class: "cancel", type: "submit", part: "ncec__button-cta" }, "Cancel booking"), index.h("sp-button", { key: 'eafb068d14d0680d8ea5cd7e42fd358d3582e99a', variant: "secondary", class: "back", treatment: "outline", part: "ncec__button-outline", onClick: this.handleGoBackClicked }, "Go back"))))));
374
+ return (index.h(index.Host, { key: 'cd458abc8be3fea5d194bf0795e5ea6f8cd4ae1d', part: "ncec" }, index.h("sp-theme", { key: '4ea58339902d42d06f9860c905420afe514d8ce6', theme: "spectrum", scale: "medium" }, index.h("div", { key: '8e22168fb288c4d8a7103fcdc474fff39ab675d7', class: "nylas-cancel-booking-form", part: "ncec__card" }, index.h("div", { key: '160c99846c244a28c1e84276994c0ac2443edcc7', class: "nylas-cancel-booking-form__calendar-icon", part: "ncec__icon" }, index.h("calendar-cancel-icon", { key: '4fe4d83d698aeb3ca1340e985736e0b0e5ae4767' })), index.h("h3", { key: '4a1f3159bd17eaeae75796fdc6d264a388edc54c', class: "nylas-cancel-booking-form__title", part: "ncec__title" }, "Cancel booking?"), index.h("div", { key: '5f12df75b97ecaa5d5083658a9b9f9fa4af3ac7f', class: "nylas-cancel-booking-form__description", part: "ncec__description" }, "Your current timeslot will become available to others."), index.h("form", { key: '1dc6db16c39ca4b023eaf21708abf30eb4f2fffd', onSubmit: this.handleSubmitCancelBooking }, index.h("sp-field-label", { key: 'b8bb55e85cc824ec11c4e0b594dbb5ac9834b827', for: "cancel-reason", class: this.cancellationError ? 'error' : '' }, "Reason for cancellation ", index.h("span", { key: 'e2f2b8f856aba5c13bad5634eb594202a0f15d37', class: "required" }, "*")), index.h("sp-textfield", { key: 'ff201494cd1f96fe08db14f443cc407cc95f68ca', 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 }, index.h("sp-help-text", { key: '6101a1942260b69c3ba09ff6d139d4f777c6d1ba', slot: "negative-help-text" }, this.cancellationError)), index.h("sp-button", { key: '67a9ecde3bf3e6ce7f66499709f3f5f2b9b2cdf3', variant: "primary", class: "cancel", type: "submit", part: "ncec__button-cta" }, "Cancel booking"), index.h("sp-button", { key: 'eeac156906a10f13541f62924f136f23ebc4be4a', variant: "secondary", class: "back", treatment: "outline", part: "ncec__button-outline", onClick: this.handleGoBackClicked }, "Go back"))))));
375
375
  }
376
376
  };
377
377
  __decorate$5([
@@ -433,7 +433,7 @@ const NylasCancelledEventCard = class {
433
433
  utils.debug(`[nylas-cancelled-event-card] Component disconnected`);
434
434
  }
435
435
  render() {
436
- return (index.h(index.Host, { key: '52b1d729c8df61770be08c165665671f54189c9a', part: "ncec" }, index.h("sp-theme", { key: '94633560e146be20b9321e9548edb007bf570e1c', theme: "spectrum", color: "dark", scale: "medium" }, index.h("div", { key: 'a18a0006aa5e84e58daa6f9446e2b85908867196', class: "nylas-cancelled-event-card", part: "ncec__card" }, index.h("div", { key: '67cc5524db58cb7777feaf9b249070e5d713b17b', class: "nylas-cancelled-event-card__calendar-icon", part: "ncec__icon" }, index.h("calendar-cancel-icon", { key: '87b0379d4847388505e4f6ddd62d059af9156303' })), index.h("h3", { key: 'b7d36ece20f5926c8bb2d0e796a35ed44772e8cf', class: "nylas-cancelled-event-card__title", part: "ncec__title" }, "Your booking has been cancelled successfully!"), index.h("div", { key: '808a6cdf14cec2782990c85e06c23e5b9936bc56', class: "nylas-cancelled-event-card__description", part: "ncec__description" }, "A cancellation email has been sent to the participants."), index.h("div", { key: 'cfd161ea961c637ab2247a568143e659bfb1b7da', class: "nylas-cancelled-event-card__cta" }, index.h("sp-button", { key: 'ab549c146571e0dd4e86cce46d9947875794a437', variant: "secondary", treatment: "outline", part: "ncec__button-outline", onClick: this.handleCloseClicked }, "Close"))))));
436
+ return (index.h(index.Host, { key: '1d10c839e557abfc03115780d11ac2dd0777c7cb', part: "ncec" }, index.h("sp-theme", { key: '88b5a9ece7ffc99a870217c96e756ed2a2fe4f85', theme: "spectrum", color: "dark", scale: "medium" }, index.h("div", { key: '287a45fc86df89719461be7104c7e1b3cafe4c0c', class: "nylas-cancelled-event-card", part: "ncec__card" }, index.h("div", { key: '078ca3fc5474dae97cb1439727360b5ce23ae98b', class: "nylas-cancelled-event-card__calendar-icon", part: "ncec__icon" }, index.h("calendar-cancel-icon", { key: 'e9d1df069e34cb7c0d16139db8fe98964ab2ad1c' })), index.h("h3", { key: '2ce714e14dbffcd74adc5f1c3c313ec8f3176e07', class: "nylas-cancelled-event-card__title", part: "ncec__title" }, "Your booking has been cancelled successfully!"), index.h("div", { key: '503c4b443dda028e829270cf4b984e2b647ecaae', class: "nylas-cancelled-event-card__description", part: "ncec__description" }, "A cancellation email has been sent to the participants."), index.h("div", { key: '2f7313a894344052b3397c2d8e58a35cf81fc5eb', class: "nylas-cancelled-event-card__cta" }, index.h("sp-button", { key: '5d099b201c419f93d839c34a3cf3351cb524ee61', variant: "secondary", treatment: "outline", part: "ncec__button-outline", onClick: this.handleCloseClicked }, "Close"))))));
437
437
  }
438
438
  };
439
439
  __decorate$4([
@@ -749,7 +749,7 @@ const NylasLogo = class {
749
749
  this.height = '24';
750
750
  }
751
751
  render() {
752
- return (index.h("svg", { key: 'a305694aba91cff6d13167eab106e824536728cd', width: this.width, height: this.height, viewBox: "0 0 69 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("g", { key: '790edf0bee99fea0fe2cef131ed9a3340ff1ec70', "clip-path": "url(#clip0_455_3543)" }, index.h("path", { key: 'bd29c1fe02931e4a6dceee45711ef6c212164d77', 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" }), index.h("path", { key: '6ad33f3a2c1524777ef9f33d8fccdefa87c6c4de', 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" }), index.h("path", { key: 'cff70a4c9e84c0c16cbbc8f3a1e9432200e2f6c7', 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" }), index.h("path", { key: 'f8deff8d4ba7374b51cd83e2dd01d58b75cc751a', 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" }), index.h("path", { key: '0cc0f9ff674f031b72ebff2b4b4642f678a74a08', 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" }), index.h("path", { key: 'fbc997ce655d72115a3f091a0c3df101d4311842', 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" }), index.h("path", { key: '1000a3c24e6495f474df5ffc6af307466f4c6fb6', 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" }), index.h("path", { key: '048a76e10c0489b5361747c3ff711e0c771071fc', 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" })), index.h("defs", { key: '2ecd1149d28e4b4d5d5fce2e3775933ae12a1983' }, index.h("clipPath", { key: 'b0b608b033eafd9eb2ada24432d379f539f725e3', id: "clip0_455_3543" }, index.h("rect", { key: '0277917a58837afc24f997ef1a66f8f415b9072e', width: "68.7123", height: "19.2877", fill: "white", transform: "translate(0.144043 0.356201)" })))));
752
+ return (index.h("svg", { key: '5c850dd7c3c8810b7deaeb9e96d0b2b51f73e75e', width: this.width, height: this.height, viewBox: "0 0 69 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("g", { key: '9f2f827ab591a207016ab0164b7ecce00deb9544', "clip-path": "url(#clip0_455_3543)" }, index.h("path", { key: '7016d39e6d0b5f978be7b9e632a60b2efacc409a', 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" }), index.h("path", { key: 'b91018f0aabe3ef143fa93e1e29393035c875a74', 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" }), index.h("path", { key: 'ca9f5b237603c8e7e2223ae00e53a7d24f2db183', 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" }), index.h("path", { key: '49612bab93a839c11af2e82f89897d089a921192', 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" }), index.h("path", { key: '680d543d426a16a0354ba843084bfd00586a0f2f', 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" }), index.h("path", { key: '5cf875b6490ed523a7225fc117457bb2bf17939f', 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" }), index.h("path", { key: '3a905b874b4d27f8ca790685f9cf27ebf488389a', 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" }), index.h("path", { key: 'cf4ed56a62740238d240ab73b5f414502b39d409', 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" })), index.h("defs", { key: '99b377fc37c537244437c5b7e35493fb68165772' }, index.h("clipPath", { key: '87969870f84117de8f781e2f01d5f87a60cd54bf', id: "clip0_455_3543" }, index.h("rect", { key: '9308a5f22a01d3db044120733339ca08dbc5122d', width: "68.7123", height: "19.2877", fill: "white", transform: "translate(0.144043 0.356201)" })))));
753
753
  }
754
754
  };
755
755
  NylasLogo.style = NylasLogoStyle0;
@@ -805,7 +805,7 @@ const NylasNotification = class {
805
805
  this.notifications = this.notifications.filter(notif => notif.id !== id);
806
806
  }
807
807
  render() {
808
- return (index.h(index.Host, { key: '947c58f3617a73e55731cc6f6c03c1931008d000' }, index.h(index.Fragment, { key: 'd84045b56a35c322a194e4bf4c9d3982a5ce6d32' }, this.notifications.map(notif => (index.h("div", { class: `notif ${notif.type}`, key: notif.id }, index.h("div", { class: "content" }, index.h("span", { class: `icon ${notif.type}` }, (notif.type === 'error' || notif.type === 'warning') && index.h("warning-icon", null)), index.h("span", { class: "message" }, index.h("span", { class: "title" }, notif.title), notif.description && index.h("span", { class: "description" }, notif.description))), index.h("button", { class: "dismiss-btn", onClick: () => this.dismissNotification(notif.id) }, index.h("close-icon", null))))), index.h("slot", { key: 'e246e847f46fe0d99370eb909cc89a3546186089' }))));
808
+ return (index.h(index.Host, { key: 'b86593ead0279b9e2213c2554d1153379470880e' }, index.h(index.Fragment, { key: '860f23f3c6a0636b408d56806b11129c0a697418' }, this.notifications.map(notif => (index.h("div", { class: `notif ${notif.type}`, key: notif.id }, index.h("div", { class: "content" }, index.h("span", { class: `icon ${notif.type}` }, (notif.type === 'error' || notif.type === 'warning') && index.h("warning-icon", null)), index.h("span", { class: "message" }, index.h("span", { class: "title" }, notif.title), notif.description && index.h("span", { class: "description" }, notif.description))), index.h("button", { class: "dismiss-btn", onClick: () => this.dismissNotification(notif.id) }, index.h("close-icon", null))))), index.h("slot", { key: '6125314e051684b396d99a3c8bb9ba99392f2729' }))));
809
809
  }
810
810
  };
811
811
  NylasNotification.style = NylasNotificationStyle0;
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-c14ea8f5.js');
6
- const registerComponent = require('./register-component-f1ebc65d.js');
7
- const utils = require('./utils-53298b01.js');
6
+ const registerComponent = require('./register-component-c8b6e907.js');
7
+ const utils = require('./utils-2c7f0895.js');
8
8
  require('./_commonjsHelpers-ef8cd0cd.js');
9
9
 
10
10
  const nylasBookingCalendarPickerCss = ":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;width:inherit}.nylas-booking-calendar-picker{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-booking-calendar-picker .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-booking-calendar-picker .header h3{margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-booking-calendar-picker .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__loading{padding-bottom:1rem;display:flex;flex-direction:column;gap:4px}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__loading .label{display:flex;align-items:center;gap:0.5rem;margin:1rem 1rem 0;color:var(--nylas-base-800)}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__loading .loading-button{margin:0 1rem;padding:0;width:inherit;height:48px;color:black;font-size:1rem;cursor:not-allowed;display:flex;gap:0.5rem;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__loading .loading-button span{padding:0 1rem}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown{padding:1rem;display:flex;flex-direction:column;gap:4px}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown span.label{display:flex;align-items:center;gap:4px;color:var(--nylas-base-800)}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown span.label tooltip-component{display:flex}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown select-dropdown::part(sd_dropdown){width:100%}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown select-dropdown::part(sd_dropdown-content){width:100%;max-width:unset}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown select-dropdown::part(sd_dropdown-button){width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:1rem}.nylas-booking-calendar-picker .nylas-booking-calendar-picker__dropdown select-dropdown::part(sd_dropdown-button-selected-label){max-width:calc(100% - 2rem);font-family:var(--nylas-font-family);font-size:16px;line-height:24px}";