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

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 (807) 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 +242 -101
  3. package/dist/cjs/add-circle-icon_22.cjs.entry.js.map +1 -1
  4. package/dist/cjs/archive-icon.cjs.entry.js +1 -1
  5. package/dist/cjs/archive-icon_7.cjs.entry.js +7 -7
  6. package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
  7. package/dist/cjs/bold-icon.cjs.entry.js +1 -1
  8. package/dist/cjs/bold-icon_3.cjs.entry.js +3 -3
  9. package/dist/cjs/button-component.cjs.entry.js +2 -2
  10. package/dist/cjs/button-component.cjs.entry.js.map +1 -1
  11. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +1 -1
  12. package/dist/cjs/calendar-check-icon.cjs.entry.js +1 -1
  13. package/dist/cjs/calendar-check-icon_2.cjs.entry.js +2 -2
  14. package/dist/cjs/calendar-icon.cjs.entry.js +1 -1
  15. package/dist/cjs/calendar-info-icon.cjs.entry.js +1 -1
  16. package/dist/cjs/calendar-patterns-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
  18. package/dist/cjs/chevron-icon.cjs.entry.js +1 -1
  19. package/dist/cjs/chevron-icon_3.cjs.entry.js +4 -4
  20. package/dist/cjs/close-icon.cjs.entry.js +1 -1
  21. package/dist/cjs/{constants-6baf1f1d.js → constants-3e962931.js} +11 -1
  22. package/dist/cjs/{constants-6baf1f1d.js.map → constants-3e962931.js.map} +1 -1
  23. package/dist/cjs/{constants-0fba94a4.js → constants-d590922e.js} +11 -1
  24. package/dist/cjs/{constants-0fba94a4.js.map → constants-d590922e.js.map} +1 -1
  25. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  26. package/dist/cjs/flow-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/folder-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/forward-icon.cjs.entry.js +1 -1
  29. package/dist/cjs/forward-icon_6.cjs.entry.js +9 -9
  30. package/dist/cjs/globe-icon.cjs.entry.js +1 -1
  31. package/dist/cjs/google-logo-icon.cjs.entry.js +1 -1
  32. package/dist/cjs/google-logo-icon_4.cjs.entry.js +95 -51
  33. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
  34. package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
  35. package/dist/cjs/index.cjs.js +2 -2
  36. package/dist/cjs/{index.es-b12b7df1.js → index.es-4a7d8d3f.js} +2 -2
  37. package/dist/cjs/{index.es-b12b7df1.js.map → index.es-4a7d8d3f.js.map} +1 -1
  38. package/dist/cjs/{index.es-0a0f2d87.js → index.es-b2cce060.js} +2 -2
  39. package/dist/cjs/{index.es-0a0f2d87.js.map → index.es-b2cce060.js.map} +1 -1
  40. package/dist/cjs/info-icon.cjs.entry.js +1 -1
  41. package/dist/cjs/info-icon_2.cjs.entry.js +2 -2
  42. package/dist/cjs/italic-icon.cjs.entry.js +1 -1
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/cjs/loading-icon.cjs.entry.js +1 -1
  45. package/dist/cjs/location-icon.cjs.entry.js +1 -1
  46. package/dist/cjs/location-off-icon.cjs.entry.js +1 -1
  47. package/dist/cjs/{mailbox-store-05fa3bec.js → mailbox-store-a2f858b7.js} +3 -3
  48. package/dist/cjs/{mailbox-store-05fa3bec.js.map → mailbox-store-a2f858b7.js.map} +1 -1
  49. package/dist/cjs/{mailbox-store-14531fd4.js → mailbox-store-ecceb918.js} +3 -3
  50. package/dist/cjs/{mailbox-store-14531fd4.js.map → mailbox-store-ecceb918.js.map} +1 -1
  51. package/dist/cjs/microsoft-logo-icon.cjs.entry.js +1 -1
  52. package/dist/cjs/multi-select-dropdown.cjs.entry.js +3 -3
  53. package/dist/cjs/nylas-additional-participants.cjs.entry.js +3 -3
  54. package/dist/cjs/{nylas-api-request-2a0e7022.js → nylas-api-request-28b4576a.js} +14 -3
  55. package/dist/cjs/nylas-api-request-28b4576a.js.map +1 -0
  56. package/dist/cjs/{nylas-api-request-55923233.js → nylas-api-request-c9e0e347.js} +14 -3
  57. package/dist/cjs/nylas-api-request-c9e0e347.js.map +1 -0
  58. package/dist/cjs/nylas-availability-picker.cjs.entry.js +33 -16
  59. package/dist/cjs/nylas-availability-picker.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nylas-booked-event-card.cjs.entry.js +3 -3
  61. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +7 -7
  62. package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js +12 -6
  63. package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nylas-booking-form.cjs.entry.js +2 -2
  65. package/dist/cjs/nylas-buffer-time.cjs.entry.js +2 -2
  66. package/dist/cjs/nylas-calendar-picker.cjs.entry.js +13 -8
  67. package/dist/cjs/nylas-calendar-picker.cjs.entry.js.map +1 -1
  68. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +3 -3
  69. package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +3 -3
  70. package/dist/cjs/nylas-composer.cjs.entry.js +2 -2
  71. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +21 -12
  72. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nylas-date-picker.cjs.entry.js +2 -2
  74. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +69 -40
  75. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  76. package/dist/cjs/nylas-event-description.cjs.entry.js +15 -6
  77. package/dist/cjs/nylas-event-description.cjs.entry.js.map +1 -1
  78. package/dist/cjs/nylas-event-duration.cjs.entry.js +15 -10
  79. package/dist/cjs/nylas-event-duration.cjs.entry.js.map +1 -1
  80. package/dist/cjs/nylas-event-info.cjs.entry.js +3 -3
  81. package/dist/cjs/nylas-event-limits.cjs.entry.js +3 -3
  82. package/dist/cjs/nylas-event-title.cjs.entry.js +70 -19
  83. package/dist/cjs/nylas-event-title.cjs.entry.js.map +1 -1
  84. package/dist/cjs/nylas-form-card.cjs.entry.js +3 -3
  85. package/dist/cjs/nylas-if-state.cjs.entry.js +2 -2
  86. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +24 -11
  87. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js.map +1 -1
  88. package/dist/cjs/nylas-list-configurations.cjs.entry.js +26 -11
  89. package/dist/cjs/nylas-list-configurations.cjs.entry.js.map +1 -1
  90. package/dist/cjs/nylas-list-folders.cjs.entry.js +3 -3
  91. package/dist/cjs/nylas-list-threads.cjs.entry.js +3 -3
  92. package/dist/cjs/nylas-locale-switch.cjs.entry.js +3 -3
  93. package/dist/cjs/nylas-location-component.cjs.entry.js +17 -6
  94. package/dist/cjs/nylas-location-component.cjs.entry.js.map +1 -1
  95. package/dist/cjs/nylas-login.cjs.entry.js +3 -3
  96. package/dist/cjs/nylas-logo.cjs.entry.js +1 -1
  97. package/dist/cjs/nylas-mailbox-pagination.cjs.entry.js +2 -2
  98. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +3 -3
  99. package/dist/cjs/nylas-mailbox.cjs.entry.js +4 -4
  100. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +28 -13
  101. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js.map +1 -1
  102. package/dist/cjs/nylas-notification.cjs.entry.js +2 -2
  103. package/dist/cjs/nylas-provider.cjs.entry.js +6 -6
  104. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +18 -18
  105. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  106. package/dist/cjs/nylas-scheduling.cjs.entry.js +3 -3
  107. package/dist/cjs/nylas-selected-event-card.cjs.entry.js +3 -3
  108. package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +4 -4
  109. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +4 -4
  110. package/dist/cjs/nylas-threads-search.cjs.entry.js +3 -3
  111. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +2 -2
  112. package/dist/cjs/nylas-timeslot-picker.cjs.entry.js +2 -2
  113. package/dist/cjs/nylas-view-email.cjs.entry.js +2 -2
  114. package/dist/cjs/nylas-view-thread.cjs.entry.js +3 -3
  115. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  116. package/dist/cjs/people-icon.cjs.entry.js +1 -1
  117. package/dist/cjs/play-icon.cjs.entry.js +1 -1
  118. package/dist/cjs/play-icon_2.cjs.entry.js +2 -2
  119. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  120. package/dist/cjs/{register-component-c8b6e907.js → register-component-7ecacf90.js} +2 -2
  121. package/dist/cjs/{register-component-09ebdf31.js.map → register-component-7ecacf90.js.map} +1 -1
  122. package/dist/cjs/{register-component-09ebdf31.js → register-component-98ab6f54.js} +2 -2
  123. package/dist/cjs/{register-component-c8b6e907.js.map → register-component-98ab6f54.js.map} +1 -1
  124. package/dist/cjs/reply-all-icon.cjs.entry.js +1 -1
  125. package/dist/cjs/reply-icon.cjs.entry.js +1 -1
  126. package/dist/cjs/{scheduler-config-store-4d93a9b7.js → scheduler-config-store-37690bf0.js} +10 -4
  127. package/dist/cjs/scheduler-config-store-37690bf0.js.map +1 -0
  128. package/dist/cjs/{scheduler-config-store-a0e08cab.js → scheduler-config-store-529c8d7e.js} +10 -4
  129. package/dist/cjs/scheduler-config-store-529c8d7e.js.map +1 -0
  130. package/dist/cjs/{scheduler-store-e148a4cc.js → scheduler-store-22103c86.js} +16 -3
  131. package/dist/cjs/scheduler-store-22103c86.js.map +1 -0
  132. package/dist/cjs/{scheduler-store-a492526c.js → scheduler-store-fad9ed7a.js} +16 -3
  133. package/dist/cjs/scheduler-store-fad9ed7a.js.map +1 -0
  134. package/dist/cjs/search-icon.cjs.entry.js +1 -1
  135. package/dist/cjs/select-dropdown.cjs.entry.js +2 -2
  136. package/dist/cjs/sent-icon.cjs.entry.js +1 -1
  137. package/dist/cjs/spam-icon.cjs.entry.js +1 -1
  138. package/dist/cjs/star-icon.cjs.entry.js +1 -1
  139. package/dist/cjs/stop-icon.cjs.entry.js +1 -1
  140. package/dist/cjs/time-period-selector.cjs.entry.js +2 -2
  141. package/dist/cjs/tooltip-component.cjs.entry.js +1 -1
  142. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  143. package/dist/cjs/trash-icon.cjs.entry.js +1 -1
  144. package/dist/cjs/underline-icon.cjs.entry.js +1 -1
  145. package/dist/cjs/{utils-20663d54.js → utils-9fc33c77.js} +46 -1
  146. package/dist/cjs/utils-9fc33c77.js.map +1 -0
  147. package/dist/cjs/{utils-2c7f0895.js → utils-d8cfc3be.js} +46 -1
  148. package/dist/cjs/{utils-2c7f0895.js.map → utils-d8cfc3be.js.map} +1 -1
  149. package/dist/cjs/warning-icon.cjs.entry.js +1 -1
  150. package/dist/collection/common/constants.js +9 -0
  151. package/dist/collection/common/constants.js.map +1 -1
  152. package/dist/collection/common/icons/add-circle.js +1 -1
  153. package/dist/collection/common/icons/archive.js +1 -1
  154. package/dist/collection/common/icons/arrow.js +1 -1
  155. package/dist/collection/common/icons/bold.js +1 -1
  156. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  157. package/dist/collection/common/icons/calendar-check.js +1 -1
  158. package/dist/collection/common/icons/calendar-info.js +1 -1
  159. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  160. package/dist/collection/common/icons/calendar.js +1 -1
  161. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  162. package/dist/collection/common/icons/chevron.js +1 -1
  163. package/dist/collection/common/icons/close.js +1 -1
  164. package/dist/collection/common/icons/document-refresh.js +1 -1
  165. package/dist/collection/common/icons/flow.js +1 -1
  166. package/dist/collection/common/icons/folder.js +1 -1
  167. package/dist/collection/common/icons/forward.js +1 -1
  168. package/dist/collection/common/icons/globe.js +1 -1
  169. package/dist/collection/common/icons/google-logo.js +1 -1
  170. package/dist/collection/common/icons/inbox.js +1 -1
  171. package/dist/collection/common/icons/info.js +1 -1
  172. package/dist/collection/common/icons/italic.js +1 -1
  173. package/dist/collection/common/icons/loading.js +1 -1
  174. package/dist/collection/common/icons/location-off.js +1 -1
  175. package/dist/collection/common/icons/location.js +1 -1
  176. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  177. package/dist/collection/common/icons/nylas-logo.js +1 -1
  178. package/dist/collection/common/icons/people.js +1 -1
  179. package/dist/collection/common/icons/play.js +1 -1
  180. package/dist/collection/common/icons/refresh.js +1 -1
  181. package/dist/collection/common/icons/reply-all.js +1 -1
  182. package/dist/collection/common/icons/reply.js +1 -1
  183. package/dist/collection/common/icons/search.js +1 -1
  184. package/dist/collection/common/icons/sent.js +1 -1
  185. package/dist/collection/common/icons/spam.js +1 -1
  186. package/dist/collection/common/icons/star.js +1 -1
  187. package/dist/collection/common/icons/stop.js +1 -1
  188. package/dist/collection/common/icons/translate.js +1 -1
  189. package/dist/collection/common/icons/trash.js +1 -1
  190. package/dist/collection/common/icons/underline.js +1 -1
  191. package/dist/collection/common/icons/warning.js +1 -1
  192. package/dist/collection/common/nylas-api-request.js +12 -1
  193. package/dist/collection/common/nylas-api-request.js.map +1 -1
  194. package/dist/collection/components/design-system/button-component/button-component.css +5 -0
  195. package/dist/collection/components/design-system/button-component/button-component.js +1 -1
  196. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  197. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +2 -2
  198. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  199. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  200. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  201. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  202. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  203. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  204. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +1 -1
  205. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  206. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  207. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  208. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  209. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  210. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  211. package/dist/collection/components/nylas-provider/nylas-provider.js +2 -2
  212. package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js.map +1 -1
  213. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
  214. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
  215. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  216. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +1 -1
  217. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +55 -15
  218. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  219. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js +32 -5
  220. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js.map +1 -1
  221. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js +23 -14
  222. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js.map +1 -1
  223. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +41 -9
  224. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js.map +1 -1
  225. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.css +35 -3
  226. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +99 -36
  227. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  228. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +4 -4
  229. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -1
  230. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.css +1 -1
  231. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +34 -2
  232. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js.map +1 -1
  233. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.css +1 -1
  234. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +35 -7
  235. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js.map +1 -1
  236. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  237. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  238. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.css +8 -1
  239. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +102 -17
  240. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js.map +1 -1
  241. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  242. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +45 -9
  243. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js.map +1 -1
  244. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.css +39 -2
  245. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js +46 -9
  246. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js.map +1 -1
  247. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.css +2 -2
  248. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js +37 -3
  249. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js.map +1 -1
  250. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +49 -11
  251. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js.map +1 -1
  252. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.css +6 -0
  253. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +36 -16
  254. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  255. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +1 -1
  256. package/dist/collection/connector/nylas-scheduler-connector/errors/index.js +8 -0
  257. package/dist/collection/connector/nylas-scheduler-connector/errors/index.js.map +1 -1
  258. package/dist/collection/connector/shared/api/scheduler-config.js +6 -6
  259. package/dist/collection/connector/shared/api/scheduler-config.js.map +1 -1
  260. package/dist/collection/connector/shared/api/scheduler.js +6 -1
  261. package/dist/collection/connector/shared/api/scheduler.js.map +1 -1
  262. package/dist/collection/index.js +0 -1
  263. package/dist/collection/index.js.map +1 -1
  264. package/dist/collection/stores/scheduler-config-store.js +9 -3
  265. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  266. package/dist/collection/utils/utils.js +44 -0
  267. package/dist/collection/utils/utils.js.map +1 -1
  268. package/dist/components/add-circle.js +1 -1
  269. package/dist/components/archive.js +1 -1
  270. package/dist/components/arrow.js +1 -1
  271. package/dist/components/bold.js +1 -1
  272. package/dist/components/button-component2.js +2 -2
  273. package/dist/components/button-component2.js.map +1 -1
  274. package/dist/components/calendar-cancel.js +1 -1
  275. package/dist/components/calendar-check.js +1 -1
  276. package/dist/components/calendar-info.js +1 -1
  277. package/dist/components/calendar-patterns.js +1 -1
  278. package/dist/components/calendar.js +1 -1
  279. package/dist/components/checkmark-circle.js +1 -1
  280. package/dist/components/chevron.js +1 -1
  281. package/dist/components/close.js +1 -1
  282. package/dist/components/constants.js +11 -2
  283. package/dist/components/constants.js.map +1 -1
  284. package/dist/components/document-refresh-icon.js +1 -1
  285. package/dist/components/flow.js +1 -1
  286. package/dist/components/focus-visible.js +1 -1
  287. package/dist/components/folder.js +1 -1
  288. package/dist/components/forward.js +1 -1
  289. package/dist/components/globe.js +1 -1
  290. package/dist/components/google-logo.js +1 -1
  291. package/dist/components/inbox.js +1 -1
  292. package/dist/components/index.d.ts +0 -179
  293. package/dist/components/index.es.js +2 -194
  294. package/dist/components/index.es.js.map +1 -1
  295. package/dist/components/index.js +2 -89
  296. package/dist/components/index.js.map +1 -1
  297. package/dist/components/index2.js +196 -0
  298. package/dist/components/index2.js.map +1 -0
  299. package/dist/components/info.js +1 -1
  300. package/dist/components/italic.js +1 -1
  301. package/dist/components/loading.js +1 -1
  302. package/dist/components/location-off.js +1 -1
  303. package/dist/components/location.js +1 -1
  304. package/dist/components/mailbox-store.js +3 -2
  305. package/dist/components/mailbox-store.js.map +1 -1
  306. package/dist/components/microsoft-logo.js +1 -1
  307. package/dist/components/multi-select-dropdown2.js +3 -3
  308. package/dist/components/nylas-additional-participants.js +2 -2
  309. package/dist/{nylas-web-elements/nylas-api-request-4f3dbb72.js → components/nylas-api-request.js} +14 -3
  310. package/dist/components/nylas-api-request.js.map +1 -0
  311. package/dist/components/nylas-availability-picker2.js +33 -14
  312. package/dist/components/nylas-availability-picker2.js.map +1 -1
  313. package/dist/components/nylas-booked-event-card2.js +1 -1
  314. package/dist/components/nylas-booking-calendar-picker2.js +12 -5
  315. package/dist/components/nylas-booking-calendar-picker2.js.map +1 -1
  316. package/dist/components/nylas-booking-form2.js +1 -1
  317. package/dist/components/nylas-buffer-time2.js +1 -1
  318. package/dist/components/nylas-calendar-picker2.js +13 -8
  319. package/dist/components/nylas-calendar-picker2.js.map +1 -1
  320. package/dist/components/nylas-cancel-booking-form2.js +2 -2
  321. package/dist/components/nylas-cancelled-event-card2.js +2 -2
  322. package/dist/components/nylas-composer2.js +2 -2
  323. package/dist/components/nylas-custom-booking-flow2.js +23 -12
  324. package/dist/components/nylas-custom-booking-flow2.js.map +1 -1
  325. package/dist/components/nylas-date-picker2.js +1 -1
  326. package/dist/components/nylas-editor-tabs2.js +74 -43
  327. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  328. package/dist/components/nylas-event-description2.js +17 -6
  329. package/dist/components/nylas-event-description2.js.map +1 -1
  330. package/dist/components/nylas-event-duration2.js +16 -9
  331. package/dist/components/nylas-event-duration2.js.map +1 -1
  332. package/dist/components/nylas-event-info2.js +2 -2
  333. package/dist/components/nylas-event-limits2.js +2 -2
  334. package/dist/components/nylas-event-title2.js +74 -20
  335. package/dist/components/nylas-event-title2.js.map +1 -1
  336. package/dist/components/nylas-form-card2.js +2 -2
  337. package/dist/components/nylas-if-state.js +1 -1
  338. package/dist/components/nylas-limit-future-bookings2.js +25 -10
  339. package/dist/components/nylas-limit-future-bookings2.js.map +1 -1
  340. package/dist/components/nylas-list-configurations2.js +28 -11
  341. package/dist/components/nylas-list-configurations2.js.map +1 -1
  342. package/dist/components/nylas-list-folders.js +2 -2
  343. package/dist/components/nylas-list-threads.js +2 -2
  344. package/dist/components/nylas-location-component2.js +18 -5
  345. package/dist/components/nylas-location-component2.js.map +1 -1
  346. package/dist/components/nylas-login.js +1 -1
  347. package/dist/components/nylas-logo2.js +1 -1
  348. package/dist/components/nylas-mailbox-pagination.js +1 -1
  349. package/dist/components/nylas-mailbox-toolbar-button.js +2 -2
  350. package/dist/components/nylas-mailbox.js +2 -2
  351. package/dist/components/nylas-min-cancellation-notice2.js +29 -12
  352. package/dist/components/nylas-min-cancellation-notice2.js.map +1 -1
  353. package/dist/components/nylas-notification2.js +2 -2
  354. package/dist/components/nylas-provider.js +2 -2
  355. package/dist/components/nylas-scheduler-editor.js +18 -58
  356. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  357. package/dist/components/nylas-scheduling.js +1 -1
  358. package/dist/components/nylas-selected-event-card2.js +1 -1
  359. package/dist/components/nylas-summarize-message-button2.js +3 -3
  360. package/dist/components/nylas-threads-refresh.js +3 -3
  361. package/dist/components/nylas-threads-search.js +2 -2
  362. package/dist/components/nylas-time-window-picker2.js +2 -2
  363. package/dist/components/nylas-timeslot-picker2.js +1 -1
  364. package/dist/components/nylas-view-email2.js +2 -2
  365. package/dist/components/nylas-view-thread.js +2 -2
  366. package/dist/components/people-icon.js +1 -1
  367. package/dist/components/play.js +1 -1
  368. package/dist/components/refresh.js +1 -1
  369. package/dist/components/register-component.js +1 -1
  370. package/dist/components/reply-all.js +1 -1
  371. package/dist/components/reply.js +1 -1
  372. package/dist/components/scheduler-config-store.js +10 -4
  373. package/dist/components/scheduler-config-store.js.map +1 -1
  374. package/dist/components/scheduler-store.js +16 -3
  375. package/dist/components/scheduler-store.js.map +1 -1
  376. package/dist/components/search.js +1 -1
  377. package/dist/components/select-dropdown2.js +2 -2
  378. package/dist/components/sent.js +1 -1
  379. package/dist/components/spam.js +1 -1
  380. package/dist/components/star.js +1 -1
  381. package/dist/components/stop.js +1 -1
  382. package/dist/components/time-period-selector2.js +2 -2
  383. package/dist/components/toolitp-component.js +1 -1
  384. package/dist/components/translate.js +1 -1
  385. package/dist/components/trash.js +1 -1
  386. package/dist/components/underline.js +1 -1
  387. package/dist/components/utils.js +45 -1
  388. package/dist/components/utils.js.map +1 -1
  389. package/dist/components/warning.js +1 -1
  390. package/dist/esm/add-circle-icon.entry.js +1 -1
  391. package/dist/esm/add-circle-icon_22.entry.js +242 -101
  392. package/dist/esm/add-circle-icon_22.entry.js.map +1 -1
  393. package/dist/esm/archive-icon.entry.js +1 -1
  394. package/dist/esm/archive-icon_7.entry.js +7 -7
  395. package/dist/esm/arrow-icon.entry.js +1 -1
  396. package/dist/esm/bold-icon.entry.js +1 -1
  397. package/dist/esm/bold-icon_3.entry.js +3 -3
  398. package/dist/esm/button-component.entry.js +2 -2
  399. package/dist/esm/button-component.entry.js.map +1 -1
  400. package/dist/esm/calendar-cancel-icon.entry.js +1 -1
  401. package/dist/esm/calendar-check-icon.entry.js +1 -1
  402. package/dist/esm/calendar-check-icon_2.entry.js +2 -2
  403. package/dist/esm/calendar-icon.entry.js +1 -1
  404. package/dist/esm/calendar-info-icon.entry.js +1 -1
  405. package/dist/esm/calendar-patterns-icon.entry.js +1 -1
  406. package/dist/esm/checkmark-circle-icon.entry.js +1 -1
  407. package/dist/esm/chevron-icon.entry.js +1 -1
  408. package/dist/esm/chevron-icon_3.entry.js +4 -4
  409. package/dist/esm/close-icon.entry.js +1 -1
  410. package/dist/esm/{constants-335dffcf.js → constants-bf39e913.js} +11 -2
  411. package/dist/{nylas-web-elements/constants-335dffcf.js.map → esm/constants-bf39e913.js.map} +1 -1
  412. package/dist/esm/{constants-6ee60d6d.js → constants-f34b9c6e.js} +11 -2
  413. package/dist/esm/{constants-6ee60d6d.js.map → constants-f34b9c6e.js.map} +1 -1
  414. package/dist/esm/document-refresh-icon.entry.js +1 -1
  415. package/dist/esm/flow-icon.entry.js +1 -1
  416. package/dist/esm/folder-icon.entry.js +1 -1
  417. package/dist/esm/forward-icon.entry.js +1 -1
  418. package/dist/esm/forward-icon_6.entry.js +9 -9
  419. package/dist/esm/globe-icon.entry.js +1 -1
  420. package/dist/esm/google-logo-icon.entry.js +1 -1
  421. package/dist/esm/google-logo-icon_4.entry.js +95 -51
  422. package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
  423. package/dist/esm/inbox-icon.entry.js +1 -1
  424. package/dist/esm/{index.es-f57e612a.js → index.es-df564f87.js} +2 -2
  425. package/dist/esm/{index.es-f57e612a.js.map → index.es-df564f87.js.map} +1 -1
  426. package/dist/{nylas-web-elements/index.es-2842f8c8.js → esm/index.es-e4f027a2.js} +2 -2
  427. package/dist/esm/{index.es-2842f8c8.js.map → index.es-e4f027a2.js.map} +1 -1
  428. package/dist/esm/index.js +2 -2
  429. package/dist/esm/info-icon.entry.js +1 -1
  430. package/dist/esm/info-icon_2.entry.js +2 -2
  431. package/dist/esm/italic-icon.entry.js +1 -1
  432. package/dist/esm/loader.js +1 -1
  433. package/dist/esm/loading-icon.entry.js +1 -1
  434. package/dist/esm/location-icon.entry.js +1 -1
  435. package/dist/esm/location-off-icon.entry.js +1 -1
  436. package/dist/{nylas-web-elements/mailbox-store-d48269de.js → esm/mailbox-store-5075f820.js} +3 -3
  437. package/dist/{nylas-web-elements/mailbox-store-d48269de.js.map → esm/mailbox-store-5075f820.js.map} +1 -1
  438. package/dist/esm/{mailbox-store-47fc8a1a.js → mailbox-store-69c5c5f6.js} +3 -3
  439. package/dist/esm/{mailbox-store-47fc8a1a.js.map → mailbox-store-69c5c5f6.js.map} +1 -1
  440. package/dist/esm/microsoft-logo-icon.entry.js +1 -1
  441. package/dist/esm/multi-select-dropdown.entry.js +3 -3
  442. package/dist/esm/nylas-additional-participants.entry.js +3 -3
  443. package/dist/esm/{nylas-api-request-4f3dbb72.js → nylas-api-request-6a19db25.js} +14 -3
  444. package/dist/esm/nylas-api-request-6a19db25.js.map +1 -0
  445. package/dist/esm/{nylas-api-request-3120d9ac.js → nylas-api-request-b49b1da6.js} +14 -3
  446. package/dist/esm/nylas-api-request-b49b1da6.js.map +1 -0
  447. package/dist/esm/nylas-availability-picker.entry.js +33 -16
  448. package/dist/esm/nylas-availability-picker.entry.js.map +1 -1
  449. package/dist/esm/nylas-booked-event-card.entry.js +3 -3
  450. package/dist/esm/nylas-booked-event-card_10.entry.js +7 -7
  451. package/dist/esm/nylas-booking-calendar-picker.entry.js +12 -6
  452. package/dist/esm/nylas-booking-calendar-picker.entry.js.map +1 -1
  453. package/dist/esm/nylas-booking-form.entry.js +2 -2
  454. package/dist/esm/nylas-buffer-time.entry.js +2 -2
  455. package/dist/esm/nylas-calendar-picker.entry.js +13 -8
  456. package/dist/esm/nylas-calendar-picker.entry.js.map +1 -1
  457. package/dist/esm/nylas-cancel-booking-form.entry.js +3 -3
  458. package/dist/esm/nylas-cancelled-event-card.entry.js +3 -3
  459. package/dist/esm/nylas-composer.entry.js +2 -2
  460. package/dist/esm/nylas-custom-booking-flow.entry.js +21 -12
  461. package/dist/esm/nylas-custom-booking-flow.entry.js.map +1 -1
  462. package/dist/esm/nylas-date-picker.entry.js +2 -2
  463. package/dist/esm/nylas-editor-tabs.entry.js +69 -40
  464. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  465. package/dist/esm/nylas-event-description.entry.js +15 -6
  466. package/dist/esm/nylas-event-description.entry.js.map +1 -1
  467. package/dist/esm/nylas-event-duration.entry.js +15 -10
  468. package/dist/esm/nylas-event-duration.entry.js.map +1 -1
  469. package/dist/esm/nylas-event-info.entry.js +3 -3
  470. package/dist/esm/nylas-event-limits.entry.js +3 -3
  471. package/dist/esm/nylas-event-title.entry.js +70 -19
  472. package/dist/esm/nylas-event-title.entry.js.map +1 -1
  473. package/dist/esm/nylas-form-card.entry.js +3 -3
  474. package/dist/esm/nylas-if-state.entry.js +2 -2
  475. package/dist/esm/nylas-limit-future-bookings.entry.js +24 -11
  476. package/dist/esm/nylas-limit-future-bookings.entry.js.map +1 -1
  477. package/dist/esm/nylas-list-configurations.entry.js +26 -11
  478. package/dist/esm/nylas-list-configurations.entry.js.map +1 -1
  479. package/dist/esm/nylas-list-folders.entry.js +3 -3
  480. package/dist/esm/nylas-list-threads.entry.js +3 -3
  481. package/dist/esm/nylas-locale-switch.entry.js +3 -3
  482. package/dist/esm/nylas-location-component.entry.js +17 -6
  483. package/dist/esm/nylas-location-component.entry.js.map +1 -1
  484. package/dist/esm/nylas-login.entry.js +3 -3
  485. package/dist/esm/nylas-logo.entry.js +1 -1
  486. package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
  487. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +3 -3
  488. package/dist/esm/nylas-mailbox.entry.js +4 -4
  489. package/dist/esm/nylas-min-cancellation-notice.entry.js +28 -13
  490. package/dist/esm/nylas-min-cancellation-notice.entry.js.map +1 -1
  491. package/dist/esm/nylas-notification.entry.js +2 -2
  492. package/dist/esm/nylas-provider.entry.js +6 -6
  493. package/dist/esm/nylas-scheduler-editor.entry.js +18 -18
  494. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  495. package/dist/esm/nylas-scheduling.entry.js +3 -3
  496. package/dist/esm/nylas-selected-event-card.entry.js +3 -3
  497. package/dist/esm/nylas-summarize-message-button.entry.js +4 -4
  498. package/dist/esm/nylas-threads-refresh.entry.js +4 -4
  499. package/dist/esm/nylas-threads-search.entry.js +3 -3
  500. package/dist/esm/nylas-time-window-picker.entry.js +2 -2
  501. package/dist/esm/nylas-timeslot-picker.entry.js +2 -2
  502. package/dist/esm/nylas-view-email.entry.js +2 -2
  503. package/dist/esm/nylas-view-thread.entry.js +3 -3
  504. package/dist/esm/nylas-web-elements.js +1 -1
  505. package/dist/esm/people-icon.entry.js +1 -1
  506. package/dist/esm/play-icon.entry.js +1 -1
  507. package/dist/esm/play-icon_2.entry.js +2 -2
  508. package/dist/esm/refresh-icon.entry.js +1 -1
  509. package/dist/esm/{register-component-cf5c8420.js → register-component-b9cfcbaf.js} +2 -2
  510. package/dist/esm/{register-component-cf5c8420.js.map → register-component-b9cfcbaf.js.map} +1 -1
  511. package/dist/esm/{register-component-e5afe237.js → register-component-ff6f5df4.js} +2 -2
  512. package/dist/esm/{register-component-e5afe237.js.map → register-component-ff6f5df4.js.map} +1 -1
  513. package/dist/esm/reply-all-icon.entry.js +1 -1
  514. package/dist/esm/reply-icon.entry.js +1 -1
  515. package/dist/esm/{scheduler-config-store-6222c0ed.js → scheduler-config-store-07d98279.js} +10 -4
  516. package/dist/esm/scheduler-config-store-07d98279.js.map +1 -0
  517. package/dist/esm/{scheduler-config-store-0efc3519.js → scheduler-config-store-8f2e658e.js} +10 -4
  518. package/dist/esm/scheduler-config-store-8f2e658e.js.map +1 -0
  519. package/dist/esm/{scheduler-store-39d37291.js → scheduler-store-24fd0e91.js} +16 -3
  520. package/dist/esm/scheduler-store-24fd0e91.js.map +1 -0
  521. package/dist/esm/{scheduler-store-8ddcc496.js → scheduler-store-e62b2146.js} +16 -3
  522. package/dist/esm/scheduler-store-e62b2146.js.map +1 -0
  523. package/dist/esm/search-icon.entry.js +1 -1
  524. package/dist/esm/select-dropdown.entry.js +2 -2
  525. package/dist/esm/sent-icon.entry.js +1 -1
  526. package/dist/esm/spam-icon.entry.js +1 -1
  527. package/dist/esm/star-icon.entry.js +1 -1
  528. package/dist/esm/stop-icon.entry.js +1 -1
  529. package/dist/esm/time-period-selector.entry.js +2 -2
  530. package/dist/esm/tooltip-component.entry.js +1 -1
  531. package/dist/esm/translate-icon.entry.js +1 -1
  532. package/dist/esm/trash-icon.entry.js +1 -1
  533. package/dist/esm/underline-icon.entry.js +1 -1
  534. package/dist/{nylas-web-elements/utils-73d8a928.js → esm/utils-3e18e0b2.js} +46 -2
  535. package/dist/esm/{utils-73d8a928.js.map → utils-3e18e0b2.js.map} +1 -1
  536. package/dist/esm/{utils-d6204242.js → utils-db11d29c.js} +46 -2
  537. package/dist/esm/utils-db11d29c.js.map +1 -0
  538. package/dist/esm/warning-icon.entry.js +1 -1
  539. package/dist/nylas-web-elements/add-circle-icon.entry.js +1 -1
  540. package/dist/nylas-web-elements/archive-icon.entry.js +1 -1
  541. package/dist/nylas-web-elements/arrow-icon.entry.js +1 -1
  542. package/dist/nylas-web-elements/bold-icon.entry.js +1 -1
  543. package/dist/nylas-web-elements/button-component.entry.js +2 -2
  544. package/dist/nylas-web-elements/button-component.entry.js.map +1 -1
  545. package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +1 -1
  546. package/dist/nylas-web-elements/calendar-check-icon.entry.js +1 -1
  547. package/dist/nylas-web-elements/calendar-icon.entry.js +1 -1
  548. package/dist/nylas-web-elements/calendar-info-icon.entry.js +1 -1
  549. package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +1 -1
  550. package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +1 -1
  551. package/dist/nylas-web-elements/chevron-icon.entry.js +1 -1
  552. package/dist/nylas-web-elements/close-icon.entry.js +1 -1
  553. package/dist/nylas-web-elements/{constants-335dffcf.js → constants-bf39e913.js} +11 -2
  554. package/dist/{esm/constants-335dffcf.js.map → nylas-web-elements/constants-bf39e913.js.map} +1 -1
  555. package/dist/nylas-web-elements/document-refresh-icon.entry.js +1 -1
  556. package/dist/nylas-web-elements/flow-icon.entry.js +1 -1
  557. package/dist/nylas-web-elements/folder-icon.entry.js +1 -1
  558. package/dist/nylas-web-elements/forward-icon.entry.js +1 -1
  559. package/dist/nylas-web-elements/globe-icon.entry.js +1 -1
  560. package/dist/nylas-web-elements/google-logo-icon.entry.js +1 -1
  561. package/dist/nylas-web-elements/inbox-icon.entry.js +1 -1
  562. package/dist/{esm/index.es-2842f8c8.js → nylas-web-elements/index.es-e4f027a2.js} +2 -2
  563. package/dist/nylas-web-elements/{index.es-2842f8c8.js.map → index.es-e4f027a2.js.map} +1 -1
  564. package/dist/nylas-web-elements/index.esm.js +2 -2
  565. package/dist/nylas-web-elements/info-icon.entry.js +1 -1
  566. package/dist/nylas-web-elements/italic-icon.entry.js +1 -1
  567. package/dist/nylas-web-elements/loading-icon.entry.js +1 -1
  568. package/dist/nylas-web-elements/location-icon.entry.js +1 -1
  569. package/dist/nylas-web-elements/location-off-icon.entry.js +1 -1
  570. package/dist/{esm/mailbox-store-d48269de.js → nylas-web-elements/mailbox-store-5075f820.js} +3 -3
  571. package/dist/{esm/mailbox-store-d48269de.js.map → nylas-web-elements/mailbox-store-5075f820.js.map} +1 -1
  572. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +1 -1
  573. package/dist/nylas-web-elements/multi-select-dropdown.entry.js +3 -3
  574. package/dist/nylas-web-elements/nylas-additional-participants.entry.js +3 -3
  575. package/dist/nylas-web-elements/nylas-api-request-6a19db25.js +58 -0
  576. package/dist/nylas-web-elements/nylas-api-request-6a19db25.js.map +1 -0
  577. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +33 -16
  578. package/dist/nylas-web-elements/nylas-availability-picker.entry.js.map +1 -1
  579. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +3 -3
  580. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +12 -6
  581. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js.map +1 -1
  582. package/dist/nylas-web-elements/nylas-booking-form.entry.js +2 -2
  583. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +2 -2
  584. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +13 -8
  585. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js.map +1 -1
  586. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +3 -3
  587. package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +3 -3
  588. package/dist/nylas-web-elements/nylas-composer.entry.js +2 -2
  589. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +21 -12
  590. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js.map +1 -1
  591. package/dist/nylas-web-elements/nylas-date-picker.entry.js +2 -2
  592. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +69 -40
  593. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  594. package/dist/nylas-web-elements/nylas-event-description.entry.js +15 -6
  595. package/dist/nylas-web-elements/nylas-event-description.entry.js.map +1 -1
  596. package/dist/nylas-web-elements/nylas-event-duration.entry.js +15 -10
  597. package/dist/nylas-web-elements/nylas-event-duration.entry.js.map +1 -1
  598. package/dist/nylas-web-elements/nylas-event-info.entry.js +3 -3
  599. package/dist/nylas-web-elements/nylas-event-limits.entry.js +3 -3
  600. package/dist/nylas-web-elements/nylas-event-title.entry.js +70 -19
  601. package/dist/nylas-web-elements/nylas-event-title.entry.js.map +1 -1
  602. package/dist/nylas-web-elements/nylas-form-card.entry.js +3 -3
  603. package/dist/nylas-web-elements/nylas-if-state.entry.js +2 -2
  604. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +24 -11
  605. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js.map +1 -1
  606. package/dist/nylas-web-elements/nylas-list-configurations.entry.js +26 -11
  607. package/dist/nylas-web-elements/nylas-list-configurations.entry.js.map +1 -1
  608. package/dist/nylas-web-elements/nylas-list-folders.entry.js +3 -3
  609. package/dist/nylas-web-elements/nylas-list-threads.entry.js +3 -3
  610. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +3 -3
  611. package/dist/nylas-web-elements/nylas-location-component.entry.js +17 -6
  612. package/dist/nylas-web-elements/nylas-location-component.entry.js.map +1 -1
  613. package/dist/nylas-web-elements/nylas-login.entry.js +3 -3
  614. package/dist/nylas-web-elements/nylas-logo.entry.js +1 -1
  615. package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
  616. package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +3 -3
  617. package/dist/nylas-web-elements/nylas-mailbox.entry.js +4 -4
  618. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +28 -13
  619. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js.map +1 -1
  620. package/dist/nylas-web-elements/nylas-notification.entry.js +2 -2
  621. package/dist/nylas-web-elements/nylas-provider.entry.js +6 -6
  622. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +18 -18
  623. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
  624. package/dist/nylas-web-elements/nylas-scheduling.entry.js +3 -3
  625. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +3 -3
  626. package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +4 -4
  627. package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +4 -4
  628. package/dist/nylas-web-elements/nylas-threads-search.entry.js +3 -3
  629. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +2 -2
  630. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +2 -2
  631. package/dist/nylas-web-elements/nylas-view-email.entry.js +2 -2
  632. package/dist/nylas-web-elements/nylas-view-thread.entry.js +3 -3
  633. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  634. package/dist/nylas-web-elements/p-00a9efc1.entry.js +2 -0
  635. package/dist/nylas-web-elements/{p-618b94cd.entry.js → p-074919b0.entry.js} +2 -2
  636. package/dist/nylas-web-elements/p-1e445e86.entry.js +2 -0
  637. package/dist/nylas-web-elements/{p-7692056f.entry.js → p-2081b475.entry.js} +2 -2
  638. package/dist/nylas-web-elements/{p-370cdcca.entry.js → p-21c3dcad.entry.js} +2 -2
  639. package/dist/nylas-web-elements/{p-55368bc0.entry.js → p-22531c3d.entry.js} +2 -2
  640. package/dist/nylas-web-elements/{p-7c55dfa0.entry.js → p-2d151de9.entry.js} +2 -2
  641. package/dist/nylas-web-elements/p-343a02e1.entry.js +2 -0
  642. package/dist/nylas-web-elements/{p-1c94940d.entry.js → p-349f07e3.entry.js} +2 -2
  643. package/dist/nylas-web-elements/{p-9c399019.entry.js → p-3b281401.entry.js} +2 -2
  644. package/dist/nylas-web-elements/{p-e03b2592.entry.js → p-4154e97e.entry.js} +2 -2
  645. package/dist/nylas-web-elements/{p-3f6155de.entry.js → p-434fcde2.entry.js} +2 -2
  646. package/dist/nylas-web-elements/p-44a9ce77.entry.js +2 -0
  647. package/dist/nylas-web-elements/{p-e22aa0b0.js → p-47b99cf5.js} +2 -2
  648. package/dist/nylas-web-elements/{p-1819b3d7.js → p-49f716ed.js} +4 -4
  649. package/dist/nylas-web-elements/p-49f716ed.js.map +1 -0
  650. package/dist/nylas-web-elements/p-4c12e1e9.js +2 -0
  651. package/dist/nylas-web-elements/p-4c12e1e9.js.map +1 -0
  652. package/dist/nylas-web-elements/{p-1ab25f04.entry.js → p-50b4a80f.entry.js} +2 -2
  653. package/dist/nylas-web-elements/{p-266f9995.entry.js → p-571472d4.entry.js} +2 -2
  654. package/dist/nylas-web-elements/{p-c199d203.entry.js → p-5caa0f36.entry.js} +2 -2
  655. package/dist/nylas-web-elements/{p-57b753c6.entry.js → p-607b547b.entry.js} +2 -2
  656. package/dist/nylas-web-elements/{p-945caf14.entry.js → p-694b511a.entry.js} +2 -2
  657. package/dist/nylas-web-elements/{p-18a936a3.entry.js → p-73c062f8.entry.js} +2 -2
  658. package/dist/nylas-web-elements/{p-81ea7310.entry.js → p-7614e31e.entry.js} +2 -2
  659. package/dist/nylas-web-elements/{p-fe3b8e66.entry.js → p-7687925d.entry.js} +2 -2
  660. package/dist/nylas-web-elements/{p-c451c9e1.entry.js → p-828165d3.entry.js} +2 -2
  661. package/dist/nylas-web-elements/p-939db546.entry.js +2 -0
  662. package/dist/nylas-web-elements/{p-858f0aad.entry.js → p-95a3094a.entry.js} +2 -2
  663. package/dist/nylas-web-elements/{p-ae893050.entry.js → p-980c32d9.entry.js} +3 -3
  664. package/dist/nylas-web-elements/{p-04e3a98e.entry.js → p-a17f542c.entry.js} +2 -2
  665. package/dist/nylas-web-elements/p-a3b1a98c.js +2 -0
  666. package/dist/nylas-web-elements/p-a3b1a98c.js.map +1 -0
  667. package/dist/nylas-web-elements/{p-41dc0d93.js → p-ad7cf473.js} +2 -2
  668. package/dist/nylas-web-elements/p-ad7cf473.js.map +1 -0
  669. package/dist/nylas-web-elements/{p-8b1a6e27.entry.js → p-b25821e1.entry.js} +2 -2
  670. package/dist/nylas-web-elements/{p-572bf8c2.entry.js → p-b53062f7.entry.js} +2 -2
  671. package/dist/nylas-web-elements/{p-674b6d5d.entry.js → p-bb89e973.entry.js} +2 -2
  672. package/dist/nylas-web-elements/p-c20ab972.entry.js +2 -0
  673. package/dist/nylas-web-elements/p-c529dced.entry.js +2 -0
  674. package/dist/nylas-web-elements/p-c529dced.entry.js.map +1 -0
  675. package/dist/nylas-web-elements/{p-1260ac06.entry.js → p-d5375409.entry.js} +2 -2
  676. package/dist/nylas-web-elements/{p-9d4bffbb.entry.js → p-d8f09631.entry.js} +2 -2
  677. package/dist/nylas-web-elements/p-da74ec1c.entry.js +2 -0
  678. package/dist/nylas-web-elements/p-da74ec1c.entry.js.map +1 -0
  679. package/dist/nylas-web-elements/p-db15d382.js +2 -0
  680. package/dist/nylas-web-elements/p-db15d382.js.map +1 -0
  681. package/dist/nylas-web-elements/{p-9ea458c3.js → p-f0250b7d.js} +2 -2
  682. package/dist/nylas-web-elements/{p-eaa9151b.js → p-f0f3f350.js} +2 -2
  683. package/dist/nylas-web-elements/{p-424f4d9a.entry.js → p-f3974e14.entry.js} +2 -2
  684. package/dist/nylas-web-elements/{p-9b195811.entry.js → p-f47163ac.entry.js} +2 -2
  685. package/dist/nylas-web-elements/{p-1655dec3.entry.js → p-f5d17746.entry.js} +4 -4
  686. package/dist/nylas-web-elements/p-f5d17746.entry.js.map +1 -0
  687. package/dist/nylas-web-elements/people-icon.entry.js +1 -1
  688. package/dist/nylas-web-elements/play-icon.entry.js +1 -1
  689. package/dist/nylas-web-elements/refresh-icon.entry.js +1 -1
  690. package/dist/nylas-web-elements/{register-component-e5afe237.js → register-component-ff6f5df4.js} +2 -2
  691. package/dist/nylas-web-elements/{register-component-e5afe237.js.map → register-component-ff6f5df4.js.map} +1 -1
  692. package/dist/nylas-web-elements/reply-all-icon.entry.js +1 -1
  693. package/dist/nylas-web-elements/reply-icon.entry.js +1 -1
  694. package/dist/nylas-web-elements/{scheduler-config-store-0efc3519.js → scheduler-config-store-8f2e658e.js} +10 -4
  695. package/dist/nylas-web-elements/scheduler-config-store-8f2e658e.js.map +1 -0
  696. package/dist/nylas-web-elements/{scheduler-store-8ddcc496.js → scheduler-store-e62b2146.js} +16 -3
  697. package/dist/nylas-web-elements/scheduler-store-e62b2146.js.map +1 -0
  698. package/dist/nylas-web-elements/search-icon.entry.js +1 -1
  699. package/dist/nylas-web-elements/select-dropdown.entry.js +2 -2
  700. package/dist/nylas-web-elements/sent-icon.entry.js +1 -1
  701. package/dist/nylas-web-elements/spam-icon.entry.js +1 -1
  702. package/dist/nylas-web-elements/star-icon.entry.js +1 -1
  703. package/dist/nylas-web-elements/stop-icon.entry.js +1 -1
  704. package/dist/nylas-web-elements/time-period-selector.entry.js +2 -2
  705. package/dist/nylas-web-elements/tooltip-component.entry.js +1 -1
  706. package/dist/nylas-web-elements/translate-icon.entry.js +1 -1
  707. package/dist/nylas-web-elements/trash-icon.entry.js +1 -1
  708. package/dist/nylas-web-elements/underline-icon.entry.js +1 -1
  709. package/dist/{esm/utils-73d8a928.js → nylas-web-elements/utils-3e18e0b2.js} +46 -2
  710. package/dist/nylas-web-elements/{utils-73d8a928.js.map → utils-3e18e0b2.js.map} +1 -1
  711. package/dist/nylas-web-elements/warning-icon.entry.js +1 -1
  712. package/dist/types/common/constants.d.ts +2 -0
  713. package/dist/types/common/nylas-api-request.d.ts +3 -0
  714. package/dist/types/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.d.ts +10 -4
  715. package/dist/types/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.d.ts +2 -0
  716. package/dist/types/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.d.ts +3 -2
  717. package/dist/types/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.d.ts +4 -1
  718. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +35 -5
  719. package/dist/types/components/scheduler-editor/nylas-event-description/nylas-event-description.d.ts +3 -0
  720. package/dist/types/components/scheduler-editor/nylas-event-duration/nylas-event-duration.d.ts +3 -0
  721. package/dist/types/components/scheduler-editor/nylas-event-title/nylas-event-title.d.ts +7 -1
  722. package/dist/types/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.d.ts +6 -6
  723. package/dist/types/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.d.ts +2 -0
  724. package/dist/types/components/scheduler-editor/nylas-location-component/nylas-location-component.d.ts +3 -0
  725. package/dist/types/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.d.ts +4 -1
  726. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +3 -2
  727. package/dist/types/components.d.ts +110 -22
  728. package/dist/types/connector/nylas-connector/index.d.ts +1 -1
  729. package/dist/types/connector/nylas-scheduler-config-connector/index.d.ts +1 -1
  730. package/dist/types/connector/nylas-scheduler-connector/errors/index.d.ts +1 -0
  731. package/dist/types/index.d.ts +1 -1
  732. package/dist/types/stores/scheduler-config-store.d.ts +6 -2
  733. package/dist/types/utils/utils.d.ts +1 -0
  734. package/package.json +4 -2
  735. package/dist/cjs/nylas-api-request-2a0e7022.js.map +0 -1
  736. package/dist/cjs/nylas-api-request-55923233.js.map +0 -1
  737. package/dist/cjs/scheduler-config-store-4d93a9b7.js.map +0 -1
  738. package/dist/cjs/scheduler-config-store-a0e08cab.js.map +0 -1
  739. package/dist/cjs/scheduler-store-a492526c.js.map +0 -1
  740. package/dist/cjs/scheduler-store-e148a4cc.js.map +0 -1
  741. package/dist/cjs/utils-20663d54.js.map +0 -1
  742. package/dist/esm/nylas-api-request-3120d9ac.js.map +0 -1
  743. package/dist/esm/nylas-api-request-4f3dbb72.js.map +0 -1
  744. package/dist/esm/scheduler-config-store-0efc3519.js.map +0 -1
  745. package/dist/esm/scheduler-config-store-6222c0ed.js.map +0 -1
  746. package/dist/esm/scheduler-store-39d37291.js.map +0 -1
  747. package/dist/esm/scheduler-store-8ddcc496.js.map +0 -1
  748. package/dist/esm/utils-d6204242.js.map +0 -1
  749. package/dist/nylas-web-elements/nylas-api-request-4f3dbb72.js.map +0 -1
  750. package/dist/nylas-web-elements/p-0edb3b69.entry.js +0 -2
  751. package/dist/nylas-web-elements/p-1655dec3.entry.js.map +0 -1
  752. package/dist/nylas-web-elements/p-1819b3d7.js.map +0 -1
  753. package/dist/nylas-web-elements/p-1aa7b357.js +0 -2
  754. package/dist/nylas-web-elements/p-1aa7b357.js.map +0 -1
  755. package/dist/nylas-web-elements/p-1f843391.js +0 -2
  756. package/dist/nylas-web-elements/p-1f843391.js.map +0 -1
  757. package/dist/nylas-web-elements/p-3116f5cc.js +0 -2
  758. package/dist/nylas-web-elements/p-3116f5cc.js.map +0 -1
  759. package/dist/nylas-web-elements/p-41dc0d93.js.map +0 -1
  760. package/dist/nylas-web-elements/p-47180df9.entry.js +0 -2
  761. package/dist/nylas-web-elements/p-605142a9.entry.js +0 -2
  762. package/dist/nylas-web-elements/p-6dcc9411.entry.js +0 -2
  763. package/dist/nylas-web-elements/p-6dcc9411.entry.js.map +0 -1
  764. package/dist/nylas-web-elements/p-9d0c0340.entry.js +0 -2
  765. package/dist/nylas-web-elements/p-9d75bcb2.entry.js +0 -2
  766. package/dist/nylas-web-elements/p-9d75bcb2.entry.js.map +0 -1
  767. package/dist/nylas-web-elements/p-be7124f0.entry.js +0 -2
  768. package/dist/nylas-web-elements/p-c45ac7c6.entry.js +0 -2
  769. package/dist/nylas-web-elements/scheduler-config-store-0efc3519.js.map +0 -1
  770. package/dist/nylas-web-elements/scheduler-store-8ddcc496.js.map +0 -1
  771. /package/dist/nylas-web-elements/{p-c45ac7c6.entry.js.map → p-00a9efc1.entry.js.map} +0 -0
  772. /package/dist/nylas-web-elements/{p-618b94cd.entry.js.map → p-074919b0.entry.js.map} +0 -0
  773. /package/dist/nylas-web-elements/{p-47180df9.entry.js.map → p-1e445e86.entry.js.map} +0 -0
  774. /package/dist/nylas-web-elements/{p-7692056f.entry.js.map → p-2081b475.entry.js.map} +0 -0
  775. /package/dist/nylas-web-elements/{p-370cdcca.entry.js.map → p-21c3dcad.entry.js.map} +0 -0
  776. /package/dist/nylas-web-elements/{p-55368bc0.entry.js.map → p-22531c3d.entry.js.map} +0 -0
  777. /package/dist/nylas-web-elements/{p-7c55dfa0.entry.js.map → p-2d151de9.entry.js.map} +0 -0
  778. /package/dist/nylas-web-elements/{p-be7124f0.entry.js.map → p-343a02e1.entry.js.map} +0 -0
  779. /package/dist/nylas-web-elements/{p-1c94940d.entry.js.map → p-349f07e3.entry.js.map} +0 -0
  780. /package/dist/nylas-web-elements/{p-9c399019.entry.js.map → p-3b281401.entry.js.map} +0 -0
  781. /package/dist/nylas-web-elements/{p-e03b2592.entry.js.map → p-4154e97e.entry.js.map} +0 -0
  782. /package/dist/nylas-web-elements/{p-3f6155de.entry.js.map → p-434fcde2.entry.js.map} +0 -0
  783. /package/dist/nylas-web-elements/{p-605142a9.entry.js.map → p-44a9ce77.entry.js.map} +0 -0
  784. /package/dist/nylas-web-elements/{p-e22aa0b0.js.map → p-47b99cf5.js.map} +0 -0
  785. /package/dist/nylas-web-elements/{p-1ab25f04.entry.js.map → p-50b4a80f.entry.js.map} +0 -0
  786. /package/dist/nylas-web-elements/{p-266f9995.entry.js.map → p-571472d4.entry.js.map} +0 -0
  787. /package/dist/nylas-web-elements/{p-c199d203.entry.js.map → p-5caa0f36.entry.js.map} +0 -0
  788. /package/dist/nylas-web-elements/{p-57b753c6.entry.js.map → p-607b547b.entry.js.map} +0 -0
  789. /package/dist/nylas-web-elements/{p-945caf14.entry.js.map → p-694b511a.entry.js.map} +0 -0
  790. /package/dist/nylas-web-elements/{p-18a936a3.entry.js.map → p-73c062f8.entry.js.map} +0 -0
  791. /package/dist/nylas-web-elements/{p-81ea7310.entry.js.map → p-7614e31e.entry.js.map} +0 -0
  792. /package/dist/nylas-web-elements/{p-fe3b8e66.entry.js.map → p-7687925d.entry.js.map} +0 -0
  793. /package/dist/nylas-web-elements/{p-c451c9e1.entry.js.map → p-828165d3.entry.js.map} +0 -0
  794. /package/dist/nylas-web-elements/{p-9d0c0340.entry.js.map → p-939db546.entry.js.map} +0 -0
  795. /package/dist/nylas-web-elements/{p-858f0aad.entry.js.map → p-95a3094a.entry.js.map} +0 -0
  796. /package/dist/nylas-web-elements/{p-ae893050.entry.js.map → p-980c32d9.entry.js.map} +0 -0
  797. /package/dist/nylas-web-elements/{p-04e3a98e.entry.js.map → p-a17f542c.entry.js.map} +0 -0
  798. /package/dist/nylas-web-elements/{p-8b1a6e27.entry.js.map → p-b25821e1.entry.js.map} +0 -0
  799. /package/dist/nylas-web-elements/{p-572bf8c2.entry.js.map → p-b53062f7.entry.js.map} +0 -0
  800. /package/dist/nylas-web-elements/{p-674b6d5d.entry.js.map → p-bb89e973.entry.js.map} +0 -0
  801. /package/dist/nylas-web-elements/{p-0edb3b69.entry.js.map → p-c20ab972.entry.js.map} +0 -0
  802. /package/dist/nylas-web-elements/{p-1260ac06.entry.js.map → p-d5375409.entry.js.map} +0 -0
  803. /package/dist/nylas-web-elements/{p-9d4bffbb.entry.js.map → p-d8f09631.entry.js.map} +0 -0
  804. /package/dist/nylas-web-elements/{p-9ea458c3.js.map → p-f0250b7d.js.map} +0 -0
  805. /package/dist/nylas-web-elements/{p-eaa9151b.js.map → p-f0f3f350.js.map} +0 -0
  806. /package/dist/nylas-web-elements/{p-424f4d9a.entry.js.map → p-f3974e14.entry.js.map} +0 -0
  807. /package/dist/nylas-web-elements/{p-9b195811.entry.js.map → p-f47163ac.entry.js.map} +0 -0
@@ -1,5 +1,9 @@
1
1
  :host {
2
- display: block;
2
+ display: grid;
3
+ grid-auto-flow: row;
4
+ width: 100%;
5
+ font-family: inherit;
6
+ font-optical-sizing: auto;
3
7
  --nylas-primary: #2563eb;
4
8
  --nylas-error: #cc4841;
5
9
  --nylas-error-pressed: #992222;
@@ -29,12 +33,19 @@
29
33
  display: flex;
30
34
  align-items: center;
31
35
  justify-content: space-between;
32
- margin-bottom: 1rem;
36
+ margin-bottom: 2rem;
37
+ gap: 1rem;
38
+ }
39
+ @media screen and (max-width: 768px) {
40
+ .header {
41
+ flex-direction: column;
42
+ }
33
43
  }
34
44
  .header h2 {
35
45
  margin: 0;
36
46
  font-size: 1.25rem;
37
47
  color: var(--nylas-base-900);
48
+ font-weight: 600;
38
49
  }
39
50
  .header p {
40
51
  margin: 0;
@@ -44,22 +55,38 @@
44
55
  .header .actions {
45
56
  justify-self: end;
46
57
  }
58
+ @media screen and (max-width: 768px) {
59
+ .header .actions {
60
+ width: 100%;
61
+ }
62
+ }
47
63
 
48
64
  .configurations {
49
65
  border: 1px solid var(--nylas-base-200);
50
66
  border-radius: var(--nylas-border-radius-2x);
67
+ overflow-x: auto;
51
68
  }
52
69
  .configurations table {
53
70
  width: 100%;
54
71
  border-spacing: 0;
55
72
  border-collapse: collapse;
73
+ font-family: inherit;
56
74
  }
57
75
  .configurations table tr {
76
+ color: var(--nylas-base-800);
58
77
  border-bottom: 1px solid var(--nylas-base-200);
78
+ font-family: inherit;
59
79
  }
60
80
  .configurations table tr:last-of-type {
61
81
  border-bottom: 0;
62
82
  }
83
+ .configurations table tr.hide {
84
+ display: none;
85
+ }
86
+ .configurations table th {
87
+ font-weight: 600;
88
+ text-transform: uppercase;
89
+ }
63
90
  .configurations table tr.no-configurations td > div {
64
91
  display: flex;
65
92
  height: 100%;
@@ -84,6 +111,7 @@
84
111
  .configurations table td {
85
112
  text-align: left;
86
113
  padding: 1rem;
114
+ font-family: inherit;
87
115
  }
88
116
  .configurations table .actions {
89
117
  text-align: right;
@@ -102,4 +130,13 @@
102
130
  }
103
131
  .configurations table .title .config-event-description {
104
132
  font-size: 0.75rem;
133
+ }
134
+
135
+ .error-container {
136
+ margin-top: 1.5rem;
137
+ }
138
+ .error-container .error {
139
+ color: var(--nylas-error);
140
+ padding: 0.5rem 0;
141
+ margin: 1rem 0 0;
105
142
  }
@@ -20,6 +20,7 @@ export class NylasListConfigurations {
20
20
  this.configurations = [];
21
21
  this.schedulerPreviewLink = '';
22
22
  this.state = 'loading';
23
+ this.error = '';
23
24
  }
24
25
  connectedCallback() {
25
26
  debug('[nylas-list-configurations]', 'connectedCallback');
@@ -43,10 +44,15 @@ export class NylasListConfigurations {
43
44
  async setState(state) {
44
45
  this.state = state;
45
46
  }
47
+ async setError(error) {
48
+ this.error = error;
49
+ }
46
50
  render() {
47
- return (h(Host, { key: 'c6579bd33e43be81caa460d87e99ed53f8123c6a' }, h("div", { key: 'd3ff4fc25e34a2dab3820b774f52a845c37bb282', class: "nylas-list-configurations" }, h("div", { key: 'fc6ff138be7cf63196217b7ef7524ae8f0a82c5c', class: "header" }, h("div", { key: 'a518d44c645bfc5d5e8449119ebc4be7c475a5f3', class: "description" }, h("h2", { key: 'a9d999a93c26ee3d9040dcae09306ecb7da43fb5' }, "All scheduling configurations"), h("p", { key: '6361799617ce1ccf7469cce6a0064d94d97701b0' }, "Create, edit and manage all your scheduling configurations.")), this.configurations && this.configurations.length > 0 && (h("div", { class: "actions" }, h("button-component", { clickHandler: () => {
51
+ return (h(Host, null, h("div", { class: "header" }, h("div", { class: "description" }, h("h2", null, "All scheduling pages"), h("p", null, "Create, edit and manage all your scheduling pages.")), this.configurations && this.configurations.length > 0 && (h("div", { class: "actions" }, h("button-component", { clickHandler: () => {
48
52
  this.createButtonClick.emit(this.host);
49
- } }, "Create new")))), h("div", { key: '3f26491b35427c4364bcc1c5e1cbffdfabd52d37', class: "configurations" }, h("table", { key: 'ca8bf13b620b92cd4892b8dbf218988915ce4fc0' }, h("tr", { key: '09526ab48bbc988b0595f8060a184c340f1d43cc' }, h("th", { key: '7367e03d461f854eaf84e166d65471d356f44ee5' }, "Configuration event title"), h("th", { key: 'f983dcae11fdd33e21f0f202eb9b43a7d409b714' }, "Duration"), h("th", { key: '828c60e134498a1db8bd31ce0311bb8a771cb435', class: "actions" }, "Actions")), this.state === 'loading' && (h("tr", { class: "no-configurations" }, h("td", { colSpan: 3 }, h("div", null, h("h3", null, "Loading..."), h("p", null, "Please wait while we fetch your configurations"))))), this.state !== 'loading' && (!this.configurations || this.configurations.length === 0) && (h("tr", { class: "no-configurations" }, h("td", { colSpan: 3 }, h("div", null, h("calendar-icon", { width: "48", height: "48" }), h("h3", null, "No configurations found"), h("p", null, "Get started with creating your first scheduling page"), h("button-component", { clickHandler: () => {
53
+ } }, "Create new")))), h("div", { class: "configurations" }, h("table", null, h("tr", { class: {
54
+ hide: this.state === 'loading' || (this.configurations && this.configurations.length === 0),
55
+ } }, h("th", null, "Scheduling page event title"), h("th", null, "Duration"), h("th", { class: "actions" }, "Actions")), this.state === 'loading' && (h("tr", { class: "no-configurations" }, h("td", { colSpan: 3 }, h("div", null, h("h3", null, "Loading..."), h("p", null, "Please wait while we fetch the scheduling pages"))))), this.state !== 'loading' && (!this.configurations || this.configurations.length === 0) && (h("tr", { class: "no-configurations" }, h("td", { colSpan: 3 }, h("div", null, h("calendar-icon", { width: "48", height: "48" }), h("h3", null, "No scheduling pages found"), h("p", null, "Get started with creating your first scheduling page"), h("button-component", { clickHandler: () => {
50
56
  this.createButtonClick.emit(this.host);
51
57
  } }, "Create new"))))), this.state !== 'loading' &&
52
58
  this.configurations.map(config => (h("tr", { key: config.id }, h("td", null, h("div", { class: "title" }, h("span", { class: 'config-event-title' }, config.event_booking.title), h("span", { class: 'config-event-description' }, config.event_booking.description))), h("td", null, h("div", null, config.availability.duration_minutes, " mins")), h("td", null, h("div", { class: "actions" }, h("button-component", { variant: 'basic', clickHandler: event => {
@@ -58,7 +64,7 @@ export class NylasListConfigurations {
58
64
  } }, "Edit"), h("button-component", { variant: 'basic', clickHandler: event => {
59
65
  event.preventDefault();
60
66
  this.deleteButtonClick.emit({ host: this.host, configuration: config });
61
- } }, "Delete")))))))))));
67
+ } }, "Delete")))))))), h("div", { class: "error-container" }, h("p", { class: 'error' }, this.state === 'error' && this.error))));
62
68
  }
63
69
  static get is() { return "nylas-list-configurations"; }
64
70
  static get encapsulation() { return "shadow"; }
@@ -118,7 +124,8 @@ export class NylasListConfigurations {
118
124
  }
119
125
  static get states() {
120
126
  return {
121
- "state": {}
127
+ "state": {},
128
+ "error": {}
122
129
  };
123
130
  }
124
131
  static get events() {
@@ -253,6 +260,27 @@ export class NylasListConfigurations {
253
260
  "text": "",
254
261
  "tags": []
255
262
  }
263
+ },
264
+ "setError": {
265
+ "complexType": {
266
+ "signature": "(error: string) => Promise<void>",
267
+ "parameters": [{
268
+ "name": "error",
269
+ "type": "string",
270
+ "docs": ""
271
+ }],
272
+ "references": {
273
+ "Promise": {
274
+ "location": "global",
275
+ "id": "global::Promise"
276
+ }
277
+ },
278
+ "return": "Promise<void>"
279
+ },
280
+ "docs": {
281
+ "text": "",
282
+ "tags": []
283
+ }
256
284
  }
257
285
  };
258
286
  }
@@ -267,20 +295,29 @@ __decorate([
267
295
  initListConfigurations: async (event, connector) => {
268
296
  const host = event.detail;
269
297
  await host.setState('loading');
270
- await connector.schedulerConfig.getConfigurations();
298
+ const [data, error] = await connector.schedulerConfig.getConfigurations();
299
+ if (!data && error && error.message) {
300
+ await host.setState('error');
301
+ await host.setError(error.message);
302
+ return;
303
+ }
271
304
  await host.setState('loaded');
272
305
  },
273
306
  createButtonClick: async (_, connector) => {
274
- connector.schedulerConfigStore.state.config = {};
307
+ connector.schedulerConfigStore.resetSelectedConfiguration();
275
308
  connector.schedulerConfigStore.state.action = 'create';
276
309
  },
277
310
  deleteButtonClick: async (event, connector) => {
278
- const { configuration } = event.detail;
279
- await connector.schedulerConfig.deleteConfiguration(configuration.id);
311
+ const { host, configuration } = event.detail;
312
+ const [data, error] = await connector.schedulerConfig.deleteConfiguration(configuration.id);
313
+ if (!data && error && error.message) {
314
+ await host.setState('error');
315
+ await host.setError(error.message);
316
+ }
280
317
  },
281
318
  editButtonClick: async (event, connector) => {
282
319
  const { configuration } = event.detail;
283
- connector.schedulerConfigStore.state.config = configuration;
320
+ connector.schedulerConfigStore.state.selectedConfiguration = configuration;
284
321
  connector.schedulerConfigStore.state.action = 'edit';
285
322
  },
286
323
  },
@@ -1 +1 @@
1
- {"version":3,"file":"nylas-list-configurations.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, parsePreviewLink } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\n/**\n * The `nylas-list-configurations` component displays a list of scheduling configurations.\n */\n@Component({\n tag: 'nylas-list-configurations',\n styleUrl: 'nylas-list-configurations.scss',\n shadow: true,\n})\nexport class NylasListConfigurations {\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasListConfigurationsElement;\n\n /**\n * The list of configurations to display.\n */\n @Prop() configurations: Configuration[] = [];\n\n /**\n * The scheduler preview link to use when the user clicks on the preview button.\n * You can use a placeholder `{config.id}` to replace the configuration id anywhere in the link.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n\n /**\n * Event emitted when the component is initialized.\n */\n @Event() initListConfigurations!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the create event button.\n */\n @Event() createButtonClick!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the edit event button.\n */\n @Event() editButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration;\n }>;\n\n /**\n * Event emitted when the user clicks the delete event button.\n */\n @Event() deleteButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration;\n }>;\n\n /**\n * The current state of the component.\n */\n @State() private state: 'loading' | 'loaded' | 'error' = 'loading';\n\n connectedCallback() {\n debug('[nylas-list-configurations]', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('[nylas-list-configurations]', 'componentWillLoad');\n\n // If we have configurations, we will set the state to loaded.\n if (this.configurations && this.configurations.length > 0) {\n this.state = 'loaded';\n }\n }\n\n componentDidLoad() {\n debug('[nylas-list-configurations]', 'componentDidLoad');\n\n // Fire the init event. By default, we will fetch the configurations.\n // This is defined in the eventToProps object in the RegisterComponent decorator.\n this.initListConfigurations.emit(this.host);\n }\n\n disconnectedCallback() {\n debug('[nylas-list-configurations]', 'disconnectedCallback');\n }\n\n @Method()\n async getState() {\n return this.state;\n }\n\n @Method()\n async setState(state: 'loading' | 'loaded' | 'error') {\n this.state = state;\n }\n\n @RegisterComponent<NylasListConfigurations, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-list-configurations',\n stateToProps: new Map([['schedulerConfig.configurations', 'configurations']]),\n localPropsToProp: new Map([['schedulerPreviewLink', 'schedulerPreviewLink']]),\n eventToProps: {\n initListConfigurations: async (event, connector) => {\n const host = event.detail;\n await host.setState('loading');\n await connector.schedulerConfig.getConfigurations();\n await host.setState('loaded');\n },\n createButtonClick: async (_, connector) => {\n connector.schedulerConfigStore.state.config = {};\n connector.schedulerConfigStore.state.action = 'create';\n },\n deleteButtonClick: async (event, connector) => {\n const { configuration } = event.detail;\n await connector.schedulerConfig.deleteConfiguration(configuration.id);\n },\n editButtonClick: async (event, connector) => {\n const { configuration } = event.detail;\n connector.schedulerConfigStore.state.config = configuration;\n connector.schedulerConfigStore.state.action = 'edit';\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"nylas-list-configurations\">\n <div class=\"header\">\n <div class=\"description\">\n <h2>All scheduling configurations</h2>\n <p>Create, edit and manage all your scheduling configurations.</p>\n </div>\n {this.configurations && this.configurations.length > 0 && (\n <div class=\"actions\">\n <button-component\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n Create new\n </button-component>\n </div>\n )}\n </div>\n <div class=\"configurations\">\n <table>\n <tr>\n <th>Configuration event title</th>\n <th>Duration</th>\n <th class=\"actions\">Actions</th>\n </tr>\n {this.state === 'loading' && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <h3>Loading...</h3>\n <p>Please wait while we fetch your configurations</p>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' && (!this.configurations || this.configurations.length === 0) && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <calendar-icon width=\"48\" height=\"48\"></calendar-icon>\n <h3>No configurations found</h3>\n <p>Get started with creating your first scheduling page</p>\n <button-component\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n Create new\n </button-component>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' &&\n this.configurations.map(config => (\n <tr key={config.id}>\n <td>\n <div class=\"title\">\n <span class={'config-event-title'}>{config.event_booking.title}</span>\n <span class={'config-event-description'}>{config.event_booking.description}</span>\n </div>\n </td>\n <td>\n <div>{config.availability.duration_minutes} mins</div>\n </td>\n <td>\n <div class=\"actions\">\n <button-component\n variant={'basic'}\n clickHandler={event => {\n event.preventDefault();\n window.open(parsePreviewLink(this.schedulerPreviewLink, config), '_blank');\n }}\n >\n Preview\n </button-component>\n <button-component\n variant={'basic'}\n clickHandler={event => {\n event.preventDefault();\n this.editButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n Edit\n </button-component>\n <button-component\n variant={'basic'}\n clickHandler={event => {\n event.preventDefault();\n this.deleteButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n Delete\n </button-component>\n </div>\n </td>\n </tr>\n ))}\n </table>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"nylas-list-configurations.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAYtG,MAAM,OAAO,uBAAuB;;8BASQ,EAAE;oCAMkC,EAAE;qBA+BvB,SAAS;qBAKjC,EAAE;;IAEnC,iBAAiB;QACf,KAAK,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC;QAG1D,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,KAAK,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,CAAC;QAIzD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAAC;IAC/D,CAAC;IAGD,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,KAAK,CAAC,QAAQ,CAAC,KAAqC;QAClD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAGD,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAsCD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,WAAK,KAAK,EAAC,QAAQ;gBACjB,WAAK,KAAK,EAAC,aAAa;oBACtB,qCAA6B;oBAC7B,kEAAyD,CACrD;gBACL,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CACxD,WAAK,KAAK,EAAC,SAAS;oBAClB,wBACE,YAAY,EAAE,GAAG,EAAE;4BACjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzC,CAAC,iBAGgB,CACf,CACP,CACG;YACN,WAAK,KAAK,EAAC,gBAAgB;gBACzB;oBACE,UACE,KAAK,EAAE;4BACL,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;yBAC5F;wBAED,4CAAoC;wBACpC,yBAAiB;wBACjB,UAAI,KAAK,EAAC,SAAS,cAAa,CAC7B;oBACJ,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAC3B,UAAI,KAAK,EAAC,mBAAmB;wBAC3B,UAAI,OAAO,EAAE,CAAC;4BACZ;gCACE,2BAAmB;gCACnB,+DAAsD,CAClD,CACH,CACF,CACN;oBACA,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CACzF,UAAI,KAAK,EAAC,mBAAmB;wBAC3B,UAAI,OAAO,EAAE,CAAC;4BACZ;gCACE,qBAAe,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAiB;gCACtD,0CAAkC;gCAClC,oEAA2D;gCAC3D,wBACE,YAAY,EAAE,GAAG,EAAE;wCACjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oCACzC,CAAC,iBAGgB,CACf,CACH,CACF,CACN;oBACA,IAAI,CAAC,KAAK,KAAK,SAAS;wBACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAChC,UAAI,GAAG,EAAE,MAAM,CAAC,EAAE;4BAChB;gCACE,WAAK,KAAK,EAAC,OAAO;oCAChB,YAAM,KAAK,EAAE,oBAAoB,IAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAQ;oCACtE,YAAM,KAAK,EAAE,0BAA0B,IAAG,MAAM,CAAC,aAAa,CAAC,WAAW,CAAQ,CAC9E,CACH;4BACL;gCACE;oCAAM,MAAM,CAAC,YAAY,CAAC,gBAAgB;4CAAY,CACnD;4BACL;gCACE,WAAK,KAAK,EAAC,SAAS;oCAClB,wBACE,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,CAAC,EAAE;4CACpB,KAAK,CAAC,cAAc,EAAE,CAAC;4CACvB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;wCAC7E,CAAC,cAGgB;oCACnB,wBACE,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,CAAC,EAAE;4CACpB,KAAK,CAAC,cAAc,EAAE,CAAC;4CACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;wCACxE,CAAC,WAGgB;oCACnB,wBACE,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,CAAC,EAAE;4CACpB,KAAK,CAAC,cAAc,EAAE,CAAC;4CACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;wCAC1E,CAAC,aAGgB,CACf,CACH,CACF,CACN,CAAC,CACE,CACJ;YACN,WAAK,KAAK,EAAC,iBAAiB;gBAC1B,SAAG,KAAK,EAAE,OAAO,IAAG,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAK,CACzD,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAhHC;IApCC,iBAAiB,CAA6G;QAC7H,IAAI,EAAE,2BAA2B;QACjC,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,gCAAgC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7E,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC7E,YAAY,EAAE;YACZ,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACjD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;gBAC1E,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnC,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YACD,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE;gBACxC,SAAS,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,CAAC;gBAC5D,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;YACzD,CAAC;YACD,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC5C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC7C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC5F,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC1C,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;gBACvC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,qBAAqB,GAAG,aAAa,CAAC;gBAC3E,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACvD,CAAC;SACF;QACD,iBAAiB,EAAE,IAAI;KACxB,CAAC;;;;qDAgHD","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, parsePreviewLink } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\n/**\n * The `nylas-list-configurations` component displays a list of scheduling pages.\n */\n@Component({\n tag: 'nylas-list-configurations',\n styleUrl: 'nylas-list-configurations.scss',\n shadow: true,\n})\nexport class NylasListConfigurations {\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasListConfigurationsElement;\n\n /**\n * The list of configurations to display.\n */\n @Prop() configurations: Configuration[] = [];\n\n /**\n * The scheduler preview link to use when the user clicks on the preview button.\n * You can use a placeholder `{config.id}` to replace the configuration id anywhere in the link.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n\n /**\n * Event emitted when the component is initialized.\n */\n @Event() initListConfigurations!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the create event button.\n */\n @Event() createButtonClick!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the edit event button.\n */\n @Event() editButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration;\n }>;\n\n /**\n * Event emitted when the user clicks the delete event button.\n */\n @Event() deleteButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration;\n }>;\n\n /**\n * The current state of the component.\n */\n @State() private state: 'loading' | 'loaded' | 'error' = 'loading';\n\n /**\n * The error message to display.\n */\n @State() private error: string = '';\n\n connectedCallback() {\n debug('[nylas-list-configurations]', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('[nylas-list-configurations]', 'componentWillLoad');\n\n // If we have configurations, we will set the state to loaded.\n if (this.configurations && this.configurations.length > 0) {\n this.state = 'loaded';\n }\n }\n\n componentDidLoad() {\n debug('[nylas-list-configurations]', 'componentDidLoad');\n\n // Fire the init event. By default, we will fetch the configurations.\n // This is defined in the eventToProps object in the RegisterComponent decorator.\n this.initListConfigurations.emit(this.host);\n }\n\n disconnectedCallback() {\n debug('[nylas-list-configurations]', 'disconnectedCallback');\n }\n\n @Method()\n async getState() {\n return this.state;\n }\n\n @Method()\n async setState(state: 'loading' | 'loaded' | 'error') {\n this.state = state;\n }\n\n @Method()\n async setError(error: string) {\n this.error = error;\n }\n\n @RegisterComponent<NylasListConfigurations, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-list-configurations',\n stateToProps: new Map([['schedulerConfig.configurations', 'configurations']]),\n localPropsToProp: new Map([['schedulerPreviewLink', 'schedulerPreviewLink']]),\n eventToProps: {\n initListConfigurations: async (event, connector) => {\n const host = event.detail;\n await host.setState('loading');\n const [data, error] = await connector.schedulerConfig.getConfigurations();\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError(error.message);\n return;\n }\n await host.setState('loaded');\n },\n createButtonClick: async (_, connector) => {\n connector.schedulerConfigStore.resetSelectedConfiguration();\n connector.schedulerConfigStore.state.action = 'create';\n },\n deleteButtonClick: async (event, connector) => {\n const { host, configuration } = event.detail;\n const [data, error] = await connector.schedulerConfig.deleteConfiguration(configuration.id);\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError(error.message);\n }\n },\n editButtonClick: async (event, connector) => {\n const { configuration } = event.detail;\n connector.schedulerConfigStore.state.selectedConfiguration = configuration;\n connector.schedulerConfigStore.state.action = 'edit';\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"header\">\n <div class=\"description\">\n <h2>All scheduling pages</h2>\n <p>Create, edit and manage all your scheduling pages.</p>\n </div>\n {this.configurations && this.configurations.length > 0 && (\n <div class=\"actions\">\n <button-component\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n Create new\n </button-component>\n </div>\n )}\n </div>\n <div class=\"configurations\">\n <table>\n <tr\n class={{\n hide: this.state === 'loading' || (this.configurations && this.configurations.length === 0),\n }}\n >\n <th>Scheduling page event title</th>\n <th>Duration</th>\n <th class=\"actions\">Actions</th>\n </tr>\n {this.state === 'loading' && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <h3>Loading...</h3>\n <p>Please wait while we fetch the scheduling pages</p>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' && (!this.configurations || this.configurations.length === 0) && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <calendar-icon width=\"48\" height=\"48\"></calendar-icon>\n <h3>No scheduling pages found</h3>\n <p>Get started with creating your first scheduling page</p>\n <button-component\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n Create new\n </button-component>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' &&\n this.configurations.map(config => (\n <tr key={config.id}>\n <td>\n <div class=\"title\">\n <span class={'config-event-title'}>{config.event_booking.title}</span>\n <span class={'config-event-description'}>{config.event_booking.description}</span>\n </div>\n </td>\n <td>\n <div>{config.availability.duration_minutes} mins</div>\n </td>\n <td>\n <div class=\"actions\">\n <button-component\n variant={'basic'}\n clickHandler={event => {\n event.preventDefault();\n window.open(parsePreviewLink(this.schedulerPreviewLink, config), '_blank');\n }}\n >\n Preview\n </button-component>\n <button-component\n variant={'basic'}\n clickHandler={event => {\n event.preventDefault();\n this.editButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n Edit\n </button-component>\n <button-component\n variant={'basic'}\n clickHandler={event => {\n event.preventDefault();\n this.deleteButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n Delete\n </button-component>\n </div>\n </td>\n </tr>\n ))}\n </table>\n </div>\n <div class=\"error-container\">\n <p class={'error'}>{this.state === 'error' && this.error}</p>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -33,8 +33,8 @@
33
33
  .nylas-event-location label {
34
34
  display: flex;
35
35
  align-items: center;
36
- color: var(--nylas-base-nylas-base-800);
37
- font-size: 14px;
36
+ color: var(--nylas-base-800);
37
+ font-size: 16px;
38
38
  font-style: normal;
39
39
  font-weight: 400;
40
40
  line-height: 150%; /* 21px */
@@ -17,6 +17,7 @@ import { debug } from "../../../utils/utils";
17
17
  import { Host, h } from "@stencil/core";
18
18
  export class NylasLocationComponent {
19
19
  constructor() {
20
+ this.selectedConfiguration = undefined;
20
21
  this.eventLocation = undefined;
21
22
  this.location = this.eventLocation ?? '';
22
23
  this.selectedLocationOption = this.eventLocation ? 'custom' : 'none';
@@ -26,6 +27,14 @@ export class NylasLocationComponent {
26
27
  debug('nylas-location-component', 'elementNameChangedHandler', newValue);
27
28
  this.host.setAttribute('name', newValue);
28
29
  }
30
+ selectedConfigurationChangedHandler(newValue, oldValue) {
31
+ debug('nylas-custom-booking-flow', 'selectedConfigurationChangedHandler', newValue, oldValue);
32
+ const configLocation = newValue?.event_booking?.location;
33
+ if (configLocation) {
34
+ this.selectedLocationOption = configLocation ? 'custom' : 'none';
35
+ this.location = configLocation;
36
+ }
37
+ }
29
38
  eventLocationChangedHandler(newValue, oldValue) {
30
39
  debug('nylas-location-component', 'eventLocationChangedHandler', newValue);
31
40
  if (newValue === oldValue) {
@@ -70,10 +79,10 @@ export class NylasLocationComponent {
70
79
  { value: 'custom', label: 'Custom location' },
71
80
  ];
72
81
  const icons = {
73
- none: h("location-off-icon", { key: '694d28e2c953bd5519209e10435bf646578d114a' }),
74
- custom: h("location-icon", { key: '7062ec4488bff42737000d61ea2bf139a873a2c5' }),
82
+ none: h("location-off-icon", { key: '5344819790f0d245e78de8808b05005eaa610991' }),
83
+ custom: h("location-icon", { key: '6d931006f7ea79e3290bde60cbdd3c1ca8e827f8' }),
75
84
  };
76
- return (h(Host, { key: 'fc9ae763769cb2eb7bc441b1badd42247875f398' }, h("div", { key: '7af34d7e80f9f54c27625e8740c6b5474087e737', class: "nylas-event-location", part: "nel" }, h("label", { key: 'f5023e444ca97848346897f51fce28352f267d49', htmlFor: "location" }, "Location type", h("span", { key: 'f5b34257a36a986f22e7d6d912976c23ebe979ad', class: "label-icon" }, h("tooltip-component", { key: '68ac23d32ce98388faa32476c4d5630e7fe8b684' }, h("info-icon", { key: '57a204c6d75da1132272e1e1d59e1fd46e9677fc', slot: "tooltip-icon" }), h("span", { key: '1dd7951c0aa0f5024a02f64a83495c2d241daa84', slot: "tooltip-content" }, "Choose how you\u2019ll meet with the participants at the scheduled time. Pick from available conferencing options or add a custom location.")))), h("div", { key: 'e059381733d12841294fdb781ad59a6a12f49a74', class: "location-input" }, h("select-dropdown", { key: '006b90371c0fde6f2e8dc3be75b40e398ceaf62d', withSearch: false, name: "location", options: locationOptions, defaultSelectedOption: locationOptions.find(i => i.value == this.selectedLocationOption), exportparts: "sd__dropdown: nel__dropdown, sd__dropdown-button: nel__dropdown-button, sd__dropdown-content: nel__dropdown-content" }, h("span", { key: '6f61a147ebbc95c142ffa379886d15031168f837', slot: "select-icon" }, icons[this.selectedLocationOption])), this.selectedLocationOption === 'custom' && (h("input", { type: "text", part: "nel__location", id: "location", name: "location", maxlength: "1024", value: this.location, onInput: e => this.handleChange(e) }))))));
85
+ return (h(Host, { key: '2117e5636492cd1b3bc3b975fdc1398c030df9a4' }, h("div", { key: '093c3fdfaf0ad88955f8f785a5c589708d941e57', class: "nylas-event-location", part: "nel" }, h("label", { key: 'e2754216f675fc82cdc7813bacfe0e928e9ed50e', htmlFor: "location" }, "Location type", h("span", { key: 'e402fccc0065a4f6fd0cbd05af345b73b06c4464', class: "label-icon" }, h("tooltip-component", { key: 'c818dbca3cbbf29e34c56bbc9caea7fc3816d808' }, h("info-icon", { key: '5ea673e0d49efe7e0a4ac04c3ec64427a63b8843', slot: "tooltip-icon" }), h("span", { key: 'dac6ddf369aa6caf62a870ca349745f546ed3959', slot: "tooltip-content" }, "Choose how you\u2019ll meet with the participants at the scheduled time. Pick from available conferencing options or add a custom location.")))), h("div", { key: 'bf334b9e8e03b660f661d264c9ca52444ee859b6', class: "location-input" }, h("select-dropdown", { key: 'f216e1589bb3b72a9ed6b9cfbec5683795e1b08e', withSearch: false, name: "location", options: locationOptions, defaultSelectedOption: locationOptions.find(i => i.value == this.selectedLocationOption), exportparts: "sd__dropdown: nel__dropdown, sd__dropdown-button: nel__dropdown-button, sd__dropdown-content: nel__dropdown-content" }, h("span", { key: '6ca96d9f95ac189195c1490e6872b2478cd0d270', slot: "select-icon" }, icons[this.selectedLocationOption])), this.selectedLocationOption === 'custom' && (h("input", { type: "text", part: "nel__location", id: "location", name: "location", maxlength: "1024", value: this.location, onInput: e => this.handleChange(e) }))))));
77
86
  }
78
87
  static get is() { return "nylas-location-component"; }
79
88
  static get encapsulation() { return "shadow"; }
@@ -90,6 +99,27 @@ export class NylasLocationComponent {
90
99
  }
91
100
  static get properties() {
92
101
  return {
102
+ "selectedConfiguration": {
103
+ "type": "unknown",
104
+ "mutable": false,
105
+ "complexType": {
106
+ "original": "Configuration",
107
+ "resolved": "Configuration | undefined",
108
+ "references": {
109
+ "Configuration": {
110
+ "location": "import",
111
+ "path": "@nylas/core",
112
+ "id": "../nylas-js-core/dist/index.d.ts::Configuration"
113
+ }
114
+ }
115
+ },
116
+ "required": false,
117
+ "optional": true,
118
+ "docs": {
119
+ "tags": [],
120
+ "text": "The selected config"
121
+ }
122
+ },
93
123
  "eventLocation": {
94
124
  "type": "string",
95
125
  "mutable": false,
@@ -156,6 +186,9 @@ export class NylasLocationComponent {
156
186
  return [{
157
187
  "propName": "name",
158
188
  "methodName": "elementNameChangedHandler"
189
+ }, {
190
+ "propName": "selectedConfiguration",
191
+ "methodName": "selectedConfigurationChangedHandler"
159
192
  }, {
160
193
  "propName": "eventLocation",
161
194
  "methodName": "eventLocationChangedHandler"
@@ -175,6 +208,7 @@ export class NylasLocationComponent {
175
208
  __decorate([
176
209
  RegisterComponent({
177
210
  name: 'nylas-location-component',
211
+ stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),
178
212
  eventToProps: {},
179
213
  fireRegisterEvent: true,
180
214
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"nylas-location-component.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-location-component/nylas-location-component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, State, h, Element, Prop, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\n\n/**\n * The `nylas-location-component` component is a form input for the description of an event.\n * @part nel - The event location container\n * @part nel__location - The event location input\n * @part nel__dropdown - The dropdown container\n * @part nel__dropdown-button - The dropdown button\n * @part nel__dropdown-content - The dropdown content\n */\n@Component({\n tag: 'nylas-location-component',\n styleUrl: 'nylas-location-component.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasLocationComponent {\n @Prop() eventLocation?: string;\n @State() location: string = this.eventLocation ?? '';\n @State() selectedLocationOption: string = this.eventLocation ? 'custom' : 'none';\n @AttachInternals() internals!: ElementInternals;\n @Element() host!: HTMLElement;\n @Prop() name: string = 'location';\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-location-component', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n @Watch('eventLocation')\n eventLocationChangedHandler(newValue: string, oldValue: string) {\n debug('nylas-location-component', 'eventLocationChangedHandler', newValue);\n if (newValue === oldValue) {\n return;\n }\n this.selectedLocationOption = newValue ? 'custom' : 'none';\n }\n\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-location-component', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-location-component', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-location-component', 'componentDidLoad');\n }\n\n disconnectedCallback() {\n debug('nylas-location-component', 'disconnectedCallback');\n }\n\n @Listen('selectedOptionChanged')\n selectedOptionChangedHandler(event: CustomEvent<{ value: string }>) {\n this.selectedLocationOption = event.detail.value;\n if (this.selectedLocationOption === 'none') {\n this.location = '';\n this.setFormValue('', 'location');\n this.valueChanged.emit({ value: '', name: this.name });\n }\n }\n\n setFormValue(value: string, name: string) {\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(value, name);\n }\n }\n\n handleChange(event) {\n this.location = event.target.value;\n this.setFormValue(event.target.value, 'location');\n this.valueChanged.emit({ value: event.target.value, name: this.name });\n }\n\n @RegisterComponent<NylasLocationComponent, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-location-component',\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const locationOptions = [\n { value: 'none', label: 'None' },\n { value: 'custom', label: 'Custom location' },\n ];\n const icons = {\n none: <location-off-icon />,\n custom: <location-icon />,\n };\n\n return (\n <Host>\n <div class=\"nylas-event-location\" part=\"nel\">\n <label htmlFor=\"location\">\n Location type\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n Choose how you’ll meet with the participants at the scheduled time. Pick from available conferencing options or add a custom location.\n </span>\n </tooltip-component>\n </span>\n </label>\n <div class=\"location-input\">\n <select-dropdown\n withSearch={false}\n name=\"location\"\n options={locationOptions}\n defaultSelectedOption={locationOptions.find(i => i.value == this.selectedLocationOption)}\n exportparts=\"sd__dropdown: nel__dropdown, sd__dropdown-button: nel__dropdown-button, sd__dropdown-content: nel__dropdown-content\"\n >\n <span slot=\"select-icon\">{icons[this.selectedLocationOption]}</span>\n </select-dropdown>\n {this.selectedLocationOption === 'custom' && (\n <input type=\"text\" part=\"nel__location\" id=\"location\" name=\"location\" maxlength=\"1024\" value={this.location} onInput={e => this.handleChange(e)} />\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"nylas-location-component.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-location-component/nylas-location-component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, State, h, Element, Prop, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\n/**\n * The `nylas-location-component` component is a form input for the description of an event.\n * @part nel - The event location container\n * @part nel__location - The event location input\n * @part nel__dropdown - The dropdown container\n * @part nel__dropdown-button - The dropdown button\n * @part nel__dropdown-content - The dropdown content\n */\n@Component({\n tag: 'nylas-location-component',\n styleUrl: 'nylas-location-component.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasLocationComponent {\n /**\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n @Prop() eventLocation?: string;\n @State() location: string = this.eventLocation ?? '';\n @State() selectedLocationOption: string = this.eventLocation ? 'custom' : 'none';\n @AttachInternals() internals!: ElementInternals;\n @Element() host!: HTMLElement;\n @Prop() name: string = 'location';\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-location-component', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration, oldValue: Configuration) {\n debug('nylas-custom-booking-flow', 'selectedConfigurationChangedHandler', newValue, oldValue);\n const configLocation = newValue?.event_booking?.location;\n if (configLocation) {\n this.selectedLocationOption = configLocation ? 'custom' : 'none';\n this.location = configLocation;\n }\n }\n\n @Watch('eventLocation')\n eventLocationChangedHandler(newValue: string, oldValue: string) {\n debug('nylas-location-component', 'eventLocationChangedHandler', newValue);\n if (newValue === oldValue) {\n return;\n }\n this.selectedLocationOption = newValue ? 'custom' : 'none';\n }\n\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-location-component', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-location-component', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-location-component', 'componentDidLoad');\n }\n\n disconnectedCallback() {\n debug('nylas-location-component', 'disconnectedCallback');\n }\n\n @Listen('selectedOptionChanged')\n selectedOptionChangedHandler(event: CustomEvent<{ value: string }>) {\n this.selectedLocationOption = event.detail.value;\n if (this.selectedLocationOption === 'none') {\n this.location = '';\n this.setFormValue('', 'location');\n this.valueChanged.emit({ value: '', name: this.name });\n }\n }\n\n setFormValue(value: string, name: string) {\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(value, name);\n }\n }\n\n handleChange(event) {\n this.location = event.target.value;\n this.setFormValue(event.target.value, 'location');\n this.valueChanged.emit({ value: event.target.value, name: this.name });\n }\n\n @RegisterComponent<NylasLocationComponent, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-location-component',\n stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const locationOptions = [\n { value: 'none', label: 'None' },\n { value: 'custom', label: 'Custom location' },\n ];\n const icons = {\n none: <location-off-icon />,\n custom: <location-icon />,\n };\n\n return (\n <Host>\n <div class=\"nylas-event-location\" part=\"nel\">\n <label htmlFor=\"location\">\n Location type\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n Choose how you’ll meet with the participants at the scheduled time. Pick from available conferencing options or add a custom location.\n </span>\n </tooltip-component>\n </span>\n </label>\n <div class=\"location-input\">\n <select-dropdown\n withSearch={false}\n name=\"location\"\n options={locationOptions}\n defaultSelectedOption={locationOptions.find(i => i.value == this.selectedLocationOption)}\n exportparts=\"sd__dropdown: nel__dropdown, sd__dropdown-button: nel__dropdown-button, sd__dropdown-content: nel__dropdown-content\"\n >\n <span slot=\"select-icon\">{icons[this.selectedLocationOption]}</span>\n </select-dropdown>\n {this.selectedLocationOption === 'custom' && (\n <input type=\"text\" part=\"nel__location\" id=\"location\" name=\"location\" maxlength=\"1024\" value={this.location} onInput={e => this.handleChange(e)} />\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -17,6 +17,7 @@ import { debug } from "../../../utils/utils";
17
17
  import { Host, h } from "@stencil/core";
18
18
  export class NylasMinCancellationNotice {
19
19
  constructor() {
20
+ this.selectedConfiguration = undefined;
20
21
  this.minCancellationNotice = undefined;
21
22
  this.name = 'min-cancellation-notice';
22
23
  this.selectedNumber = 1;
@@ -26,10 +27,14 @@ export class NylasMinCancellationNotice {
26
27
  debug('nylas-min-cancellation-notice', 'elementNameChangedHandler', newValue);
27
28
  this.host.setAttribute('name', newValue);
28
29
  }
30
+ selectedConfigurationChangedHandler(newVal) {
31
+ const minCancellationNotice = newVal?.scheduler?.min_cancellation_notice;
32
+ if (minCancellationNotice) {
33
+ this.updateNumberAndPeriodFromMinutes(minCancellationNotice);
34
+ }
35
+ }
29
36
  availableDaysInFutureChanged(newValue) {
30
- const { number, period } = this.calculateNumberAndPeriodFromMinutes(newValue);
31
- this.selectedNumber = number;
32
- this.selectedPeriod = period;
37
+ this.updateNumberAndPeriodFromMinutes(newValue);
33
38
  }
34
39
  connectedCallback() {
35
40
  debug('nylas-min-cancellation-notice', 'connectedCallback');
@@ -74,35 +79,43 @@ export class NylasMinCancellationNotice {
74
79
  else {
75
80
  totalMinutes = 0;
76
81
  }
77
- this.valueChanged.emit({ value: totalMinutes, name: this.name });
82
+ this.valueChanged.emit({ value: totalMinutes, name: 'minCancellationNotice' });
78
83
  if (typeof this.internals.setFormValue !== 'function') {
79
84
  return;
80
85
  }
81
86
  this.internals.setFormValue(totalMinutes.toString(), this.name);
82
87
  }
83
- calculateNumberAndPeriodFromMinutes(minutes) {
88
+ updateNumberAndPeriodFromMinutes(minutes) {
84
89
  const minutesInHour = 60;
85
90
  const minutesInDay = minutesInHour * 24;
86
91
  const minutesInWeek = minutesInDay * 7;
87
92
  const minutesInMonth = minutesInDay * 30;
93
+ let number, period;
88
94
  if (minutes >= minutesInMonth) {
89
- return { number: Math.floor(minutes / minutesInMonth), period: 'month' };
95
+ number = Math.floor(minutes / minutesInMonth);
96
+ period = 'month';
90
97
  }
91
98
  else if (minutes >= minutesInWeek) {
92
- return { number: Math.floor(minutes / minutesInWeek), period: 'week' };
99
+ number = Math.floor(minutes / minutesInWeek);
100
+ period = 'week';
93
101
  }
94
102
  else if (minutes >= minutesInDay) {
95
- return { number: Math.floor(minutes / minutesInDay), period: 'day' };
103
+ number = Math.floor(minutes / minutesInDay);
104
+ period = 'day';
96
105
  }
97
106
  else if (minutes >= minutesInHour) {
98
- return { number: Math.floor(minutes / minutesInHour), period: 'hour' };
107
+ number = Math.floor(minutes / minutesInHour);
108
+ period = 'hour';
99
109
  }
100
110
  else {
101
- return { number: minutes, period: 'minute' };
111
+ number = minutes;
112
+ period = 'minute';
102
113
  }
114
+ this.selectedNumber = number;
115
+ this.selectedPeriod = period;
103
116
  }
104
117
  render() {
105
- return (h(Host, { key: 'e8638ae7a5b45140fa0abc7e50d4ec751faed4a4' }, h("div", { key: '282e956cdf1b1b9b2f42ea497fb80ae3cc422d58', class: "nylas-min-cancellation-notice", part: "nmcn" }, h("label", { key: '18c52355a024ff02a896cd6727fb947d4892d3d6' }, "Minimum cancellation notice", h("span", { key: '0ebeecfaadaf1a6b2c96ab0370516b744e79ecbf', class: "label-icon" }, h("tooltip-component", { key: 'e216327d62b98e954286a16bef997115617c9fb8' }, h("info-icon", { key: 'b2ac6e0031012959ed6282deb04b73eabb5e84de', slot: "tooltip-icon" }), h("span", { key: '05e0bb93d0468b97d0ce815fafe5ca0ab6be31cc', slot: "tooltip-content" }, "Set the minimum amount of time required to cancel an event.")))), h("time-period-selector", { key: '28e31fad6667ee1b7c05e63620a5716167262c5f', id: "min-cancellation-notice", exportparts: "tps__number-dropdown: nmcn__number-dropdown, tps__number-dropdown-button: nmcn__number-dropdown-button, tps__number-dropdown-content: nmcn__number-dropdown-content, tps__period-dropdown: nmcn__period-dropdown, tps__period-dropdown-button: nmcn__period-dropdown-button, tps__period-dropdown-content: nmcn__period-dropdown-content", timePeriods: ['minute', 'hour', 'day', 'week'], defaultSelectedNumber: this.selectedNumber, defaultSelectedPeriod: this.selectedPeriod }))));
118
+ return (h(Host, { key: 'd2eb0d080d1ce4645a642a4f5d55270ed170e882' }, h("div", { key: '2743c3c781ad47c9d0d53fdad2773f45d172e1f4', class: "nylas-min-cancellation-notice", part: "nmcn" }, h("label", { key: '457729b50558651645ecb10398586af1078cfd34' }, "Minimum cancellation notice", h("span", { key: '00b310035def5b8bbc183fa03d2bcb37d7c04b42', class: "label-icon" }, h("tooltip-component", { key: '27c7695f6302e2d043899656f15a70846c2858e2' }, h("info-icon", { key: '10f878cb410cc284e86890a0d6047c27bdc7f455', slot: "tooltip-icon" }), h("span", { key: 'e853afaa116b43371d01fcb3b801e622902e22cd', slot: "tooltip-content" }, "Set the minimum amount of time required to cancel an event.")))), h("time-period-selector", { key: '8bb3955f8cce7661e213fbf2c107f8326937b467', id: "min-cancellation-notice", exportparts: "tps__number-dropdown: nmcn__number-dropdown, tps__number-dropdown-button: nmcn__number-dropdown-button, tps__number-dropdown-content: nmcn__number-dropdown-content, tps__period-dropdown: nmcn__period-dropdown, tps__period-dropdown-button: nmcn__period-dropdown-button, tps__period-dropdown-content: nmcn__period-dropdown-content", timePeriods: ['minute', 'hour', 'day', 'week'], defaultSelectedNumber: this.selectedNumber, defaultSelectedPeriod: this.selectedPeriod }))));
106
119
  }
107
120
  static get is() { return "nylas-min-cancellation-notice"; }
108
121
  static get encapsulation() { return "shadow"; }
@@ -119,6 +132,27 @@ export class NylasMinCancellationNotice {
119
132
  }
120
133
  static get properties() {
121
134
  return {
135
+ "selectedConfiguration": {
136
+ "type": "unknown",
137
+ "mutable": false,
138
+ "complexType": {
139
+ "original": "Configuration",
140
+ "resolved": "Configuration | undefined",
141
+ "references": {
142
+ "Configuration": {
143
+ "location": "import",
144
+ "path": "@nylas/core",
145
+ "id": "../nylas-js-core/dist/index.d.ts::Configuration"
146
+ }
147
+ }
148
+ },
149
+ "required": false,
150
+ "optional": true,
151
+ "docs": {
152
+ "tags": [],
153
+ "text": "The selected config"
154
+ }
155
+ },
122
156
  "minCancellationNotice": {
123
157
  "type": "number",
124
158
  "mutable": false,
@@ -185,6 +219,9 @@ export class NylasMinCancellationNotice {
185
219
  return [{
186
220
  "propName": "name",
187
221
  "methodName": "elementNameChangedHandler"
222
+ }, {
223
+ "propName": "selectedConfiguration",
224
+ "methodName": "selectedConfigurationChangedHandler"
188
225
  }, {
189
226
  "propName": "availableDaysInFuture",
190
227
  "methodName": "availableDaysInFutureChanged"
@@ -204,6 +241,7 @@ export class NylasMinCancellationNotice {
204
241
  __decorate([
205
242
  RegisterComponent({
206
243
  name: 'nylas-min-cancellation-notice',
244
+ stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),
207
245
  eventToProps: {},
208
246
  fireRegisterEvent: true,
209
247
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"nylas-min-cancellation-notice.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, State, h, Element, Prop, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\n\n/**\n * The `nylas-min-cancellation-notice` component is a form input for the description of an event.\n * @part nmcn - The minimum cancellation notice container\n * @part nmcn__number-dropdown - The number dropdown container\n * @part nmcn__number-dropdown-button - The number dropdown button\n * @part nmcn__number-dropdown-content - The number dropdown content\n * @part nmcn__period-dropdown - The period dropdown container\n * @part nmcn__period-dropdown-button - The period dropdown button\n * @part nmcn__period-dropdown-content - The period dropdown content\n */\n@Component({\n tag: 'nylas-min-cancellation-notice',\n styleUrl: 'nylas-min-cancellation-notice.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasMinCancellationNotice {\n @Prop() minCancellationNotice?: number;\n @AttachInternals() internals!: ElementInternals;\n @Element() host!: HTMLElement;\n @Prop() name: string = 'min-cancellation-notice';\n\n @State() selectedNumber: number = 1;\n @State() selectedPeriod: string = 'day';\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-min-cancellation-notice', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('availableDaysInFuture')\n availableDaysInFutureChanged(newValue: number) {\n const { number, period } = this.calculateNumberAndPeriodFromMinutes(newValue);\n this.selectedNumber = number;\n this.selectedPeriod = period;\n }\n\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-min-cancellation-notice', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-min-cancellation-notice', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-min-cancellation-notice', 'componentDidLoad');\n this.availableDaysInFutureChanged(this.minCancellationNotice ?? 1);\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(this.minCancellationNotice?.toString() ?? '1', this.name);\n }\n\n disconnectedCallback() {\n debug('nylas-min-cancellation-notice', 'disconnectedCallback');\n }\n\n @Listen('timePeriodChanged')\n timePeriodChangedHandler(\n event: CustomEvent<{\n number: number;\n period: string;\n }>,\n ) {\n const { number, period } = event.detail;\n let totalMinutes;\n const minutesInHour = 60;\n const minutesInDay = minutesInHour * 24;\n const minutesInWeek = minutesInDay * 7;\n const minutesInMonth = minutesInDay * 30; // Assuming 30 days in a month for simplification\n\n if (period === 'minute') {\n totalMinutes = number;\n } else if (period === 'hour') {\n totalMinutes = number * minutesInHour;\n } else if (period === 'day') {\n totalMinutes = number * minutesInDay;\n } else if (period === 'week') {\n totalMinutes = number * minutesInWeek;\n } else if (period === 'month') {\n totalMinutes = number * minutesInMonth;\n } else {\n totalMinutes = 0;\n }\n this.valueChanged.emit({ value: totalMinutes, name: this.name });\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(totalMinutes.toString(), this.name);\n }\n\n private calculateNumberAndPeriodFromMinutes(minutes: number): { number: number; period: string } {\n const minutesInHour = 60;\n const minutesInDay = minutesInHour * 24;\n const minutesInWeek = minutesInDay * 7;\n const minutesInMonth = minutesInDay * 30; // Assuming 30 days in a month for simplification\n\n if (minutes >= minutesInMonth) {\n return { number: Math.floor(minutes / minutesInMonth), period: 'month' };\n } else if (minutes >= minutesInWeek) {\n return { number: Math.floor(minutes / minutesInWeek), period: 'week' };\n } else if (minutes >= minutesInDay) {\n return { number: Math.floor(minutes / minutesInDay), period: 'day' };\n } else if (minutes >= minutesInHour) {\n return { number: Math.floor(minutes / minutesInHour), period: 'hour' };\n } else {\n return { number: minutes, period: 'minute' };\n }\n }\n\n @RegisterComponent<NylasMinCancellationNotice, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-min-cancellation-notice',\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"nylas-min-cancellation-notice\" part=\"nmcn\">\n <label>\n Minimum cancellation notice\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">Set the minimum amount of time required to cancel an event.</span>\n </tooltip-component>\n </span>\n </label>\n <time-period-selector\n id=\"min-cancellation-notice\"\n exportparts=\"tps__number-dropdown: nmcn__number-dropdown, tps__number-dropdown-button: nmcn__number-dropdown-button, tps__number-dropdown-content: nmcn__number-dropdown-content, tps__period-dropdown: nmcn__period-dropdown, tps__period-dropdown-button: nmcn__period-dropdown-button, tps__period-dropdown-content: nmcn__period-dropdown-content\"\n timePeriods={['minute', 'hour', 'day', 'week']}\n defaultSelectedNumber={this.selectedNumber}\n defaultSelectedPeriod={this.selectedPeriod}\n />\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"nylas-min-cancellation-notice.js","sourceRoot":"","sources":["../../../../src/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.tsx"],"names":[],"mappings":"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","sourcesContent":["import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, State, h, Element, Prop, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\n/**\n * The `nylas-min-cancellation-notice` component is a form input for the description of an event.\n * @part nmcn - The minimum cancellation notice container\n * @part nmcn__number-dropdown - The number dropdown container\n * @part nmcn__number-dropdown-button - The number dropdown button\n * @part nmcn__number-dropdown-content - The number dropdown content\n * @part nmcn__period-dropdown - The period dropdown container\n * @part nmcn__period-dropdown-button - The period dropdown button\n * @part nmcn__period-dropdown-content - The period dropdown content\n */\n@Component({\n tag: 'nylas-min-cancellation-notice',\n styleUrl: 'nylas-min-cancellation-notice.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasMinCancellationNotice {\n /**\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n @Prop() minCancellationNotice?: number;\n @AttachInternals() internals!: ElementInternals;\n @Element() host!: HTMLElement;\n @Prop() name: string = 'min-cancellation-notice';\n\n @State() selectedNumber: number = 1;\n @State() selectedPeriod: string = 'day';\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-min-cancellation-notice', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const minCancellationNotice = newVal?.scheduler?.min_cancellation_notice;\n if (minCancellationNotice) {\n this.updateNumberAndPeriodFromMinutes(minCancellationNotice);\n }\n }\n\n @Watch('availableDaysInFuture')\n availableDaysInFutureChanged(newValue: number) {\n this.updateNumberAndPeriodFromMinutes(newValue);\n }\n\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-min-cancellation-notice', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-min-cancellation-notice', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-min-cancellation-notice', 'componentDidLoad');\n this.availableDaysInFutureChanged(this.minCancellationNotice ?? 1);\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(this.minCancellationNotice?.toString() ?? '1', this.name);\n }\n\n disconnectedCallback() {\n debug('nylas-min-cancellation-notice', 'disconnectedCallback');\n }\n\n @Listen('timePeriodChanged')\n timePeriodChangedHandler(\n event: CustomEvent<{\n number: number;\n period: string;\n }>,\n ) {\n const { number, period } = event.detail;\n let totalMinutes;\n const minutesInHour = 60;\n const minutesInDay = minutesInHour * 24;\n const minutesInWeek = minutesInDay * 7;\n const minutesInMonth = minutesInDay * 30; // Assuming 30 days in a month for simplification\n\n if (period === 'minute') {\n totalMinutes = number;\n } else if (period === 'hour') {\n totalMinutes = number * minutesInHour;\n } else if (period === 'day') {\n totalMinutes = number * minutesInDay;\n } else if (period === 'week') {\n totalMinutes = number * minutesInWeek;\n } else if (period === 'month') {\n totalMinutes = number * minutesInMonth;\n } else {\n totalMinutes = 0;\n }\n this.valueChanged.emit({ value: totalMinutes, name: 'minCancellationNotice' });\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(totalMinutes.toString(), this.name);\n }\n\n private updateNumberAndPeriodFromMinutes(minutes: number): void {\n const minutesInHour = 60;\n const minutesInDay = minutesInHour * 24;\n const minutesInWeek = minutesInDay * 7;\n const minutesInMonth = minutesInDay * 30; // Assuming 30 days in a month for simplification\n let number, period;\n if (minutes >= minutesInMonth) {\n number = Math.floor(minutes / minutesInMonth);\n period = 'month';\n } else if (minutes >= minutesInWeek) {\n number = Math.floor(minutes / minutesInWeek);\n period = 'week';\n } else if (minutes >= minutesInDay) {\n number = Math.floor(minutes / minutesInDay);\n period = 'day';\n } else if (minutes >= minutesInHour) {\n number = Math.floor(minutes / minutesInHour);\n period = 'hour';\n } else {\n number = minutes;\n period = 'minute';\n }\n this.selectedNumber = number;\n this.selectedPeriod = period;\n }\n\n @RegisterComponent<NylasMinCancellationNotice, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-min-cancellation-notice',\n stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"nylas-min-cancellation-notice\" part=\"nmcn\">\n <label>\n Minimum cancellation notice\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">Set the minimum amount of time required to cancel an event.</span>\n </tooltip-component>\n </span>\n </label>\n <time-period-selector\n id=\"min-cancellation-notice\"\n exportparts=\"tps__number-dropdown: nmcn__number-dropdown, tps__number-dropdown-button: nmcn__number-dropdown-button, tps__number-dropdown-content: nmcn__number-dropdown-content, tps__period-dropdown: nmcn__period-dropdown, tps__period-dropdown-button: nmcn__period-dropdown-button, tps__period-dropdown-content: nmcn__period-dropdown-content\"\n timePeriods={['minute', 'hour', 'day', 'week']}\n defaultSelectedNumber={this.selectedNumber}\n defaultSelectedPeriod={this.selectedPeriod}\n />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -77,6 +77,12 @@ div.scheduler-editor-header button:disabled {
77
77
  nylas-editor-tabs {
78
78
  width: auto;
79
79
  }
80
+ nylas-editor-tabs nylas-event-info div[slot=inputs],
81
+ nylas-editor-tabs nylas-event-limits div[slot=inputs] {
82
+ display: flex;
83
+ flex-direction: column;
84
+ gap: 1rem;
85
+ }
80
86
 
81
87
  .card {
82
88
  display: flex;