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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1005) hide show
  1. package/dist/cjs/add-circle-icon.cjs.entry.js +2 -2
  2. package/dist/cjs/{add-circle-icon_18.cjs.entry.js → add-circle-icon_22.cjs.entry.js} +425 -97
  3. package/dist/cjs/add-circle-icon_22.cjs.entry.js.map +1 -0
  4. package/dist/cjs/archive-icon.cjs.entry.js +2 -2
  5. package/dist/cjs/archive-icon_7.cjs.entry.js +8 -8
  6. package/dist/cjs/arrow-icon.cjs.entry.js +2 -2
  7. package/dist/cjs/bold-icon.cjs.entry.js +2 -2
  8. package/dist/cjs/bold-icon_3.cjs.entry.js +4 -4
  9. package/dist/cjs/button-component.cjs.entry.js +30 -0
  10. package/dist/cjs/button-component.cjs.entry.js.map +1 -0
  11. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +2 -2
  12. package/dist/cjs/calendar-check-icon.cjs.entry.js +2 -2
  13. package/dist/cjs/calendar-check-icon_2.cjs.entry.js +3 -3
  14. package/dist/cjs/calendar-icon.cjs.entry.js +2 -2
  15. package/dist/cjs/calendar-info-icon.cjs.entry.js +2 -2
  16. package/dist/cjs/calendar-patterns-icon.cjs.entry.js +2 -2
  17. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +2 -2
  18. package/dist/cjs/chevron-icon.cjs.entry.js +2 -2
  19. package/dist/cjs/chevron-icon_3.cjs.entry.js +23 -6
  20. package/dist/cjs/chevron-icon_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/close-icon.cjs.entry.js +2 -2
  22. package/dist/cjs/{constants-9e39ba68.js → constants-0fba94a4.js} +2 -1
  23. package/dist/cjs/{constants-9e39ba68.js.map → constants-0fba94a4.js.map} +1 -1
  24. package/dist/cjs/{constants-c48567b9.js → constants-6baf1f1d.js} +2 -1
  25. package/dist/cjs/{constants-c48567b9.js.map → constants-6baf1f1d.js.map} +1 -1
  26. package/dist/cjs/document-refresh-icon.cjs.entry.js +2 -2
  27. package/dist/cjs/flow-icon.cjs.entry.js +2 -2
  28. package/dist/cjs/folder-icon.cjs.entry.js +2 -2
  29. package/dist/cjs/forward-icon.cjs.entry.js +2 -2
  30. package/dist/cjs/forward-icon_6.cjs.entry.js +9 -9
  31. package/dist/cjs/globe-icon.cjs.entry.js +2 -2
  32. package/dist/cjs/google-logo-icon.cjs.entry.js +23 -0
  33. package/dist/cjs/google-logo-icon.cjs.entry.js.map +1 -0
  34. package/dist/cjs/google-logo-icon_3.cjs.entry.js +302 -0
  35. package/dist/cjs/google-logo-icon_3.cjs.entry.js.map +1 -0
  36. package/dist/cjs/inbox-icon.cjs.entry.js +2 -2
  37. package/dist/cjs/{index-ecd19640.js → index-5ba61c57.js} +2 -2
  38. package/dist/cjs/{index-ecd19640.js.map → index-5ba61c57.js.map} +1 -1
  39. package/dist/cjs/{index-37045c7b.js → index-7af03e3f.js} +482 -21
  40. package/dist/cjs/index-7af03e3f.js.map +1 -0
  41. package/dist/cjs/{index-ec8e2a4d.js → index-c14ea8f5.js} +34 -6
  42. package/dist/cjs/index-c14ea8f5.js.map +1 -0
  43. package/dist/cjs/{index-f969795f.js → index-e31dc92c.js} +2 -2
  44. package/dist/cjs/{index-f969795f.js.map → index-e31dc92c.js.map} +1 -1
  45. package/dist/cjs/index.cjs.js +4 -2
  46. package/dist/cjs/index.cjs.js.map +1 -1
  47. package/dist/cjs/{index.es-9122f5a3.js → index.es-447c5aca.js} +7 -2
  48. package/dist/cjs/index.es-447c5aca.js.map +1 -0
  49. package/dist/cjs/{index.es-3c12ec8c.js → index.es-68425511.js} +7 -2
  50. package/dist/cjs/index.es-68425511.js.map +1 -0
  51. package/dist/cjs/info-icon.cjs.entry.js +2 -2
  52. package/dist/cjs/info-icon_2.cjs.entry.js +3 -3
  53. package/dist/cjs/italic-icon.cjs.entry.js +2 -2
  54. package/dist/cjs/loader.cjs.js +2 -2
  55. package/dist/cjs/loading-icon.cjs.entry.js +2 -2
  56. package/dist/cjs/location-icon.cjs.entry.js +2 -2
  57. package/dist/cjs/location-off-icon.cjs.entry.js +2 -2
  58. package/dist/cjs/{mailbox-store-37622628.js → mailbox-store-556bc7b6.js} +81 -3
  59. package/dist/cjs/mailbox-store-556bc7b6.js.map +1 -0
  60. package/dist/cjs/{mailbox-store-5cd5e485.js → mailbox-store-aacd75ff.js} +81 -3
  61. package/dist/cjs/mailbox-store-aacd75ff.js.map +1 -0
  62. package/dist/cjs/microsoft-logo-icon.cjs.entry.js +23 -0
  63. package/dist/cjs/microsoft-logo-icon.cjs.entry.js.map +1 -0
  64. package/dist/cjs/multi-select-dropdown.cjs.entry.js +3 -3
  65. package/dist/cjs/nylas-additional-participants.cjs.entry.js +6 -6
  66. package/dist/cjs/nylas-additional-participants.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nylas-api-request-8ec3a89c.js +39 -0
  68. package/dist/cjs/nylas-api-request-8ec3a89c.js.map +1 -0
  69. package/dist/cjs/nylas-api-request-ab24150d.js +37 -0
  70. package/dist/cjs/nylas-api-request-ab24150d.js.map +1 -0
  71. package/dist/cjs/nylas-availability-picker.cjs.entry.js +9 -9
  72. package/dist/cjs/nylas-availability-picker.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nylas-booked-event-card.cjs.entry.js +4 -4
  74. package/dist/cjs/nylas-booked-event-card.cjs.entry.js.map +1 -1
  75. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +14 -14
  76. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
  77. package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js +4 -4
  78. package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js.map +1 -1
  79. package/dist/cjs/nylas-booking-form.cjs.entry.js +3 -3
  80. package/dist/cjs/nylas-booking-form.cjs.entry.js.map +1 -1
  81. package/dist/cjs/nylas-buffer-time.cjs.entry.js +5 -5
  82. package/dist/cjs/nylas-buffer-time.cjs.entry.js.map +1 -1
  83. package/dist/cjs/nylas-calendar-picker.cjs.entry.js +4 -4
  84. package/dist/cjs/nylas-calendar-picker.cjs.entry.js.map +1 -1
  85. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +4 -4
  86. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js.map +1 -1
  87. package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +3 -3
  88. package/dist/cjs/nylas-composer.cjs.entry.js +2 -2
  89. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +3 -3
  90. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js.map +1 -1
  91. package/dist/cjs/nylas-date-picker.cjs.entry.js +3 -3
  92. package/dist/cjs/nylas-date-picker.cjs.entry.js.map +1 -1
  93. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +100 -48
  94. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  95. package/dist/cjs/nylas-event-description.cjs.entry.js +3 -3
  96. package/dist/cjs/nylas-event-description.cjs.entry.js.map +1 -1
  97. package/dist/cjs/nylas-event-duration.cjs.entry.js +4 -4
  98. package/dist/cjs/nylas-event-duration.cjs.entry.js.map +1 -1
  99. package/dist/cjs/nylas-event-info.cjs.entry.js +4 -4
  100. package/dist/cjs/nylas-event-info.cjs.entry.js.map +1 -1
  101. package/dist/cjs/nylas-event-limits.cjs.entry.js +68 -0
  102. package/dist/cjs/nylas-event-limits.cjs.entry.js.map +1 -0
  103. package/dist/cjs/nylas-event-title.cjs.entry.js +4 -4
  104. package/dist/cjs/nylas-event-title.cjs.entry.js.map +1 -1
  105. package/dist/cjs/nylas-form-card.cjs.entry.js +4 -4
  106. package/dist/cjs/nylas-form-card.cjs.entry.js.map +1 -1
  107. package/dist/cjs/nylas-if-state.cjs.entry.js +2 -2
  108. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +122 -0
  109. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js.map +1 -0
  110. package/dist/cjs/nylas-list-folders.cjs.entry.js +3 -3
  111. package/dist/cjs/nylas-list-threads.cjs.entry.js +3 -3
  112. package/dist/cjs/nylas-locale-switch.cjs.entry.js +4 -4
  113. package/dist/cjs/nylas-locale-switch.cjs.entry.js.map +1 -1
  114. package/dist/cjs/nylas-location-component.cjs.entry.js +5 -5
  115. package/dist/cjs/nylas-location-component.cjs.entry.js.map +1 -1
  116. package/dist/cjs/nylas-login.cjs.entry.js +3 -3
  117. package/dist/cjs/nylas-logo.cjs.entry.js +2 -2
  118. package/dist/cjs/nylas-mailbox-pagination.cjs.entry.js +2 -2
  119. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +3 -3
  120. package/dist/cjs/nylas-mailbox.cjs.entry.js +12 -13
  121. package/dist/cjs/nylas-mailbox.cjs.entry.js.map +1 -1
  122. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +145 -0
  123. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js.map +1 -0
  124. package/dist/cjs/nylas-notification.cjs.entry.js +2 -2
  125. package/dist/cjs/nylas-provider.cjs.entry.js +9 -21
  126. package/dist/cjs/nylas-provider.cjs.entry.js.map +1 -1
  127. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +7257 -74
  128. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  129. package/dist/cjs/nylas-scheduling.cjs.entry.js +17 -13
  130. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  131. package/dist/cjs/nylas-selected-event-card.cjs.entry.js +4 -4
  132. package/dist/cjs/nylas-selected-event-card.cjs.entry.js.map +1 -1
  133. package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +4 -4
  134. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +4 -4
  135. package/dist/cjs/nylas-threads-search.cjs.entry.js +3 -3
  136. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +4 -4
  137. package/dist/cjs/nylas-time-window-picker.cjs.entry.js.map +1 -1
  138. package/dist/cjs/nylas-timeslot-picker.cjs.entry.js +3 -3
  139. package/dist/cjs/nylas-timeslot-picker.cjs.entry.js.map +1 -1
  140. package/dist/cjs/nylas-view-email.cjs.entry.js +2 -2
  141. package/dist/cjs/nylas-view-thread.cjs.entry.js +3 -3
  142. package/dist/cjs/nylas-web-elements.cjs.js +2 -2
  143. package/dist/cjs/people-icon.cjs.entry.js +2 -2
  144. package/dist/cjs/play-icon.cjs.entry.js +2 -2
  145. package/dist/cjs/play-icon_2.cjs.entry.js +3 -3
  146. package/dist/cjs/refresh-icon.cjs.entry.js +2 -2
  147. package/dist/cjs/{register-component-cc1cf810.js → register-component-d729f3f7.js} +2 -2
  148. package/dist/cjs/{register-component-cc1cf810.js.map → register-component-d729f3f7.js.map} +1 -1
  149. package/dist/cjs/{register-component-dfbd5404.js → register-component-f1ebc65d.js} +2 -2
  150. package/dist/cjs/{register-component-dfbd5404.js.map → register-component-f1ebc65d.js.map} +1 -1
  151. package/dist/cjs/reply-all-icon.cjs.entry.js +2 -2
  152. package/dist/cjs/reply-icon.cjs.entry.js +2 -2
  153. package/dist/cjs/scheduler-config-store-31b83ad3.js +19 -0
  154. package/dist/cjs/scheduler-config-store-31b83ad3.js.map +1 -0
  155. package/dist/cjs/scheduler-config-store-9c2cc421.js +19 -0
  156. package/dist/cjs/scheduler-config-store-9c2cc421.js.map +1 -0
  157. package/dist/cjs/{scheduler-store-65f0fbe5.js → scheduler-store-4cb46b3c.js} +3 -2
  158. package/dist/cjs/scheduler-store-4cb46b3c.js.map +1 -0
  159. package/dist/cjs/{scheduler-store-41b6d179.js → scheduler-store-7320f5d0.js} +3 -2
  160. package/dist/cjs/scheduler-store-7320f5d0.js.map +1 -0
  161. package/dist/cjs/search-icon.cjs.entry.js +2 -2
  162. package/dist/cjs/select-dropdown.cjs.entry.js +21 -4
  163. package/dist/cjs/select-dropdown.cjs.entry.js.map +1 -1
  164. package/dist/cjs/sent-icon.cjs.entry.js +2 -2
  165. package/dist/cjs/spam-icon.cjs.entry.js +2 -2
  166. package/dist/cjs/star-icon.cjs.entry.js +2 -2
  167. package/dist/cjs/stop-icon.cjs.entry.js +2 -2
  168. package/dist/cjs/time-period-selector.cjs.entry.js +104 -0
  169. package/dist/cjs/time-period-selector.cjs.entry.js.map +1 -0
  170. package/dist/cjs/tooltip-component.cjs.entry.js +2 -2
  171. package/dist/cjs/translate-icon.cjs.entry.js +2 -2
  172. package/dist/cjs/trash-icon.cjs.entry.js +2 -2
  173. package/dist/cjs/underline-icon.cjs.entry.js +2 -2
  174. package/dist/cjs/warning-icon.cjs.entry.js +2 -2
  175. package/dist/collection/collection-manifest.json +7 -0
  176. package/dist/collection/common/constants.js +1 -0
  177. package/dist/collection/common/constants.js.map +1 -1
  178. package/dist/collection/common/icons/add-circle.js +1 -1
  179. package/dist/collection/common/icons/archive.js +1 -1
  180. package/dist/collection/common/icons/arrow.js +1 -1
  181. package/dist/collection/common/icons/bold.js +1 -1
  182. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  183. package/dist/collection/common/icons/calendar-check.js +1 -1
  184. package/dist/collection/common/icons/calendar-info.js +1 -1
  185. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  186. package/dist/collection/common/icons/calendar.js +1 -1
  187. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  188. package/dist/collection/common/icons/chevron.js +1 -1
  189. package/dist/collection/common/icons/close.js +1 -1
  190. package/dist/collection/common/icons/document-refresh.js +1 -1
  191. package/dist/collection/common/icons/flow.js +1 -1
  192. package/dist/collection/common/icons/folder.js +1 -1
  193. package/dist/collection/common/icons/forward.js +1 -1
  194. package/dist/collection/common/icons/globe.js +1 -1
  195. package/dist/collection/common/icons/google-logo.js +63 -0
  196. package/dist/collection/common/icons/google-logo.js.map +1 -0
  197. package/dist/collection/common/icons/inbox.js +1 -1
  198. package/dist/collection/common/icons/info.js +1 -1
  199. package/dist/collection/common/icons/italic.js +1 -1
  200. package/dist/collection/common/icons/loading.js +1 -1
  201. package/dist/collection/common/icons/location-off.js +1 -1
  202. package/dist/collection/common/icons/location.js +1 -1
  203. package/dist/collection/common/icons/microsoft-logo.js +63 -0
  204. package/dist/collection/common/icons/microsoft-logo.js.map +1 -0
  205. package/dist/collection/common/icons/nylas-logo.js +1 -1
  206. package/dist/collection/common/icons/people.js +1 -1
  207. package/dist/collection/common/icons/play.js +1 -1
  208. package/dist/collection/common/icons/refresh.js +1 -1
  209. package/dist/collection/common/icons/reply-all.js +1 -1
  210. package/dist/collection/common/icons/reply.js +1 -1
  211. package/dist/collection/common/icons/search.js +1 -1
  212. package/dist/collection/common/icons/sent.js +1 -1
  213. package/dist/collection/common/icons/spam.js +1 -1
  214. package/dist/collection/common/icons/star.js +1 -1
  215. package/dist/collection/common/icons/stop.js +1 -1
  216. package/dist/collection/common/icons/translate.js +1 -1
  217. package/dist/collection/common/icons/trash.js +1 -1
  218. package/dist/collection/common/icons/underline.js +1 -1
  219. package/dist/collection/common/icons/warning.js +1 -1
  220. package/dist/collection/common/nylas-api-request.js +34 -0
  221. package/dist/collection/common/nylas-api-request.js.map +1 -0
  222. package/dist/collection/components/design-system/button-component/button-component.css +73 -0
  223. package/dist/collection/components/design-system/button-component/button-component.js +193 -0
  224. package/dist/collection/components/design-system/button-component/button-component.js.map +1 -0
  225. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  226. package/dist/collection/components/design-system/select-dropdown/select-dropdown.css +6 -4
  227. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +42 -2
  228. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js.map +1 -1
  229. package/dist/collection/components/design-system/time-period-selector/time-period-selector.css +22 -0
  230. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +200 -0
  231. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js.map +1 -0
  232. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  233. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  234. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  235. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  236. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  237. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +2 -2
  238. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  239. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  240. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  241. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  242. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  243. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  244. package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
  245. package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.css +4 -3
  246. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.css +4 -0
  247. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.css +1 -0
  248. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
  249. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
  250. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.css +20 -10
  251. package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.css +6 -1
  252. package/dist/collection/components/scheduler/nylas-locale-switch/test/nylas-locale-switch.spec.js +3 -3
  253. package/dist/collection/components/scheduler/nylas-locale-switch/test/nylas-locale-switch.spec.js.map +1 -1
  254. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  255. package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.css +7 -8
  256. package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.js +27 -6
  257. package/dist/collection/components/scheduler/nylas-scheduler/nylas-scheduling.js.map +1 -1
  258. package/dist/collection/components/scheduler/nylas-scheduler/scheduler-view.js +2 -1
  259. package/dist/collection/components/scheduler/nylas-scheduler/scheduler-view.js.map +1 -1
  260. package/dist/collection/components/scheduler/nylas-scheduler/test/nylas-scheduling.spec.js +9 -0
  261. package/dist/collection/components/scheduler/nylas-scheduler/test/nylas-scheduling.spec.js.map +1 -1
  262. package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.css +12 -2
  263. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.css +1 -1
  264. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.css +5 -16
  265. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +3 -3
  266. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  267. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.css +49 -3
  268. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +5 -5
  269. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  270. package/dist/collection/components/scheduler-editor/nylas-availability-picker/test/nylas-availability-picker.spec.js +1 -1
  271. package/dist/collection/components/scheduler-editor/nylas-availability-picker/test/nylas-availability-picker.spec.js.map +1 -1
  272. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.css +6 -0
  273. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js +1 -1
  274. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js.map +1 -1
  275. package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.js +3 -3
  276. package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.js.map +1 -1
  277. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.css +6 -0
  278. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js +1 -1
  279. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js.map +1 -1
  280. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  281. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js.map +1 -1
  282. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.css +2 -2
  283. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +90 -52
  284. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  285. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +22 -0
  286. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -0
  287. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +1 -1
  288. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js.map +1 -1
  289. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +2 -2
  290. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js.map +1 -1
  291. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.css +2 -2
  292. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  293. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.css +60 -0
  294. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +59 -0
  295. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js.map +1 -0
  296. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +1 -1
  297. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js.map +1 -1
  298. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.css +2 -2
  299. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  300. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.css +46 -0
  301. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +191 -0
  302. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js.map +1 -0
  303. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/test/nylas-limit-future-bookings.spec.js +41 -0
  304. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/test/nylas-limit-future-bookings.spec.js.map +1 -0
  305. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js +3 -3
  306. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js.map +1 -1
  307. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.css +46 -0
  308. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +214 -0
  309. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js.map +1 -0
  310. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/test/nylas-min-cancellation-notice.spec.js +41 -0
  311. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/test/nylas-min-cancellation-notice.spec.js.map +1 -0
  312. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.css +73 -1
  313. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +177 -66
  314. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  315. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.css +10 -2
  316. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +2 -2
  317. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js.map +1 -1
  318. package/dist/collection/connector/connector-interface.js.map +1 -1
  319. package/dist/collection/connector/nylas-connector/index.js +0 -12
  320. package/dist/collection/connector/nylas-connector/index.js.map +1 -1
  321. package/dist/collection/connector/nylas-scheduler-config-connector/index.js +3 -24
  322. package/dist/collection/connector/nylas-scheduler-config-connector/index.js.map +1 -1
  323. package/dist/collection/connector/shared/api/scheduler-config.js +79 -10
  324. package/dist/collection/connector/shared/api/scheduler-config.js.map +1 -1
  325. package/dist/collection/index.js +1 -0
  326. package/dist/collection/index.js.map +1 -1
  327. package/dist/collection/stores/auth-session-store.js +18 -0
  328. package/dist/collection/stores/auth-session-store.js.map +1 -0
  329. package/dist/collection/stores/scheduler-config-store.js +2 -0
  330. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  331. package/dist/collection/stores/scheduler-store.js +1 -0
  332. package/dist/collection/stores/scheduler-store.js.map +1 -1
  333. package/dist/components/add-circle.js +1 -1
  334. package/dist/components/archive.js +1 -1
  335. package/dist/components/arrow.js +1 -1
  336. package/dist/components/bold.js +1 -1
  337. package/dist/components/button-component.d.ts +11 -0
  338. package/dist/components/button-component.js +8 -0
  339. package/dist/components/button-component.js.map +1 -0
  340. package/dist/components/button-component2.js +50 -0
  341. package/dist/components/button-component2.js.map +1 -0
  342. package/dist/components/calendar-cancel.js +1 -1
  343. package/dist/components/calendar-check.js +1 -1
  344. package/dist/components/calendar-info.js +1 -1
  345. package/dist/components/calendar-patterns.js +1 -1
  346. package/dist/components/calendar.js +1 -1
  347. package/dist/components/checkmark-circle.js +1 -1
  348. package/dist/components/chevron.js +1 -1
  349. package/dist/components/close.js +1 -1
  350. package/dist/components/constants.js +1 -0
  351. package/dist/components/constants.js.map +1 -1
  352. package/dist/components/document-refresh-icon.js +1 -1
  353. package/dist/components/flow.js +1 -1
  354. package/dist/components/folder.js +1 -1
  355. package/dist/components/forward.js +1 -1
  356. package/dist/components/globe.js +1 -1
  357. package/dist/components/google-logo-icon.d.ts +11 -0
  358. package/dist/components/google-logo-icon.js +8 -0
  359. package/dist/components/google-logo-icon.js.map +1 -0
  360. package/dist/components/google-logo.js +37 -0
  361. package/dist/components/google-logo.js.map +1 -0
  362. package/dist/components/inbox.js +1 -1
  363. package/dist/components/index.es.js +6 -2
  364. package/dist/components/index.es.js.map +1 -1
  365. package/dist/components/index.js +1 -0
  366. package/dist/components/index.js.map +1 -1
  367. package/dist/components/info.js +1 -1
  368. package/dist/components/italic.js +1 -1
  369. package/dist/components/loading.js +1 -1
  370. package/dist/components/location-off.js +1 -1
  371. package/dist/components/location.js +1 -1
  372. package/dist/components/mailbox-store.js +78 -2
  373. package/dist/components/mailbox-store.js.map +1 -1
  374. package/dist/components/microsoft-logo-icon.d.ts +11 -0
  375. package/dist/components/microsoft-logo-icon.js +8 -0
  376. package/dist/components/microsoft-logo-icon.js.map +1 -0
  377. package/dist/components/microsoft-logo.js +37 -0
  378. package/dist/components/microsoft-logo.js.map +1 -0
  379. package/dist/components/multi-select-dropdown2.js +2 -2
  380. package/dist/components/nylas-additional-participants.js +4 -4
  381. package/dist/components/nylas-additional-participants.js.map +1 -1
  382. package/dist/components/nylas-api-request.js +37 -0
  383. package/dist/components/nylas-api-request.js.map +1 -0
  384. package/dist/components/nylas-availability-picker2.js +6 -6
  385. package/dist/components/nylas-availability-picker2.js.map +1 -1
  386. package/dist/components/nylas-booked-event-card2.js +1 -1
  387. package/dist/components/nylas-booked-event-card2.js.map +1 -1
  388. package/dist/components/nylas-booking-calendar-picker2.js +2 -2
  389. package/dist/components/nylas-booking-calendar-picker2.js.map +1 -1
  390. package/dist/components/nylas-booking-form2.js +1 -1
  391. package/dist/components/nylas-booking-form2.js.map +1 -1
  392. package/dist/components/nylas-buffer-time2.js +3 -3
  393. package/dist/components/nylas-buffer-time2.js.map +1 -1
  394. package/dist/components/nylas-calendar-picker2.js +2 -2
  395. package/dist/components/nylas-calendar-picker2.js.map +1 -1
  396. package/dist/components/nylas-cancel-booking-form2.js +2 -2
  397. package/dist/components/nylas-cancel-booking-form2.js.map +1 -1
  398. package/dist/components/nylas-cancelled-event-card2.js +1 -1
  399. package/dist/components/nylas-composer2.js +1 -1
  400. package/dist/components/nylas-custom-booking-flow2.js +1 -1
  401. package/dist/components/nylas-custom-booking-flow2.js.map +1 -1
  402. package/dist/components/nylas-date-picker2.js +1 -1
  403. package/dist/components/nylas-date-picker2.js.map +1 -1
  404. package/dist/components/nylas-editor-tabs2.js +184 -101
  405. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  406. package/dist/components/nylas-event-description2.js +1 -1
  407. package/dist/components/nylas-event-description2.js.map +1 -1
  408. package/dist/components/nylas-event-duration2.js +2 -2
  409. package/dist/components/nylas-event-duration2.js.map +1 -1
  410. package/dist/components/nylas-event-info2.js +2 -2
  411. package/dist/components/nylas-event-info2.js.map +1 -1
  412. package/dist/components/nylas-event-limits.d.ts +11 -0
  413. package/dist/components/nylas-event-limits.js +8 -0
  414. package/dist/components/nylas-event-limits.js.map +1 -0
  415. package/dist/components/nylas-event-limits2.js +79 -0
  416. package/dist/components/nylas-event-limits2.js.map +1 -0
  417. package/dist/components/nylas-event-title2.js +1 -1
  418. package/dist/components/nylas-event-title2.js.map +1 -1
  419. package/dist/components/nylas-form-card2.js +2 -2
  420. package/dist/components/nylas-form-card2.js.map +1 -1
  421. package/dist/components/nylas-limit-future-bookings.d.ts +11 -0
  422. package/dist/components/nylas-limit-future-bookings.js +8 -0
  423. package/dist/components/nylas-limit-future-bookings.js.map +1 -0
  424. package/dist/components/nylas-limit-future-bookings2.js +171 -0
  425. package/dist/components/nylas-limit-future-bookings2.js.map +1 -0
  426. package/dist/components/nylas-list-folders.js +1 -1
  427. package/dist/components/nylas-list-threads.js +1 -1
  428. package/dist/components/nylas-locale-switch2.js +1 -1
  429. package/dist/components/nylas-locale-switch2.js.map +1 -1
  430. package/dist/components/nylas-location-component2.js +3 -3
  431. package/dist/components/nylas-location-component2.js.map +1 -1
  432. package/dist/components/nylas-login.js +1 -1
  433. package/dist/components/nylas-logo2.js +1 -1
  434. package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
  435. package/dist/components/nylas-mailbox.js +2 -3
  436. package/dist/components/nylas-mailbox.js.map +1 -1
  437. package/dist/components/nylas-min-cancellation-notice.d.ts +11 -0
  438. package/dist/components/nylas-min-cancellation-notice.js +8 -0
  439. package/dist/components/nylas-min-cancellation-notice.js.map +1 -0
  440. package/dist/components/nylas-min-cancellation-notice2.js +194 -0
  441. package/dist/components/nylas-min-cancellation-notice2.js.map +1 -0
  442. package/dist/components/nylas-notification2.js +1 -1
  443. package/dist/components/nylas-provider.js +3 -15
  444. package/dist/components/nylas-provider.js.map +1 -1
  445. package/dist/components/nylas-scheduler-editor.js +7362 -132
  446. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  447. package/dist/components/nylas-scheduling.js +14 -9
  448. package/dist/components/nylas-scheduling.js.map +1 -1
  449. package/dist/components/nylas-selected-event-card2.js +1 -1
  450. package/dist/components/nylas-selected-event-card2.js.map +1 -1
  451. package/dist/components/nylas-summarize-message-button2.js +2 -2
  452. package/dist/components/nylas-threads-refresh.js +2 -2
  453. package/dist/components/nylas-threads-search.js +1 -1
  454. package/dist/components/nylas-time-window-picker2.js +3 -3
  455. package/dist/components/nylas-time-window-picker2.js.map +1 -1
  456. package/dist/components/nylas-timeslot-picker2.js +1 -1
  457. package/dist/components/nylas-timeslot-picker2.js.map +1 -1
  458. package/dist/components/nylas-view-email2.js +1 -1
  459. package/dist/components/nylas-view-thread.js +1 -1
  460. package/dist/components/people-icon.js +1 -1
  461. package/dist/components/play.js +1 -1
  462. package/dist/components/refresh.js +1 -1
  463. package/dist/components/reply-all.js +1 -1
  464. package/dist/components/reply.js +1 -1
  465. package/dist/components/scheduler-config-store.js +3 -30
  466. package/dist/components/scheduler-config-store.js.map +1 -1
  467. package/dist/components/scheduler-store.js +1 -0
  468. package/dist/components/scheduler-store.js.map +1 -1
  469. package/dist/components/search.js +1 -1
  470. package/dist/components/select-dropdown2.js +25 -4
  471. package/dist/components/select-dropdown2.js.map +1 -1
  472. package/dist/components/sent.js +1 -1
  473. package/dist/components/spam.js +1 -1
  474. package/dist/components/star.js +1 -1
  475. package/dist/components/stop.js +1 -1
  476. package/dist/components/time-period-selector.d.ts +11 -0
  477. package/dist/components/time-period-selector.js +8 -0
  478. package/dist/components/time-period-selector.js.map +1 -0
  479. package/dist/components/time-period-selector2.js +144 -0
  480. package/dist/components/time-period-selector2.js.map +1 -0
  481. package/dist/components/toolitp-component.js +1 -1
  482. package/dist/components/translate.js +1 -1
  483. package/dist/components/trash.js +1 -1
  484. package/dist/components/underline.js +1 -1
  485. package/dist/components/warning.js +1 -1
  486. package/dist/esm/add-circle-icon.entry.js +2 -2
  487. package/dist/esm/{add-circle-icon_18.entry.js → add-circle-icon_22.entry.js} +423 -99
  488. package/dist/esm/add-circle-icon_22.entry.js.map +1 -0
  489. package/dist/esm/archive-icon.entry.js +2 -2
  490. package/dist/esm/archive-icon_7.entry.js +8 -8
  491. package/dist/esm/arrow-icon.entry.js +2 -2
  492. package/dist/esm/bold-icon.entry.js +2 -2
  493. package/dist/esm/bold-icon_3.entry.js +4 -4
  494. package/dist/esm/button-component.entry.js +26 -0
  495. package/dist/esm/button-component.entry.js.map +1 -0
  496. package/dist/esm/calendar-cancel-icon.entry.js +2 -2
  497. package/dist/esm/calendar-check-icon.entry.js +2 -2
  498. package/dist/esm/calendar-check-icon_2.entry.js +3 -3
  499. package/dist/esm/calendar-icon.entry.js +2 -2
  500. package/dist/esm/calendar-info-icon.entry.js +2 -2
  501. package/dist/esm/calendar-patterns-icon.entry.js +2 -2
  502. package/dist/esm/checkmark-circle-icon.entry.js +2 -2
  503. package/dist/esm/chevron-icon.entry.js +2 -2
  504. package/dist/esm/chevron-icon_3.entry.js +23 -6
  505. package/dist/esm/chevron-icon_3.entry.js.map +1 -1
  506. package/dist/esm/close-icon.entry.js +2 -2
  507. package/dist/{nylas-web-elements/constants-56fee505.js → esm/constants-335dffcf.js} +2 -1
  508. package/dist/{nylas-web-elements/constants-56fee505.js.map → esm/constants-335dffcf.js.map} +1 -1
  509. package/dist/esm/{constants-b6bf6671.js → constants-6ee60d6d.js} +2 -1
  510. package/dist/esm/{constants-b6bf6671.js.map → constants-6ee60d6d.js.map} +1 -1
  511. package/dist/esm/document-refresh-icon.entry.js +2 -2
  512. package/dist/esm/flow-icon.entry.js +2 -2
  513. package/dist/esm/folder-icon.entry.js +2 -2
  514. package/dist/esm/forward-icon.entry.js +2 -2
  515. package/dist/esm/forward-icon_6.entry.js +10 -10
  516. package/dist/esm/globe-icon.entry.js +2 -2
  517. package/dist/esm/google-logo-icon.entry.js +19 -0
  518. package/dist/esm/google-logo-icon.entry.js.map +1 -0
  519. package/dist/esm/google-logo-icon_3.entry.js +296 -0
  520. package/dist/esm/google-logo-icon_3.entry.js.map +1 -0
  521. package/dist/esm/inbox-icon.entry.js +2 -2
  522. package/dist/{nylas-web-elements/index-7b27868b.js → esm/index-11d12497.js} +2 -2
  523. package/dist/esm/{index-7b27868b.js.map → index-11d12497.js.map} +1 -1
  524. package/dist/esm/{index-10914bc1.js → index-628f294a.js} +2 -2
  525. package/dist/esm/{index-10914bc1.js.map → index-628f294a.js.map} +1 -1
  526. package/dist/esm/{index-0583f8a8.js → index-7cb0dd3d.js} +482 -21
  527. package/dist/esm/index-7cb0dd3d.js.map +1 -0
  528. package/dist/esm/{index-bda1cba1.js → index-8362ce5c.js} +34 -6
  529. package/dist/esm/index-8362ce5c.js.map +1 -0
  530. package/dist/esm/{index.es-0a5de5bf.js → index.es-2578c6a5.js} +8 -4
  531. package/dist/esm/index.es-2578c6a5.js.map +1 -0
  532. package/dist/{nylas-web-elements/index.es-a9f78dad.js → esm/index.es-bd511719.js} +7 -3
  533. package/dist/esm/index.es-bd511719.js.map +1 -0
  534. package/dist/esm/index.js +3 -2
  535. package/dist/esm/index.js.map +1 -1
  536. package/dist/esm/info-icon.entry.js +2 -2
  537. package/dist/esm/info-icon_2.entry.js +3 -3
  538. package/dist/esm/italic-icon.entry.js +2 -2
  539. package/dist/esm/loader.js +3 -3
  540. package/dist/esm/loading-icon.entry.js +2 -2
  541. package/dist/esm/location-icon.entry.js +2 -2
  542. package/dist/esm/location-off-icon.entry.js +2 -2
  543. package/dist/{nylas-web-elements/mailbox-store-8a1c2d32.js → esm/mailbox-store-150cc456.js} +80 -4
  544. package/dist/esm/mailbox-store-150cc456.js.map +1 -0
  545. package/dist/esm/{mailbox-store-e721b17c.js → mailbox-store-bb21512c.js} +81 -5
  546. package/dist/esm/mailbox-store-bb21512c.js.map +1 -0
  547. package/dist/esm/microsoft-logo-icon.entry.js +19 -0
  548. package/dist/esm/microsoft-logo-icon.entry.js.map +1 -0
  549. package/dist/esm/multi-select-dropdown.entry.js +3 -3
  550. package/dist/esm/nylas-additional-participants.entry.js +6 -6
  551. package/dist/esm/nylas-additional-participants.entry.js.map +1 -1
  552. package/dist/esm/nylas-api-request-55446aba.js +37 -0
  553. package/dist/esm/nylas-api-request-55446aba.js.map +1 -0
  554. package/dist/esm/nylas-api-request-c97a0153.js +35 -0
  555. package/dist/esm/nylas-api-request-c97a0153.js.map +1 -0
  556. package/dist/esm/nylas-availability-picker.entry.js +9 -9
  557. package/dist/esm/nylas-availability-picker.entry.js.map +1 -1
  558. package/dist/esm/nylas-booked-event-card.entry.js +4 -4
  559. package/dist/esm/nylas-booked-event-card.entry.js.map +1 -1
  560. package/dist/esm/nylas-booked-event-card_10.entry.js +15 -15
  561. package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
  562. package/dist/esm/nylas-booking-calendar-picker.entry.js +4 -4
  563. package/dist/esm/nylas-booking-calendar-picker.entry.js.map +1 -1
  564. package/dist/esm/nylas-booking-form.entry.js +3 -3
  565. package/dist/esm/nylas-booking-form.entry.js.map +1 -1
  566. package/dist/esm/nylas-buffer-time.entry.js +5 -5
  567. package/dist/esm/nylas-buffer-time.entry.js.map +1 -1
  568. package/dist/esm/nylas-calendar-picker.entry.js +4 -4
  569. package/dist/esm/nylas-calendar-picker.entry.js.map +1 -1
  570. package/dist/esm/nylas-cancel-booking-form.entry.js +4 -4
  571. package/dist/esm/nylas-cancel-booking-form.entry.js.map +1 -1
  572. package/dist/esm/nylas-cancelled-event-card.entry.js +3 -3
  573. package/dist/esm/nylas-composer.entry.js +2 -2
  574. package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
  575. package/dist/esm/nylas-custom-booking-flow.entry.js.map +1 -1
  576. package/dist/esm/nylas-date-picker.entry.js +3 -3
  577. package/dist/esm/nylas-date-picker.entry.js.map +1 -1
  578. package/dist/esm/nylas-editor-tabs.entry.js +100 -48
  579. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  580. package/dist/esm/nylas-event-description.entry.js +3 -3
  581. package/dist/esm/nylas-event-description.entry.js.map +1 -1
  582. package/dist/esm/nylas-event-duration.entry.js +4 -4
  583. package/dist/esm/nylas-event-duration.entry.js.map +1 -1
  584. package/dist/esm/nylas-event-info.entry.js +4 -4
  585. package/dist/esm/nylas-event-info.entry.js.map +1 -1
  586. package/dist/esm/nylas-event-limits.entry.js +64 -0
  587. package/dist/esm/nylas-event-limits.entry.js.map +1 -0
  588. package/dist/esm/nylas-event-title.entry.js +4 -4
  589. package/dist/esm/nylas-event-title.entry.js.map +1 -1
  590. package/dist/esm/nylas-form-card.entry.js +4 -4
  591. package/dist/esm/nylas-form-card.entry.js.map +1 -1
  592. package/dist/esm/nylas-if-state.entry.js +2 -2
  593. package/dist/esm/nylas-limit-future-bookings.entry.js +118 -0
  594. package/dist/esm/nylas-limit-future-bookings.entry.js.map +1 -0
  595. package/dist/esm/nylas-list-folders.entry.js +3 -3
  596. package/dist/esm/nylas-list-threads.entry.js +3 -3
  597. package/dist/esm/nylas-locale-switch.entry.js +4 -4
  598. package/dist/esm/nylas-locale-switch.entry.js.map +1 -1
  599. package/dist/esm/nylas-location-component.entry.js +5 -5
  600. package/dist/esm/nylas-location-component.entry.js.map +1 -1
  601. package/dist/esm/nylas-login.entry.js +3 -3
  602. package/dist/esm/nylas-logo.entry.js +2 -2
  603. package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
  604. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +3 -3
  605. package/dist/esm/nylas-mailbox.entry.js +5 -6
  606. package/dist/esm/nylas-mailbox.entry.js.map +1 -1
  607. package/dist/esm/nylas-min-cancellation-notice.entry.js +141 -0
  608. package/dist/esm/nylas-min-cancellation-notice.entry.js.map +1 -0
  609. package/dist/esm/nylas-notification.entry.js +2 -2
  610. package/dist/esm/nylas-provider.entry.js +7 -19
  611. package/dist/esm/nylas-provider.entry.js.map +1 -1
  612. package/dist/esm/nylas-scheduler-editor.entry.js +7257 -74
  613. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  614. package/dist/esm/nylas-scheduling.entry.js +17 -13
  615. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  616. package/dist/esm/nylas-selected-event-card.entry.js +4 -4
  617. package/dist/esm/nylas-selected-event-card.entry.js.map +1 -1
  618. package/dist/esm/nylas-summarize-message-button.entry.js +4 -4
  619. package/dist/esm/nylas-threads-refresh.entry.js +4 -4
  620. package/dist/esm/nylas-threads-search.entry.js +3 -3
  621. package/dist/esm/nylas-time-window-picker.entry.js +4 -4
  622. package/dist/esm/nylas-time-window-picker.entry.js.map +1 -1
  623. package/dist/esm/nylas-timeslot-picker.entry.js +3 -3
  624. package/dist/esm/nylas-timeslot-picker.entry.js.map +1 -1
  625. package/dist/esm/nylas-view-email.entry.js +2 -2
  626. package/dist/esm/nylas-view-thread.entry.js +3 -3
  627. package/dist/esm/nylas-web-elements.js +3 -3
  628. package/dist/esm/people-icon.entry.js +2 -2
  629. package/dist/esm/play-icon.entry.js +2 -2
  630. package/dist/esm/play-icon_2.entry.js +3 -3
  631. package/dist/esm/refresh-icon.entry.js +2 -2
  632. package/dist/{nylas-web-elements/register-component-93f9bcf5.js → esm/register-component-0645dce0.js} +2 -2
  633. package/dist/esm/{register-component-93f9bcf5.js.map → register-component-0645dce0.js.map} +1 -1
  634. package/dist/esm/{register-component-d056a880.js → register-component-dc659dc3.js} +3 -3
  635. package/dist/esm/{register-component-d056a880.js.map → register-component-dc659dc3.js.map} +1 -1
  636. package/dist/esm/reply-all-icon.entry.js +2 -2
  637. package/dist/esm/reply-icon.entry.js +2 -2
  638. package/dist/esm/scheduler-config-store-51ee4f42.js +17 -0
  639. package/dist/esm/scheduler-config-store-51ee4f42.js.map +1 -0
  640. package/dist/esm/scheduler-config-store-bc59545b.js +17 -0
  641. package/dist/esm/scheduler-config-store-bc59545b.js.map +1 -0
  642. package/dist/esm/{scheduler-store-f2e72da4.js → scheduler-store-4d0a4f8a.js} +3 -2
  643. package/dist/esm/scheduler-store-4d0a4f8a.js.map +1 -0
  644. package/dist/esm/{scheduler-store-0fbe642c.js → scheduler-store-72116723.js} +4 -3
  645. package/dist/esm/scheduler-store-72116723.js.map +1 -0
  646. package/dist/esm/search-icon.entry.js +2 -2
  647. package/dist/esm/select-dropdown.entry.js +21 -4
  648. package/dist/esm/select-dropdown.entry.js.map +1 -1
  649. package/dist/esm/sent-icon.entry.js +2 -2
  650. package/dist/esm/spam-icon.entry.js +2 -2
  651. package/dist/esm/star-icon.entry.js +2 -2
  652. package/dist/esm/stop-icon.entry.js +2 -2
  653. package/dist/esm/time-period-selector.entry.js +100 -0
  654. package/dist/esm/time-period-selector.entry.js.map +1 -0
  655. package/dist/esm/tooltip-component.entry.js +2 -2
  656. package/dist/esm/translate-icon.entry.js +2 -2
  657. package/dist/esm/trash-icon.entry.js +2 -2
  658. package/dist/esm/underline-icon.entry.js +2 -2
  659. package/dist/esm/{utils-0cd66d04.js → utils-c00bdc3c.js} +2 -2
  660. package/dist/esm/{utils-0cd66d04.js.map → utils-c00bdc3c.js.map} +1 -1
  661. package/dist/esm/warning-icon.entry.js +2 -2
  662. package/dist/nylas-web-elements/add-circle-icon.entry.js +2 -2
  663. package/dist/nylas-web-elements/archive-icon.entry.js +2 -2
  664. package/dist/nylas-web-elements/arrow-icon.entry.js +2 -2
  665. package/dist/nylas-web-elements/bold-icon.entry.js +2 -2
  666. package/dist/nylas-web-elements/button-component.entry.js +26 -0
  667. package/dist/nylas-web-elements/button-component.entry.js.map +1 -0
  668. package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +2 -2
  669. package/dist/nylas-web-elements/calendar-check-icon.entry.js +2 -2
  670. package/dist/nylas-web-elements/calendar-icon.entry.js +2 -2
  671. package/dist/nylas-web-elements/calendar-info-icon.entry.js +2 -2
  672. package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +2 -2
  673. package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +2 -2
  674. package/dist/nylas-web-elements/chevron-icon.entry.js +2 -2
  675. package/dist/nylas-web-elements/close-icon.entry.js +2 -2
  676. package/dist/{esm/constants-56fee505.js → nylas-web-elements/constants-335dffcf.js} +2 -1
  677. package/dist/{esm/constants-56fee505.js.map → nylas-web-elements/constants-335dffcf.js.map} +1 -1
  678. package/dist/nylas-web-elements/document-refresh-icon.entry.js +2 -2
  679. package/dist/nylas-web-elements/flow-icon.entry.js +2 -2
  680. package/dist/nylas-web-elements/folder-icon.entry.js +2 -2
  681. package/dist/nylas-web-elements/forward-icon.entry.js +2 -2
  682. package/dist/nylas-web-elements/globe-icon.entry.js +2 -2
  683. package/dist/nylas-web-elements/google-logo-icon.entry.js +19 -0
  684. package/dist/nylas-web-elements/google-logo-icon.entry.js.map +1 -0
  685. package/dist/nylas-web-elements/inbox-icon.entry.js +2 -2
  686. package/dist/{esm/index-7b27868b.js → nylas-web-elements/index-11d12497.js} +2 -2
  687. package/dist/nylas-web-elements/{index-7b27868b.js.map → index-11d12497.js.map} +1 -1
  688. package/dist/nylas-web-elements/{index-bda1cba1.js → index-8362ce5c.js} +2 -2
  689. package/dist/nylas-web-elements/index-8362ce5c.js.map +1 -0
  690. package/dist/{esm/index.es-a9f78dad.js → nylas-web-elements/index.es-bd511719.js} +7 -3
  691. package/dist/nylas-web-elements/index.es-bd511719.js.map +1 -0
  692. package/dist/nylas-web-elements/index.esm.js +3 -2
  693. package/dist/nylas-web-elements/index.esm.js.map +1 -1
  694. package/dist/nylas-web-elements/info-icon.entry.js +2 -2
  695. package/dist/nylas-web-elements/italic-icon.entry.js +2 -2
  696. package/dist/nylas-web-elements/loading-icon.entry.js +2 -2
  697. package/dist/nylas-web-elements/location-icon.entry.js +2 -2
  698. package/dist/nylas-web-elements/location-off-icon.entry.js +2 -2
  699. package/dist/{esm/mailbox-store-8a1c2d32.js → nylas-web-elements/mailbox-store-150cc456.js} +80 -4
  700. package/dist/nylas-web-elements/mailbox-store-150cc456.js.map +1 -0
  701. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +19 -0
  702. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js.map +1 -0
  703. package/dist/nylas-web-elements/multi-select-dropdown.entry.js +3 -3
  704. package/dist/nylas-web-elements/nylas-additional-participants.entry.js +6 -6
  705. package/dist/nylas-web-elements/nylas-additional-participants.entry.js.map +1 -1
  706. package/dist/nylas-web-elements/nylas-api-request-55446aba.js +37 -0
  707. package/dist/nylas-web-elements/nylas-api-request-55446aba.js.map +1 -0
  708. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +9 -9
  709. package/dist/nylas-web-elements/nylas-availability-picker.entry.js.map +1 -1
  710. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +4 -4
  711. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js.map +1 -1
  712. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +4 -4
  713. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js.map +1 -1
  714. package/dist/nylas-web-elements/nylas-booking-form.entry.js +3 -3
  715. package/dist/nylas-web-elements/nylas-booking-form.entry.js.map +1 -1
  716. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +5 -5
  717. package/dist/nylas-web-elements/nylas-buffer-time.entry.js.map +1 -1
  718. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +4 -4
  719. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js.map +1 -1
  720. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +4 -4
  721. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js.map +1 -1
  722. package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +3 -3
  723. package/dist/nylas-web-elements/nylas-composer.entry.js +2 -2
  724. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
  725. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js.map +1 -1
  726. package/dist/nylas-web-elements/nylas-date-picker.entry.js +3 -3
  727. package/dist/nylas-web-elements/nylas-date-picker.entry.js.map +1 -1
  728. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +100 -48
  729. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  730. package/dist/nylas-web-elements/nylas-event-description.entry.js +3 -3
  731. package/dist/nylas-web-elements/nylas-event-description.entry.js.map +1 -1
  732. package/dist/nylas-web-elements/nylas-event-duration.entry.js +4 -4
  733. package/dist/nylas-web-elements/nylas-event-duration.entry.js.map +1 -1
  734. package/dist/nylas-web-elements/nylas-event-info.entry.js +4 -4
  735. package/dist/nylas-web-elements/nylas-event-info.entry.js.map +1 -1
  736. package/dist/nylas-web-elements/nylas-event-limits.entry.js +64 -0
  737. package/dist/nylas-web-elements/nylas-event-limits.entry.js.map +1 -0
  738. package/dist/nylas-web-elements/nylas-event-title.entry.js +4 -4
  739. package/dist/nylas-web-elements/nylas-event-title.entry.js.map +1 -1
  740. package/dist/nylas-web-elements/nylas-form-card.entry.js +4 -4
  741. package/dist/nylas-web-elements/nylas-form-card.entry.js.map +1 -1
  742. package/dist/nylas-web-elements/nylas-if-state.entry.js +2 -2
  743. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +118 -0
  744. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js.map +1 -0
  745. package/dist/nylas-web-elements/nylas-list-folders.entry.js +3 -3
  746. package/dist/nylas-web-elements/nylas-list-threads.entry.js +3 -3
  747. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +4 -4
  748. package/dist/nylas-web-elements/nylas-locale-switch.entry.js.map +1 -1
  749. package/dist/nylas-web-elements/nylas-location-component.entry.js +5 -5
  750. package/dist/nylas-web-elements/nylas-location-component.entry.js.map +1 -1
  751. package/dist/nylas-web-elements/nylas-login.entry.js +3 -3
  752. package/dist/nylas-web-elements/nylas-logo.entry.js +2 -2
  753. package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
  754. package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +3 -3
  755. package/dist/nylas-web-elements/nylas-mailbox.entry.js +5 -6
  756. package/dist/nylas-web-elements/nylas-mailbox.entry.js.map +1 -1
  757. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +141 -0
  758. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js.map +1 -0
  759. package/dist/nylas-web-elements/nylas-notification.entry.js +2 -2
  760. package/dist/nylas-web-elements/nylas-provider.entry.js +7 -19
  761. package/dist/nylas-web-elements/nylas-provider.entry.js.map +1 -1
  762. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +7257 -74
  763. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
  764. package/dist/nylas-web-elements/nylas-scheduling.entry.js +17 -13
  765. package/dist/nylas-web-elements/nylas-scheduling.entry.js.map +1 -1
  766. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +4 -4
  767. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js.map +1 -1
  768. package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +4 -4
  769. package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +4 -4
  770. package/dist/nylas-web-elements/nylas-threads-search.entry.js +3 -3
  771. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +4 -4
  772. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js.map +1 -1
  773. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +3 -3
  774. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js.map +1 -1
  775. package/dist/nylas-web-elements/nylas-view-email.entry.js +2 -2
  776. package/dist/nylas-web-elements/nylas-view-thread.entry.js +3 -3
  777. package/dist/nylas-web-elements/nylas-web-elements.esm.js +3 -3
  778. package/dist/nylas-web-elements/p-006ab406.entry.js +2 -0
  779. package/dist/nylas-web-elements/p-006ab406.entry.js.map +1 -0
  780. package/dist/nylas-web-elements/p-01bf65c2.entry.js +2 -0
  781. package/dist/nylas-web-elements/{p-bf2887bd.js → p-1819b3d7.js} +2 -2
  782. package/dist/nylas-web-elements/{p-bf2887bd.js.map → p-1819b3d7.js.map} +1 -1
  783. package/dist/nylas-web-elements/{p-26b75895.entry.js → p-2523c292.entry.js} +2 -2
  784. package/dist/nylas-web-elements/p-2c5d5953.entry.js +2 -0
  785. package/dist/nylas-web-elements/p-2c5d5953.entry.js.map +1 -0
  786. package/dist/nylas-web-elements/p-3631e6e5.entry.js +2 -0
  787. package/dist/nylas-web-elements/p-3631e6e5.entry.js.map +1 -0
  788. package/dist/nylas-web-elements/p-374527e6.entry.js +2 -0
  789. package/dist/nylas-web-elements/p-374527e6.entry.js.map +1 -0
  790. package/dist/nylas-web-elements/{p-0195d832.entry.js → p-395f49eb.entry.js} +2 -2
  791. package/dist/nylas-web-elements/p-39b280e2.entry.js +2 -0
  792. package/dist/nylas-web-elements/p-39b280e2.entry.js.map +1 -0
  793. package/dist/nylas-web-elements/p-3da66838.entry.js +2 -0
  794. package/dist/nylas-web-elements/p-3da66838.entry.js.map +1 -0
  795. package/dist/nylas-web-elements/{p-9955e9b6.js → p-408dda49.js} +2 -2
  796. package/dist/nylas-web-elements/{p-31f12f3f.entry.js → p-409d4410.entry.js} +2 -2
  797. package/dist/nylas-web-elements/{p-3105fc0a.entry.js → p-40ed7eab.entry.js} +2 -2
  798. package/dist/nylas-web-elements/{p-412215d1.entry.js → p-41c1654e.entry.js} +2 -2
  799. package/dist/nylas-web-elements/{p-a959a080.entry.js → p-42a4c2fd.entry.js} +2 -2
  800. package/dist/nylas-web-elements/{p-68f47a72.entry.js → p-4d9fceeb.entry.js} +2 -2
  801. package/dist/nylas-web-elements/p-59b6ae90.entry.js +2 -0
  802. package/dist/nylas-web-elements/p-59b6ae90.entry.js.map +1 -0
  803. package/dist/nylas-web-elements/p-5a3809a7.entry.js +2 -0
  804. package/dist/nylas-web-elements/p-5a3809a7.entry.js.map +1 -0
  805. package/dist/nylas-web-elements/{p-c0fac9fc.entry.js → p-64364434.entry.js} +2 -2
  806. package/dist/nylas-web-elements/p-65fdfb60.js +2 -0
  807. package/dist/nylas-web-elements/p-65fdfb60.js.map +1 -0
  808. package/dist/nylas-web-elements/p-68c2fadf.js +3 -0
  809. package/dist/nylas-web-elements/{p-e4b9d6af.js.map → p-68c2fadf.js.map} +1 -1
  810. package/dist/nylas-web-elements/{p-67f20520.entry.js → p-7b1bb792.entry.js} +3 -3
  811. package/dist/nylas-web-elements/{p-facc84f3.js → p-901f9612.js} +2 -2
  812. package/dist/nylas-web-elements/{p-e324add5.entry.js → p-9dac153b.entry.js} +2 -2
  813. package/dist/nylas-web-elements/p-9f168ff0.js +2 -0
  814. package/dist/nylas-web-elements/{p-ce89d941.js.map → p-9f168ff0.js.map} +1 -1
  815. package/dist/nylas-web-elements/p-a0c2ce03.entry.js +2 -0
  816. package/dist/nylas-web-elements/{p-f8e59935.entry.js → p-a1e27dc5.entry.js} +2 -2
  817. package/dist/nylas-web-elements/p-a3d5a1dd.entry.js +2 -0
  818. package/dist/nylas-web-elements/p-ad9c3cab.entry.js +2 -0
  819. package/dist/nylas-web-elements/p-ad9c3cab.entry.js.map +1 -0
  820. package/dist/nylas-web-elements/{p-5d875283.entry.js → p-ae01e1cb.entry.js} +2 -2
  821. package/dist/nylas-web-elements/p-af22da60.entry.js +17 -0
  822. package/dist/nylas-web-elements/p-af22da60.entry.js.map +1 -0
  823. package/dist/nylas-web-elements/{p-b54b575a.entry.js → p-b2208193.entry.js} +2 -2
  824. package/dist/nylas-web-elements/{p-02435888.entry.js → p-ba3d383f.entry.js} +2 -2
  825. package/dist/nylas-web-elements/{p-f826c690.entry.js → p-baa620b4.entry.js} +2 -2
  826. package/dist/nylas-web-elements/p-bfdc148c.entry.js +2 -0
  827. package/dist/nylas-web-elements/{p-65b275df.js → p-cabb2e68.js} +2 -2
  828. package/dist/nylas-web-elements/p-cadc9052.js +2 -0
  829. package/dist/nylas-web-elements/p-cadc9052.js.map +1 -0
  830. package/dist/nylas-web-elements/p-d224c7af.entry.js +2 -0
  831. package/dist/nylas-web-elements/p-d224c7af.entry.js.map +1 -0
  832. package/dist/nylas-web-elements/p-d67d1c72.js +2 -0
  833. package/dist/nylas-web-elements/p-d67d1c72.js.map +1 -0
  834. package/dist/nylas-web-elements/p-d85eecf4.entry.js +2 -0
  835. package/dist/nylas-web-elements/p-d85eecf4.entry.js.map +1 -0
  836. package/dist/nylas-web-elements/p-d92a0405.entry.js +2 -0
  837. package/dist/nylas-web-elements/p-dc1cee56.entry.js +2 -0
  838. package/dist/nylas-web-elements/p-dc1cee56.entry.js.map +1 -0
  839. package/dist/nylas-web-elements/p-de63bc35.entry.js +2 -0
  840. package/dist/nylas-web-elements/{p-22c0a883.entry.js → p-deafc6bc.entry.js} +2 -2
  841. package/dist/nylas-web-elements/{p-64be0bab.js → p-df5e9aaf.js} +2 -2
  842. package/dist/nylas-web-elements/p-df5e9aaf.js.map +1 -0
  843. package/dist/nylas-web-elements/p-f48d0571.entry.js +2 -0
  844. package/dist/nylas-web-elements/p-fbbca7a6.entry.js +2 -0
  845. package/dist/nylas-web-elements/people-icon.entry.js +2 -2
  846. package/dist/nylas-web-elements/play-icon.entry.js +2 -2
  847. package/dist/nylas-web-elements/refresh-icon.entry.js +2 -2
  848. package/dist/{esm/register-component-93f9bcf5.js → nylas-web-elements/register-component-0645dce0.js} +2 -2
  849. package/dist/nylas-web-elements/{register-component-93f9bcf5.js.map → register-component-0645dce0.js.map} +1 -1
  850. package/dist/nylas-web-elements/reply-all-icon.entry.js +2 -2
  851. package/dist/nylas-web-elements/reply-icon.entry.js +2 -2
  852. package/dist/nylas-web-elements/scheduler-config-store-bc59545b.js +17 -0
  853. package/dist/nylas-web-elements/scheduler-config-store-bc59545b.js.map +1 -0
  854. package/dist/nylas-web-elements/{scheduler-store-f2e72da4.js → scheduler-store-4d0a4f8a.js} +3 -2
  855. package/dist/nylas-web-elements/scheduler-store-4d0a4f8a.js.map +1 -0
  856. package/dist/nylas-web-elements/search-icon.entry.js +2 -2
  857. package/dist/nylas-web-elements/select-dropdown.entry.js +21 -4
  858. package/dist/nylas-web-elements/select-dropdown.entry.js.map +1 -1
  859. package/dist/nylas-web-elements/sent-icon.entry.js +2 -2
  860. package/dist/nylas-web-elements/spam-icon.entry.js +2 -2
  861. package/dist/nylas-web-elements/star-icon.entry.js +2 -2
  862. package/dist/nylas-web-elements/stop-icon.entry.js +2 -2
  863. package/dist/nylas-web-elements/time-period-selector.entry.js +100 -0
  864. package/dist/nylas-web-elements/time-period-selector.entry.js.map +1 -0
  865. package/dist/nylas-web-elements/tooltip-component.entry.js +2 -2
  866. package/dist/nylas-web-elements/translate-icon.entry.js +2 -2
  867. package/dist/nylas-web-elements/trash-icon.entry.js +2 -2
  868. package/dist/nylas-web-elements/underline-icon.entry.js +2 -2
  869. package/dist/nylas-web-elements/warning-icon.entry.js +2 -2
  870. package/dist/types/common/icons/google-logo.d.ts +5 -0
  871. package/dist/types/common/icons/microsoft-logo.d.ts +5 -0
  872. package/dist/types/common/nylas-api-request.d.ts +35 -0
  873. package/dist/types/components/design-system/button-component/button-component.d.ts +13 -0
  874. package/dist/types/components/design-system/select-dropdown/select-dropdown.d.ts +3 -0
  875. package/dist/types/components/design-system/time-period-selector/time-period-selector.d.ts +31 -0
  876. package/dist/types/components/scheduler/nylas-scheduler/nylas-scheduling.d.ts +1 -0
  877. package/dist/types/components/scheduler/nylas-scheduler/scheduler-view.d.ts +1 -0
  878. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +21 -28
  879. package/dist/types/components/scheduler-editor/nylas-editor-tabs/tab-contents.d.ts +7 -0
  880. package/dist/types/components/scheduler-editor/nylas-event-limits/nylas-event-limits.d.ts +8 -0
  881. package/dist/types/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.d.ts +28 -0
  882. package/dist/types/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.d.ts +25 -0
  883. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +12 -10
  884. package/dist/types/components.d.ts +314 -19
  885. package/dist/types/connector/connector-interface.d.ts +1 -1
  886. package/dist/types/connector/nylas-connector/index.d.ts +1 -4
  887. package/dist/types/connector/nylas-scheduler-config-connector/index.d.ts +5 -32
  888. package/dist/types/connector/shared/api/scheduler-config.d.ts +12 -11
  889. package/dist/types/index.d.ts +2 -0
  890. package/dist/types/stores/auth-session-store.d.ts +9 -0
  891. package/dist/types/stores/scheduler-config-store.d.ts +5 -2
  892. package/dist/types/stores/scheduler-store.d.ts +1 -0
  893. package/package.json +10 -7
  894. package/dist/cjs/add-circle-icon_18.cjs.entry.js.map +0 -1
  895. package/dist/cjs/auth-store-78906da5.js +0 -85
  896. package/dist/cjs/auth-store-78906da5.js.map +0 -1
  897. package/dist/cjs/auth-store-be4bbe89.js +0 -85
  898. package/dist/cjs/auth-store-be4bbe89.js.map +0 -1
  899. package/dist/cjs/index-37045c7b.js.map +0 -1
  900. package/dist/cjs/index-ec8e2a4d.js.map +0 -1
  901. package/dist/cjs/index.es-3c12ec8c.js.map +0 -1
  902. package/dist/cjs/index.es-9122f5a3.js.map +0 -1
  903. package/dist/cjs/mailbox-store-37622628.js.map +0 -1
  904. package/dist/cjs/mailbox-store-5cd5e485.js.map +0 -1
  905. package/dist/cjs/nylas-if-state_3.cjs.entry.js +0 -411
  906. package/dist/cjs/nylas-if-state_3.cjs.entry.js.map +0 -1
  907. package/dist/cjs/scheduler-config-store-03b22a70.js +0 -47
  908. package/dist/cjs/scheduler-config-store-03b22a70.js.map +0 -1
  909. package/dist/cjs/scheduler-config-store-9577e499.js +0 -47
  910. package/dist/cjs/scheduler-config-store-9577e499.js.map +0 -1
  911. package/dist/cjs/scheduler-store-41b6d179.js.map +0 -1
  912. package/dist/cjs/scheduler-store-65f0fbe5.js.map +0 -1
  913. package/dist/components/auth-store.js +0 -82
  914. package/dist/components/auth-store.js.map +0 -1
  915. package/dist/esm/add-circle-icon_18.entry.js.map +0 -1
  916. package/dist/esm/auth-store-69ac49c7.js +0 -82
  917. package/dist/esm/auth-store-69ac49c7.js.map +0 -1
  918. package/dist/esm/auth-store-f46d9222.js +0 -82
  919. package/dist/esm/auth-store-f46d9222.js.map +0 -1
  920. package/dist/esm/index-0583f8a8.js.map +0 -1
  921. package/dist/esm/index-bda1cba1.js.map +0 -1
  922. package/dist/esm/index.es-0a5de5bf.js.map +0 -1
  923. package/dist/esm/index.es-a9f78dad.js.map +0 -1
  924. package/dist/esm/mailbox-store-8a1c2d32.js.map +0 -1
  925. package/dist/esm/mailbox-store-e721b17c.js.map +0 -1
  926. package/dist/esm/nylas-if-state_3.entry.js +0 -405
  927. package/dist/esm/nylas-if-state_3.entry.js.map +0 -1
  928. package/dist/esm/scheduler-config-store-4d035001.js +0 -44
  929. package/dist/esm/scheduler-config-store-4d035001.js.map +0 -1
  930. package/dist/esm/scheduler-config-store-8f162729.js +0 -44
  931. package/dist/esm/scheduler-config-store-8f162729.js.map +0 -1
  932. package/dist/esm/scheduler-store-0fbe642c.js.map +0 -1
  933. package/dist/esm/scheduler-store-f2e72da4.js.map +0 -1
  934. package/dist/nylas-web-elements/auth-store-f46d9222.js +0 -82
  935. package/dist/nylas-web-elements/auth-store-f46d9222.js.map +0 -1
  936. package/dist/nylas-web-elements/index-bda1cba1.js.map +0 -1
  937. package/dist/nylas-web-elements/index.es-a9f78dad.js.map +0 -1
  938. package/dist/nylas-web-elements/mailbox-store-8a1c2d32.js.map +0 -1
  939. package/dist/nylas-web-elements/p-18c6ddfa.entry.js +0 -2
  940. package/dist/nylas-web-elements/p-1af51c6b.js +0 -2
  941. package/dist/nylas-web-elements/p-1af51c6b.js.map +0 -1
  942. package/dist/nylas-web-elements/p-1c3b651f.entry.js +0 -2
  943. package/dist/nylas-web-elements/p-1c3b651f.entry.js.map +0 -1
  944. package/dist/nylas-web-elements/p-558faafb.entry.js +0 -2
  945. package/dist/nylas-web-elements/p-558faafb.entry.js.map +0 -1
  946. package/dist/nylas-web-elements/p-5642190a.entry.js +0 -2
  947. package/dist/nylas-web-elements/p-5642190a.entry.js.map +0 -1
  948. package/dist/nylas-web-elements/p-577ecdd4.entry.js +0 -2
  949. package/dist/nylas-web-elements/p-577ecdd4.entry.js.map +0 -1
  950. package/dist/nylas-web-elements/p-578f4029.js +0 -2
  951. package/dist/nylas-web-elements/p-578f4029.js.map +0 -1
  952. package/dist/nylas-web-elements/p-5c72d9a4.js +0 -2
  953. package/dist/nylas-web-elements/p-5c72d9a4.js.map +0 -1
  954. package/dist/nylas-web-elements/p-5fd0eb1d.entry.js +0 -2
  955. package/dist/nylas-web-elements/p-64be0bab.js.map +0 -1
  956. package/dist/nylas-web-elements/p-6aa84fd8.entry.js +0 -2
  957. package/dist/nylas-web-elements/p-6c84f99e.entry.js +0 -2
  958. package/dist/nylas-web-elements/p-6c84f99e.entry.js.map +0 -1
  959. package/dist/nylas-web-elements/p-80079122.entry.js +0 -2
  960. package/dist/nylas-web-elements/p-a30e3755.entry.js +0 -2
  961. package/dist/nylas-web-elements/p-afdac062.entry.js +0 -2
  962. package/dist/nylas-web-elements/p-afdac062.entry.js.map +0 -1
  963. package/dist/nylas-web-elements/p-be3b6e3a.entry.js +0 -2
  964. package/dist/nylas-web-elements/p-be3b6e3a.entry.js.map +0 -1
  965. package/dist/nylas-web-elements/p-cc6721a7.entry.js +0 -2
  966. package/dist/nylas-web-elements/p-ce89d941.js +0 -2
  967. package/dist/nylas-web-elements/p-e4b9d6af.js +0 -3
  968. package/dist/nylas-web-elements/p-e4ec4651.entry.js +0 -2
  969. package/dist/nylas-web-elements/p-e4ec4651.entry.js.map +0 -1
  970. package/dist/nylas-web-elements/p-f442a2f9.entry.js +0 -2
  971. package/dist/nylas-web-elements/p-f78abda8.entry.js +0 -2
  972. package/dist/nylas-web-elements/p-f78abda8.entry.js.map +0 -1
  973. package/dist/nylas-web-elements/p-f8056365.entry.js +0 -2
  974. package/dist/nylas-web-elements/p-fbe6262b.entry.js +0 -2
  975. package/dist/nylas-web-elements/p-fbe6262b.entry.js.map +0 -1
  976. package/dist/nylas-web-elements/scheduler-config-store-8f162729.js +0 -44
  977. package/dist/nylas-web-elements/scheduler-config-store-8f162729.js.map +0 -1
  978. package/dist/nylas-web-elements/scheduler-store-f2e72da4.js.map +0 -1
  979. /package/dist/nylas-web-elements/{p-5fd0eb1d.entry.js.map → p-01bf65c2.entry.js.map} +0 -0
  980. /package/dist/nylas-web-elements/{p-26b75895.entry.js.map → p-2523c292.entry.js.map} +0 -0
  981. /package/dist/nylas-web-elements/{p-0195d832.entry.js.map → p-395f49eb.entry.js.map} +0 -0
  982. /package/dist/nylas-web-elements/{p-9955e9b6.js.map → p-408dda49.js.map} +0 -0
  983. /package/dist/nylas-web-elements/{p-31f12f3f.entry.js.map → p-409d4410.entry.js.map} +0 -0
  984. /package/dist/nylas-web-elements/{p-3105fc0a.entry.js.map → p-40ed7eab.entry.js.map} +0 -0
  985. /package/dist/nylas-web-elements/{p-412215d1.entry.js.map → p-41c1654e.entry.js.map} +0 -0
  986. /package/dist/nylas-web-elements/{p-a959a080.entry.js.map → p-42a4c2fd.entry.js.map} +0 -0
  987. /package/dist/nylas-web-elements/{p-68f47a72.entry.js.map → p-4d9fceeb.entry.js.map} +0 -0
  988. /package/dist/nylas-web-elements/{p-c0fac9fc.entry.js.map → p-64364434.entry.js.map} +0 -0
  989. /package/dist/nylas-web-elements/{p-67f20520.entry.js.map → p-7b1bb792.entry.js.map} +0 -0
  990. /package/dist/nylas-web-elements/{p-facc84f3.js.map → p-901f9612.js.map} +0 -0
  991. /package/dist/nylas-web-elements/{p-e324add5.entry.js.map → p-9dac153b.entry.js.map} +0 -0
  992. /package/dist/nylas-web-elements/{p-6aa84fd8.entry.js.map → p-a0c2ce03.entry.js.map} +0 -0
  993. /package/dist/nylas-web-elements/{p-f8e59935.entry.js.map → p-a1e27dc5.entry.js.map} +0 -0
  994. /package/dist/nylas-web-elements/{p-18c6ddfa.entry.js.map → p-a3d5a1dd.entry.js.map} +0 -0
  995. /package/dist/nylas-web-elements/{p-5d875283.entry.js.map → p-ae01e1cb.entry.js.map} +0 -0
  996. /package/dist/nylas-web-elements/{p-b54b575a.entry.js.map → p-b2208193.entry.js.map} +0 -0
  997. /package/dist/nylas-web-elements/{p-02435888.entry.js.map → p-ba3d383f.entry.js.map} +0 -0
  998. /package/dist/nylas-web-elements/{p-f826c690.entry.js.map → p-baa620b4.entry.js.map} +0 -0
  999. /package/dist/nylas-web-elements/{p-f8056365.entry.js.map → p-bfdc148c.entry.js.map} +0 -0
  1000. /package/dist/nylas-web-elements/{p-65b275df.js.map → p-cabb2e68.js.map} +0 -0
  1001. /package/dist/nylas-web-elements/{p-cc6721a7.entry.js.map → p-d92a0405.entry.js.map} +0 -0
  1002. /package/dist/nylas-web-elements/{p-a30e3755.entry.js.map → p-de63bc35.entry.js.map} +0 -0
  1003. /package/dist/nylas-web-elements/{p-22c0a883.entry.js.map → p-deafc6bc.entry.js.map} +0 -0
  1004. /package/dist/nylas-web-elements/{p-f442a2f9.entry.js.map → p-f48d0571.entry.js.map} +0 -0
  1005. /package/dist/nylas-web-elements/{p-80079122.entry.js.map → p-fbbca7a6.entry.js.map} +0 -0
@@ -5,7 +5,7 @@ export class WarningIcon {
5
5
  this.height = '16';
6
6
  }
7
7
  render() {
8
- return (h("svg", { key: '669d0fd1f29767fbb6045a3520e6364d6c614da6', width: "21", height: "21", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '7eb9ee6c7caac7afea81ccf99f61b68126099a3c', d: "M10.149 7.054a.5.5 0 0 1 .5.5v4a.5.5 0 1 1-1 0v-4a.5.5 0 0 1 .5-.5Zm0 7.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM8.834 2.906a1.5 1.5 0 0 1 2.63 0l6.558 11.925a1.5 1.5 0 0 1-1.314 2.223H3.59a1.5 1.5 0 0 1-1.314-2.223L8.834 2.906Zm1.753.482a.5.5 0 0 0-.876 0L3.15 15.313a.5.5 0 0 0 .439.741h13.117a.5.5 0 0 0 .439-.741l-6.56-11.925Z", fill: "currentColor" })));
8
+ return (h("svg", { key: '17a6924f3361b1cfc5d64fb4c07e8ec769617bb3', width: "21", height: "21", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'cc403a3f0c8ec9bdb7c497de7235d24cc5c5cae7', d: "M10.149 7.054a.5.5 0 0 1 .5.5v4a.5.5 0 1 1-1 0v-4a.5.5 0 0 1 .5-.5Zm0 7.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM8.834 2.906a1.5 1.5 0 0 1 2.63 0l6.558 11.925a1.5 1.5 0 0 1-1.314 2.223H3.59a1.5 1.5 0 0 1-1.314-2.223L8.834 2.906Zm1.753.482a.5.5 0 0 0-.876 0L3.15 15.313a.5.5 0 0 0 .439.741h13.117a.5.5 0 0 0 .439-.741l-6.56-11.925Z", fill: "currentColor" })));
9
9
  }
10
10
  static get is() { return "warning-icon"; }
11
11
  static get encapsulation() { return "scoped"; }
@@ -0,0 +1,34 @@
1
+ export class NylasApiRequest {
2
+ }
3
+ export class NylasIdentityRequestWrapper {
4
+ constructor(session) {
5
+ this.session = session;
6
+ }
7
+ setActiveGrantId(grantId) {
8
+ this.activeGrantId = grantId;
9
+ }
10
+ async request({ method, path, body, headers }) {
11
+ return this.session.fetch(`grants/me/${path}`, {
12
+ method,
13
+ headers: headers ? new Headers(headers) : undefined,
14
+ body,
15
+ ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),
16
+ });
17
+ }
18
+ async currentUser() {
19
+ const grantId = this.session.isMultiAccount() ? this.activeGrantId : undefined;
20
+ const idToken = await this.session.getProfile(grantId);
21
+ if (!idToken) {
22
+ return null;
23
+ }
24
+ return {
25
+ id: idToken.sub,
26
+ email: idToken.email,
27
+ name: idToken.name,
28
+ };
29
+ }
30
+ async authenticationUrl(authArgs) {
31
+ return this.session.auth(authArgs || {});
32
+ }
33
+ }
34
+ //# sourceMappingURL=nylas-api-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nylas-api-request.js","sourceRoot":"","sources":["../../src/common/nylas-api-request.ts"],"names":[],"mappings":"AAyCA,MAAM,OAAgB,eAAe;CAcpC;AAOD,MAAM,OAAO,2BAA2B;IAYtC,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAQD,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC/B,CAAC;IAWD,KAAK,CAAC,OAAO,CAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAoB;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE;YAC7C,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACnD,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjG,CAAe,CAAC;IACnB,CAAC;IAOD,KAAK,CAAC,WAAW;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,GAAG;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC;IAOD,KAAK,CAAC,iBAAiB,CAAC,QAAmB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["import type { NylasSessions } from '@nylas/identity';\n\n/**\n * Arguments for making a request to the Nylas API.\n */\nexport type NylasRequestArgs = {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: any;\n headers?: Record<string, string>;\n};\n\n/**\n * A model representing a user in the Nylas Identity system.\n */\nexport type User = {\n id: string;\n email: string;\n name?: string;\n};\n\n/**\n * Arguments for authenticating a user with the Nylas Identity system.\n */\nexport type AuthArgs = {\n provider?: string;\n scope?: Array<string>;\n loginHint?: string;\n includeGrantScopes?: boolean;\n prompt?: string;\n metadata?: string;\n state?: string;\n};\n\n/**\n * Interface for making requests to the Nylas API.\n *\n * This is an abstract class that is meant to be implemented by customers to provide their own\n * implementation of making requests to the Nylas API. This allows customers to use their own\n * authentication mechanism, or to use a different HTTP client library.\n */\nexport abstract class NylasApiRequest {\n /**\n * This method should make an authenticated request to the Nylas API.\n * @param args NylasRequestArgs\n */\n abstract request<T>(args: NylasRequestArgs): Promise<T>;\n /**\n * This method should return the current user's information.\n */\n abstract currentUser(): Promise<User | null>;\n /**\n * This method should return the URL to redirect the user to for authentication.\n */\n abstract authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined>;\n}\n\n/**\n * A wrapper around the Nylas Identity session that implements the NylasApiRequest interface.\n * This class is used by the Nylas Web Elements to make requests to the Nylas API if no custom\n * implementation of NylasApiRequest is provided.\n */\nexport class NylasIdentityRequestWrapper implements NylasApiRequest {\n /**\n * The Nylas Identity session instance.\n */\n private session: NylasSessions;\n\n /**\n * The grant_id to use for requests, if there is multi-account support\n * enabled in the Nylas Identity settings.\n */\n private activeGrantId?: string;\n\n constructor(session: NylasSessions) {\n this.session = session;\n }\n\n /**\n * This method sets the grant_id to use for requests.\n * This is used when there is multi-account support enabled in the Nylas Identity settings.\n *\n * @param grantId\n */\n setActiveGrantId(grantId: string) {\n this.activeGrantId = grantId;\n }\n\n /**\n * This method makes a request to the Nylas API, using the Nylas Identity's fetch method.\n *\n * The `grants/me/` prefix is added because all requests made from the browser to the Nylas API\n * must be made on behalf of the currently logged in user with a valid access token.\n *\n * @param NylasRequestArgs\n * @returns Promise<T>\n */\n async request<T>({ method, path, body, headers }: NylasRequestArgs): Promise<T> {\n return this.session.fetch(`grants/me/${path}`, {\n method,\n headers: headers ? new Headers(headers) : undefined,\n body,\n ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),\n }) as Promise<T>;\n }\n\n /**\n * This method returns the current (logged in) user's information.\n * If the user is not logged in, it returns null.\n * @returns Promise<User | null>\n */\n async currentUser(): Promise<User | null> {\n const grantId = this.session.isMultiAccount() ? this.activeGrantId : undefined;\n const idToken = await this.session.getProfile(grantId);\n if (!idToken) {\n return null;\n }\n\n return {\n id: idToken.sub,\n email: idToken.email,\n name: idToken.name,\n };\n }\n\n /**\n * This method returns the URL to redirect the user to for authentication.\n * @param authConfig authArgs\n * @returns Promise<string | undefined>\n */\n async authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined> {\n return this.session.auth(authArgs || {});\n }\n}\n"]}
@@ -0,0 +1,73 @@
1
+ button {
2
+ height: 48px;
3
+ border: none;
4
+ border-radius: var(--nylas-border-radius-2x);
5
+ font-size: 1rem;
6
+ line-height: 24px;
7
+ padding: 0 1rem;
8
+ cursor: pointer;
9
+ font-family: var(--nylas-font-family);
10
+ font-weight: 600;
11
+ }
12
+ button.button-primary {
13
+ background: var(--nylas-primary);
14
+ color: var(--nylas-base-0);
15
+ height: 48px;
16
+ border: none;
17
+ border-radius: var(--nylas-border-radius-2x);
18
+ font-size: 1rem;
19
+ line-height: 24px;
20
+ padding: 0 1rem;
21
+ cursor: pointer;
22
+ }
23
+ button.button-primary:hover {
24
+ background: var(--nylas-base-600);
25
+ }
26
+ button.button-primary:active {
27
+ background: var(--nylas-base-800);
28
+ }
29
+ button.button-primary:disabled {
30
+ background: var(--nylas-base-300);
31
+ cursor: not-allowed;
32
+ }
33
+ button.button-basic {
34
+ border: 1px solid var(--nylas-base-300);
35
+ color: var(--nylas-base-700);
36
+ background: transparent;
37
+ }
38
+ button.button-basic:hover {
39
+ background: transparent;
40
+ border-color: var(--nylas-primary);
41
+ }
42
+ button.button-basic:active {
43
+ background: transparent;
44
+ border-color: var(--nylas-base-600);
45
+ border-width: 2px;
46
+ }
47
+ button.button-basic:disabled {
48
+ background: transparent;
49
+ border-color: var(--nylas-base-300);
50
+ color: var(--nylas-base-300);
51
+ cursor: not-allowed;
52
+ }
53
+ button.button-destructive {
54
+ border: 1px solid var(--nylas-base-300);
55
+ color: var(--nylas-error);
56
+ background: transparent;
57
+ }
58
+ button.button-destructive:hover {
59
+ background: transparent;
60
+ border-color: var(--nylas-error);
61
+ }
62
+ button.button-destructive:active {
63
+ background: transparent;
64
+ border-color: var(--nylas-error-pressed);
65
+ border-width: 2px;
66
+ color: var(--nylas-error-pressed);
67
+ }
68
+ button.button-destructive:disabled {
69
+ background: transparent;
70
+ border-color: var(--nylas-base-300);
71
+ color: var(--nylas-base-300);
72
+ cursor: not-allowed;
73
+ }
@@ -0,0 +1,193 @@
1
+ import { h } from "@stencil/core";
2
+ export class ButtonComponent {
3
+ constructor() {
4
+ this.variant = 'primary';
5
+ this.disabled = false;
6
+ this.type = 'button';
7
+ this.clickHandler = undefined;
8
+ this.mouseOverHandler = undefined;
9
+ this.mouseOutHandler = undefined;
10
+ this.focusHandler = undefined;
11
+ this.blurHandler = undefined;
12
+ }
13
+ render() {
14
+ const className = `button-${this.variant}` + (this.disabled ? ' disabled' : '');
15
+ return (h("button", { key: 'cfd8e89f59f914245d2c8c8c78476a36d27da859', class: className, disabled: this.disabled, type: "type", onClick: this.clickHandler, onMouseOver: this.mouseOverHandler, onMouseOut: this.mouseOutHandler, onFocus: this.focusHandler, onBlur: this.blurHandler }, h("slot", { key: '4535ee0ad60500247597e0bc127634b04dbe560e' })));
16
+ }
17
+ static get is() { return "button-component"; }
18
+ static get encapsulation() { return "scoped"; }
19
+ static get originalStyleUrls() {
20
+ return {
21
+ "$": ["button-component.scss"]
22
+ };
23
+ }
24
+ static get styleUrls() {
25
+ return {
26
+ "$": ["button-component.css"]
27
+ };
28
+ }
29
+ static get properties() {
30
+ return {
31
+ "variant": {
32
+ "type": "string",
33
+ "mutable": false,
34
+ "complexType": {
35
+ "original": "ButtonType",
36
+ "resolved": "\"basic\" | \"destructive\" | \"primary\"",
37
+ "references": {
38
+ "ButtonType": {
39
+ "location": "global",
40
+ "id": "global::ButtonType"
41
+ }
42
+ }
43
+ },
44
+ "required": false,
45
+ "optional": false,
46
+ "docs": {
47
+ "tags": [],
48
+ "text": ""
49
+ },
50
+ "attribute": "variant",
51
+ "reflect": false,
52
+ "defaultValue": "'primary'"
53
+ },
54
+ "disabled": {
55
+ "type": "boolean",
56
+ "mutable": false,
57
+ "complexType": {
58
+ "original": "boolean",
59
+ "resolved": "boolean",
60
+ "references": {}
61
+ },
62
+ "required": false,
63
+ "optional": false,
64
+ "docs": {
65
+ "tags": [],
66
+ "text": ""
67
+ },
68
+ "attribute": "disabled",
69
+ "reflect": false,
70
+ "defaultValue": "false"
71
+ },
72
+ "type": {
73
+ "type": "string",
74
+ "mutable": false,
75
+ "complexType": {
76
+ "original": "string",
77
+ "resolved": "string",
78
+ "references": {}
79
+ },
80
+ "required": false,
81
+ "optional": false,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": ""
85
+ },
86
+ "attribute": "type",
87
+ "reflect": false,
88
+ "defaultValue": "'button'"
89
+ },
90
+ "clickHandler": {
91
+ "type": "unknown",
92
+ "mutable": false,
93
+ "complexType": {
94
+ "original": "(event: MouseEvent) => void",
95
+ "resolved": "((event: MouseEvent) => void) | undefined",
96
+ "references": {
97
+ "MouseEvent": {
98
+ "location": "global",
99
+ "id": "global::MouseEvent"
100
+ }
101
+ }
102
+ },
103
+ "required": false,
104
+ "optional": true,
105
+ "docs": {
106
+ "tags": [],
107
+ "text": ""
108
+ }
109
+ },
110
+ "mouseOverHandler": {
111
+ "type": "unknown",
112
+ "mutable": false,
113
+ "complexType": {
114
+ "original": "(event: MouseEvent) => void",
115
+ "resolved": "((event: MouseEvent) => void) | undefined",
116
+ "references": {
117
+ "MouseEvent": {
118
+ "location": "global",
119
+ "id": "global::MouseEvent"
120
+ }
121
+ }
122
+ },
123
+ "required": false,
124
+ "optional": true,
125
+ "docs": {
126
+ "tags": [],
127
+ "text": ""
128
+ }
129
+ },
130
+ "mouseOutHandler": {
131
+ "type": "unknown",
132
+ "mutable": false,
133
+ "complexType": {
134
+ "original": "(event: MouseEvent) => void",
135
+ "resolved": "((event: MouseEvent) => void) | undefined",
136
+ "references": {
137
+ "MouseEvent": {
138
+ "location": "global",
139
+ "id": "global::MouseEvent"
140
+ }
141
+ }
142
+ },
143
+ "required": false,
144
+ "optional": true,
145
+ "docs": {
146
+ "tags": [],
147
+ "text": ""
148
+ }
149
+ },
150
+ "focusHandler": {
151
+ "type": "unknown",
152
+ "mutable": false,
153
+ "complexType": {
154
+ "original": "(event: FocusEvent) => void",
155
+ "resolved": "((event: FocusEvent) => void) | undefined",
156
+ "references": {
157
+ "FocusEvent": {
158
+ "location": "global",
159
+ "id": "global::FocusEvent"
160
+ }
161
+ }
162
+ },
163
+ "required": false,
164
+ "optional": true,
165
+ "docs": {
166
+ "tags": [],
167
+ "text": ""
168
+ }
169
+ },
170
+ "blurHandler": {
171
+ "type": "unknown",
172
+ "mutable": false,
173
+ "complexType": {
174
+ "original": "(event: FocusEvent) => void",
175
+ "resolved": "((event: FocusEvent) => void) | undefined",
176
+ "references": {
177
+ "FocusEvent": {
178
+ "location": "global",
179
+ "id": "global::FocusEvent"
180
+ }
181
+ }
182
+ },
183
+ "required": false,
184
+ "optional": true,
185
+ "docs": {
186
+ "tags": [],
187
+ "text": ""
188
+ }
189
+ }
190
+ };
191
+ }
192
+ }
193
+ //# sourceMappingURL=button-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-component.js","sourceRoot":"","sources":["../../../../src/components/design-system/button-component/button-component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAQnD,MAAM,OAAO,eAAe;;uBAEI,SAAS;wBAGX,KAAK;oBAEV,QAAQ;;;;;;;IAO/B,MAAM;QACJ,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEhF,OAAO,CACL,+DACE,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,UAAU,EAAE,IAAI,CAAC,eAAe,EAChC,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,MAAM,EAAE,IAAI,CAAC,WAAW;YAExB,8DAAa,CACN,CACV,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\ntype ButtonType = 'primary' | 'basic' | 'destructive';\n\n@Component({\n tag: 'button-component',\n styleUrl: 'button-component.scss',\n scoped: true,\n})\nexport class ButtonComponent {\n // Define a prop to accept the button type\n @Prop() variant: ButtonType = 'primary';\n\n // Define a prop for disabled state\n @Prop() disabled: boolean = false;\n\n @Prop() type: string = 'button';\n @Prop() clickHandler?: (event: MouseEvent) => void;\n @Prop() mouseOverHandler?: (event: MouseEvent) => void;\n @Prop() mouseOutHandler?: (event: MouseEvent) => void;\n @Prop() focusHandler?: (event: FocusEvent) => void;\n @Prop() blurHandler?: (event: FocusEvent) => void;\n\n render() {\n const className = `button-${this.variant}` + (this.disabled ? ' disabled' : '');\n\n return (\n <button\n class={className}\n disabled={this.disabled}\n type=\"type\"\n onClick={this.clickHandler}\n onMouseOver={this.mouseOverHandler}\n onMouseOut={this.mouseOutHandler}\n onFocus={this.focusHandler}\n onBlur={this.blurHandler}\n >\n <slot></slot>\n </button>\n );\n }\n}\n"]}
@@ -118,9 +118,9 @@ export class MultiSelectDropdown {
118
118
  }, class: { selected: !!option.selected } }, h("label", { htmlFor: option.value }, h("input", { "aria-hidden": "true", id: option.value, type: "checkbox", checked: option.selected }), h("span", null, option.label))));
119
119
  }
120
120
  render() {
121
- return (h(Host, { key: 'ff71916f4c5b0904c1c88acc24092685bb1a8c56' }, h("div", { key: 'e9ff8065a2c85506b433bd5d9a58227f92486187', class: "dropdown", part: "msd_dropdown" }, h("label", { key: '10b60608219600df241af49b91ab63d1c70394a5', class: "dropdown-label" }, this.label, h("slot", { key: '9a9ceafb10875657f758a4f315dbe88c7184ef15', name: "label-icon", "aria-hidden": "true" })), h("button", { key: '4d004314767768524db8ab302e602e6a28929558', part: "msd_dropdown-button", class: { dropbtn: true, open: this.isOpen }, onClick: () => this.toggleDropdown(), "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.name, onKeyDown: e => this.handleSelectButtonKeyDown(e) }, h("slot", { key: '2556aed7a1ff5a5428d5a334d80aa408a26b836a', name: "select-icon", "aria-hidden": "true" }), h("span", { key: 'e237a06138def9e1279231715c933c0d27f7b5ea', class: "selected-option", part: "msd_dropdown-button-selected-label" }, this.getSelectedOptions().length > 1
121
+ return (h(Host, { key: '1cd6593ab9c3fba5bd85b4c6c3b72b5c02d56a06' }, h("div", { key: '4824791de73b31be01c7801569564c8444e14d25', class: "dropdown", part: "msd_dropdown" }, h("label", { key: '9cfb0b87aa5f514d2030ddb0b7f3a53d49ed623a', class: "dropdown-label" }, this.label, h("slot", { key: 'e3e3db4816a4599b82ad9802b50540e4d5029ffe', name: "label-icon", "aria-hidden": "true" })), h("button", { key: 'b00feb7b276c455987f5e9d957eecb88ba3bc65e', part: "msd_dropdown-button", class: { dropbtn: true, open: this.isOpen }, onClick: () => this.toggleDropdown(), "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.name, onKeyDown: e => this.handleSelectButtonKeyDown(e) }, h("slot", { key: 'e0abc205d785aaada5884a21e0b94f02828ba09c', name: "select-icon", "aria-hidden": "true" }), h("span", { key: '9c69fcf904171f8cd7129dcf65d00e4ac2e72c4a', class: "selected-option", part: "msd_dropdown-button-selected-label" }, this.getSelectedOptions().length > 1
122
122
  ? `Multiple ${this.name}s selected`
123
- : this.availableOptions.filter(o => o.selected)[0]?.label ?? this.availableOptions[0]?.label), h("span", { key: '0ff8048547586614e1b14dca82e271c3e3bb49c7', class: this.isOpen ? 'open' : 'closed', "aria-hidden": "true" }, h("chevron-icon", { key: 'aab301fdd0e369aede69e378649d2b294b049d88', width: "16", height: "16" }))), this.isOpen ? null : (h("div", { class: 'selected-options' }, this.getSelectedOptions().map(option => (h("span", { class: "selected-option" }, option.label, h("button", { key: option.label, onClick: () => this.selectOption(option) }, h("close-icon", null))))))), this.isOpen ? (h("div", { class: "dropdown-content", part: "msd_dropdown-content" }, h("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-multiselectable": true, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: e => this.handleListboxKeydown(e) }, this.availableOptions.map(option => this.renderOption(option))))) : null)));
123
+ : this.availableOptions.filter(o => o.selected)[0]?.label ?? this.availableOptions[0]?.label), h("span", { key: '71f33e2a554531bb2cb498f857157bdaa28facea', class: this.isOpen ? 'open' : 'closed', "aria-hidden": "true" }, h("chevron-icon", { key: '0f418f723c61306bfa1efb8a5934957d211f3fce', width: "16", height: "16" }))), this.isOpen ? null : (h("div", { class: 'selected-options' }, this.getSelectedOptions().map(option => (h("span", { class: "selected-option" }, option.label, h("button", { key: option.label, onClick: () => this.selectOption(option) }, h("close-icon", null))))))), this.isOpen ? (h("div", { class: "dropdown-content", part: "msd_dropdown-content" }, h("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-multiselectable": true, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: e => this.handleListboxKeydown(e) }, this.availableOptions.map(option => this.renderOption(option))))) : null)));
124
124
  }
125
125
  static get is() { return "multi-select-dropdown"; }
126
126
  static get encapsulation() { return "shadow"; }
@@ -36,9 +36,10 @@
36
36
  }
37
37
 
38
38
  .dropbtn {
39
- color: black;
40
- padding: 0.5rem;
39
+ color: var(--nylas-base-800);
40
+ padding: 10px;
41
41
  font-size: 1rem;
42
+ font-family: var(--nylas-font-family);
42
43
  cursor: pointer;
43
44
  display: flex;
44
45
  gap: 0.5rem;
@@ -76,6 +77,7 @@
76
77
  @media screen and (max-width: 768px) {
77
78
  .dropbtn span.selected-option {
78
79
  max-width: 124px;
80
+ font-size: 16px;
79
81
  }
80
82
  }
81
83
 
@@ -90,8 +92,8 @@
90
92
  z-index: 1;
91
93
  border-radius: 4px;
92
94
  position: absolute;
93
- box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);
94
- box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843);
95
+ box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05);
96
+ box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
95
97
  }
96
98
  @media screen and (max-width: 768px) {
97
99
  .dropdown-content {
@@ -5,12 +5,25 @@ export class SelectDropdown {
5
5
  this.options = [];
6
6
  this.defaultSelectedOption = undefined;
7
7
  this.withSearch = true;
8
+ this.pluralizedLabel = '';
8
9
  this.selectedOption = this.defaultSelectedOption || null;
9
10
  this.isOpen = false;
10
11
  this.searchValue = '';
11
12
  this.filteredOptions = [...this.options];
12
13
  this.ariaActivedescendant = '';
13
14
  }
15
+ optionsChangedHandler(newValue, oldValue) {
16
+ if (newValue === oldValue) {
17
+ return;
18
+ }
19
+ this.filteredOptions = newValue;
20
+ }
21
+ defaultSelectedOptionChangedHandler(newValue, oldValue) {
22
+ if (newValue.label === oldValue.label) {
23
+ return;
24
+ }
25
+ this.selectedOption = newValue;
26
+ }
14
27
  componentWillLoad() {
15
28
  this.filteredOptions = this.options;
16
29
  if (!this.selectedOption && !!this.defaultSelectedOption) {
@@ -120,11 +133,11 @@ export class SelectDropdown {
120
133
  }
121
134
  }
122
135
  render() {
123
- return (h("div", { key: '09bd57ac9208a30dea43c5c75c066fa9b1122ba7', class: "dropdown", part: "sd_dropdown" }, h("button", { key: 'b367b5a70f4144fde52cfde9586fe51bbc8637fb', part: "sd_dropdown-button", class: { dropbtn: true, open: this.isOpen }, onClick: () => this.toggleDropdown(), "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.name, onKeyDown: e => this.handleSelectButtonKeyDown(e) }, h("slot", { key: '2c6f049954b4a027fba5ca996c34af18e5180454', name: "select-icon", "aria-hidden": "true" }), h("span", { key: 'b18e79aeb247f7d9d2947559dd10c46e4c3e06a5', class: "selected-option", part: "sd_dropdown-button-selected-label" }, this.selectedOption?.label), h("span", { key: '9ab323a74ee21923b9c2a66ad1a8c778bbd7605d', class: {
136
+ return (h("div", { key: '1dd936b2226461f88f99a0a60011fd1ad3fd0632', class: "dropdown", part: "sd_dropdown" }, h("button", { key: 'c0dca685b2ecc5aac29f4921c011db384bb3c7e2', part: "sd_dropdown-button", class: { dropbtn: true, open: this.isOpen }, onClick: () => this.toggleDropdown(), "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.name, onKeyDown: e => this.handleSelectButtonKeyDown(e) }, h("slot", { key: 'caac266cfa1215b30faefee3c080a183d7ab1cc5', name: "select-icon", "aria-hidden": "true" }), h("span", { key: '657aec56728e36d5ef45d1a699ec3d035a54199b', class: "selected-option", part: "sd_dropdown-button-selected-label" }, this.selectedOption?.label ? `${this.selectedOption?.label + this.pluralizedLabel}` : ''), h("span", { key: '19adb72063e9fd6c5e65bd83ea5d2dbcd6bf41f6', class: {
124
137
  open: this.isOpen,
125
138
  closed: !this.isOpen,
126
139
  chevron: true,
127
- }, "aria-hidden": "true" }, h("chevron-icon", { key: '39cc545fcdff45bc7e77b020586a2902e8c92a37', width: "16", height: "16" }))), this.isOpen ? (h("div", { class: "dropdown-content", part: "sd_dropdown-content" }, this.withSearch && (h("div", { class: { 'search-box': true, 'open': this.isOpen } }, h("search-icon", { width: "15", height: "15", class: 'icon' }), h("input", { type: "text", role: "combobox", placeholder: "Search", value: this.searchValue, ref: el => (this.inputRef = el), onInput: event => this.filterOptions(event), onKeyDown: e => this.handleComboboxKeyDown(e) }))), h("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: e => this.handleListboxKeydown(e) }, this.filteredOptions.map(option => (h("li", { tabindex: "0", key: option.value, id: option.value, onClick: () => this.selectOption(option), role: "option" }, option.labelHTML ? option.labelHTML : option.label)))))) : null));
140
+ }, "aria-hidden": "true" }, h("chevron-icon", { key: 'ffffbdcb0d967e597fc609c5e3470f843594d81e', width: "16", height: "16" }))), this.isOpen ? (h("div", { class: "dropdown-content", part: "sd_dropdown-content" }, this.withSearch && (h("div", { class: { 'search-box': true, 'open': this.isOpen } }, h("search-icon", { width: "15", height: "15", class: 'icon' }), h("input", { type: "text", role: "combobox", placeholder: "Search", value: this.searchValue, ref: el => (this.inputRef = el), onInput: event => this.filterOptions(event), onKeyDown: e => this.handleComboboxKeyDown(e) }))), h("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: e => this.handleListboxKeydown(e) }, this.filteredOptions.map(option => (h("li", { tabindex: "0", key: option.value, id: option.value, onClick: () => this.selectOption(option), role: "option" }, option.labelHTML ? option.labelHTML : option.label)))))) : null));
128
141
  }
129
142
  static get is() { return "select-dropdown"; }
130
143
  static get encapsulation() { return "shadow"; }
@@ -215,6 +228,24 @@ export class SelectDropdown {
215
228
  "attribute": "with-search",
216
229
  "reflect": false,
217
230
  "defaultValue": "true"
231
+ },
232
+ "pluralizedLabel": {
233
+ "type": "string",
234
+ "mutable": false,
235
+ "complexType": {
236
+ "original": "string",
237
+ "resolved": "string",
238
+ "references": {}
239
+ },
240
+ "required": false,
241
+ "optional": false,
242
+ "docs": {
243
+ "tags": [],
244
+ "text": "Show pluralized label for the selected option. This is s tring that is appended to the selected option label as a suffix."
245
+ },
246
+ "attribute": "pluralized-label",
247
+ "reflect": false,
248
+ "defaultValue": "''"
218
249
  }
219
250
  };
220
251
  }
@@ -251,6 +282,15 @@ export class SelectDropdown {
251
282
  }];
252
283
  }
253
284
  static get elementRef() { return "el"; }
285
+ static get watchers() {
286
+ return [{
287
+ "propName": "options",
288
+ "methodName": "optionsChangedHandler"
289
+ }, {
290
+ "propName": "defaultSelectedOption",
291
+ "methodName": "defaultSelectedOptionChangedHandler"
292
+ }];
293
+ }
254
294
  static get listeners() {
255
295
  return [{
256
296
  "name": "click",
@@ -1 +1 @@
1
- {"version":3,"file":"select-dropdown.js","sourceRoot":"","sources":["../../../../src/components/design-system/select-dropdown/select-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAahG,MAAM,OAAO,cAAc;;;uBAaW,EAAE;;0BAQR,IAAI;8BAKe,IAAI,CAAC,qBAAqB,IAAI,IAAI;sBAIxD,KAAK;2BAID,EAAE;+BAIY,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;oCAMtB,EAAE;;IAY1C,iBAAiB;QACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAGD,cAAc;QACZ,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,KAAY;QACxB,MAAM,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,YAAY,CAAC,MAAsB;QACjC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,KAAoB;QAC5C,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,OAAO;gBACV,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,MAAM;QACV,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvF,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,YAAY,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAAK;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,SAAS,CAAkB,CAAC;QAE/E,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,KAAoB;QACxC,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9E,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACxF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAID,kBAAkB,CAAC,KAAiB;QAElC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAGlC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,aAAa;YACtC,+DACE,IAAI,EAAC,oBAAoB,EACzB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,mBACtB,SAAS,mBACR,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,gBACjC,IAAI,CAAC,IAAI,EACrB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAEjD,6DAAM,IAAI,EAAC,aAAa,iBAAa,MAAM,GAAQ;gBACnD,6DAAM,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,mCAAmC,IACnE,IAAI,CAAC,cAAc,EAAE,KAAK,CACtB;gBACP,6DACE,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI,CAAC,MAAM;wBACjB,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM;wBACpB,OAAO,EAAE,IAAI;qBACd,iBACW,MAAM;oBAElB,qEAAc,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,CAClC,CACA;YACR,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACb,WAAK,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,qBAAqB;gBACrD,IAAI,CAAC,UAAU,IAAI,CAClB,WAAK,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;oBACrD,mBAAa,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAE,MAAM,GAAI;oBACrD,aACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,UAAU,EACf,WAAW,EAAC,QAAQ,EACpB,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EAC/B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAC3C,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAC7C,CACE,CACP;gBACD,UAAI,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,gBAAa,IAAI,CAAC,IAAI,2BAAyB,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IACnJ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAClC,UAAI,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAC,QAAQ,IAC1G,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAChD,CACN,CAAC,CACC,CACD,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\ninterface DropdownOption {\n labelHTML?: HTMLElement;\n label: string;\n value: string;\n}\n\n@Component({\n tag: 'select-dropdown',\n styleUrl: 'select-dropdown.scss',\n shadow: true,\n})\nexport class SelectDropdown {\n @Element() el!: HTMLElement;\n\n private inputRef?: HTMLInputElement;\n\n // Props\n /**\n * The name of the dropdown\n */\n @Prop() name!: string;\n /**\n * The options to display in the dropdown\n */\n @Prop() options: DropdownOption[] = [];\n /**\n * The default selected option\n */\n @Prop() defaultSelectedOption?: DropdownOption;\n /**\n * Should show search input\n */\n @Prop() withSearch: boolean = true;\n // States\n /**\n * The selected option\n */\n @State() selectedOption: DropdownOption | null = this.defaultSelectedOption || null;\n /**\n * The open state of the dropdown\n */\n @State() isOpen: boolean = false;\n /**\n * The search value for the dropdown\n */\n @State() searchValue: string = '';\n /**\n * The filtered options based on the search value\n */\n @State() filteredOptions: DropdownOption[] = [...this.options];\n /**\n * The aria-activedescendant attribute for the listbox element to indicate the currently active\n * option in the list box to screen readers. The value of aria-activedescendant is the ID of\n * the active option.\n */\n @State() ariaActivedescendant: string = '';\n\n // Events\n /**\n * This event is fired when the selected option is changed\n */\n @Event({ bubbles: true, composed: true }) selectedOptionChanged!: EventEmitter<{\n value: DropdownOption['value'];\n name: string;\n }>;\n\n // Lifecycle methods\n componentWillLoad() {\n this.filteredOptions = this.options;\n // Set the selected option to the first option if no option is selected\n if (!this.selectedOption && !!this.defaultSelectedOption) {\n this.selectedOption = this.defaultSelectedOption;\n }\n if (!this.selectedOption && this.options.length > 0) {\n this.selectedOption = this.options[0];\n }\n }\n\n // Methods\n toggleDropdown(): void {\n this.isOpen = !this.isOpen;\n }\n\n filterOptions(event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n this.searchValue = value;\n this.filteredOptions = this.options.filter(option => option.label.toLowerCase().includes(value.toLowerCase()));\n }\n\n selectOption(option: DropdownOption): void {\n this.selectedOption = option;\n this.toggleDropdown();\n this.selectedOptionChanged.emit({\n value: option.value,\n name: this.name,\n });\n }\n\n handleSelectButtonKeyDown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowDown':\n case 'Enter':\n event.preventDefault();\n if (!this.isOpen) {\n this.toggleDropdown();\n }\n this.inputRef?.focus();\n break;\n case 'Escape':\n this.isOpen = false;\n break;\n }\n }\n\n handleListboxKeydown(e) {\n const items = this.filteredOptions; // Assuming this is the array of your current filtered options\n const currentIndex = items.findIndex(item => item.value === this.ariaActivedescendant);\n if (e.key === 'ArrowDown' || (e.key === 'Tab' && !e.shiftKey)) {\n e.preventDefault();\n if (currentIndex === items.length - 1) {\n this.ariaActivedescendant = '';\n this.inputRef?.focus();\n return;\n }\n const nextIndex = currentIndex + 1 < items.length ? currentIndex + 1 : 0;\n this.ariaActivedescendant = items[nextIndex].value;\n this.focusOption(nextIndex);\n } else if (e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)) {\n e.preventDefault();\n if (currentIndex === 0) {\n this.ariaActivedescendant = '';\n this.inputRef?.focus();\n return;\n }\n const prevIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : items.length - 1;\n this.ariaActivedescendant = items[prevIndex].value;\n this.focusOption(prevIndex);\n } else if (e.key === 'Enter') {\n e.preventDefault();\n if (this.ariaActivedescendant) {\n this.selectOption(items[currentIndex]);\n }\n } else if (e.key === 'Escape') {\n this.isOpen = false;\n }\n }\n\n focusOption(index) {\n const option = this.filteredOptions[index];\n if (!option) return; // Guard clause in case index is out of bounds\n\n const elementId = option.value;\n const element = this.el.shadowRoot?.getElementById(elementId) as HTMLLIElement;\n\n if (element) {\n element.focus(); // Set focus on the element\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }\n\n handleComboboxKeyDown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown' || (event.key == 'Tab' && !event.shiftKey)) {\n event.preventDefault();\n this.ariaActivedescendant = this.filteredOptions[0].value;\n this.focusOption(0);\n } else if (event.key === 'ArrowUp' || (event.key === 'Tab' && event.shiftKey)) {\n event.preventDefault();\n this.ariaActivedescendant = this.filteredOptions[this.filteredOptions.length - 1].value;\n this.focusOption(this.filteredOptions.length - 1);\n } else if (event.key === 'Escape') {\n this.isOpen = false;\n }\n }\n\n // Event listeners\n @Listen('click', { target: 'document', capture: true })\n handleOutsideClick(event: MouseEvent) {\n // Get the path of the event\n const path = event.composedPath();\n\n // Check if the path includes the host element\n const isClickInside = path.includes(this.el);\n\n if (!isClickInside && this.isOpen) {\n this.isOpen = false;\n }\n }\n\n render() {\n return (\n <div class=\"dropdown\" part=\"sd_dropdown\">\n <button\n part=\"sd_dropdown-button\"\n class={{ dropbtn: true, open: this.isOpen }}\n onClick={() => this.toggleDropdown()}\n aria-haspopup=\"listbox\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-label={this.name}\n onKeyDown={e => this.handleSelectButtonKeyDown(e)}\n >\n <slot name=\"select-icon\" aria-hidden=\"true\"></slot>\n <span class=\"selected-option\" part=\"sd_dropdown-button-selected-label\">\n {this.selectedOption?.label}\n </span>\n <span\n class={{\n open: this.isOpen,\n closed: !this.isOpen,\n chevron: true,\n }}\n aria-hidden=\"true\"\n >\n <chevron-icon width=\"16\" height=\"16\" />\n </span>\n </button>\n {this.isOpen ? (\n <div class=\"dropdown-content\" part=\"sd_dropdown-content\">\n {this.withSearch && (\n <div class={{ 'search-box': true, 'open': this.isOpen }}>\n <search-icon width=\"15\" height=\"15\" class={'icon'} />\n <input\n type=\"text\"\n role=\"combobox\"\n placeholder=\"Search\"\n value={this.searchValue}\n ref={el => (this.inputRef = el)}\n onInput={event => this.filterOptions(event)}\n onKeyDown={e => this.handleComboboxKeyDown(e)}\n />\n </div>\n )}\n <ul tabindex=\"-1\" role=\"listbox\" aria-label={this.name} aria-activedescendant={this.ariaActivedescendant} onKeyDown={e => this.handleListboxKeydown(e)}>\n {this.filteredOptions.map(option => (\n <li tabindex=\"0\" key={option.value} id={option.value} onClick={() => this.selectOption(option)} role=\"option\">\n {option.labelHTML ? option.labelHTML : option.label}\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"select-dropdown.js","sourceRoot":"","sources":["../../../../src/components/design-system/select-dropdown/select-dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Prop, State, Watch } from '@stencil/core';\n\ninterface DropdownOption {\n labelHTML?: HTMLElement;\n label: string;\n value: string;\n}\n\n/**\n * The `select-dropdown` component is a dropdown that allows users to select an option from a list of options.\n * @part sd_dropdown - The dropdown container\n * @part sd_dropdown-button - The dropdown button\n * @part sd_dropdown-button-selected-label - The selected option label\n * @part sd_dropdown-content - The dropdown content\n */\n@Component({\n tag: 'select-dropdown',\n styleUrl: 'select-dropdown.scss',\n shadow: true,\n})\nexport class SelectDropdown {\n @Element() el!: HTMLElement;\n\n private inputRef?: HTMLInputElement;\n\n // Props\n /**\n * The name of the dropdown\n */\n @Prop() name!: string;\n /**\n * The options to display in the dropdown\n */\n @Prop() options: DropdownOption[] = [];\n /**\n * The default selected option\n */\n @Prop() defaultSelectedOption?: DropdownOption;\n /**\n * Should show search input\n */\n @Prop() withSearch: boolean = true;\n /**\n * Show pluralized label for the selected option. This is s tring that is appended to the selected option label as a suffix.\n */\n @Prop() pluralizedLabel: string = '';\n\n // States\n /**\n * The selected option\n */\n @State() selectedOption: DropdownOption | null = this.defaultSelectedOption || null;\n /**\n * The open state of the dropdown\n */\n @State() isOpen: boolean = false;\n /**\n * The search value for the dropdown\n */\n @State() searchValue: string = '';\n /**\n * The filtered options based on the search value\n */\n @State() filteredOptions: DropdownOption[] = [...this.options];\n /**\n * The aria-activedescendant attribute for the listbox element to indicate the currently active\n * option in the list box to screen readers. The value of aria-activedescendant is the ID of\n * the active option.\n */\n @State() ariaActivedescendant: string = '';\n\n // Events\n /**\n * This event is fired when the selected option is changed\n */\n @Event({ bubbles: true, composed: true }) selectedOptionChanged!: EventEmitter<{\n value: DropdownOption['value'];\n name: string;\n }>;\n\n @Watch('options')\n optionsChangedHandler(newValue: DropdownOption[], oldValue: DropdownOption[]) {\n if (newValue === oldValue) {\n return;\n }\n this.filteredOptions = newValue;\n }\n\n @Watch('defaultSelectedOption')\n defaultSelectedOptionChangedHandler(newValue: DropdownOption, oldValue: DropdownOption) {\n if (newValue.label === oldValue.label) {\n return;\n }\n this.selectedOption = newValue;\n }\n\n // Lifecycle methods\n componentWillLoad() {\n this.filteredOptions = this.options;\n // Set the selected option to the first option if no option is selected\n if (!this.selectedOption && !!this.defaultSelectedOption) {\n this.selectedOption = this.defaultSelectedOption;\n }\n if (!this.selectedOption && this.options.length > 0) {\n this.selectedOption = this.options[0];\n }\n }\n\n // Methods\n toggleDropdown(): void {\n this.isOpen = !this.isOpen;\n }\n\n filterOptions(event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n this.searchValue = value;\n this.filteredOptions = this.options.filter(option => option.label.toLowerCase().includes(value.toLowerCase()));\n }\n\n selectOption(option: DropdownOption): void {\n this.selectedOption = option;\n this.toggleDropdown();\n this.selectedOptionChanged.emit({\n value: option.value,\n name: this.name,\n });\n }\n\n handleSelectButtonKeyDown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowDown':\n case 'Enter':\n event.preventDefault();\n if (!this.isOpen) {\n this.toggleDropdown();\n }\n this.inputRef?.focus();\n break;\n case 'Escape':\n this.isOpen = false;\n break;\n }\n }\n\n handleListboxKeydown(e) {\n const items = this.filteredOptions; // Assuming this is the array of your current filtered options\n const currentIndex = items.findIndex(item => item.value === this.ariaActivedescendant);\n if (e.key === 'ArrowDown' || (e.key === 'Tab' && !e.shiftKey)) {\n e.preventDefault();\n if (currentIndex === items.length - 1) {\n this.ariaActivedescendant = '';\n this.inputRef?.focus();\n return;\n }\n const nextIndex = currentIndex + 1 < items.length ? currentIndex + 1 : 0;\n this.ariaActivedescendant = items[nextIndex].value;\n this.focusOption(nextIndex);\n } else if (e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)) {\n e.preventDefault();\n if (currentIndex === 0) {\n this.ariaActivedescendant = '';\n this.inputRef?.focus();\n return;\n }\n const prevIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : items.length - 1;\n this.ariaActivedescendant = items[prevIndex].value;\n this.focusOption(prevIndex);\n } else if (e.key === 'Enter') {\n e.preventDefault();\n if (this.ariaActivedescendant) {\n this.selectOption(items[currentIndex]);\n }\n } else if (e.key === 'Escape') {\n this.isOpen = false;\n }\n }\n\n focusOption(index) {\n const option = this.filteredOptions[index];\n if (!option) return; // Guard clause in case index is out of bounds\n\n const elementId = option.value;\n const element = this.el.shadowRoot?.getElementById(elementId) as HTMLLIElement;\n\n if (element) {\n element.focus(); // Set focus on the element\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }\n\n handleComboboxKeyDown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown' || (event.key == 'Tab' && !event.shiftKey)) {\n event.preventDefault();\n this.ariaActivedescendant = this.filteredOptions[0].value;\n this.focusOption(0);\n } else if (event.key === 'ArrowUp' || (event.key === 'Tab' && event.shiftKey)) {\n event.preventDefault();\n this.ariaActivedescendant = this.filteredOptions[this.filteredOptions.length - 1].value;\n this.focusOption(this.filteredOptions.length - 1);\n } else if (event.key === 'Escape') {\n this.isOpen = false;\n }\n }\n\n // Event listeners\n @Listen('click', { target: 'document', capture: true })\n handleOutsideClick(event: MouseEvent) {\n // Get the path of the event\n const path = event.composedPath();\n\n // Check if the path includes the host element\n const isClickInside = path.includes(this.el);\n\n if (!isClickInside && this.isOpen) {\n this.isOpen = false;\n }\n }\n\n render() {\n return (\n <div class=\"dropdown\" part=\"sd_dropdown\">\n <button\n part=\"sd_dropdown-button\"\n class={{ dropbtn: true, open: this.isOpen }}\n onClick={() => this.toggleDropdown()}\n aria-haspopup=\"listbox\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-label={this.name}\n onKeyDown={e => this.handleSelectButtonKeyDown(e)}\n >\n <slot name=\"select-icon\" aria-hidden=\"true\"></slot>\n <span class=\"selected-option\" part=\"sd_dropdown-button-selected-label\">\n {this.selectedOption?.label ? `${this.selectedOption?.label + this.pluralizedLabel}` : ''}\n </span>\n <span\n class={{\n open: this.isOpen,\n closed: !this.isOpen,\n chevron: true,\n }}\n aria-hidden=\"true\"\n >\n <chevron-icon width=\"16\" height=\"16\" />\n </span>\n </button>\n {this.isOpen ? (\n <div class=\"dropdown-content\" part=\"sd_dropdown-content\">\n {this.withSearch && (\n <div class={{ 'search-box': true, 'open': this.isOpen }}>\n <search-icon width=\"15\" height=\"15\" class={'icon'} />\n <input\n type=\"text\"\n role=\"combobox\"\n placeholder=\"Search\"\n value={this.searchValue}\n ref={el => (this.inputRef = el)}\n onInput={event => this.filterOptions(event)}\n onKeyDown={e => this.handleComboboxKeyDown(e)}\n />\n </div>\n )}\n <ul tabindex=\"-1\" role=\"listbox\" aria-label={this.name} aria-activedescendant={this.ariaActivedescendant} onKeyDown={e => this.handleListboxKeydown(e)}>\n {this.filteredOptions.map(option => (\n <li tabindex=\"0\" key={option.value} id={option.value} onClick={() => this.selectOption(option)} role=\"option\">\n {option.labelHTML ? option.labelHTML : option.label}\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,22 @@
1
+ .time-period-selector {
2
+ display: flex;
3
+ gap: 0.5rem;
4
+ }
5
+ .time-period-selector select-dropdown {
6
+ border: 1px solid var(--nylas-base-200);
7
+ border-radius: var(--nylas-border-radius-2x);
8
+ }
9
+ .time-period-selector select-dropdown#time-period::part(sd_dropdown-button) {
10
+ min-width: 108px;
11
+ }
12
+ .time-period-selector select-dropdown#time-number::part(sd_dropdown-button) {
13
+ min-width: 84px;
14
+ }
15
+ .time-period-selector select-dropdown::part(sd_dropdown-button) {
16
+ padding: 1rem;
17
+ gap: 1rem;
18
+ }
19
+ .time-period-selector select-dropdown::part(sd_dropdown-content) {
20
+ width: 100%;
21
+ max-height: 200px;
22
+ }