@nylas/web-elements 1.1.0-canary.16 → 1.1.0-canary.18

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 (711) hide show
  1. package/dist/cjs/add-circle-icon.cjs.entry.js +1 -1
  2. package/dist/cjs/add-circle-icon_2.cjs.entry.js +2 -2
  3. package/dist/cjs/archive-icon.cjs.entry.js +1 -1
  4. package/dist/cjs/archive-icon_7.cjs.entry.js +7 -7
  5. package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
  6. package/dist/cjs/bold-icon.cjs.entry.js +1 -1
  7. package/dist/cjs/bold-icon_3.cjs.entry.js +3 -3
  8. package/dist/cjs/button-component.cjs.entry.js +1 -1
  9. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +1 -1
  10. package/dist/cjs/calendar-check-icon.cjs.entry.js +1 -1
  11. package/dist/cjs/calendar-check-icon_2.cjs.entry.js +2 -2
  12. package/dist/cjs/calendar-icon.cjs.entry.js +1 -1
  13. package/dist/cjs/calendar-info-icon.cjs.entry.js +1 -1
  14. package/dist/cjs/{calendar-info-icon_27.cjs.entry.js → calendar-info-icon_28.cjs.entry.js} +304 -416
  15. package/dist/cjs/calendar-info-icon_28.cjs.entry.js.map +1 -0
  16. package/dist/cjs/calendar-patterns-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/checkbox-component.cjs.entry.js +1 -1
  18. package/dist/cjs/checkbox-component.cjs.entry.js.map +1 -1
  19. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
  20. package/dist/cjs/chevron-icon.cjs.entry.js +1 -1
  21. package/dist/cjs/chevron-icon_3.cjs.entry.js +5 -5
  22. package/dist/cjs/chevron-icon_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/clock-icon.cjs.entry.js +1 -1
  24. package/dist/cjs/clock-icon_2.cjs.entry.js +2 -2
  25. package/dist/cjs/close-icon.cjs.entry.js +1 -1
  26. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/flow-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/folder-icon.cjs.entry.js +1 -1
  29. package/dist/cjs/forward-icon.cjs.entry.js +1 -1
  30. package/dist/cjs/forward-icon_6.cjs.entry.js +7 -7
  31. package/dist/cjs/globe-icon.cjs.entry.js +1 -1
  32. package/dist/cjs/google-logo-icon.cjs.entry.js +1 -1
  33. package/dist/cjs/google-logo-icon_4.cjs.entry.js +112 -77
  34. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
  35. package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
  36. package/dist/cjs/index-7af03e3f.js +10 -10
  37. package/dist/cjs/index-c14ea8f5.js +18 -14
  38. package/dist/cjs/info-icon.cjs.entry.js +1 -1
  39. package/dist/cjs/info-icon_2.cjs.entry.js +2 -2
  40. package/dist/cjs/input-component.cjs.entry.js +1 -1
  41. package/dist/cjs/input-dropdown.cjs.entry.js +13 -3
  42. package/dist/cjs/input-dropdown.cjs.entry.js.map +1 -1
  43. package/dist/cjs/input-dropdown_2.cjs.entry.js +14 -4
  44. package/dist/cjs/input-dropdown_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/italic-icon.cjs.entry.js +1 -1
  46. package/dist/cjs/loader.cjs.js +1 -1
  47. package/dist/cjs/loading-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/location-icon.cjs.entry.js +1 -1
  49. package/dist/cjs/location-off-icon.cjs.entry.js +1 -1
  50. package/dist/cjs/microsoft-logo-icon.cjs.entry.js +1 -1
  51. package/dist/cjs/multi-select-dropdown.cjs.entry.js +2 -2
  52. package/dist/cjs/nylas-additional-participants.cjs.entry.js +16 -12
  53. package/dist/cjs/nylas-additional-participants.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nylas-availability-picker.cjs.entry.js +27 -16
  55. package/dist/cjs/nylas-availability-picker.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +11 -11
  57. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nylas-booking-form.cjs.entry.js +2 -2
  59. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +1 -1
  60. package/dist/cjs/nylas-cancellation-policy.cjs.entry.js +1 -1
  61. package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +1 -1
  62. package/dist/cjs/nylas-composer.cjs.entry.js +1 -1
  63. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +1 -1
  64. package/dist/cjs/nylas-customize-booking-settings.cjs.entry.js +1 -1
  65. package/dist/cjs/nylas-date-picker.cjs.entry.js +1 -1
  66. package/dist/cjs/nylas-date-picker.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +110 -75
  68. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nylas-event-description.cjs.entry.js +1 -1
  70. package/dist/cjs/nylas-event-duration.cjs.entry.js +1 -1
  71. package/dist/cjs/nylas-event-info.cjs.entry.js +1 -1
  72. package/dist/cjs/nylas-event-limits.cjs.entry.js +1 -1
  73. package/dist/cjs/nylas-event-location.cjs.entry.js +3 -3
  74. package/dist/cjs/nylas-event-title.cjs.entry.js +2 -2
  75. package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
  76. package/dist/cjs/nylas-if-state.cjs.entry.js +1 -1
  77. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +1 -1
  78. package/dist/cjs/nylas-list-folders.cjs.entry.js +1 -1
  79. package/dist/cjs/nylas-list-threads.cjs.entry.js +1 -1
  80. package/dist/cjs/nylas-locale-switch.cjs.entry.js +3 -3
  81. package/dist/cjs/nylas-login.cjs.entry.js +1 -1
  82. package/dist/cjs/nylas-logo.cjs.entry.js +1 -1
  83. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +1 -1
  84. package/dist/cjs/nylas-mailbox.cjs.entry.js +1 -1
  85. package/dist/cjs/nylas-min-booking-notice.cjs.entry.js +1 -1
  86. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +1 -1
  87. package/dist/cjs/nylas-notification.cjs.entry.js +1 -1
  88. package/dist/cjs/nylas-participants-custom-availability.cjs.entry.js +142 -0
  89. package/dist/cjs/nylas-participants-custom-availability.cjs.entry.js.map +1 -0
  90. package/dist/cjs/nylas-provider.cjs.entry.js +1 -1
  91. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +1 -1
  92. package/dist/cjs/nylas-selected-event-card.cjs.entry.js +1 -1
  93. package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +2 -2
  94. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +2 -2
  95. package/dist/cjs/nylas-threads-search.cjs.entry.js +1 -1
  96. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +1 -1
  97. package/dist/cjs/nylas-timeslot-interval.cjs.entry.js +2 -2
  98. package/dist/cjs/nylas-view-email.cjs.entry.js +1 -1
  99. package/dist/cjs/nylas-view-thread.cjs.entry.js +1 -1
  100. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  101. package/dist/cjs/people-icon.cjs.entry.js +1 -1
  102. package/dist/cjs/person-icon.cjs.entry.js +1 -1
  103. package/dist/cjs/play-icon.cjs.entry.js +1 -1
  104. package/dist/cjs/play-icon_2.cjs.entry.js +2 -2
  105. package/dist/cjs/radio-button-group.cjs.entry.js +1 -1
  106. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  107. package/dist/cjs/reply-all-icon.cjs.entry.js +1 -1
  108. package/dist/cjs/reply-icon.cjs.entry.js +1 -1
  109. package/dist/cjs/search-icon.cjs.entry.js +1 -1
  110. package/dist/cjs/select-dropdown.cjs.entry.js +3 -3
  111. package/dist/cjs/select-dropdown.cjs.entry.js.map +1 -1
  112. package/dist/cjs/sent-icon.cjs.entry.js +1 -1
  113. package/dist/cjs/spam-icon.cjs.entry.js +1 -1
  114. package/dist/cjs/star-icon.cjs.entry.js +1 -1
  115. package/dist/cjs/stop-icon.cjs.entry.js +1 -1
  116. package/dist/cjs/textarea-component.cjs.entry.js +1 -1
  117. package/dist/cjs/time-period-selector.cjs.entry.js +1 -1
  118. package/dist/cjs/toggle-switch.cjs.entry.js +1 -1
  119. package/dist/cjs/toggle-switch.cjs.entry.js.map +1 -1
  120. package/dist/cjs/tooltip-component.cjs.entry.js +1 -1
  121. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  122. package/dist/cjs/trash-icon.cjs.entry.js +1 -1
  123. package/dist/cjs/underline-icon.cjs.entry.js +1 -1
  124. package/dist/cjs/warning-icon.cjs.entry.js +1 -1
  125. package/dist/collection/collection-manifest.json +1 -0
  126. package/dist/collection/common/icons/add-circle.js +1 -1
  127. package/dist/collection/common/icons/archive.js +1 -1
  128. package/dist/collection/common/icons/arrow.js +1 -1
  129. package/dist/collection/common/icons/bold.js +1 -1
  130. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  131. package/dist/collection/common/icons/calendar-check.js +1 -1
  132. package/dist/collection/common/icons/calendar-info.js +1 -1
  133. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  134. package/dist/collection/common/icons/calendar.js +1 -1
  135. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  136. package/dist/collection/common/icons/chevron.js +1 -1
  137. package/dist/collection/common/icons/clock.js +1 -1
  138. package/dist/collection/common/icons/close.js +1 -1
  139. package/dist/collection/common/icons/document-refresh.js +1 -1
  140. package/dist/collection/common/icons/flow.js +1 -1
  141. package/dist/collection/common/icons/folder.js +1 -1
  142. package/dist/collection/common/icons/forward.js +1 -1
  143. package/dist/collection/common/icons/globe.js +1 -1
  144. package/dist/collection/common/icons/google-logo.js +1 -1
  145. package/dist/collection/common/icons/inbox.js +1 -1
  146. package/dist/collection/common/icons/info.js +1 -1
  147. package/dist/collection/common/icons/italic.js +1 -1
  148. package/dist/collection/common/icons/loading.js +1 -1
  149. package/dist/collection/common/icons/location-off.js +1 -1
  150. package/dist/collection/common/icons/location.js +1 -1
  151. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  152. package/dist/collection/common/icons/nylas-logo.js +1 -1
  153. package/dist/collection/common/icons/people.js +1 -1
  154. package/dist/collection/common/icons/person.js +1 -1
  155. package/dist/collection/common/icons/play.js +1 -1
  156. package/dist/collection/common/icons/refresh.js +1 -1
  157. package/dist/collection/common/icons/reply-all.js +1 -1
  158. package/dist/collection/common/icons/reply.js +1 -1
  159. package/dist/collection/common/icons/search.js +1 -1
  160. package/dist/collection/common/icons/sent.js +1 -1
  161. package/dist/collection/common/icons/spam.js +1 -1
  162. package/dist/collection/common/icons/star.js +1 -1
  163. package/dist/collection/common/icons/stop.js +1 -1
  164. package/dist/collection/common/icons/translate.js +1 -1
  165. package/dist/collection/common/icons/trash.js +1 -1
  166. package/dist/collection/common/icons/underline.js +1 -1
  167. package/dist/collection/common/icons/warning.js +1 -1
  168. package/dist/collection/components/design-system/button-component/button-component.js +1 -1
  169. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js +1 -1
  170. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js.map +1 -1
  171. package/dist/collection/components/design-system/input-component/input-component.js +1 -1
  172. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +31 -3
  173. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js.map +1 -1
  174. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  175. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js +1 -1
  176. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +3 -3
  177. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js.map +1 -1
  178. package/dist/collection/components/design-system/textarea-component/textarea-component.js +1 -1
  179. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  180. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js +1 -1
  181. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js.map +1 -1
  182. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  183. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  184. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  185. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  186. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  187. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +1 -1
  188. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  189. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  190. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  191. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  192. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  193. package/dist/collection/components/nylas-if-state/nylas-if-state.js +1 -1
  194. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  195. package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
  196. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +2 -2
  197. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
  198. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
  199. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +1 -1
  200. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js.map +1 -1
  201. package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.js +3 -3
  202. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  203. package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +1 -1
  204. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +33 -12
  205. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  206. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.css +1 -1
  207. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +48 -25
  208. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  209. package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +1 -1
  210. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  211. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js +1 -1
  212. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +108 -74
  213. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  214. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +1 -1
  215. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -1
  216. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +1 -1
  217. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +1 -1
  218. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  219. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  220. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +3 -3
  221. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +2 -2
  222. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  223. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +1 -1
  224. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js +1 -1
  225. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
  226. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.css +98 -0
  227. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +219 -0
  228. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js.map +1 -0
  229. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +2 -2
  230. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +1 -1
  231. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +2 -2
  232. package/dist/components/add-circle.js +1 -1
  233. package/dist/components/archive.js +1 -1
  234. package/dist/components/arrow.js +1 -1
  235. package/dist/components/bold.js +1 -1
  236. package/dist/components/button-component2.js +1 -1
  237. package/dist/components/calendar-cancel.js +1 -1
  238. package/dist/components/calendar-check.js +1 -1
  239. package/dist/components/calendar-info.js +1 -1
  240. package/dist/components/calendar-patterns.js +1 -1
  241. package/dist/components/calendar.js +1 -1
  242. package/dist/components/checkbox-component2.js +1 -1
  243. package/dist/components/checkbox-component2.js.map +1 -1
  244. package/dist/components/checkmark-circle.js +1 -1
  245. package/dist/components/chevron.js +1 -1
  246. package/dist/components/clock.js +1 -1
  247. package/dist/components/close.js +1 -1
  248. package/dist/components/document-refresh-icon.js +1 -1
  249. package/dist/components/flow.js +1 -1
  250. package/dist/components/folder.js +1 -1
  251. package/dist/components/forward.js +1 -1
  252. package/dist/components/globe.js +1 -1
  253. package/dist/components/google-logo.js +1 -1
  254. package/dist/components/inbox.js +1 -1
  255. package/dist/components/info.js +1 -1
  256. package/dist/components/input-component2.js +1 -1
  257. package/dist/components/input-dropdown2.js +14 -3
  258. package/dist/components/input-dropdown2.js.map +1 -1
  259. package/dist/components/italic.js +1 -1
  260. package/dist/components/loading.js +1 -1
  261. package/dist/components/location-off.js +1 -1
  262. package/dist/components/location.js +1 -1
  263. package/dist/components/microsoft-logo.js +1 -1
  264. package/dist/components/multi-select-dropdown2.js +2 -2
  265. package/dist/components/nylas-additional-participants2.js +17 -13
  266. package/dist/components/nylas-additional-participants2.js.map +1 -1
  267. package/dist/components/nylas-availability-picker2.js +28 -16
  268. package/dist/components/nylas-availability-picker2.js.map +1 -1
  269. package/dist/components/nylas-booking-form2.js +2 -2
  270. package/dist/components/nylas-cancel-booking-form2.js +1 -1
  271. package/dist/components/nylas-cancellation-policy2.js +1 -1
  272. package/dist/components/nylas-cancelled-event-card2.js +1 -1
  273. package/dist/components/nylas-composer2.js +1 -1
  274. package/dist/components/nylas-custom-booking-flow.js +1 -1
  275. package/dist/components/nylas-customize-booking-settings2.js +1 -1
  276. package/dist/components/nylas-date-picker2.js +1 -1
  277. package/dist/components/nylas-date-picker2.js.map +1 -1
  278. package/dist/components/nylas-editor-tabs2.js +200 -153
  279. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  280. package/dist/components/nylas-event-description2.js +1 -1
  281. package/dist/components/nylas-event-duration2.js +1 -1
  282. package/dist/components/nylas-event-info2.js +1 -1
  283. package/dist/components/nylas-event-limits2.js +1 -1
  284. package/dist/components/nylas-event-location2.js +3 -3
  285. package/dist/components/nylas-event-title2.js +2 -2
  286. package/dist/components/nylas-form-card2.js +1 -1
  287. package/dist/components/nylas-if-state.js +1 -1
  288. package/dist/components/nylas-limit-future-bookings2.js +1 -1
  289. package/dist/components/nylas-list-folders.js +1 -1
  290. package/dist/components/nylas-list-threads.js +1 -1
  291. package/dist/components/nylas-locale-switch2.js +3 -3
  292. package/dist/components/nylas-login.js +1 -1
  293. package/dist/components/nylas-logo2.js +1 -1
  294. package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
  295. package/dist/components/nylas-mailbox.js +1 -1
  296. package/dist/components/nylas-min-booking-notice2.js +1 -1
  297. package/dist/components/nylas-min-cancellation-notice2.js +1 -1
  298. package/dist/components/nylas-notification2.js +1 -1
  299. package/dist/components/nylas-participants-custom-availability.d.ts +11 -0
  300. package/dist/components/nylas-participants-custom-availability.js +8 -0
  301. package/dist/components/nylas-participants-custom-availability.js.map +1 -0
  302. package/dist/components/nylas-participants-custom-availability2.js +218 -0
  303. package/dist/components/nylas-participants-custom-availability2.js.map +1 -0
  304. package/dist/components/nylas-provider.js +1 -1
  305. package/dist/components/nylas-scheduler-editor.js +101 -89
  306. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  307. package/dist/components/nylas-selected-event-card2.js +1 -1
  308. package/dist/components/nylas-summarize-message-button2.js +2 -2
  309. package/dist/components/nylas-threads-refresh.js +2 -2
  310. package/dist/components/nylas-threads-search.js +1 -1
  311. package/dist/components/nylas-time-window-picker2.js +1 -1
  312. package/dist/components/nylas-timeslot-interval2.js +2 -2
  313. package/dist/components/nylas-view-email2.js +1 -1
  314. package/dist/components/nylas-view-thread.js +1 -1
  315. package/dist/components/people.js +1 -1
  316. package/dist/components/person.js +1 -1
  317. package/dist/components/play.js +1 -1
  318. package/dist/components/radio-button-group2.js +1 -1
  319. package/dist/components/refresh.js +1 -1
  320. package/dist/components/reply-all.js +1 -1
  321. package/dist/components/reply.js +1 -1
  322. package/dist/components/search.js +1 -1
  323. package/dist/components/select-dropdown2.js +3 -3
  324. package/dist/components/select-dropdown2.js.map +1 -1
  325. package/dist/components/sent.js +1 -1
  326. package/dist/components/spam.js +1 -1
  327. package/dist/components/star.js +1 -1
  328. package/dist/components/stop.js +1 -1
  329. package/dist/components/textarea-component.js +1 -1
  330. package/dist/components/time-period-selector2.js +1 -1
  331. package/dist/components/toggle-switch.js +1 -49
  332. package/dist/components/toggle-switch.js.map +1 -1
  333. package/dist/components/toggle-switch2.js +53 -0
  334. package/dist/components/toggle-switch2.js.map +1 -0
  335. package/dist/components/toolitp-component.js +1 -1
  336. package/dist/components/translate.js +1 -1
  337. package/dist/components/trash.js +1 -1
  338. package/dist/components/underline.js +1 -1
  339. package/dist/components/warning.js +1 -1
  340. package/dist/esm/add-circle-icon.entry.js +1 -1
  341. package/dist/esm/add-circle-icon_2.entry.js +2 -2
  342. package/dist/esm/archive-icon.entry.js +1 -1
  343. package/dist/esm/archive-icon_7.entry.js +7 -7
  344. package/dist/esm/arrow-icon.entry.js +1 -1
  345. package/dist/esm/bold-icon.entry.js +1 -1
  346. package/dist/esm/bold-icon_3.entry.js +3 -3
  347. package/dist/esm/button-component.entry.js +1 -1
  348. package/dist/esm/calendar-cancel-icon.entry.js +1 -1
  349. package/dist/esm/calendar-check-icon.entry.js +1 -1
  350. package/dist/esm/calendar-check-icon_2.entry.js +2 -2
  351. package/dist/esm/calendar-icon.entry.js +1 -1
  352. package/dist/esm/calendar-info-icon.entry.js +1 -1
  353. package/dist/esm/{calendar-info-icon_27.entry.js → calendar-info-icon_28.entry.js} +304 -417
  354. package/dist/esm/calendar-info-icon_28.entry.js.map +1 -0
  355. package/dist/esm/calendar-patterns-icon.entry.js +1 -1
  356. package/dist/esm/checkbox-component.entry.js +1 -1
  357. package/dist/esm/checkbox-component.entry.js.map +1 -1
  358. package/dist/esm/checkmark-circle-icon.entry.js +1 -1
  359. package/dist/esm/chevron-icon.entry.js +1 -1
  360. package/dist/esm/chevron-icon_3.entry.js +5 -5
  361. package/dist/esm/chevron-icon_3.entry.js.map +1 -1
  362. package/dist/esm/clock-icon.entry.js +1 -1
  363. package/dist/esm/clock-icon_2.entry.js +2 -2
  364. package/dist/esm/close-icon.entry.js +1 -1
  365. package/dist/esm/document-refresh-icon.entry.js +1 -1
  366. package/dist/esm/flow-icon.entry.js +1 -1
  367. package/dist/esm/folder-icon.entry.js +1 -1
  368. package/dist/esm/forward-icon.entry.js +1 -1
  369. package/dist/esm/forward-icon_6.entry.js +7 -7
  370. package/dist/esm/globe-icon.entry.js +1 -1
  371. package/dist/esm/google-logo-icon.entry.js +1 -1
  372. package/dist/esm/google-logo-icon_4.entry.js +112 -77
  373. package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
  374. package/dist/esm/inbox-icon.entry.js +1 -1
  375. package/dist/esm/index-582cfc93.js +18 -14
  376. package/dist/esm/index-7cb0dd3d.js +10 -10
  377. package/dist/esm/{index.es-896126fc.js → index.es-c5a8a1ac.js} +2 -2
  378. package/dist/esm/{index.es-896126fc.js.map → index.es-c5a8a1ac.js.map} +1 -1
  379. package/dist/esm/index.js +2 -2
  380. package/dist/esm/info-icon.entry.js +1 -1
  381. package/dist/esm/info-icon_2.entry.js +2 -2
  382. package/dist/esm/input-component.entry.js +1 -1
  383. package/dist/esm/input-dropdown.entry.js +13 -3
  384. package/dist/esm/input-dropdown.entry.js.map +1 -1
  385. package/dist/esm/input-dropdown_2.entry.js +14 -4
  386. package/dist/esm/input-dropdown_2.entry.js.map +1 -1
  387. package/dist/esm/italic-icon.entry.js +1 -1
  388. package/dist/esm/loader.js +1 -1
  389. package/dist/esm/loading-icon.entry.js +1 -1
  390. package/dist/esm/location-icon.entry.js +1 -1
  391. package/dist/esm/location-off-icon.entry.js +1 -1
  392. package/dist/esm/{mailbox-store-c9b2a4fd.js → mailbox-store-94133e15.js} +3 -3
  393. package/dist/esm/{mailbox-store-c9b2a4fd.js.map → mailbox-store-94133e15.js.map} +1 -1
  394. package/dist/esm/microsoft-logo-icon.entry.js +1 -1
  395. package/dist/esm/multi-select-dropdown.entry.js +3 -3
  396. package/dist/esm/nylas-additional-participants.entry.js +19 -15
  397. package/dist/esm/nylas-additional-participants.entry.js.map +1 -1
  398. package/dist/esm/{nylas-api-request-27e81d64.js → nylas-api-request-5ac7887c.js} +2 -2
  399. package/dist/esm/{nylas-api-request-27e81d64.js.map → nylas-api-request-5ac7887c.js.map} +1 -1
  400. package/dist/esm/nylas-availability-picker.entry.js +29 -18
  401. package/dist/esm/nylas-availability-picker.entry.js.map +1 -1
  402. package/dist/esm/nylas-booked-event-card.entry.js +2 -2
  403. package/dist/esm/nylas-booked-event-card_10.entry.js +11 -11
  404. package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
  405. package/dist/esm/nylas-booking-calendar-picker.entry.js +2 -2
  406. package/dist/esm/nylas-booking-form.entry.js +4 -4
  407. package/dist/esm/nylas-buffer-time.entry.js +2 -2
  408. package/dist/esm/nylas-calendar-picker.entry.js +2 -2
  409. package/dist/esm/nylas-cancel-booking-form.entry.js +3 -3
  410. package/dist/esm/nylas-cancellation-policy.entry.js +3 -3
  411. package/dist/esm/nylas-cancelled-event-card.entry.js +3 -3
  412. package/dist/esm/nylas-composer.entry.js +2 -2
  413. package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
  414. package/dist/esm/nylas-customize-booking-settings.entry.js +3 -3
  415. package/dist/esm/nylas-date-picker.entry.js +3 -3
  416. package/dist/esm/nylas-date-picker.entry.js.map +1 -1
  417. package/dist/esm/nylas-editor-tabs.entry.js +112 -77
  418. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  419. package/dist/esm/nylas-event-description.entry.js +3 -3
  420. package/dist/esm/nylas-event-duration.entry.js +3 -3
  421. package/dist/esm/nylas-event-info.entry.js +3 -3
  422. package/dist/esm/nylas-event-limits.entry.js +3 -3
  423. package/dist/esm/nylas-event-location.entry.js +5 -5
  424. package/dist/esm/nylas-event-title.entry.js +4 -4
  425. package/dist/esm/nylas-form-card.entry.js +3 -3
  426. package/dist/esm/nylas-if-state.entry.js +3 -3
  427. package/dist/esm/nylas-limit-future-bookings.entry.js +3 -3
  428. package/dist/esm/nylas-list-configurations.entry.js +2 -2
  429. package/dist/esm/nylas-list-folders.entry.js +3 -3
  430. package/dist/esm/nylas-list-threads.entry.js +3 -3
  431. package/dist/esm/nylas-locale-switch.entry.js +5 -5
  432. package/dist/esm/nylas-login.entry.js +3 -3
  433. package/dist/esm/nylas-logo.entry.js +1 -1
  434. package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
  435. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +3 -3
  436. package/dist/esm/nylas-mailbox.entry.js +4 -4
  437. package/dist/esm/nylas-min-booking-notice.entry.js +3 -3
  438. package/dist/esm/nylas-min-cancellation-notice.entry.js +3 -3
  439. package/dist/esm/nylas-notification.entry.js +2 -2
  440. package/dist/esm/nylas-participants-custom-availability.entry.js +138 -0
  441. package/dist/esm/nylas-participants-custom-availability.entry.js.map +1 -0
  442. package/dist/esm/nylas-provider.entry.js +5 -5
  443. package/dist/esm/nylas-scheduler-editor.entry.js +4 -4
  444. package/dist/esm/nylas-scheduling.entry.js +3 -3
  445. package/dist/esm/nylas-selected-event-card.entry.js +3 -3
  446. package/dist/esm/nylas-summarize-message-button.entry.js +4 -4
  447. package/dist/esm/nylas-threads-refresh.entry.js +4 -4
  448. package/dist/esm/nylas-threads-search.entry.js +3 -3
  449. package/dist/esm/nylas-time-window-picker.entry.js +2 -2
  450. package/dist/esm/nylas-timeslot-interval.entry.js +4 -4
  451. package/dist/esm/nylas-timeslot-picker.entry.js +2 -2
  452. package/dist/esm/nylas-view-email.entry.js +2 -2
  453. package/dist/esm/nylas-view-thread.entry.js +3 -3
  454. package/dist/esm/nylas-web-elements.js +1 -1
  455. package/dist/esm/people-icon.entry.js +1 -1
  456. package/dist/esm/person-icon.entry.js +1 -1
  457. package/dist/esm/play-icon.entry.js +1 -1
  458. package/dist/esm/play-icon_2.entry.js +2 -2
  459. package/dist/esm/radio-button-group.entry.js +1 -1
  460. package/dist/esm/refresh-icon.entry.js +1 -1
  461. package/dist/esm/{register-component-6ae95538.js → register-component-aef40ec4.js} +2 -2
  462. package/dist/esm/{register-component-6ae95538.js.map → register-component-aef40ec4.js.map} +1 -1
  463. package/dist/esm/reply-all-icon.entry.js +1 -1
  464. package/dist/esm/reply-icon.entry.js +1 -1
  465. package/dist/esm/{scheduler-store-17f7f1c8.js → scheduler-store-6c4866d6.js} +2 -2
  466. package/dist/{nylas-web-elements/scheduler-store-17f7f1c8.js.map → esm/scheduler-store-6c4866d6.js.map} +1 -1
  467. package/dist/esm/search-icon.entry.js +1 -1
  468. package/dist/esm/select-dropdown.entry.js +3 -3
  469. package/dist/esm/select-dropdown.entry.js.map +1 -1
  470. package/dist/esm/sent-icon.entry.js +1 -1
  471. package/dist/esm/spam-icon.entry.js +1 -1
  472. package/dist/esm/star-icon.entry.js +1 -1
  473. package/dist/esm/stop-icon.entry.js +1 -1
  474. package/dist/esm/textarea-component.entry.js +1 -1
  475. package/dist/esm/time-period-selector.entry.js +2 -2
  476. package/dist/esm/toggle-switch.entry.js +1 -1
  477. package/dist/esm/toggle-switch.entry.js.map +1 -1
  478. package/dist/esm/tooltip-component.entry.js +1 -1
  479. package/dist/esm/translate-icon.entry.js +1 -1
  480. package/dist/esm/trash-icon.entry.js +1 -1
  481. package/dist/esm/underline-icon.entry.js +1 -1
  482. package/dist/{nylas-web-elements/utils-49a1d17b.js → esm/utils-04c10cbd.js} +2 -2
  483. package/dist/esm/{utils-49a1d17b.js.map → utils-04c10cbd.js.map} +1 -1
  484. package/dist/esm/warning-icon.entry.js +1 -1
  485. package/dist/nylas-web-elements/add-circle-icon.entry.js +1 -1
  486. package/dist/nylas-web-elements/archive-icon.entry.js +1 -1
  487. package/dist/nylas-web-elements/arrow-icon.entry.js +1 -1
  488. package/dist/nylas-web-elements/bold-icon.entry.js +1 -1
  489. package/dist/nylas-web-elements/button-component.entry.js +1 -1
  490. package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +1 -1
  491. package/dist/nylas-web-elements/calendar-check-icon.entry.js +1 -1
  492. package/dist/nylas-web-elements/calendar-icon.entry.js +1 -1
  493. package/dist/nylas-web-elements/calendar-info-icon.entry.js +1 -1
  494. package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +1 -1
  495. package/dist/nylas-web-elements/checkbox-component.entry.js +1 -1
  496. package/dist/nylas-web-elements/checkbox-component.entry.js.map +1 -1
  497. package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +1 -1
  498. package/dist/nylas-web-elements/chevron-icon.entry.js +1 -1
  499. package/dist/nylas-web-elements/clock-icon.entry.js +1 -1
  500. package/dist/nylas-web-elements/close-icon.entry.js +1 -1
  501. package/dist/nylas-web-elements/document-refresh-icon.entry.js +1 -1
  502. package/dist/nylas-web-elements/flow-icon.entry.js +1 -1
  503. package/dist/nylas-web-elements/folder-icon.entry.js +1 -1
  504. package/dist/nylas-web-elements/forward-icon.entry.js +1 -1
  505. package/dist/nylas-web-elements/globe-icon.entry.js +1 -1
  506. package/dist/nylas-web-elements/google-logo-icon.entry.js +1 -1
  507. package/dist/nylas-web-elements/inbox-icon.entry.js +1 -1
  508. package/dist/nylas-web-elements/{index.es-896126fc.js → index.es-c5a8a1ac.js} +2 -2
  509. package/dist/nylas-web-elements/{index.es-896126fc.js.map → index.es-c5a8a1ac.js.map} +1 -1
  510. package/dist/nylas-web-elements/index.esm.js +2 -2
  511. package/dist/nylas-web-elements/info-icon.entry.js +1 -1
  512. package/dist/nylas-web-elements/input-component.entry.js +1 -1
  513. package/dist/nylas-web-elements/input-dropdown.entry.js +13 -3
  514. package/dist/nylas-web-elements/input-dropdown.entry.js.map +1 -1
  515. package/dist/nylas-web-elements/italic-icon.entry.js +1 -1
  516. package/dist/nylas-web-elements/loading-icon.entry.js +1 -1
  517. package/dist/nylas-web-elements/location-icon.entry.js +1 -1
  518. package/dist/nylas-web-elements/location-off-icon.entry.js +1 -1
  519. package/dist/nylas-web-elements/{mailbox-store-c9b2a4fd.js → mailbox-store-94133e15.js} +3 -3
  520. package/dist/nylas-web-elements/{mailbox-store-c9b2a4fd.js.map → mailbox-store-94133e15.js.map} +1 -1
  521. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +1 -1
  522. package/dist/nylas-web-elements/multi-select-dropdown.entry.js +3 -3
  523. package/dist/nylas-web-elements/nylas-additional-participants.entry.js +19 -15
  524. package/dist/nylas-web-elements/nylas-additional-participants.entry.js.map +1 -1
  525. package/dist/nylas-web-elements/{nylas-api-request-27e81d64.js → nylas-api-request-5ac7887c.js} +2 -2
  526. package/dist/nylas-web-elements/{nylas-api-request-27e81d64.js.map → nylas-api-request-5ac7887c.js.map} +1 -1
  527. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +29 -18
  528. package/dist/nylas-web-elements/nylas-availability-picker.entry.js.map +1 -1
  529. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +2 -2
  530. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +2 -2
  531. package/dist/nylas-web-elements/nylas-booking-form.entry.js +4 -4
  532. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +2 -2
  533. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +2 -2
  534. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +3 -3
  535. package/dist/nylas-web-elements/nylas-cancellation-policy.entry.js +3 -3
  536. package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +3 -3
  537. package/dist/nylas-web-elements/nylas-composer.entry.js +2 -2
  538. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
  539. package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js +3 -3
  540. package/dist/nylas-web-elements/nylas-date-picker.entry.js +3 -3
  541. package/dist/nylas-web-elements/nylas-date-picker.entry.js.map +1 -1
  542. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +112 -77
  543. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  544. package/dist/nylas-web-elements/nylas-event-description.entry.js +3 -3
  545. package/dist/nylas-web-elements/nylas-event-duration.entry.js +3 -3
  546. package/dist/nylas-web-elements/nylas-event-info.entry.js +3 -3
  547. package/dist/nylas-web-elements/nylas-event-limits.entry.js +3 -3
  548. package/dist/nylas-web-elements/nylas-event-location.entry.js +5 -5
  549. package/dist/nylas-web-elements/nylas-event-title.entry.js +4 -4
  550. package/dist/nylas-web-elements/nylas-form-card.entry.js +3 -3
  551. package/dist/nylas-web-elements/nylas-if-state.entry.js +3 -3
  552. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +3 -3
  553. package/dist/nylas-web-elements/nylas-list-configurations.entry.js +2 -2
  554. package/dist/nylas-web-elements/nylas-list-folders.entry.js +3 -3
  555. package/dist/nylas-web-elements/nylas-list-threads.entry.js +3 -3
  556. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +5 -5
  557. package/dist/nylas-web-elements/nylas-login.entry.js +3 -3
  558. package/dist/nylas-web-elements/nylas-logo.entry.js +1 -1
  559. package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
  560. package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +3 -3
  561. package/dist/nylas-web-elements/nylas-mailbox.entry.js +4 -4
  562. package/dist/nylas-web-elements/nylas-min-booking-notice.entry.js +3 -3
  563. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +3 -3
  564. package/dist/nylas-web-elements/nylas-notification.entry.js +2 -2
  565. package/dist/nylas-web-elements/nylas-participants-custom-availability.entry.js +138 -0
  566. package/dist/nylas-web-elements/nylas-participants-custom-availability.entry.js.map +1 -0
  567. package/dist/nylas-web-elements/nylas-provider.entry.js +5 -5
  568. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +4 -4
  569. package/dist/nylas-web-elements/nylas-scheduling.entry.js +3 -3
  570. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +3 -3
  571. package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +4 -4
  572. package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +4 -4
  573. package/dist/nylas-web-elements/nylas-threads-search.entry.js +3 -3
  574. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +2 -2
  575. package/dist/nylas-web-elements/nylas-timeslot-interval.entry.js +4 -4
  576. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +2 -2
  577. package/dist/nylas-web-elements/nylas-view-email.entry.js +2 -2
  578. package/dist/nylas-web-elements/nylas-view-thread.entry.js +3 -3
  579. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  580. package/dist/nylas-web-elements/{p-4b84ab3f.entry.js → p-061d0ae2.entry.js} +2 -2
  581. package/dist/nylas-web-elements/{p-de63bc35.entry.js → p-08d75d35.entry.js} +2 -2
  582. package/dist/nylas-web-elements/p-0d98c728.entry.js +2 -0
  583. package/dist/nylas-web-elements/p-0d98c728.entry.js.map +1 -0
  584. package/dist/nylas-web-elements/p-12b83ea9.entry.js +2 -0
  585. package/dist/nylas-web-elements/{p-0dbc0c01.entry.js.map → p-12b83ea9.entry.js.map} +1 -1
  586. package/dist/nylas-web-elements/{p-98a2f588.entry.js → p-16a3bfb2.entry.js} +2 -2
  587. package/dist/nylas-web-elements/p-246983ed.entry.js +2 -0
  588. package/dist/nylas-web-elements/p-246983ed.entry.js.map +1 -0
  589. package/dist/nylas-web-elements/{p-4b1466b3.entry.js → p-25c97a60.entry.js} +2 -2
  590. package/dist/nylas-web-elements/{p-395f49eb.entry.js → p-28512ab6.entry.js} +2 -2
  591. package/dist/nylas-web-elements/{p-b27e34a9.entry.js → p-2f148064.entry.js} +2 -2
  592. package/dist/nylas-web-elements/{p-120d2c72.entry.js → p-3175cae0.entry.js} +2 -2
  593. package/dist/nylas-web-elements/{p-4fdc6122.entry.js → p-34f0d1fe.entry.js} +2 -2
  594. package/dist/nylas-web-elements/p-37f41a90.entry.js +2 -0
  595. package/dist/nylas-web-elements/{p-2f656fb3.entry.js → p-39160c0d.entry.js} +2 -2
  596. package/dist/nylas-web-elements/{p-da21471c.entry.js → p-3f435fab.entry.js} +2 -2
  597. package/dist/nylas-web-elements/{p-27db7b0b.entry.js → p-5231fc13.entry.js} +3 -3
  598. package/dist/nylas-web-elements/{p-deafc6bc.entry.js → p-5c3c1888.entry.js} +2 -2
  599. package/dist/nylas-web-elements/p-60b03f86.entry.js +2 -0
  600. package/dist/nylas-web-elements/{p-09fec39c.entry.js → p-65097f45.entry.js} +2 -2
  601. package/dist/nylas-web-elements/{p-e4a7746d.entry.js → p-6ce66add.entry.js} +2 -2
  602. package/dist/nylas-web-elements/{p-ec26560f.entry.js → p-6ef1024f.entry.js} +2 -2
  603. package/dist/nylas-web-elements/{p-ace74b9d.entry.js → p-7a95bc3f.entry.js} +2 -2
  604. package/dist/nylas-web-elements/{p-bfd3b5f0.entry.js → p-7ce048c0.entry.js} +2 -2
  605. package/dist/nylas-web-elements/{p-a7dd4c24.entry.js → p-8e63b66c.entry.js} +2 -2
  606. package/dist/nylas-web-elements/p-958746a1.entry.js +2 -0
  607. package/dist/nylas-web-elements/{p-53da3000.entry.js.map → p-958746a1.entry.js.map} +1 -1
  608. package/dist/nylas-web-elements/{p-11f94952.entry.js → p-a800e7af.entry.js} +2 -2
  609. package/dist/nylas-web-elements/{p-13b003b5.entry.js → p-a85408e0.entry.js} +2 -2
  610. package/dist/nylas-web-elements/{p-c8c737ed.entry.js → p-aeb1c91c.entry.js} +2 -2
  611. package/dist/nylas-web-elements/{p-6e888067.entry.js → p-b0c8021f.entry.js} +2 -2
  612. package/dist/nylas-web-elements/{p-6891ad5d.entry.js → p-b2aca6c4.entry.js} +2 -2
  613. package/dist/nylas-web-elements/{p-b9064de4.entry.js → p-b334d63b.entry.js} +2 -2
  614. package/dist/nylas-web-elements/p-b4d09fcf.entry.js +2 -0
  615. package/dist/nylas-web-elements/p-b4d09fcf.entry.js.map +1 -0
  616. package/dist/nylas-web-elements/{p-470536e0.entry.js → p-b9559f06.entry.js} +2 -2
  617. package/dist/nylas-web-elements/{p-470536e0.entry.js.map → p-b9559f06.entry.js.map} +1 -1
  618. package/dist/nylas-web-elements/{p-4f548e66.entry.js → p-c1ff6499.entry.js} +2 -2
  619. package/dist/nylas-web-elements/{p-32682655.entry.js → p-cb03e4d4.entry.js} +2 -2
  620. package/dist/nylas-web-elements/p-de7b0878.entry.js +2 -0
  621. package/dist/nylas-web-elements/p-e8cde784.entry.js +2 -0
  622. package/dist/nylas-web-elements/p-e8cde784.entry.js.map +1 -0
  623. package/dist/nylas-web-elements/p-f2d1b1a6.entry.js +2 -0
  624. package/dist/nylas-web-elements/{p-24082558.entry.js.map → p-f2d1b1a6.entry.js.map} +1 -1
  625. package/dist/nylas-web-elements/p-f6fafe86.entry.js +2 -0
  626. package/dist/nylas-web-elements/p-f6fafe86.entry.js.map +1 -0
  627. package/dist/nylas-web-elements/{p-d5146511.entry.js → p-f8653b9b.entry.js} +2 -2
  628. package/dist/nylas-web-elements/people-icon.entry.js +1 -1
  629. package/dist/nylas-web-elements/person-icon.entry.js +1 -1
  630. package/dist/nylas-web-elements/play-icon.entry.js +1 -1
  631. package/dist/nylas-web-elements/radio-button-group.entry.js +1 -1
  632. package/dist/nylas-web-elements/refresh-icon.entry.js +1 -1
  633. package/dist/nylas-web-elements/{register-component-6ae95538.js → register-component-aef40ec4.js} +2 -2
  634. package/dist/nylas-web-elements/{register-component-6ae95538.js.map → register-component-aef40ec4.js.map} +1 -1
  635. package/dist/nylas-web-elements/reply-all-icon.entry.js +1 -1
  636. package/dist/nylas-web-elements/reply-icon.entry.js +1 -1
  637. package/dist/nylas-web-elements/{scheduler-store-17f7f1c8.js → scheduler-store-6c4866d6.js} +2 -2
  638. package/dist/{esm/scheduler-store-17f7f1c8.js.map → nylas-web-elements/scheduler-store-6c4866d6.js.map} +1 -1
  639. package/dist/nylas-web-elements/search-icon.entry.js +1 -1
  640. package/dist/nylas-web-elements/select-dropdown.entry.js +3 -3
  641. package/dist/nylas-web-elements/select-dropdown.entry.js.map +1 -1
  642. package/dist/nylas-web-elements/sent-icon.entry.js +1 -1
  643. package/dist/nylas-web-elements/spam-icon.entry.js +1 -1
  644. package/dist/nylas-web-elements/star-icon.entry.js +1 -1
  645. package/dist/nylas-web-elements/stop-icon.entry.js +1 -1
  646. package/dist/nylas-web-elements/textarea-component.entry.js +1 -1
  647. package/dist/nylas-web-elements/time-period-selector.entry.js +2 -2
  648. package/dist/nylas-web-elements/toggle-switch.entry.js +1 -1
  649. package/dist/nylas-web-elements/toggle-switch.entry.js.map +1 -1
  650. package/dist/nylas-web-elements/tooltip-component.entry.js +1 -1
  651. package/dist/nylas-web-elements/translate-icon.entry.js +1 -1
  652. package/dist/nylas-web-elements/trash-icon.entry.js +1 -1
  653. package/dist/nylas-web-elements/underline-icon.entry.js +1 -1
  654. package/dist/{esm/utils-49a1d17b.js → nylas-web-elements/utils-04c10cbd.js} +2 -2
  655. package/dist/nylas-web-elements/{utils-49a1d17b.js.map → utils-04c10cbd.js.map} +1 -1
  656. package/dist/nylas-web-elements/warning-icon.entry.js +1 -1
  657. package/dist/types/components/design-system/input-dropdown/input-dropdown.d.ts +2 -0
  658. package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +6 -1
  659. package/dist/types/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.d.ts +2 -4
  660. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +12 -5
  661. package/dist/types/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.d.ts +36 -0
  662. package/dist/types/components.d.ts +122 -9
  663. package/package.json +1 -1
  664. package/dist/cjs/calendar-info-icon_27.cjs.entry.js.map +0 -1
  665. package/dist/esm/calendar-info-icon_27.entry.js.map +0 -1
  666. package/dist/nylas-web-elements/p-0dbc0c01.entry.js +0 -2
  667. package/dist/nylas-web-elements/p-24082558.entry.js +0 -2
  668. package/dist/nylas-web-elements/p-3fd63454.entry.js +0 -2
  669. package/dist/nylas-web-elements/p-3fd63454.entry.js.map +0 -1
  670. package/dist/nylas-web-elements/p-427548f5.entry.js +0 -2
  671. package/dist/nylas-web-elements/p-427548f5.entry.js.map +0 -1
  672. package/dist/nylas-web-elements/p-53da3000.entry.js +0 -2
  673. package/dist/nylas-web-elements/p-7fac2bba.entry.js +0 -2
  674. package/dist/nylas-web-elements/p-96418bc6.entry.js +0 -2
  675. package/dist/nylas-web-elements/p-9acfea5f.entry.js +0 -2
  676. package/dist/nylas-web-elements/p-9acfea5f.entry.js.map +0 -1
  677. package/dist/nylas-web-elements/p-c170c56d.entry.js +0 -2
  678. package/dist/nylas-web-elements/p-efd5b80a.entry.js +0 -2
  679. package/dist/nylas-web-elements/p-efd5b80a.entry.js.map +0 -1
  680. package/dist/nylas-web-elements/p-fbac3865.entry.js +0 -2
  681. package/dist/nylas-web-elements/p-fbac3865.entry.js.map +0 -1
  682. /package/dist/nylas-web-elements/{p-4b84ab3f.entry.js.map → p-061d0ae2.entry.js.map} +0 -0
  683. /package/dist/nylas-web-elements/{p-de63bc35.entry.js.map → p-08d75d35.entry.js.map} +0 -0
  684. /package/dist/nylas-web-elements/{p-98a2f588.entry.js.map → p-16a3bfb2.entry.js.map} +0 -0
  685. /package/dist/nylas-web-elements/{p-4b1466b3.entry.js.map → p-25c97a60.entry.js.map} +0 -0
  686. /package/dist/nylas-web-elements/{p-395f49eb.entry.js.map → p-28512ab6.entry.js.map} +0 -0
  687. /package/dist/nylas-web-elements/{p-b27e34a9.entry.js.map → p-2f148064.entry.js.map} +0 -0
  688. /package/dist/nylas-web-elements/{p-120d2c72.entry.js.map → p-3175cae0.entry.js.map} +0 -0
  689. /package/dist/nylas-web-elements/{p-4fdc6122.entry.js.map → p-34f0d1fe.entry.js.map} +0 -0
  690. /package/dist/nylas-web-elements/{p-c170c56d.entry.js.map → p-37f41a90.entry.js.map} +0 -0
  691. /package/dist/nylas-web-elements/{p-2f656fb3.entry.js.map → p-39160c0d.entry.js.map} +0 -0
  692. /package/dist/nylas-web-elements/{p-da21471c.entry.js.map → p-3f435fab.entry.js.map} +0 -0
  693. /package/dist/nylas-web-elements/{p-27db7b0b.entry.js.map → p-5231fc13.entry.js.map} +0 -0
  694. /package/dist/nylas-web-elements/{p-deafc6bc.entry.js.map → p-5c3c1888.entry.js.map} +0 -0
  695. /package/dist/nylas-web-elements/{p-7fac2bba.entry.js.map → p-60b03f86.entry.js.map} +0 -0
  696. /package/dist/nylas-web-elements/{p-09fec39c.entry.js.map → p-65097f45.entry.js.map} +0 -0
  697. /package/dist/nylas-web-elements/{p-e4a7746d.entry.js.map → p-6ce66add.entry.js.map} +0 -0
  698. /package/dist/nylas-web-elements/{p-ec26560f.entry.js.map → p-6ef1024f.entry.js.map} +0 -0
  699. /package/dist/nylas-web-elements/{p-ace74b9d.entry.js.map → p-7a95bc3f.entry.js.map} +0 -0
  700. /package/dist/nylas-web-elements/{p-bfd3b5f0.entry.js.map → p-7ce048c0.entry.js.map} +0 -0
  701. /package/dist/nylas-web-elements/{p-a7dd4c24.entry.js.map → p-8e63b66c.entry.js.map} +0 -0
  702. /package/dist/nylas-web-elements/{p-11f94952.entry.js.map → p-a800e7af.entry.js.map} +0 -0
  703. /package/dist/nylas-web-elements/{p-13b003b5.entry.js.map → p-a85408e0.entry.js.map} +0 -0
  704. /package/dist/nylas-web-elements/{p-c8c737ed.entry.js.map → p-aeb1c91c.entry.js.map} +0 -0
  705. /package/dist/nylas-web-elements/{p-6e888067.entry.js.map → p-b0c8021f.entry.js.map} +0 -0
  706. /package/dist/nylas-web-elements/{p-6891ad5d.entry.js.map → p-b2aca6c4.entry.js.map} +0 -0
  707. /package/dist/nylas-web-elements/{p-b9064de4.entry.js.map → p-b334d63b.entry.js.map} +0 -0
  708. /package/dist/nylas-web-elements/{p-4f548e66.entry.js.map → p-c1ff6499.entry.js.map} +0 -0
  709. /package/dist/nylas-web-elements/{p-32682655.entry.js.map → p-cb03e4d4.entry.js.map} +0 -0
  710. /package/dist/nylas-web-elements/{p-96418bc6.entry.js.map → p-de7b0878.entry.js.map} +0 -0
  711. /package/dist/nylas-web-elements/{p-d5146511.entry.js.map → p-f8653b9b.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,c as n,H as a,a as i}from"./p-68c2fadf.js";import{R as s}from"./p-795b324a.js";import{a as o,o as r,q as c}from"./p-6c11737d.js";import{D as l}from"./p-49f716ed.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";const d=".sc-google-logo-icon-h{display:flex}";const b=d;const p=class{constructor(e){t(this,e);this.width="24";this.height="24"}render(){return e("svg",{key:"0e9d7d49a7c9b6cd2087805b88f0e5a2067dfaed",width:this.width,height:this.height,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("g",{key:"e97ac24bfe96bdba16a9709dde3ebc675e942d56","clip-path":"url(#clip0_959_12452)"},e("path",{key:"231167532157853cb95fddc85fa8cffcf1134ef4",d:"M23.745 12.27C23.745 11.48 23.675 10.73 23.555 10H12.255V14.51H18.725C18.435 15.99 17.585 17.24 16.325 18.09V21.09H20.185C22.445 19 23.745 15.92 23.745 12.27Z",fill:"#4285F4"}),e("path",{key:"4f964a28a6b0894940c9d762a91db0c099f6c2c7",d:"M12.255 24C15.495 24 18.205 22.92 20.185 21.09L16.325 18.09C15.245 18.81 13.875 19.25 12.255 19.25C9.12504 19.25 6.47505 17.14 5.52505 14.29H1.54504V17.38C3.51504 21.3 7.56504 24 12.255 24Z",fill:"#34A853"}),e("path",{key:"9ada4b2f2625f18538ff4455b1160efcfccbd646",d:"M5.52501 14.2901C5.27501 13.5701 5.145 12.8001 5.145 12.0001C5.145 11.2001 5.28501 10.4301 5.52501 9.71012V6.62012H1.545C0.725004 8.24012 0.255005 10.0601 0.255005 12.0001C0.255005 13.9401 0.725004 15.7601 1.545 17.3801L5.52501 14.2901Z",fill:"#FBBC05"}),e("path",{key:"6a260b3024a69fa930820a80a917152dc7ef52a7",d:"M12.255 4.75C14.025 4.75 15.605 5.36 16.855 6.55L20.275 3.13C18.205 1.19 15.495 0 12.255 0C7.56504 0 3.51504 2.7 1.54504 6.62L5.52505 9.71C6.47505 6.86 9.12504 4.75 12.255 4.75Z",fill:"#EA4335"})),e("defs",{key:"56bc051b67a1bfa29ecaf64bac03ee1017836365"},e("clipPath",{key:"8057800f9035048497e8198789e1e0b4dba1c64a",id:"clip0_959_12452"},e("rect",{key:"6c0299822390d3433158d87c607fe9546e878eb0",width:24,height:24,fill:"white"}))))}};p.style=b;const f=".sc-microsoft-logo-icon-h{display:flex}";const h=f;const u=class{constructor(e){t(this,e);this.width="22";this.height="22"}render(){return e("svg",{key:"3dd5e1a94ca5889c14f7695c9077f9be0cbc4d00",width:this.width,height:this.height,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"381068331f74d7f1a06c0ca0cd9dfc2b58f72a10",d:"M0.043457 0.043457H10.4782V10.4782H0.043457V0.043457Z",fill:"#F35325"}),e("path",{key:"62c7be7371433602169a19fe2657e0a1635f516e",d:"M11.5217 0.043457H21.9565V10.4782H11.5217V0.043457Z",fill:"#81BC06"}),e("path",{key:"72464e489d4cfd78f016282a743a1000fb732368",d:"M0.043457 11.5217H10.4782V21.9565H0.043457V11.5217Z",fill:"#05A6F0"}),e("path",{key:"d766c4d950ee3122cf4916b53ce5f630b52a30bb",d:"M11.5217 11.5217H21.9565V21.9565H11.5217V11.5217Z",fill:"#FFBA08"}))}};u.style=h;function y({id:t,formState:n,activeTab:a,calendars:i}){switch(a){case"eventInfo":const a=n.title;const s=n.description;const o=parseInt(n.duration);const r=n.location;return e("div",{key:t},e("nylas-event-info",null,e("div",{slot:"inputs"},e("nylas-event-title",{name:"title",eventTitle:a,exportparts:"net, net__title, net__dropdown-content"}),e("nylas-event-duration",{name:"duration",eventDurationMinutes:o,exportparts:"ned, ned__dropdown, ned__dropdown-button, ned__dropdown-content, ned__input_dropdown, ned__input_dropdown-input, ned__input_dropdown-content"}),e("nylas-event-location",{name:"location",eventLocation:r,exportparts:"nel, nel__location, nel__dropdown, nel__dropdown-button, nel__dropdown-content"}),e("nylas-event-description",{name:"description",eventDescription:s,exportparts:"nedesc, nedesc__textarea"}))));case"availability":const c=n.availability.openHours;const l=n.availability.timezone?n.availability.timezone:Intl.DateTimeFormat().resolvedOptions().timeZone;const d=n.participants?.find((t=>t.is_organizer));const b=d?.email??"primary";const p=n.calendarIds.length>0?n.calendarIds:[b];const f=n.bookingCalendar=="primary"?b:n.bookingCalendar;return e("div",{key:t},e("nylas-booking-calendar-picker",{name:"booking-calendar",calendars:i??[],defaultBookingCalendar:f,exportparts:"nbcp, nbcp__header, nbcp__input-label, nbcp__dropdown, nbcp__dropdown-button, nbcp__dropdown-content"}),e("nylas-calendar-picker",{name:"calendars",calendars:i??[],defaultSelectedCalendars:p,exportparts:"ncp ncp__header, ncp__dropdown, ncp__dropdown-button, ncp__dropdown-content"}),e("nylas-availability-picker",{name:"availability",openHours:c,defaultTimezone:l,exportparts:"nap__header, nap__select-timezone, nap__select-timezone-button, nap__select-timezone-dropdown-content, nap__availability, nap__day, nap__time-ranges, nap__time-range, nap__add-time-range, nap__time-picker-container, nap__time-picker-input, nap__time-picker-times"}));case"bookingOptions":return e("div",{key:t},e("nylas-buffer-time",{name:"buffer-time",buffer:n.buffer,exportparts:"nbt, nbt__header, nbt__body, nbt__dropdown-before, nbt__dropdown-button-before, nbt__dropdown-content-before, nbt__dropdown-after, nbt__dropdown-button-after, nbt__dropdown-content-after, nbt__preview"}),e("nylas-event-limits",null,e("div",{slot:"inputs"},e("nylas-min-booking-notice",{name:"min-booking-notice",minBookingNotice:n.minBookingNotice,exportparts:"nmbn, nmbn__number-dropdown, nmbn__number-dropdown-button, nmbn__number-dropdown-content, nmbn__period-dropdown, nmbn__period-dropdown-button, nmbn__period-dropdown-content"}),e("nylas-limit-future-bookings",{name:"limit-future-bookings",availableDaysInFuture:n.availableDaysInFuture,exportparts:"nlfb, nlfb__number-dropdown, nlfb__number-dropdown-button, nlfb__number-dropdown-content, nlfb__period-dropdown, nlfb__period-dropdown-button, nlfb__period-dropdown-content"}),e("nylas-min-cancellation-notice",{name:"min-cancellation-notice",minCancellationNotice:n.minCancellationNotice,exportparts:"nmcn, nmcn__number-dropdown, nmcn__number-dropdown-button, nmcn__number-dropdown-content, nmcn__period-dropdown, nmcn__period-dropdown-button, nmcn__period-dropdown-content"}),e("nylas-cancellation-policy",{name:"cancellation-policy",cancellationPolicy:n.cancellationPolicy,exportparts:"ncpolicy, ncpolicy__textarea"}))),e("nylas-timeslot-interval",{name:"timeslot-interval",eventDurationMinutes:parseInt(n.duration),exportparts:"nti, nti__header, nti__input-label, nti__dropdown, nti__dropdown-button, nti__dropdown-content"}),e("nylas-customize-booking-settings",{name:"customize-booking-settings",exportparts:"ncbs, ncbs__header, ncbs__settings, ncbs__settings-div, ncbs__additional_guests, ncbs__cancellation_options, ncbs__rescheduling_options"}));case"participants":return e("div",{key:t},e("nylas-additional-participants",{name:"participants",eventParticipants:n.participants,exportparts:"nap__title, nap__subtitle, nap__content, nap__input_group, nap__input_wrapper, nap__input, nap__remove-participant"}),e("nylas-participants-custom-availability",{name:"participant-custom-availability",participants:n.participants,exportparts:"npca, npca__header, npca__content, npca__participant-container, npca__participant-title, npca__participant-toggle--container, npca__toggle-label, npca__toggle-input, npca__toggle-slider"}))}}const g='.sc-nylas-editor-tabs-h{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.scheduler-editor.sc-nylas-editor-tabs{display:flex;flex-direction:column}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs{height:554px;display:grid;grid-template-columns:minmax(224px, 25%) 1fr}@media screen and (max-width: 768px){.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs{display:table-column-group;height:auto}}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs{display:flex;flex-direction:column;border-right:1px solid var(--nylas-base-200);background-color:var(--nylas-base-25)}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs .tab.sc-nylas-editor-tabs{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;color:var(--nylas-base-900);background:var(--nylas-base-0);border:none;height:56px;font-family:var(--nylas-font-family);font-size:16px;font-weight:500;line-height:24px;cursor:pointer}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs .tab.sc-nylas-editor-tabs:not(:first-of-type){margin-top:0.25rem}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs .tab.active.sc-nylas-editor-tabs{font-weight:600;background:var(--nylas-base-0);color:var(--nylas-primary);border-left:4px solid var(--nylas-primary);box-shadow:0px 1px 2px 0px rgba(0, 0, 0, 0.0588235294);box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.1019607843)}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs{max-width:692px;overflow-y:auto}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs nylas-event-info.sc-nylas-editor-tabs,.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs nylas-event-limits.sc-nylas-editor-tabs{width:inherit}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs nylas-event-info.sc-nylas-editor-tabs div[slot=inputs].sc-nylas-editor-tabs,.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs nylas-event-limits.sc-nylas-editor-tabs div[slot=inputs].sc-nylas-editor-tabs{display:flex;flex-direction:column;gap:1rem}.footer.sc-nylas-editor-tabs{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:80px;padding:0 1rem;border-top:1px solid var(--nylas-base-200)}@media screen and (max-width: 768px){.footer.sc-nylas-editor-tabs{flex-direction:column;height:auto}}@media screen and (max-width: 768px){.footer.sc-nylas-editor-tabs .preview.sc-nylas-editor-tabs{margin-top:1rem;width:100%}}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs{display:flex;justify-content:flex-end;align-items:center;justify-self:flex-end;gap:1rem}@media screen and (max-width: 768px){.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs{flex-direction:column-reverse;width:100%}}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.sc-nylas-editor-tabs{max-width:524px}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.unsaved-changes.sc-nylas-editor-tabs{color:var(--nylas-base-600)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.saved-changes.sc-nylas-editor-tabs{color:var(--nylas-success)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.error.sc-nylas-editor-tabs{color:var(--nylas-error)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.error-full-width.sc-nylas-editor-tabs{max-width:660px}@media screen and (max-width: 768px){.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button-component.sc-nylas-editor-tabs{width:100%}}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs{background:var(--nylas-primary);color:var(--nylas-base-0);height:48px;border:none;border-radius:var(--nylas-border-radius-2x);font-size:1rem;line-height:24px;padding:0 1rem;cursor:pointer;width:148px}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs:hover{background:var(--nylas-base-600)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs:active{background:var(--nylas-base-800)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs:disabled{background:var(--nylas-base-300);cursor:not-allowed}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs span.sc-nylas-editor-tabs{display:flex;align-items:center;justify-content:center;gap:0.5rem}';const m=g;var _=undefined&&undefined.__decorate||function(t,e,n,a){var i=arguments.length,s=i<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,n):a,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")s=Reflect.decorate(t,e,n,a);else for(var r=t.length-1;r>=0;r--)if(o=t[r])s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s;return i>3&&s&&Object.defineProperty(e,n,s),s};var v=undefined&&undefined.__metadata||function(t,e){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(t,e)};const w=class{constructor(e){t(this,e);this.schedulerConfigChanged=n(this,"schedulerConfigChanged",7);this.cancelButtonClick=n(this,"cancelButtonClick",7);this.formSubmitted=n(this,"formSubmitted",7);this.previewButtonClicked=n(this,"previewButtonClicked",7);this.setError=t=>{this.error=t.message};this.formSubmissionHandler=async t=>{t.preventDefault();this.formSubmitted.emit();const e=this.formRef.checkValidity();if(!e){return}this.isLoading=true;this.hasUnsavedChanges=false;const n=this.updateFormState();const{title:a,description:i,duration:s,availability:o,calendarIds:c,bookingCalendar:d,location:b,bookingType:p,buffer:f,availableDaysInFuture:h,minCancellationNotice:u,minBookingNotice:y,cancellationPolicy:g,timeslotInterval:m,additionalGuestsHidden:_,hideCancellationOptions:v,hideReschedulingOptions:w,participants:k,participantOpenHours:x}=n;const C=this.selectedConfiguration?.participants?.find((t=>t.is_organizer));const H=s?parseInt(s):30;const S=k&&k?.length>0?k:[{name:C?.name??this.currentUser?.name??C?.email??this.currentUser?.email??"",email:C?.email??this.currentUser?.email??"",is_organizer:true,availability:{calendar_ids:c?.length?c:["primary"],open_hours:[]},booking:{calendar_id:d&&d!==""?d:"primary"}}];const I={...this.selectedConfiguration?.id&&{id:this.selectedConfiguration.id},version:this.selectedConfiguration?.version??"1.0.0",availability:{duration_minutes:H,interval_minutes:m?.interval??H,round_to:m?.roundTo,availability_rules:{availability_method:this.selectedConfiguration?.availability?.availability_rules?.availability_method??"collective",buffer:f||{before:0,after:0},default_open_hours:o?.openHours??this.selectedConfiguration?.availability?.availability_rules?.default_open_hours??l,round_robin_group_id:this.selectedConfiguration?.availability?.availability_rules?.round_robin_group_id??""}},participants:[...S?.map((t=>{if(t.is_organizer){return{name:t.name??t.email,email:t.email,is_organizer:true,availability:{calendar_ids:c?.length?c:["primary"],open_hours:x?.[t.email]??t.availability?.open_hours??[]},booking:{calendar_id:d&&d!==""?d:"primary"}}}return{...t,availability:{calendar_ids:t.availability?.calendar_ids??["primary"],open_hours:x?.[t.email]??t.availability?.open_hours??[]}}}))],event_booking:{title:a?.toString()??"",description:i?.toString()??"",location:b?.toString()??"",booking_type:p?.toString()??"booking",timezone:o?.timezone??Intl.DateTimeFormat().resolvedOptions().timeZone},scheduler:{cancellation_policy:g??"",available_days_in_future:h??30,min_cancellation_notice:u??0,min_booking_notice:y??60,hide_additional_guests:_??false,hide_cancellation_options:v??false,hide_rescheduling_options:w??false}};const j=r(I,this.selectedConfiguration);const B=this.action==="create"?j:I;const L=t=>{this.isLoading=false;this.changesSaved=true;setTimeout((()=>{this.changesSaved=false}),5e3)};this.schedulerConfigChanged.emit({config:B,resetLoadingState:L,setError:this.setError,action:this.action})};this.calendars=undefined;this.selectedConfiguration=undefined;this.currentUser=undefined;this.schedulerPreviewLink="";this.mode="app";this.action="create";this.activeTab="eventInfo";this.isLoading=false;this.hasUnsavedChanges=false;this.changesSaved=false;this.formState={};this.error=""}configChangedHandler(t){o("[nylas-editor-tabs]","configChangedHandler",t,this.selectedConfiguration);this.formState={...this.getFormStateFromConfig(t)};if(t.id){this.action="edit"}else{this.action="create"}}connectedCallback(){o("[nylas-editor-tabs]","connectedCallback")}componentWillLoad(){o("[nylas-editor-tabs]","componentWillLoad");this.formState=this.getFormStateFromConfig(this.selectedConfiguration)}componentDidLoad(){o("[nylas-editor-tabs]","componentDidLoad")}disconnectedCallback(){o("[nylas-editor-tabs]","disconnectedCallback")}handleValueChanged(t){o("[nylas-editor-tabs]","handleValueChanged",t);const{name:e,value:n}=t.detail;this.setFormState(n,e);this.formState={...this.formState};this.hasUnsavedChanges=true;this.error=""}getFormStateFromConfig(t){const e=t?.participants?.find((t=>t.is_organizer));return{title:t?.event_booking?.title??"",description:t?.event_booking?.description??"",duration:t?.availability?.duration_minutes?.toString()??"30",availability:{timezone:t?.event_booking?.timezone??Intl.DateTimeFormat().resolvedOptions().timeZone,openHours:t?.availability?.availability_rules?.default_open_hours??l},calendarIds:e?.availability?.calendar_ids??[],participants:t?.participants??[],bookingCalendar:e?.booking?.calendar_id??e?.email??"",location:t?.event_booking?.location??"",bookingType:t?.event_booking?.booking_type??"booking",buffer:t?.availability?.availability_rules?.buffer??{before:0,after:0},cancellationPolicy:t?.scheduler?.cancellation_policy??"",availableDaysInFuture:t?.scheduler?.available_days_in_future??30,minCancellationNotice:t?.scheduler?.min_cancellation_notice??0,minBookingNotice:t?.scheduler?.min_booking_notice??60,timeslotInterval:{interval:t?.availability?.interval_minutes??t?.availability?.duration_minutes??10,roundTo:t?.availability?.round_to},additionalGuestsHidden:t?.scheduler?.hide_additional_guests??false,hideCancellationOptions:t?.scheduler?.hide_cancellation_options??false,hideReschedulingOptions:t?.scheduler?.hide_rescheduling_options??false}}setFormState(t,e){switch(e){case"title":this.formState.title=t.toString();break;case"description":this.formState.description=t.toString();break;case"duration":this.formState.duration=t.toString();break;case"availability":this.formState.availability=JSON.parse(t.toString());break;case"participants":this.formState.participants=JSON.parse(t.toString());break;case"calendars":this.formState.calendarIds=t.toString().split(",");break;case"booking-calendar":this.formState.bookingCalendar=t.toString();break;case"location":this.formState.location=t.toString();break;case"booking-type":this.formState.bookingType=t.toString();break;case"buffer-time":this.formState.buffer=JSON.parse(t.toString());break;case"limit-future-bookings":this.formState.availableDaysInFuture=parseInt(t.toString());break;case"min-cancellation-notice":this.formState.minCancellationNotice=parseInt(t.toString());break;case"min-booking-notice":this.formState.minBookingNotice=parseInt(t.toString());break;case"cancellation-policy":this.formState.cancellationPolicy=t.toString();break;case"timeslot-interval":this.formState.timeslotInterval=JSON.parse(t.toString());break;case"customize-booking-settings":const e=JSON.parse(t.toString());this.formState.additionalGuestsHidden=e.additionalGuestsHidden;this.formState.hideCancellationOptions=e.hideCancellationOptions;this.formState.hideReschedulingOptions=e.hideReschedulingOptions;break;case"participant-custom-availability":const n=JSON.parse(t.toString());this.formState.participantOpenHours=n;break}}updateFormState(){const t=new FormData(this.formRef);t.forEach(((t,e)=>{this.setFormState(t,e)}));this.formState={...this.formState};return this.formState}setActiveTab(t,e){t.preventDefault();this.updateFormState();this.activeTab=e}render(){o("[nylas-editor-tabs]","render",this.formState);const t=localStorage.getItem("nylas")==="Nylas Developer";return e(a,{key:"13aad28cba8de3b30e60d7a26849d30ef2578bb5"},e("form",{key:"31e835f74ca7728d597148a18c840e0791c34c89",onSubmit:this.formSubmissionHandler,class:"scheduler-editor",ref:t=>this.formRef=t,noValidate:true},this.mode==="app"?e("div",{class:"form-contents"},e("div",{class:"tabs"},e("button",{class:{tab:true,active:this.activeTab=="eventInfo"},onClick:t=>this.setActiveTab(t,"eventInfo")},e("calendar-info-icon",{width:"16",height:"16"}),"Event Info"),e("button",{class:{tab:true,active:this.activeTab=="availability"},onClick:t=>this.setActiveTab(t,"availability")},e("calendar-patterns-icon",{width:"16",height:"16"}),"Availability"),e("button",{class:{tab:true,active:this.activeTab=="bookingOptions"},onClick:t=>this.setActiveTab(t,"bookingOptions")},e("flow-icon",{width:"16",height:"16"}),"Booking Options"),t&&e("button",{class:{tab:true,active:this.activeTab=="participants"},onClick:t=>this.setActiveTab(t,"participants")},e("people-icon",{width:"16",height:"16"}),"Participants")),e("div",{class:"tab-content"},e(y,{formState:this.formState,activeTab:this.activeTab,calendars:this.calendars,id:this.selectedConfiguration?.id??"new"}))):e("slot",null),e("div",{key:"e83274ed2d92f179c90564a21f80ba869d1033a2",class:"footer"},e("div",{key:"c661b7a0c024f7b8f1c916b55bc5784a10ee9958",class:"preview"},this.schedulerPreviewLink!==""&&this.action==="edit"&&e("button-component",{type:"button",disabled:this.isLoading,clickHandler:t=>{t.preventDefault();const e=this.previewButtonClicked.emit(this.host);if(!e.defaultPrevented){window.open(c(this.schedulerPreviewLink,this.selectedConfiguration),"_blank")}},variant:"basic"},"Preview")),e("div",{key:"78cb89dbbb6e124aaddf9b486834e81ab10ea70a",class:"buttons"},e("p",{key:"e07f651a081607471d067aa05a3858446725a6db",class:{"unsaved-changes":this.hasUnsavedChanges&&!this.changesSaved,"saved-changes":this.changesSaved,error:this.error!=="","error-full-width":this.error!==""&&this.action==="create"}},this.error!==""?this.error:"",this.error==""&&this.hasUnsavedChanges&&!this.changesSaved?"Unsaved changes":this.error==""&&this.changesSaved?"Changes saved!":""),e("button-component",{key:"66500ec7f10c2a5ecb6d98647766e2f31f030fe4",type:"button",disabled:this.isLoading,clickHandler:t=>{t.preventDefault();this.cancelButtonClick.emit();this.error=""},variant:"basic"},"Cancel"),e("button-component",{key:"a816e4c9d7d1f53e09edf635f06c9a177bdcb15a",type:"submit",disabled:this.isLoading},this.isLoading?e("span",null,"Saving",e("loading-icon",null)," "):this.action=="create"?"Create":"Save changes")))))}get host(){return i(this)}static get watchers(){return{selectedConfiguration:["configChangedHandler"]}}};_([s({name:"nylas-editor-tabs",stateToProps:new Map([["schedulerConfig.calendars","calendars"],["schedulerConfig.selectedConfiguration","selectedConfiguration"],["schedulerConfig.currentUser","currentUser"]]),eventToProps:{schedulerConfigChanged:async(t,e)=>{const{resetLoadingState:n,setError:a,action:i,config:s}=t.detail;const o=e=>{const[i,s]=e;if(!i&&s&&a){a(s)}if(n){n(t)}};if(i==="edit"){const t=await e.schedulerConfig.updateConfiguration(s);o(t)}else{const t=await e.schedulerConfig.createConfiguration(s);o(t)}},cancelButtonClick:async(t,e)=>{e.schedulerConfigStore.state.action=null},previewButtonClicked:async(t,e)=>{o("[nylas-editor-tabs]","previewButtonClicked",e)},formSubmitted:async(t,e)=>{o("[nylas-editor-tabs]","formSubmitted",e)}},localPropsToProp:new Map([["schedulerPreviewLink","schedulerPreviewLink"]]),fireRegisterEvent:true}),v("design:type",Function),v("design:paramtypes",[]),v("design:returntype",void 0)],w.prototype,"render",null);w.style=m;const k=':host{display:grid;grid-auto-flow:row;width:100%;font-family:inherit;font-optical-sizing:auto;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem}@media screen and (max-width: 768px){.header{flex-direction:column;gap:0.5rem;align-items:unset}}.header h2{margin:0;font-size:1.25rem;color:var(--nylas-base-900);font-weight:600}.header p{margin:0;font-size:1rem;color:var(--nylas-base-700)}.header .actions{justify-self:end}@media screen and (max-width: 768px){.header .actions{width:100%}}.configurations{border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);background:var(--nylas-base-0);height:100%;display:flex;overflow-y:auto}.configurations table{width:100%;border-spacing:0;border-collapse:collapse;font-family:inherit;height:max-content}.configurations table.no-configurations{height:100%}.configurations table tr{color:var(--nylas-base-800);border-bottom:1px solid var(--nylas-base-200);font-family:inherit}.configurations table tr:last-of-type{border-bottom:0}.configurations table tr.hide{display:none}.configurations table th{font-weight:600;text-transform:uppercase;font-size:14px;line-height:20px}.configurations table th.actions-header{text-align:right}.configurations table tr.no-configurations td>div{display:flex;height:100%;justify-content:center;align-items:center;flex-direction:column;padding:var(--nylas-border-radius-3x)}.configurations table tr.no-configurations td>div h3{margin:0 0 1rem 0;color:var(--nylas-base-700)}.configurations table tr.no-configurations td>div p{margin:0 0 1rem 0;color:var(--nylas-base-600)}.configurations table tr.no-configurations td>div calendar-icon{margin-bottom:1rem;color:var(--nylas-base-200)}.configurations table th,.configurations table td{text-align:left;padding:1rem;font-family:inherit}.configurations table .actions{text-align:right}.configurations table .actions{display:flex;justify-content:flex-end;gap:1rem}@media screen and (max-width: 768px){.configurations table .actions{flex-direction:column;gap:0.5rem}}.configurations table .title{display:flex;flex-direction:column}.configurations table .title .config-event-title{font-weight:600}.configurations table .title .config-event-description{font-size:0.75rem}.error-container{margin-top:1.5rem}.error-container .error{color:var(--nylas-error);padding:0.5rem 0;margin:1rem 0 0}button-component#copy button{width:108px}';const x=k;var C=undefined&&undefined.__decorate||function(t,e,n,a){var i=arguments.length,s=i<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,n):a,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")s=Reflect.decorate(t,e,n,a);else for(var r=t.length-1;r>=0;r--)if(o=t[r])s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s;return i>3&&s&&Object.defineProperty(e,n,s),s};var H=undefined&&undefined.__metadata||function(t,e){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(t,e)};const S=class{constructor(e){t(this,e);this.initListConfigurations=n(this,"initListConfigurations",7);this.createButtonClick=n(this,"createButtonClick",7);this.editButtonClick=n(this,"editButtonClick",7);this.deleteButtonClick=n(this,"deleteButtonClick",7);this.configurations=[];this.schedulerPreviewLink="";this.state="loading";this.error="";this.copiedButtonIndex=-1}connectedCallback(){o("[nylas-list-configurations]","connectedCallback")}componentWillLoad(){o("[nylas-list-configurations]","componentWillLoad");if(this.configurations&&this.configurations.length>0){this.state="loaded"}}componentDidLoad(){o("[nylas-list-configurations]","componentDidLoad");this.initListConfigurations.emit(this.host)}disconnectedCallback(){o("[nylas-list-configurations]","disconnectedCallback")}async getState(){return this.state}async setState(t){this.state=t}async setError(t){this.error=t}getDurationString(t){const e=Math.floor(t/60);const n=t%60;return`${e?e:""} ${e?`${e>1?"hours":"hour"}`:""} ${n?n:""} ${n?`${n>1?"mins":"min"}`:""}`}render(){return e(a,null,e("div",{class:"header"},e("div",{class:"description"},e("h2",null,"All scheduling pages"),e("p",null,"Create, edit and manage all your scheduling pages.")),this.configurations&&this.configurations.length>0&&e("div",{class:"actions"},e("button-component",{clickHandler:()=>{this.createButtonClick.emit(this.host)}},"Create new"))),e("div",{class:"configurations"},e("table",{class:{"no-configurations":this.state!=="loading"&&(!this.configurations||this.configurations.length===0)}},e("tr",{class:{hide:this.state==="loading"||this.configurations&&this.configurations.length===0}},e("th",null,"Scheduling page title"),e("th",null,"Duration"),e("th",{class:"actions-header"},"Actions")),this.state==="loading"&&e("tr",{class:"no-configurations"},e("td",{colSpan:3},e("div",null,e("h3",null,"Loading..."),e("p",null,"Please wait while we fetch the scheduling pages")))),this.state!=="loading"&&(!this.configurations||this.configurations.length===0)&&e("tr",{class:"no-configurations"},e("td",{colSpan:3},e("div",null,e("calendar-icon",{width:"48",height:"48"}),e("h3",null,"No scheduling pages found"),e("p",null,"Get started with creating your first scheduling page"),e("button-component",{clickHandler:()=>{this.createButtonClick.emit(this.host)}},"Create new")))),this.state!=="loading"&&this.configurations.map(((t,n)=>e("tr",{key:t.id},e("td",null,e("div",{class:"title"},e("span",{class:"config-event-title"},t.event_booking.title),e("span",{class:"config-event-description"},t.event_booking.description))),e("td",null,e("div",null,this.getDurationString(t.availability.duration_minutes))),e("td",null,e("div",{class:"actions"},e("button-component",{variant:"basic",id:"copy",key:`copy-${n}`,clickHandler:async e=>{e.preventDefault();const a=c(this.schedulerPreviewLink,t);await navigator.clipboard.writeText(a);this.copiedButtonIndex=n;setTimeout((()=>{this.copiedButtonIndex=-1}),3e3)}},this.copiedButtonIndex===n?"Copied!":"Copy link"),e("button-component",{variant:"basic",key:`edit-${n}`,clickHandler:e=>{e.preventDefault();this.editButtonClick.emit({host:this.host,configuration:t})}},"Edit"),e("button-component",{variant:"basic",key:`delete-${n}`,clickHandler:e=>{e.preventDefault();this.deleteButtonClick.emit({host:this.host,configuration:t})}},"Delete")))))))),this.state==="error"&&e("div",{class:"error-container"},e("p",{class:"error"},this.error)))}get host(){return i(this)}};C([s({name:"nylas-list-configurations",stateToProps:new Map([["schedulerConfig.configurations","configurations"]]),localPropsToProp:new Map([["schedulerPreviewLink","schedulerPreviewLink"]]),eventToProps:{initListConfigurations:async(t,e)=>{const n=t.detail;await n.setState("loading");const[a,i]=await e.schedulerConfig.getConfigurations();if(!a&&i&&i.message){await n.setState("error");await n.setError(i.message);return}await n.setState("loaded")},createButtonClick:async(t,e)=>{e.schedulerConfigStore.resetSelectedConfiguration();e.schedulerConfigStore.state.action="create"},deleteButtonClick:async(t,e)=>{const{host:n,configuration:a}=t.detail;const[i,s]=await e.schedulerConfig.deleteConfiguration(a.id);if(!i&&s&&s.message){await n.setState("error");await n.setError(s.message)}},editButtonClick:async(t,e)=>{const{configuration:n}=t.detail;e.schedulerConfigStore.state.selectedConfiguration=n;e.schedulerConfigStore.state.action="edit"}},fireRegisterEvent:true}),H("design:type",Function),H("design:paramtypes",[]),H("design:returntype",void 0)],S.prototype,"render",null);S.style=x;export{p as google_logo_icon,u as microsoft_logo_icon,w as nylas_editor_tabs,S as nylas_list_configurations};
2
+ //# sourceMappingURL=p-0d98c728.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["iconCss","GoogleLogoIconStyle0","GoogleLogoIcon","render","h","key","width","this","height","viewBox","fill","xmlns","d","id","MicrosoftLogoIconStyle0","MicrosoftLogoIcon","TabContents","formState","activeTab","calendars","eventTitle","title","eventDescription","description","eventDuration","parseInt","duration","location","slot","name","exportparts","eventDurationMinutes","eventLocation","openHours","availability","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","organizer","participants","find","p","is_organizer","organizerEmail","email","selectedCalendars","calendarIds","length","bookingCalendar","defaultBookingCalendar","defaultSelectedCalendars","defaultTimezone","buffer","minBookingNotice","availableDaysInFuture","minCancellationNotice","cancellationPolicy","eventParticipants","nylasEditorTabsCss","NylasEditorTabsStyle0","NylasEditorTabs","setError","error","message","formSubmissionHandler","async","event","preventDefault","formSubmitted","emit","valid","formRef","checkValidity","isLoading","hasUnsavedChanges","updateFormState","bookingType","timeslotInterval","additionalGuestsHidden","hideCancellationOptions","hideReschedulingOptions","participantOpenHours","selectedConfiguration","durationMinutes","participantsList","currentUser","calendar_ids","open_hours","booking","calendar_id","configObject","version","duration_minutes","interval_minutes","interval","round_to","roundTo","availability_rules","availability_method","before","after","default_open_hours","DEFAULT_OPEN_HOURS","round_robin_group_id","map","event_booking","toString","booking_type","scheduler","cancellation_policy","available_days_in_future","min_cancellation_notice","min_booking_notice","hide_additional_guests","hide_cancellation_options","hide_rescheduling_options","configObjectWithDeveloperSettings","mergeDeep","finalConfig","action","resetLoadingState","_e","changesSaved","setTimeout","schedulerConfigChanged","config","configChangedHandler","newConfig","debug","getFormStateFromConfig","connectedCallback","componentWillLoad","componentDidLoad","disconnectedCallback","handleValueChanged","value","detail","setFormState","organizerParticipant","JSON","parse","split","settings","formData","FormData","forEach","setActiveTab","e","tabName","showParticipantsTab","localStorage","getItem","Host","onSubmit","class","ref","el","noValidate","mode","tab","active","onClick","schedulerPreviewLink","type","disabled","clickHandler","previewEvent","previewButtonClicked","host","defaultPrevented","window","open","parsePreviewLink","variant","cancelButtonClick","__decorate","RegisterComponent","stateToProps","Map","eventToProps","nylasSchedulerConfigConnector","checkForErrors","response","data","schedulerConfig","updateConfiguration","createConfiguration","_","schedulerConfigStore","state","localPropsToProp","fireRegisterEvent","nylasListConfigurationsCss","NylasListConfigurationsStyle0","NylasListConfigurations","configurations","initListConfigurations","getState","setState","getDurationString","hours","Math","floor","minutes","createButtonClick","hide","colSpan","i","link","navigator","clipboard","writeText","copiedButtonIndex","editButtonClick","configuration","deleteButtonClick","connector","getConfigurations","resetSelectedConfiguration","deleteConfiguration"],"sources":["src/common/icons/icon.css?tag=google-logo-icon&encapsulation=scoped","src/common/icons/google-logo.tsx","src/common/icons/icon.css?tag=microsoft-logo-icon&encapsulation=scoped","src/common/icons/microsoft-logo.tsx","src/components/scheduler-editor/nylas-editor-tabs/tab-contents.tsx","src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.scss?tag=nylas-editor-tabs&encapsulation=scoped","src/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.tsx","src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.scss?tag=nylas-list-configurations&encapsulation=shadow","src/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'google-logo-icon',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class GoogleLogoIcon {\n @Prop() width: string = '24';\n @Prop() height: string = '24';\n\n render() {\n // Spam icon svg\n return (\n <svg width={this.width} height={this.height} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_959_12452)\">\n <path\n d=\"M23.745 12.27C23.745 11.48 23.675 10.73 23.555 10H12.255V14.51H18.725C18.435 15.99 17.585 17.24 16.325 18.09V21.09H20.185C22.445 19 23.745 15.92 23.745 12.27Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M12.255 24C15.495 24 18.205 22.92 20.185 21.09L16.325 18.09C15.245 18.81 13.875 19.25 12.255 19.25C9.12504 19.25 6.47505 17.14 5.52505 14.29H1.54504V17.38C3.51504 21.3 7.56504 24 12.255 24Z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M5.52501 14.2901C5.27501 13.5701 5.145 12.8001 5.145 12.0001C5.145 11.2001 5.28501 10.4301 5.52501 9.71012V6.62012H1.545C0.725004 8.24012 0.255005 10.0601 0.255005 12.0001C0.255005 13.9401 0.725004 15.7601 1.545 17.3801L5.52501 14.2901Z\"\n fill=\"#FBBC05\"\n />\n <path\n d=\"M12.255 4.75C14.025 4.75 15.605 5.36 16.855 6.55L20.275 3.13C18.205 1.19 15.495 0 12.255 0C7.56504 0 3.51504 2.7 1.54504 6.62L5.52505 9.71C6.47505 6.86 9.12504 4.75 12.255 4.75Z\"\n fill=\"#EA4335\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_959_12452\">\n <rect width={24} height={24} fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n }\n}\n",":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'microsoft-logo-icon',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class MicrosoftLogoIcon {\n @Prop() width: string = '22';\n @Prop() height: string = '22';\n\n render() {\n // Spam icon svg\n return (\n <svg width={this.width} height={this.height} viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0.043457 0.043457H10.4782V10.4782H0.043457V0.043457Z\" fill=\"#F35325\" />\n <path d=\"M11.5217 0.043457H21.9565V10.4782H11.5217V0.043457Z\" fill=\"#81BC06\" />\n <path d=\"M0.043457 11.5217H10.4782V21.9565H0.043457V11.5217Z\" fill=\"#05A6F0\" />\n <path d=\"M11.5217 11.5217H21.9565V21.9565H11.5217V11.5217Z\" fill=\"#FFBA08\" />\n </svg>\n );\n }\n}\n","import { h } from '@stencil/core';\n\nexport type TabContentsProps = {\n id: string;\n formState: any;\n activeTab: string;\n calendars?: any[];\n};\n\nexport default function TabContents({ id, formState, activeTab, calendars }: TabContentsProps) {\n switch (activeTab) {\n case 'eventInfo':\n const eventTitle = formState.title;\n const eventDescription = formState.description;\n const eventDuration = parseInt(formState.duration);\n const location = formState.location;\n\n return (\n <div key={id}>\n <nylas-event-info>\n <div slot=\"inputs\">\n <nylas-event-title name=\"title\" eventTitle={eventTitle} exportparts=\"net, net__title, net__dropdown-content\" />\n <nylas-event-duration\n name=\"duration\"\n eventDurationMinutes={eventDuration}\n exportparts=\"ned, ned__dropdown, ned__dropdown-button, ned__dropdown-content, ned__input_dropdown, ned__input_dropdown-input, ned__input_dropdown-content\"\n />\n <nylas-event-location name=\"location\" eventLocation={location} exportparts=\"nel, nel__location, nel__dropdown, nel__dropdown-button, nel__dropdown-content\" />\n <nylas-event-description name=\"description\" eventDescription={eventDescription} exportparts=\"nedesc, nedesc__textarea\" />\n </div>\n </nylas-event-info>\n </div>\n );\n case 'availability':\n const openHours = formState.availability.openHours;\n const timezone = formState.availability.timezone ? formState.availability.timezone : Intl.DateTimeFormat().resolvedOptions().timeZone;\n const organizer = formState.participants?.find(p => p.is_organizer);\n const organizerEmail = organizer?.email ?? 'primary';\n const selectedCalendars = formState.calendarIds.length > 0 ? formState.calendarIds : [organizerEmail];\n const bookingCalendar = formState.bookingCalendar == 'primary' ? organizerEmail : formState.bookingCalendar;\n return (\n <div key={id}>\n <nylas-booking-calendar-picker\n name=\"booking-calendar\"\n calendars={calendars ?? []}\n defaultBookingCalendar={bookingCalendar}\n exportparts={'nbcp, nbcp__header, nbcp__input-label, nbcp__dropdown, nbcp__dropdown-button, nbcp__dropdown-content'}\n />\n <nylas-calendar-picker\n name=\"calendars\"\n calendars={calendars ?? []}\n defaultSelectedCalendars={selectedCalendars}\n exportparts={'ncp ncp__header, ncp__dropdown, ncp__dropdown-button, ncp__dropdown-content'}\n />\n <nylas-availability-picker\n name=\"availability\"\n openHours={openHours}\n defaultTimezone={timezone}\n exportparts={\n 'nap__header, nap__select-timezone, nap__select-timezone-button, nap__select-timezone-dropdown-content, nap__availability, nap__day, nap__time-ranges, nap__time-range, nap__add-time-range, nap__time-picker-container, nap__time-picker-input, nap__time-picker-times'\n }\n />\n </div>\n );\n case 'bookingOptions':\n return (\n <div key={id}>\n <nylas-buffer-time\n name=\"buffer-time\"\n buffer={formState.buffer}\n exportparts={\n 'nbt, nbt__header, nbt__body, nbt__dropdown-before, nbt__dropdown-button-before, nbt__dropdown-content-before, nbt__dropdown-after, nbt__dropdown-button-after, nbt__dropdown-content-after, nbt__preview'\n }\n />\n {/* <nylas-custom-booking-flow\n name=\"booking-type\"\n bookingType={formState.bookingType}\n exportparts={'ncbf, ncbf__header, ncbf__dropdown, ncbf__dropdown-button, ncbf__dropdown-content'}\n /> */}\n <nylas-event-limits>\n <div slot=\"inputs\">\n <nylas-min-booking-notice\n name=\"min-booking-notice\"\n minBookingNotice={formState.minBookingNotice}\n exportparts=\"nmbn, nmbn__number-dropdown, nmbn__number-dropdown-button, nmbn__number-dropdown-content, nmbn__period-dropdown, nmbn__period-dropdown-button, nmbn__period-dropdown-content\"\n />\n <nylas-limit-future-bookings\n name=\"limit-future-bookings\"\n availableDaysInFuture={formState.availableDaysInFuture}\n exportparts=\"nlfb, nlfb__number-dropdown, nlfb__number-dropdown-button, nlfb__number-dropdown-content, nlfb__period-dropdown, nlfb__period-dropdown-button, nlfb__period-dropdown-content\"\n />\n <nylas-min-cancellation-notice\n name=\"min-cancellation-notice\"\n minCancellationNotice={formState.minCancellationNotice}\n exportparts=\"nmcn, nmcn__number-dropdown, nmcn__number-dropdown-button, nmcn__number-dropdown-content, nmcn__period-dropdown, nmcn__period-dropdown-button, nmcn__period-dropdown-content\"\n />\n <nylas-cancellation-policy name=\"cancellation-policy\" cancellationPolicy={formState.cancellationPolicy} exportparts=\"ncpolicy, ncpolicy__textarea\" />\n </div>\n </nylas-event-limits>\n <nylas-timeslot-interval\n name=\"timeslot-interval\"\n eventDurationMinutes={parseInt(formState.duration)}\n exportparts=\"nti, nti__header, nti__input-label, nti__dropdown, nti__dropdown-button, nti__dropdown-content\"\n />\n <nylas-customize-booking-settings\n name=\"customize-booking-settings\"\n exportparts=\"ncbs, ncbs__header, ncbs__settings, ncbs__settings-div, ncbs__additional_guests, ncbs__cancellation_options, ncbs__rescheduling_options\"\n />\n </div>\n );\n case 'participants':\n return (\n <div key={id}>\n <nylas-additional-participants\n name=\"participants\"\n eventParticipants={formState.participants}\n exportparts=\"nap__title, nap__subtitle, nap__content, nap__input_group, nap__input_wrapper, nap__input, nap__remove-participant\"\n />\n <nylas-participants-custom-availability\n name=\"participant-custom-availability\"\n participants={formState.participants}\n exportparts=\"npca, npca__header, npca__content, npca__participant-container, npca__participant-title, npca__participant-toggle--container, npca__toggle-label, npca__toggle-input, npca__toggle-slider\"\n />\n </div>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n@import '../../../common/mixins/buttons.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.scheduler-editor {\n display: flex;\n flex-direction: column;\n .form-contents {\n height: 554px;\n display: grid;\n grid-template-columns: minmax(224px, 25%) 1fr;\n @media #{$mobile} {\n display: table-column-group;\n height: auto;\n }\n .tabs {\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--nylas-base-200);\n background-color: var(--nylas-base-25);\n .tab {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.5rem 1rem;\n color: var(--nylas-base-900);\n background: var(--nylas-base-0);\n border: none;\n height: 56px;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n font-weight: 500;\n line-height: 24px;\n cursor: pointer;\n &:not(:first-of-type) {\n margin-top: 0.25rem;\n }\n &.active {\n font-weight: 600;\n background: var(--nylas-base-0);\n color: var(--nylas-primary);\n border-left: 4px solid var(--nylas-primary);\n box-shadow: 0px 1px 2px 0px #0000000f;\n box-shadow: 0px 1px 3px 0px #0000001a;\n }\n }\n }\n .tab-content {\n max-width: 692px;\n overflow-y: auto;\n nylas-event-info,\n nylas-event-limits {\n width: inherit;\n div[slot='inputs'] {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n }\n }\n }\n}\n\n.footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n min-height: 80px;\n padding: 0 1rem;\n border-top: 1px solid var(--nylas-base-200);\n @media #{$mobile} {\n flex-direction: column;\n height: auto;\n }\n .preview {\n @media #{$mobile} {\n margin-top: 1rem;\n width: 100%;\n }\n }\n .buttons {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n justify-self: flex-end;\n gap: 1rem;\n @media #{$mobile} {\n flex-direction: column-reverse;\n width: 100%;\n }\n p {\n max-width: 524px;\n &.unsaved-changes {\n color: var(--nylas-base-600);\n }\n &.saved-changes {\n color: var(--nylas-success);\n }\n &.error {\n color: var(--nylas-error);\n }\n &.error-full-width {\n max-width: 660px;\n }\n }\n\n button-component {\n @media #{$mobile} {\n width: 100%;\n }\n }\n button {\n @include primary-button;\n width: 148px;\n span {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n }\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, mergeDeep, parsePreviewLink } from '@/utils/utils';\nimport { BookingType, Calendar, Configuration, OpenHours, Participant } from '@nylas/core';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport TabContents from './tab-contents';\nimport { User } from '@/common/nylas-api-request';\nimport { DEFAULT_OPEN_HOURS } from '@/common/constants';\nimport { DataResponseReturnType } from '@/common/types';\n\ntype SchedulerEventDetail = {\n config: Partial<Configuration>;\n action: 'create' | 'edit';\n resetLoadingState?: (e: CustomEvent) => void;\n setError?: (error: Error) => void;\n};\n\n/**\n * The `nylas-editor-tabs` component is a UI component that displays the editor tabs for the scheduler editor.\n * @part nap__title - [nylas-additional-participants] The title of the component.\n * @part nap__subtitle - [nylas-additional-participants] The subtitle of the component.\n * @part nap__content - [nylas-additional-participants] The content of the component.\n * @part nap__input - [nylas-additional-participants] The input of the component.\n * @part nap__remove-participant - [nylas-additional-participants] The remove participant button of the component.\n * @part nap__add-participant - [nylas-additional-participants] The add participant button of the component.\n * @part nap__header - [nylas-availability-picker] The header of the availability picker\n * @part nap__select-timezone - [nylas-availability-picker] The timezone selection container\n * @part nap__select-timezone-button -[nylas-availability-picker] The timezone selection button\n * @part nap__select-timezone-dropdown-content -[nylas-availability-picker] The timezone selection dropdown content\n * @part nap__availability - [nylas-availability-picker] The availability container\n * @part nap__day - [nylas-availability-picker] The day container\n * @part nap__time-ranges - [nylas-availability-picker] The time ranges container\n * @part nap__time-range - [nylas-availability-picker] The time range container\n * @part nap__add-time-range - [nylas-availability-picker] The add time range button\n * @part nap__time-picker-container -[nylas-availability-picker] The time picker container\n * @part nap__time-picker-input - [nylas-availability-picker] The time picker input\n * @part nap__time-picker-times - [nylas-availability-picker] The time picker times\n * @part nbcp - [nylas-booking-calendar-picker] The booking calendar picker container\n * @part nbcp__header - [nylas-booking-calendar-picker] The header of the booking calendar picker\n * @part nbcp__input-label - [nylas-booking-calendar-picker] The input label of the booking calendar picker\n * @part nbcp__dropdown - [nylas-booking-calendar-picker] The dropdown container\n * @part nbcp__dropdown-button - [nylas-booking-calendar-picker] The dropdown button\n * @part nbcp__dropdown-content - [nylas-booking-calendar-picker] The dropdown content\n * @part nbt - [nylas-buffer-time] The buffer time container\n * @part nbt__header - [nylas-buffer-time] The header of the buffer time\n * @part nbt__body - [nylas-buffer-time] The body of the buffer time\n * @part nbt__dropdown-before - [nylas-buffer-time] The before buffer dropdown container\n * @part nbt__dropdown-button-before - [nylas-buffer-time] The before buffer dropdown button\n * @part nbt__dropdown-content-before - [nylas-buffer-time] The before buffer dropdown content\n * @part nbt__dropdown-after - [nylas-buffer-time] The after buffer dropdown container\n * @part nbt__dropdown-button-after - [nylas-buffer-time] The after buffer dropdown button\n * @part nbt__dropdown-content-after - [nylas-buffer-time] The after buffer dropdown content\n * @part nbt__preview - [nylas-buffer-time] The buffer time preview\n * @part ncp - [nylas-calendar-picker] The calendar picker container\n * @part ncp__header - [nylas-calendar-picker] The header of the calendar picker\n * @part ncp__dropdown - [nylas-calendar-picker] The dropdown container\n * @part ncp__dropdown-button - [nylas-calendar-picker] The dropdown button\n * @part ncp__dropdown-content - [nylas-calendar-picker] The dropdown content\n * @part ncbf - [nylas-custom-booking-flow] The custom booking flow container\n * @part ncbf__header - [nylas-custom-booking-flow] The header of the custom booking flow\n * @part ncbf__dropdown - [nylas-custom-booking-flow] The dropdown container\n * @part ncbf__dropdown-button - [nylas-custom-booking-flow] The dropdown button\n * @part ncbf__dropdown-content - [nylas-custom-booking-flow] The dropdown content\n * @part nedesc - [nylas-event-description] The event description container\n * @part nedesc__textarea - [nylas-event-description] The event description textarea\n * @part ned - [nylas-event-duration] The event duration container\n * @part ned__dropdown - [nylas-event-duration] The dropdown container for the duration increment\n * @part ned__dropdown-button - [nylas-event-duration] The dropdown button for the duration increment\n * @part ned__dropdown-content - [nylas-event-duration] The dropdown content for the duration increment\n * @part ned__input_dropdown - [nylas-event-duration] The input dropdown container for the duration minutes\n * @part ned__input_dropdown-input - [nylas-event-duration] The input for the duration minutes\n * @part ned__input_dropdown-content - [nylas-event-duration] The dropdown content for the input duration minutes\n * @part net - [nylas-event-title] The event title container\n * @part net__title - [nylas-event-title] The event title input\n * @part net__dropdown-content - [nylas-event-title] The token options container\n * @part nlfb - [nylas-limit-future-bookings] The limit future bookings container\n * @part nlfb__number-dropdown - [nylas-limit-future-bookings] The number dropdown container\n * @part nlfb__number-dropdown-button - [nylas-limit-future-bookings] The number dropdown button\n * @part nlfb__number-dropdown-content - [nylas-limit-future-bookings] The number dropdown content\n * @part nlfb__period-dropdown - [nylas-limit-future-bookings] The period dropdown container\n * @part nlfb__period-dropdown-button - [nylas-limit-future-bookings] The period dropdown button\n * @part nlfb__period-dropdown-content - [nylas-limit-future-bookings] The period dropdown content\n * @part nel - [nylas-event-location] The event location container\n * @part nel__location - [nylas-event-location] The event location input\n * @part nel__dropdown - [nylas-event-location] The dropdown container\n * @part nel__dropdown-button - [nylas-event-location] The dropdown button\n * @part nel__dropdown-content - [nylas-event-location] The dropdown content\n * @part nmbn - [nylas-min-booking-notice] The minimum booking notice container\n * @part nmbn__number-dropdown - [nylas-min-booking-notice] The number dropdown container\n * @part nmbn__number-dropdown-button - [nylas-min-booking-notice] The number dropdown button\n * @part nmbn__number-dropdown-content -[nylas-min-booking-notice] The number dropdown content\n * @part nmbn__period-dropdown - [nylas-min-booking-notice] The period dropdown container\n * @part nmbn__period-dropdown-button - [nylas-min-booking-notice] The period dropdown button\n * @part nmbn__period-dropdown-content - [nylas-min-booking-notice] The period dropdown content\n * @part nmcn - [nylas-min-cancellation-notice] The minimum cancellation notice container\n * @part nmcn__number-dropdown - [nylas-min-cancellation-notice] The number dropdown container\n * @part nmcn__number-dropdown-button - [nylas-min-cancellation-notice] The number dropdown button\n * @part nmcn__number-dropdown-content - [nylas-min-cancellation-notice] The number dropdown content\n * @part nmcn__period-dropdown - [nylas-min-cancellation-notice] The period dropdown container\n * @part nmcn__period-dropdown-button - [nylas-min-cancellation-notice] The period dropdown button\n * @part nmcn__period-dropdown-content - [nylas-min-cancellation-notice] The period dropdown content\n * @part ncpolicy - [nylas-cancellation-policy] The cancellation policy container\n * @part ncpolicy__textarea - [nylas-cancellation-policy] The cancellation policy textarea\n * @part nti - [nylas-timeslot-interval] The timeslot interval container\n * @part nti__header - [nylas-timeslot-interval] The header of the timeslot interval picker\n * @part nti__input-label - [nylas-timeslot-interval] The input label of the timeslot interval picker\n * @part nti__dropdown - [nylas-timeslot-interval] The dropdown container\n * @part nti__dropdown-button - [nylas-timeslot-interval] The dropdown button\n * @part nti__dropdown-content - [nylas-timeslot-interval] The dropdown content\n * @part npca - [nylas-participants-custom-availability] The participants custom availability container\n * @part npca__header - [nylas-participants-custom-availability] The header of the participants custom availability\n * @part npca__content - [nylas-participants-custom-availability] The content of the participants custom availability\n * @part npca__participant-container - [nylas-participants-custom-availability] The participant container\n * @part npca__participant-title - [nylas-participants-custom-availability] The participant title\n * @part npca__participant-toggle--container - [nylas-participants-custom-availability] The participant toggle container\n * @part npca__toggle-label - [nylas-participants-custom-availability] The toggle label\n * @part npca__toggle-input - [nylas-participants-custom-availability] The toggle input\n * @part npca__toggle-slider - [nylas-participants-custom-availability] The toggle slider\n * @part ncbs - [nylas-customize-booking-settings] The booking calendar picker container\n * @part ncbs__header - [nylas-customize-booking-settings] The header of the booking calendar picker\n * @part ncbs__settings - [nylas-customize-booking-settings] The settings container\n * @part ncbs__settings-div - [nylas-customize-booking-settings] The div inside the settings container that contains the checkbox and tooltip for each setting\n * @part ncbs__additional_guests - [nylas-customize-booking-settings] The additional guests setting\n * @part ncbs__cancellation_options - [nylas-customize-booking-settings] The cancellation options setting\n * @part ncbs__rescheduling_options - [nylas-customize-booking-settings] The rescheduling options setting\n */\n@Component({\n tag: 'nylas-editor-tabs',\n styleUrl: 'nylas-editor-tabs.scss',\n scoped: true,\n})\nexport class NylasEditorTabs {\n /**\n * The form reference to access the form data.\n */\n private formRef!: HTMLFormElement;\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasEditorTabsElement;\n /**\n * The list of calendars to use in the editor when configuring availability.\n */\n @Prop() calendars?: Calendar[];\n /**\n * The selected configuration to use in the editor when editing an existing configuration or creating a new one.\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * The current logged in user.\n */\n @Prop() currentUser?: User;\n /**\n * The scheduler preview link to use when the user clicks on the preview button.\n * You can use a placeholder `{config.id}` to replace the configuration id anywhere in the link.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n /**\n * The mode of the editor.\n * - `app`: The editor is used as a standalone app.\n * - `composable`: The editor is used as a composable component.\n */\n @Prop() mode?: 'app' | 'composable' = 'app';\n /**\n * The action to perform in the editor.\n * - `create`: Create a new configuration.\n * - `edit`: Edit an existing configuration.\n */\n @State() action: 'create' | 'edit' = 'create';\n /**\n * The active tab in the editor.\n */\n @State() activeTab: string = 'eventInfo';\n /**\n * The loading state of the editor.\n */\n @State() isLoading: boolean = false;\n /**\n * The unsaved changes state of the editor.\n */\n @State() hasUnsavedChanges: boolean = false;\n /**\n * The changes saved state of the editor.\n */\n @State() changesSaved: boolean = false;\n /**\n * The form state of the editor.\n */\n @State() formState: Partial<{\n title: string;\n description: string;\n duration: string;\n availability?: {\n timezone: string;\n openHours?: OpenHours[];\n };\n calendarIds: string[];\n participants?: Participant[];\n participantOpenHours?: { [key: string]: OpenHours[] };\n bookingCalendar?: string;\n location?: string;\n bookingType?: string;\n buffer?: { before: number; after: number };\n cancellationPolicy?: string;\n availableDaysInFuture?: number;\n minCancellationNotice?: number;\n minBookingNotice?: number;\n timeslotInterval?: {\n interval: number;\n roundTo?: number;\n };\n additionalGuestsHidden?: boolean;\n hideCancellationOptions?: boolean;\n hideReschedulingOptions?: boolean;\n }> = {};\n /**\n * The error state of the editor.\n */\n @State() error?: string = '';\n /**\n * Event emitted when the configuration is changed. This fires for both create and edit actions.\n */\n @Event() schedulerConfigChanged!: EventEmitter<SchedulerEventDetail>;\n /**\n * Event emitted when the user clicks the cancel button.\n */\n @Event() cancelButtonClick!: EventEmitter<void>;\n /**\n * Event emitted on form submission.\n */\n @Event() formSubmitted!: EventEmitter<void>;\n /**\n * Event emitted when the user clicks the preview button.\n */\n @Event() previewButtonClicked!: EventEmitter<HTMLNylasEditorTabsElement>;\n\n @Watch('selectedConfiguration')\n configChangedHandler(newConfig: Configuration) {\n debug('[nylas-editor-tabs]', 'configChangedHandler', newConfig, this.selectedConfiguration);\n this.formState = {\n ...this.getFormStateFromConfig(newConfig),\n };\n\n if (newConfig.id) {\n this.action = 'edit';\n } else {\n this.action = 'create';\n }\n }\n\n connectedCallback() {\n debug('[nylas-editor-tabs]', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('[nylas-editor-tabs]', 'componentWillLoad');\n this.formState = this.getFormStateFromConfig(this.selectedConfiguration);\n }\n\n componentDidLoad() {\n debug('[nylas-editor-tabs]', 'componentDidLoad');\n }\n\n disconnectedCallback() {\n debug('[nylas-editor-tabs]', 'disconnectedCallback');\n }\n\n @Listen('valueChanged')\n handleValueChanged(event: CustomEvent) {\n debug('[nylas-editor-tabs]', 'handleValueChanged', event);\n const { name, value } = event.detail;\n this.setFormState(value, name);\n this.formState = { ...this.formState };\n this.hasUnsavedChanges = true;\n this.error = '';\n }\n\n getFormStateFromConfig(config?: Configuration) {\n const organizerParticipant = config?.participants?.find(p => p.is_organizer);\n return {\n title: config?.event_booking?.title ?? '',\n description: config?.event_booking?.description ?? '',\n duration: config?.availability?.duration_minutes?.toString() ?? '30',\n availability: {\n timezone: config?.event_booking?.timezone ?? Intl.DateTimeFormat().resolvedOptions().timeZone,\n openHours: config?.availability?.availability_rules?.default_open_hours ?? DEFAULT_OPEN_HOURS,\n },\n calendarIds: organizerParticipant?.availability?.calendar_ids ?? [],\n participants: config?.participants ?? [],\n bookingCalendar: organizerParticipant?.booking?.calendar_id ?? organizerParticipant?.email ?? '',\n location: config?.event_booking?.location ?? '',\n bookingType: config?.event_booking?.booking_type ?? 'booking',\n buffer: config?.availability?.availability_rules?.buffer ?? { before: 0, after: 0 },\n cancellationPolicy: config?.scheduler?.cancellation_policy ?? '',\n availableDaysInFuture: config?.scheduler?.available_days_in_future ?? 30,\n minCancellationNotice: config?.scheduler?.min_cancellation_notice ?? 0,\n minBookingNotice: config?.scheduler?.min_booking_notice ?? 60,\n timeslotInterval: {\n interval: config?.availability?.interval_minutes ?? config?.availability?.duration_minutes ?? 10,\n roundTo: config?.availability?.round_to,\n },\n additionalGuestsHidden: config?.scheduler?.hide_additional_guests ?? false,\n hideCancellationOptions: config?.scheduler?.hide_cancellation_options ?? false,\n hideReschedulingOptions: config?.scheduler?.hide_rescheduling_options ?? false,\n };\n }\n\n setFormState(value, key) {\n switch (key) {\n case 'title':\n this.formState.title = value.toString();\n break;\n case 'description':\n this.formState.description = value.toString();\n break;\n case 'duration':\n this.formState.duration = value.toString();\n break;\n case 'availability':\n this.formState.availability = JSON.parse(value.toString());\n break;\n case 'participants':\n this.formState.participants = JSON.parse(value.toString());\n break;\n case 'calendars':\n this.formState.calendarIds = value.toString().split(',');\n break;\n case 'booking-calendar':\n this.formState.bookingCalendar = value.toString();\n break;\n case 'location':\n this.formState.location = value.toString();\n break;\n case 'booking-type':\n this.formState.bookingType = value.toString();\n break;\n case 'buffer-time':\n this.formState.buffer = JSON.parse(value.toString());\n break;\n case 'limit-future-bookings':\n this.formState.availableDaysInFuture = parseInt(value.toString());\n break;\n case 'min-cancellation-notice':\n this.formState.minCancellationNotice = parseInt(value.toString());\n break;\n case 'min-booking-notice':\n this.formState.minBookingNotice = parseInt(value.toString());\n break;\n case 'cancellation-policy':\n this.formState.cancellationPolicy = value.toString();\n break;\n case 'timeslot-interval':\n this.formState.timeslotInterval = JSON.parse(value.toString());\n break;\n case 'customize-booking-settings':\n const settings = JSON.parse(value.toString());\n this.formState.additionalGuestsHidden = settings.additionalGuestsHidden;\n this.formState.hideCancellationOptions = settings.hideCancellationOptions;\n this.formState.hideReschedulingOptions = settings.hideReschedulingOptions;\n break;\n case 'participant-custom-availability':\n const participantOpenHours = JSON.parse(value.toString());\n this.formState.participantOpenHours = participantOpenHours;\n break;\n }\n }\n\n updateFormState() {\n const formData = new FormData(this.formRef);\n formData.forEach((value, key) => {\n this.setFormState(value, key);\n });\n\n this.formState = { ...this.formState };\n return this.formState;\n }\n\n setActiveTab(e: Event, tabName: string) {\n e.preventDefault();\n this.updateFormState();\n this.activeTab = tabName;\n }\n\n setError = (error: Error) => {\n this.error = error.message;\n };\n\n formSubmissionHandler = async (event: Event) => {\n event.preventDefault();\n this.formSubmitted.emit();\n const valid = this.formRef.checkValidity();\n if (!valid) {\n return;\n }\n this.isLoading = true;\n this.hasUnsavedChanges = false;\n const formState = this.updateFormState();\n const {\n title,\n description,\n duration,\n availability,\n calendarIds,\n bookingCalendar,\n location,\n bookingType,\n buffer,\n availableDaysInFuture,\n minCancellationNotice,\n minBookingNotice,\n cancellationPolicy,\n timeslotInterval,\n additionalGuestsHidden,\n hideCancellationOptions,\n hideReschedulingOptions,\n participants,\n participantOpenHours,\n } = formState;\n const organizer = this.selectedConfiguration?.participants?.find(p => p.is_organizer);\n const durationMinutes = duration ? parseInt(duration) : 30;\n\n const participantsList =\n participants && participants?.length > 0\n ? participants\n : [\n {\n name: organizer?.name ?? this.currentUser?.name ?? organizer?.email ?? this.currentUser?.email ?? '',\n email: organizer?.email ?? this.currentUser?.email ?? '',\n is_organizer: true,\n availability: {\n calendar_ids: calendarIds?.length ? calendarIds : ['primary'],\n open_hours: [],\n },\n booking: {\n calendar_id: bookingCalendar && bookingCalendar !== '' ? bookingCalendar : 'primary',\n },\n },\n ];\n const configObject: Partial<Configuration> = {\n ...(this.selectedConfiguration?.id && { id: this.selectedConfiguration.id }),\n version: this.selectedConfiguration?.version ?? '1.0.0',\n availability: {\n duration_minutes: durationMinutes,\n interval_minutes: timeslotInterval?.interval ?? durationMinutes,\n round_to: timeslotInterval?.roundTo,\n availability_rules: {\n availability_method: this.selectedConfiguration?.availability?.availability_rules?.availability_method ?? 'collective',\n buffer: buffer || { before: 0, after: 0 },\n default_open_hours: availability?.openHours ?? this.selectedConfiguration?.availability?.availability_rules?.default_open_hours ?? DEFAULT_OPEN_HOURS,\n round_robin_group_id: this.selectedConfiguration?.availability?.availability_rules?.round_robin_group_id ?? '',\n },\n },\n participants: [\n ...participantsList?.map(p => {\n if (p.is_organizer) {\n return {\n name: p.name ?? p.email,\n email: p.email,\n is_organizer: true,\n availability: {\n calendar_ids: calendarIds?.length ? calendarIds : ['primary'],\n open_hours: participantOpenHours?.[p.email] ?? p.availability?.open_hours ?? [],\n },\n booking: {\n calendar_id: bookingCalendar && bookingCalendar !== '' ? bookingCalendar : 'primary',\n },\n };\n }\n return {\n ...p,\n availability: {\n calendar_ids: p.availability?.calendar_ids ?? ['primary'],\n open_hours: participantOpenHours?.[p.email] ?? p.availability?.open_hours ?? [],\n },\n };\n }),\n ],\n event_booking: {\n title: title?.toString() ?? '',\n description: description?.toString() ?? '',\n location: location?.toString() ?? '',\n booking_type: (bookingType?.toString() as BookingType) ?? 'booking',\n timezone: availability?.timezone ?? Intl.DateTimeFormat().resolvedOptions().timeZone,\n },\n scheduler: {\n cancellation_policy: cancellationPolicy ?? '',\n available_days_in_future: availableDaysInFuture ?? 30,\n min_cancellation_notice: minCancellationNotice ?? 0,\n min_booking_notice: minBookingNotice ?? 60,\n hide_additional_guests: additionalGuestsHidden ?? false,\n hide_cancellation_options: hideCancellationOptions ?? false,\n hide_rescheduling_options: hideReschedulingOptions ?? false,\n },\n };\n\n const configObjectWithDeveloperSettings = mergeDeep(configObject, this.selectedConfiguration);\n\n const finalConfig = this.action === 'create' ? configObjectWithDeveloperSettings : configObject;\n\n const resetLoadingState = (_e: CustomEvent) => {\n this.isLoading = false;\n this.changesSaved = true;\n setTimeout(() => {\n this.changesSaved = false;\n }, 5000);\n };\n this.schedulerConfigChanged.emit({ config: finalConfig, resetLoadingState, setError: this.setError, action: this.action });\n };\n\n @RegisterComponent<NylasEditorTabs, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-editor-tabs',\n stateToProps: new Map([\n ['schedulerConfig.calendars', 'calendars'],\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.currentUser', 'currentUser'],\n ]),\n eventToProps: {\n schedulerConfigChanged: async (event: CustomEvent<SchedulerEventDetail>, nylasSchedulerConfigConnector: NylasSchedulerConfigConnector) => {\n const { resetLoadingState, setError, action, config } = event.detail;\n const checkForErrors = (response: DataResponseReturnType) => {\n const [data, error] = response;\n if (!data && error && setError) {\n setError(error as Error);\n }\n if (resetLoadingState) {\n resetLoadingState(event);\n }\n };\n\n // If we have an ID, we are updating an existing configuration\n if (action === 'edit') {\n const response = await nylasSchedulerConfigConnector.schedulerConfig.updateConfiguration(config);\n checkForErrors(response);\n } else {\n const response = await nylasSchedulerConfigConnector.schedulerConfig.createConfiguration(config);\n checkForErrors(response);\n }\n },\n cancelButtonClick: async (_, nylasSchedulerConfigConnector) => {\n nylasSchedulerConfigConnector.schedulerConfigStore.state.action = null;\n },\n previewButtonClicked: async (_, nylasSchedulerConfigConnector) => {\n debug('[nylas-editor-tabs]', 'previewButtonClicked', nylasSchedulerConfigConnector);\n },\n formSubmitted: async (_, nylasSchedulerConfigConnector) => {\n debug('[nylas-editor-tabs]', 'formSubmitted', nylasSchedulerConfigConnector);\n },\n },\n localPropsToProp: new Map([['schedulerPreviewLink', 'schedulerPreviewLink']]),\n fireRegisterEvent: true,\n })\n render() {\n debug('[nylas-editor-tabs]', 'render', this.formState);\n // TODO: Remove this check when the feature is ready to be released\n const showParticipantsTab = localStorage.getItem('nylas') === 'Nylas Developer';\n return (\n <Host>\n <form onSubmit={this.formSubmissionHandler} class=\"scheduler-editor\" ref={el => (this.formRef = el as HTMLFormElement)} noValidate>\n {this.mode === 'app' ? (\n <div class=\"form-contents\">\n <div class=\"tabs\">\n <button class={{ tab: true, active: this.activeTab == 'eventInfo' }} onClick={e => this.setActiveTab(e, 'eventInfo')}>\n <calendar-info-icon width=\"16\" height=\"16\" />\n Event Info\n </button>\n <button class={{ tab: true, active: this.activeTab == 'availability' }} onClick={e => this.setActiveTab(e, 'availability')}>\n <calendar-patterns-icon width=\"16\" height=\"16\" />\n Availability\n </button>\n <button class={{ tab: true, active: this.activeTab == 'bookingOptions' }} onClick={e => this.setActiveTab(e, 'bookingOptions')}>\n <flow-icon width=\"16\" height=\"16\" />\n Booking Options\n </button>\n {showParticipantsTab && (\n <button class={{ tab: true, active: this.activeTab == 'participants' }} onClick={e => this.setActiveTab(e, 'participants')}>\n <people-icon width=\"16\" height=\"16\" />\n Participants\n </button>\n )}\n </div>\n <div class=\"tab-content\">\n <TabContents formState={this.formState} activeTab={this.activeTab} calendars={this.calendars} id={this.selectedConfiguration?.id ?? 'new'} />\n </div>\n </div>\n ) : (\n <slot></slot>\n )}\n\n <div class=\"footer\">\n <div class=\"preview\">\n {this.schedulerPreviewLink !== '' && this.action === 'edit' && (\n <button-component\n type=\"button\"\n disabled={this.isLoading}\n clickHandler={event => {\n event.preventDefault();\n const previewEvent = this.previewButtonClicked.emit(this.host);\n if (!previewEvent.defaultPrevented) {\n window.open(parsePreviewLink(this.schedulerPreviewLink, this.selectedConfiguration), '_blank');\n }\n }}\n variant={'basic'}\n >\n Preview\n </button-component>\n )}\n </div>\n <div class=\"buttons\">\n <p\n class={{\n 'unsaved-changes': this.hasUnsavedChanges && !this.changesSaved,\n 'saved-changes': this.changesSaved,\n 'error': this.error !== '',\n 'error-full-width': this.error !== '' && this.action === 'create',\n }}\n >\n {this.error !== '' ? this.error : ''}\n {this.error == '' && this.hasUnsavedChanges && !this.changesSaved ? 'Unsaved changes' : this.error == '' && this.changesSaved ? 'Changes saved!' : ''}\n </p>\n <button-component\n type=\"button\"\n disabled={this.isLoading}\n clickHandler={event => {\n event.preventDefault();\n this.cancelButtonClick.emit();\n this.error = '';\n }}\n variant={'basic'}\n >\n Cancel\n </button-component>\n <button-component type=\"submit\" disabled={this.isLoading}>\n {this.isLoading ? (\n <span>\n Saving\n <loading-icon />{' '}\n </span>\n ) : this.action == 'create' ? (\n 'Create'\n ) : (\n 'Save changes'\n )}\n </button-component>\n </div>\n </div>\n </form>\n </Host>\n );\n }\n}\n","@import '../../../common/styles/variables.scss';\n@import '../../../common/mixins/buttons.scss';\n\n:host {\n display: grid;\n grid-auto-flow: row;\n width: 100%;\n font-family: inherit;\n font-optical-sizing: auto;\n @include default-css-variables;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n gap: 1rem;\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n align-items: unset;\n }\n h2 {\n margin: 0;\n font-size: 1.25rem;\n color: var(--nylas-base-900);\n font-weight: 600;\n }\n\n p {\n margin: 0;\n font-size: 1rem;\n color: var(--nylas-base-700);\n }\n\n .actions {\n justify-self: end;\n\n @media #{$mobile} {\n width: 100%;\n }\n }\n}\n\n.configurations {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n background: var(--nylas-base-0);\n height: 100%;\n display: flex;\n overflow-y: auto;\n table {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n font-family: inherit;\n height: max-content;\n\n &.no-configurations {\n height: 100%;\n }\n\n tr {\n color: var(--nylas-base-800);\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: inherit;\n &:last-of-type {\n border-bottom: 0;\n }\n\n &.hide {\n display: none;\n }\n }\n\n th {\n font-weight: 600;\n text-transform: uppercase;\n font-size: 14px;\n line-height: 20px;\n &.actions-header {\n text-align: right;\n }\n }\n\n tr.no-configurations {\n td {\n > div {\n display: flex;\n height: 100%;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n\n padding: var(--nylas-border-radius-3x);\n\n h3 {\n margin: 0 0 1rem 0;\n color: var(--nylas-base-700);\n }\n\n p {\n margin: 0 0 1rem 0;\n color: var(--nylas-base-600);\n }\n\n calendar-icon {\n margin-bottom: 1rem;\n color: var(--nylas-base-200);\n }\n }\n }\n }\n\n th,\n td {\n text-align: left;\n padding: 1rem;\n font-family: inherit;\n }\n\n .actions {\n text-align: right;\n }\n\n .actions {\n display: flex;\n justify-content: flex-end;\n gap: 1rem;\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n }\n }\n\n .title {\n display: flex;\n flex-direction: column;\n\n .config-event-title {\n font-weight: 600;\n }\n\n .config-event-description {\n font-size: 0.75rem;\n }\n }\n }\n}\n\n.error-container {\n margin-top: 1.5rem;\n .error {\n color: var(--nylas-error);\n padding: 0.5rem 0;\n margin: 1rem 0 0;\n }\n}\n\nbutton-component#copy {\n button {\n width: 108px;\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, parsePreviewLink } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\n/**\n * The `nylas-list-configurations` component displays a list of scheduling pages.\n */\n@Component({\n tag: 'nylas-list-configurations',\n styleUrl: 'nylas-list-configurations.scss',\n shadow: true,\n})\nexport class NylasListConfigurations {\n /**\n * The host element.\n */\n @Element() host!: HTMLNylasListConfigurationsElement;\n\n /**\n * The list of configurations to display.\n */\n @Prop() configurations: Configuration[] = [];\n\n /**\n * The scheduler preview link to use when the user clicks on the preview button.\n * You can use a placeholder `{config.id}` to replace the configuration id anywhere in the link.\n */\n @Prop({ attribute: 'scheduler-preview-link' }) schedulerPreviewLink: string = '';\n\n /**\n * Event emitted when the component is initialized.\n */\n @Event() initListConfigurations!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the create event button.\n */\n @Event() createButtonClick!: EventEmitter<HTMLNylasListConfigurationsElement>;\n\n /**\n * Event emitted when the user clicks the edit event button.\n */\n @Event() editButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration;\n }>;\n\n /**\n * Event emitted when the user clicks the delete event button.\n */\n @Event() deleteButtonClick!: EventEmitter<{\n host: HTMLNylasListConfigurationsElement;\n configuration: Configuration;\n }>;\n\n /**\n * The current state of the component.\n */\n @State() private state: 'loading' | 'loaded' | 'error' = 'loading';\n\n /**\n * The error message to display.\n */\n @State() private error: string = '';\n\n /**\n * The copy link button label.\n */\n @State() private copiedButtonIndex: number = -1;\n\n connectedCallback() {\n debug('[nylas-list-configurations]', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('[nylas-list-configurations]', 'componentWillLoad');\n\n // If we have configurations, we will set the state to loaded.\n if (this.configurations && this.configurations.length > 0) {\n this.state = 'loaded';\n }\n }\n\n componentDidLoad() {\n debug('[nylas-list-configurations]', 'componentDidLoad');\n\n // Fire the init event. By default, we will fetch the configurations.\n // This is defined in the eventToProps object in the RegisterComponent decorator.\n this.initListConfigurations.emit(this.host);\n }\n\n disconnectedCallback() {\n debug('[nylas-list-configurations]', 'disconnectedCallback');\n }\n\n @Method()\n async getState() {\n return this.state;\n }\n\n @Method()\n async setState(state: 'loading' | 'loaded' | 'error') {\n this.state = state;\n }\n\n @Method()\n async setError(error: string) {\n this.error = error;\n }\n\n private getDurationString(duration: number) {\n const hours = Math.floor(duration / 60);\n const minutes = duration % 60;\n return `${hours ? hours : ''} ${hours ? `${hours > 1 ? 'hours' : 'hour'}` : ''} ${minutes ? minutes : ''} ${minutes ? `${minutes > 1 ? 'mins' : 'min'}` : ''}`;\n }\n\n @RegisterComponent<NylasListConfigurations, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-list-configurations',\n stateToProps: new Map([['schedulerConfig.configurations', 'configurations']]),\n localPropsToProp: new Map([['schedulerPreviewLink', 'schedulerPreviewLink']]),\n eventToProps: {\n initListConfigurations: async (event, connector) => {\n const host = event.detail;\n await host.setState('loading');\n const [data, error] = await connector.schedulerConfig.getConfigurations();\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError(error.message);\n return;\n }\n await host.setState('loaded');\n },\n createButtonClick: async (_, connector) => {\n connector.schedulerConfigStore.resetSelectedConfiguration();\n connector.schedulerConfigStore.state.action = 'create';\n },\n deleteButtonClick: async (event, connector) => {\n const { host, configuration } = event.detail;\n const [data, error] = await connector.schedulerConfig.deleteConfiguration(configuration.id);\n if (!data && error && error.message) {\n await host.setState('error');\n await host.setError(error.message);\n }\n },\n editButtonClick: async (event, connector) => {\n const { configuration } = event.detail;\n connector.schedulerConfigStore.state.selectedConfiguration = configuration;\n connector.schedulerConfigStore.state.action = 'edit';\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"header\">\n <div class=\"description\">\n <h2>All scheduling pages</h2>\n <p>Create, edit and manage all your scheduling pages.</p>\n </div>\n {this.configurations && this.configurations.length > 0 && (\n <div class=\"actions\">\n <button-component\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n Create new\n </button-component>\n </div>\n )}\n </div>\n <div class=\"configurations\">\n <table\n class={{\n 'no-configurations': this.state !== 'loading' && (!this.configurations || this.configurations.length === 0),\n }}\n >\n <tr\n class={{\n hide: this.state === 'loading' || (this.configurations && this.configurations.length === 0),\n }}\n >\n <th>Scheduling page title</th>\n <th>Duration</th>\n <th class=\"actions-header\">Actions</th>\n </tr>\n {this.state === 'loading' && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <h3>Loading...</h3>\n <p>Please wait while we fetch the scheduling pages</p>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' && (!this.configurations || this.configurations.length === 0) && (\n <tr class=\"no-configurations\">\n <td colSpan={3}>\n <div>\n <calendar-icon width=\"48\" height=\"48\"></calendar-icon>\n <h3>No scheduling pages found</h3>\n <p>Get started with creating your first scheduling page</p>\n <button-component\n clickHandler={() => {\n this.createButtonClick.emit(this.host);\n }}\n >\n Create new\n </button-component>\n </div>\n </td>\n </tr>\n )}\n {this.state !== 'loading' &&\n this.configurations.map((config, i) => {\n return (\n <tr key={config.id}>\n <td>\n <div class=\"title\">\n <span class={'config-event-title'}>{config.event_booking.title}</span>\n <span class={'config-event-description'}>{config.event_booking.description}</span>\n </div>\n </td>\n <td>\n <div>{this.getDurationString(config.availability.duration_minutes)}</div>\n </td>\n <td>\n <div class=\"actions\">\n <button-component\n variant={'basic'}\n id=\"copy\"\n key={`copy-${i}`}\n clickHandler={async event => {\n event.preventDefault();\n const link = parsePreviewLink(this.schedulerPreviewLink, config);\n await navigator.clipboard.writeText(link);\n this.copiedButtonIndex = i;\n setTimeout(() => {\n this.copiedButtonIndex = -1;\n }, 3000);\n }}\n >\n {this.copiedButtonIndex === i ? 'Copied!' : 'Copy link'}\n </button-component>\n <button-component\n variant={'basic'}\n key={`edit-${i}`}\n clickHandler={event => {\n event.preventDefault();\n this.editButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n Edit\n </button-component>\n <button-component\n variant={'basic'}\n key={`delete-${i}`}\n clickHandler={event => {\n event.preventDefault();\n this.deleteButtonClick.emit({ host: this.host, configuration: config });\n }}\n >\n Delete\n </button-component>\n </div>\n </td>\n </tr>\n );\n })}\n </table>\n </div>\n {this.state === 'error' && (\n <div class=\"error-container\">\n <p class={'error'}>{this.error}</p>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as s,h as i,H as e,a as h}from"./p-68c2fadf.js";import{N as n,e as r}from"./p-36e3bf97.js";import{a}from"./p-6c11737d.js";import{N as o,a as c,b as d,c as u,C as l,d as f,H as p}from"./p-a35d2938.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";import"./p-cabb2e68.js";class m{constructor(t,s,i,e){this.router=t;this.nylasAuth=s;this.nylasAuthStore=i;this.nylasMailboxStore=e}init(){a("NylasMailboxConnector init")}get mailboxStore(){return this.nylasMailboxStore}get authStore(){return this.nylasAuthStore}get auth(){if(this._authConnector){return this._authConnector}this._authConnector=new o(this.nylasAuth,this.nylasAuthStore);return this._authConnector}get threads(){if(this._threadConnector){return this._threadConnector}this._threadConnector=new c(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore,this.router);return this._threadConnector}get messages(){if(this._messageConnector){return this._messageConnector}this._messageConnector=new d(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore);return this._messageConnector}get folders(){if(this._foldersConnector){return this._foldersConnector}this._foldersConnector=new u(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore);return this._foldersConnector}getAuth(){return this.nylasAuth}resetStores(){this.nylasMailboxStore.reset();this.nylasAuthStore.reset()}async logout(){await this.nylasAuth.logout();this.resetStores()}}const b=":host{display:contents}";const y=b;const g=class{constructor(i){t(this,i);this.init=s(this,"init",7);this.loggedIn=s(this,"loggedIn",7);this.loggedOut=s(this,"loggedOut",7);this.handleAuthChange=async t=>{if(t){this.loggedIn.emit(this.host)}else{const t=this.loggedOut.emit(this.host);if(!t.defaultPrevented){await(this.nylasMailboxConnector?.logout())}}};this.automaticComponentRegistration=true;this.eventOverrides={};this.authConfig=undefined;this.defaultAuthStoreState=undefined;this.defaultMailboxStoreState=undefined}connectedCallback(){a("[nylas-mailbox] connectedCallback")}async componentWillLoad(){this.stores={auth:l(this.defaultAuthStoreState),mailbox:f(this.defaultMailboxStoreState)};this.baseProvider=new n(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides);this.router=new p;this.nylasAuth=r({apiUri:"https://api.us.nylas.com",elementsApiUri:"https://elements.us.nylas.com",storageType:"indexeddb",clientId:"YOUR_CLIENT_ID",defaultScopes:[],redirectURI:"/",...this.authConfig});const t=this.baseProvider?.getStore("auth");if(!t){throw new Error("Auth store is not defined")}const s=this.baseProvider?.getStore("mailbox");if(!s){throw new Error("Mailbox store is not defined")}this.nylasMailboxConnector=new m(this.router,this.nylasAuth,t,s);const i=this.init.emit(this.host);if(!i.defaultPrevented){await(this.nylasMailboxConnector?.auth.validateSession())}this.router?.addRouteChangeListener(`/thread/:threadId`,(async(t,s,i)=>{const e=i.threadId;const h=await(this.nylasMailboxConnector?.threads.getThread(e));if(h){this.nylasMailboxConnector?.mailboxStore.set("selectedThread",h)}}));this.router?.addRouteChangeListener(`/`,(async(s,i,e)=>{if(!t.state.isAuthenticated){return}this.nylasMailboxConnector?.threads.unSelectThread();this.nylasMailboxConnector?.folders.getFolders();const h=window.location.hash.split("?")[1];if(h){const t=new URLSearchParams(h);const s=t.get("query");if(s){await(this.nylasMailboxConnector?.threads.getThreads({search_query_native:s,page_token:undefined}))}}else{this.nylasMailboxConnector?.threads.getThreads()}}));this.router?.init();this.handleAuthChange(t.state.isAuthenticated);this.baseProvider?.componentWillLoad(this.nylasMailboxConnector)}async componentDidLoad(){const t=this.baseProvider?.getStore("auth");if(!t){throw new Error("Auth store is not defined")}t.onChange("isAuthenticated",this.handleAuthChange);this.baseProvider?.componentDidLoad()}componentDisconnected(){this.baseProvider?.componentDisconnected()}async registerComponentHandler(t){this.baseProvider?.registerComponent(t.detail)}async unregisterComponentHandler(t){this.baseProvider?.unregisterComponent(t.detail)}async getMailboxStore(){return this.baseProvider?.getStore("mailbox")}async getAuthStore(){return this.baseProvider?.getStore("auth")}async getNylasAuth(){return this.nylasAuth}async getNylasMailboxConnector(){return this.nylasMailboxConnector}render(){return i(e,{key:"425f7f57f8a5996e86ba7c97187b7e78ceaedba7"},i("slot",{key:"bb7ebdf7b8033ccd731cc13782f426cf8ed9cb31"}))}get host(){return h(this)}};g.style=y;export{g as nylas_mailbox};
2
+ //# sourceMappingURL=p-12b83ea9.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NylasMailboxConnector","constructor","router","nylasAuth","nylasAuthStore","nylasStore","this","nylasMailboxStore","init","debug","mailboxStore","authStore","auth","_authConnector","NylasAuthConnector","threads","_threadConnector","NylasThreadsConnector","messages","_messageConnector","NylasMessagesConnector","folders","_foldersConnector","NylasFoldersConnector","getAuth","resetStores","reset","logout","nylasMailboxCss","NylasMailboxStyle0","NylasMailbox","handleAuthChange","async","isAuthenticated","loggedIn","emit","host","loggedOutEvent","loggedOut","defaultPrevented","nylasMailboxConnector","connectedCallback","componentWillLoad","stores","CreateNylasAuthStore","defaultAuthStoreState","mailbox","CreateNylasMailboxStore","defaultMailboxStoreState","baseProvider","NylasBaseProvider","automaticComponentRegistration","eventOverrides","HashRouter","NylasAuth","apiUri","elementsApiUri","storageType","clientId","defaultScopes","redirectURI","authConfig","getStore","Error","initEvent","validateSession","addRouteChangeListener","_route","_path","routeParams","threadId","thread","getThread","set","_routeParams","state","unSelectThread","getFolders","queryParams","window","location","hash","split","params","URLSearchParams","searchQuery","get","getThreads","search_query_native","page_token","undefined","componentDidLoad","onChange","componentDisconnected","registerComponentHandler","event","registerComponent","detail","unregisterComponentHandler","unregisterComponent","getMailboxStore","getAuthStore","getNylasAuth","getNylasMailboxConnector","render","h","Host","key"],"sources":["src/connector/nylas-mailbox-connector/index.ts","src/components/mailbox/nylas-mailbox/nylas-mailbox.css?tag=nylas-mailbox&encapsulation=shadow","src/components/mailbox/nylas-mailbox/nylas-mailbox.tsx"],"sourcesContent":["import { RouterInterface } from '@/routers/router-interface';\nimport { NylasAuthStoreType } from '@/stores/auth-store';\nimport { NylasMailboxStoreType } from '@/stores/mailbox-store';\nimport { debug } from '@/utils/utils';\nimport type { NylasAuthType } from '@nylas/core';\nimport { NylasMailboxConnectorInterface } from '../connector-interface';\nimport { NylasAuthConnector } from '../shared/api/auth';\nimport { NylasMessagesConnector } from '../shared/api/messages';\nimport { NylasThreadsConnector } from '../shared/api/threads';\nimport { NylasFoldersConnector } from '../shared/api/folders';\n\n/**\n * Base class for the Nylas connector.\n */\nexport class NylasMailboxConnector implements NylasMailboxConnectorInterface {\n public nylasAuth: NylasAuthType;\n public nylasMailboxStore: NylasMailboxStoreType;\n public nylasAuthStore: NylasAuthStoreType;\n public router: RouterInterface;\n\n private _authConnector: NylasAuthConnector | undefined;\n private _threadConnector: NylasThreadsConnector | undefined;\n private _messageConnector: NylasMessagesConnector | undefined;\n private _foldersConnector: NylasFoldersConnector | undefined;\n\n constructor(router: RouterInterface, nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType, nylasStore: NylasMailboxStoreType) {\n this.router = router;\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasMailboxStore = nylasStore;\n }\n\n public init() {\n debug('NylasMailboxConnector init');\n }\n\n public get mailboxStore() {\n return this.nylasMailboxStore;\n }\n\n public get authStore() {\n return this.nylasAuthStore;\n }\n\n public get auth() {\n if (this._authConnector) {\n return this._authConnector;\n }\n this._authConnector = new NylasAuthConnector(this.nylasAuth, this.nylasAuthStore);\n return this._authConnector;\n }\n\n public get threads() {\n if (this._threadConnector) {\n return this._threadConnector;\n }\n this._threadConnector = new NylasThreadsConnector(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore, this.router);\n return this._threadConnector;\n }\n\n public get messages() {\n if (this._messageConnector) {\n return this._messageConnector;\n }\n this._messageConnector = new NylasMessagesConnector(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore);\n return this._messageConnector;\n }\n\n public get folders() {\n if (this._foldersConnector) {\n return this._foldersConnector;\n }\n this._foldersConnector = new NylasFoldersConnector(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore);\n return this._foldersConnector;\n }\n\n public getAuth() {\n return this.nylasAuth;\n }\n\n public resetStores() {\n this.nylasMailboxStore.reset();\n this.nylasAuthStore.reset();\n }\n\n public async logout() {\n await this.nylasAuth.logout();\n this.resetStores();\n }\n}\n\nexport type PublicMethods<T> = {\n [K in keyof T]: T[K] extends Function ? (string extends K ? never : K) : never;\n}[keyof T];\n\nexport type NylasMailboxConnectorPublicMethods = PublicMethods<NylasMailboxConnector>;\n",":host {\n display: contents;\n}\n","import { NylasBaseProvider } from '@/common/abstract-provider';\nimport { RegisteredComponent } from '@/common/register-component';\nimport type { EventOverride } from '@/common/component-types';\nimport { NylasMailboxConnector } from '@/connector/nylas-mailbox-connector';\nimport { HashRouter } from '@/routers/hash-router';\nimport { RouterInterface } from '@/routers/router-interface';\nimport { CreateNylasAuthStore, NylasAuthStoreState, NylasAuthStoreType } from '@/stores/auth-store';\nimport { CreateNylasMailboxStore, NylasMailboxStoreState, NylasMailboxStoreType } from '@/stores/mailbox-store';\nimport { AuthConfig, NylasAuth, NylasAuthType } from '@nylas/core';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, h } from '@stencil/core';\nimport { debug } from '@/utils/utils';\n\n/**\n * The Nylas Mailbox component.\n * This component is used as a provider for all other Nylas Mailbox components.\n * It is responsible for managing the NylasAuth and NylasMailboxConnector instances.\n * It also manages the state of the NylasAuth and NylasMailboxStore instances.\n * @example\n * <nylas-mailbox\n * auth-config={{\n * clientId: 'YOUR_CLIENT_ID',\n * }}\n * default-auth-store-state={{\n * threadQueryParams: {\n * limit: 10,\n * }}\n * >\n * <nylas-mailbox-thread-list></nylas-mailbox-thread-list>\n * </nylas-mailbox>\n */\n@Component({\n tag: 'nylas-mailbox',\n styleUrl: 'nylas-mailbox.css',\n shadow: true,\n})\nexport class NylasMailbox {\n /**\n * Stores to be used by the provider.\n */\n private stores?: {\n auth: NylasAuthStoreType;\n mailbox: NylasMailboxStoreType;\n };\n\n /**\n * This is a base provide that defines the common methods and properties\n * that all providers should have.\n *\n * Because stencil does not support abstract classes, we have to use a\n * property to store the base provider instance.\n */\n private baseProvider?: NylasBaseProvider<Exclude<typeof this.stores, undefined>>;\n\n /**\n * The Nylas Auth instance.\n * Used to manage all things authentication with Nylas.\n */\n private nylasAuth?: NylasAuthType;\n\n /**\n * A router instance.\n */\n private router?: RouterInterface;\n\n /**\n * The Nylas Mailbox Connector instance.\n * The branins of the provider. It manages data fetching and state synchronization.\n */\n private nylasMailboxConnector?: NylasMailboxConnector;\n\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasMailboxElement;\n\n /**\n * Automatically register components that have the `@RegisterComponent` decorator.\n * If this is set to false, you will need to manually register components using the\n * `registerComponent` method.\n */\n @Prop() readonly automaticComponentRegistration: boolean = true;\n\n /**\n * This provides a way to override the default event handlers.\n */\n @Prop() eventOverrides: EventOverride<Exclude<typeof this.nylasMailboxConnector, undefined>> = {};\n\n /**\n * The Nylas Auth configuration.\n * Used to manage all things authentication with Nylas.\n */\n @Prop({ attribute: 'auth-config' }) readonly authConfig?: AuthConfig;\n\n /**\n * The default auth store state.\n * Used to set the initial state of the auth store.\n */\n @Prop({ attribute: 'default-auth-store-state' }) readonly defaultAuthStoreState?: NylasAuthStoreState;\n\n /**\n * The default mailbox store state.\n * Used to set the initial state of the mailbox store.\n */\n @Prop({ attribute: 'default-mailbox-store-state' }) readonly defaultMailboxStoreState?: NylasMailboxStoreState;\n\n /**\n * This event is fired when the provider is initialized.\n * It can be used to set the initial state of the provider,\n * or to prevent the provider from firing some default behavior.\n */\n @Event({ cancelable: true }) readonly init!: EventEmitter<HTMLNylasMailboxElement>;\n\n /**\n * This event is fired when the the NyalsAuth isAuthenticated state changes\n * to true.\n */\n @Event({ cancelable: true }) readonly loggedIn!: EventEmitter<HTMLNylasMailboxElement>;\n\n /**\n * This event is fired when the the NyalsAuth isAuthenticated state changes\n * to true.\n */\n @Event({ cancelable: true }) readonly loggedOut!: EventEmitter<HTMLNylasMailboxElement>;\n\n connectedCallback() {\n debug('[nylas-mailbox] connectedCallback');\n }\n\n async componentWillLoad() {\n this.stores = {\n auth: CreateNylasAuthStore(this.defaultAuthStoreState),\n mailbox: CreateNylasMailboxStore(this.defaultMailboxStoreState),\n };\n\n this.baseProvider = new NylasBaseProvider(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides);\n\n /**\n * Create the router instance.\n * This will be used to manage the routing of the provider.\n */\n this.router = new HashRouter();\n\n /**\n * Create the NylasAuth instance.\n * This will be used to manage all things authentication with Nylas.\n */\n this.nylasAuth = NylasAuth({\n apiUri: 'https://api.us.nylas.com',\n elementsApiUri: 'https://elements.us.nylas.com',\n storageType: 'indexeddb',\n clientId: 'YOUR_CLIENT_ID',\n defaultScopes: [],\n redirectURI: '/',\n ...this.authConfig,\n });\n\n const authStore = this.baseProvider?.getStore('auth');\n if (!authStore) {\n throw new Error('Auth store is not defined');\n }\n\n const mailboxStore = this.baseProvider?.getStore('mailbox');\n if (!mailboxStore) {\n throw new Error('Mailbox store is not defined');\n }\n\n this.nylasMailboxConnector = new NylasMailboxConnector(this.router, this.nylasAuth, authStore, mailboxStore);\n\n const initEvent = this.init.emit(this.host);\n if (!initEvent.defaultPrevented) {\n /**\n * By default, on init, we will validate the session.\n * This will check if the user is logged in and if the session is still valid.\n * If the session is not valid, the user will be logged out.\n */\n await this.nylasMailboxConnector?.auth.validateSession();\n }\n\n // Handle our router\n this.router?.addRouteChangeListener(`/thread/:threadId`, async (_route, _path, routeParams) => {\n const threadId = routeParams.threadId;\n const thread = await this.nylasMailboxConnector?.threads.getThread(threadId);\n if (thread) {\n this.nylasMailboxConnector?.mailboxStore.set('selectedThread', thread);\n }\n });\n this.router?.addRouteChangeListener(`/`, async (_route, _path, _routeParams) => {\n if (!authStore.state.isAuthenticated) {\n return;\n }\n // Reset the selected thread\n this.nylasMailboxConnector?.threads.unSelectThread();\n this.nylasMailboxConnector?.folders.getFolders();\n\n // If we have a query param, search for threads\n const queryParams = window.location.hash.split('?')[1];\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n const searchQuery = params.get('query');\n if (searchQuery) {\n await this.nylasMailboxConnector?.threads.getThreads({\n search_query_native: searchQuery,\n page_token: undefined,\n });\n }\n } else {\n this.nylasMailboxConnector?.threads.getThreads();\n }\n });\n\n /**\n * Initialize the router.\n * This will be used to manage the routing of the provider.\n */\n this.router?.init();\n\n /**\n * Listen for changes in the NylasAuth isAuthenticated state.\n * This is used to fire the loggedIn and loggedOut events.\n */\n this.handleAuthChange(authStore.state.isAuthenticated);\n this.baseProvider?.componentWillLoad(this.nylasMailboxConnector);\n }\n\n async componentDidLoad() {\n const authStore = this.baseProvider?.getStore('auth');\n if (!authStore) {\n throw new Error('Auth store is not defined');\n }\n\n authStore.onChange('isAuthenticated', this.handleAuthChange);\n this.baseProvider?.componentDidLoad();\n }\n\n componentDisconnected() {\n this.baseProvider?.componentDisconnected();\n }\n\n /**\n * This is a custom event handler that is used to register a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to register\n * @returns Promise<void>\n */\n @Listen('registerComponent')\n async registerComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.registerComponent(event.detail);\n }\n\n /**\n * This is a custom event handler that is used to unregister a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to unregister\n * @returns Promise<void>\n */\n @Listen('unregisterComponent')\n async unregisterComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.unregisterComponent(event.detail);\n }\n\n /**\n * This method is used to retrieve the mailboxStore instance\n * @returns The mailboxStore instance\n */\n @Method()\n async getMailboxStore(): Promise<NylasMailboxStoreType | undefined> {\n return this.baseProvider?.getStore('mailbox');\n }\n\n /**\n * This method is used to retrieve the authStore instance\n * @returns The authStore instance\n */\n @Method()\n async getAuthStore(): Promise<NylasAuthStoreType | undefined> {\n return this.baseProvider?.getStore('auth');\n }\n\n /**\n * This method is used to retrieve the NylasAuth instance\n * @returns The NylasAuth instance\n */\n @Method()\n async getNylasAuth(): Promise<NylasAuthType | undefined> {\n return this.nylasAuth;\n }\n\n /**\n * This method is used to retrieve the NylasMailboxConnector instance\n * @returns The NylasMailboxConnector instance\n */\n @Method()\n async getNylasMailboxConnector() {\n return this.nylasMailboxConnector;\n }\n\n /**\n * This method is used to handle changes in the NylasAuth isAuthenticated state\n * @param isAuthenticated isAuthenticated state\n * @returns void\n */\n private handleAuthChange = async (isAuthenticated: boolean) => {\n if (isAuthenticated) {\n this.loggedIn.emit(this.host);\n } else {\n const loggedOutEvent = this.loggedOut.emit(this.host);\n if (!loggedOutEvent.defaultPrevented) {\n await this.nylasMailboxConnector?.logout();\n }\n }\n };\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["NylasMailboxConnector","constructor","router","nylasAuth","nylasAuthStore","nylasStore","this","nylasMailboxStore","init","debug","mailboxStore","authStore","auth","_authConnector","NylasAuthConnector","threads","_threadConnector","NylasThreadsConnector","messages","_messageConnector","NylasMessagesConnector","folders","_foldersConnector","NylasFoldersConnector","getAuth","resetStores","reset","logout","nylasMailboxCss","NylasMailboxStyle0","NylasMailbox","handleAuthChange","async","isAuthenticated","loggedIn","emit","host","loggedOutEvent","loggedOut","defaultPrevented","nylasMailboxConnector","connectedCallback","componentWillLoad","stores","CreateNylasAuthStore","defaultAuthStoreState","mailbox","CreateNylasMailboxStore","defaultMailboxStoreState","baseProvider","NylasBaseProvider","automaticComponentRegistration","eventOverrides","HashRouter","NylasAuth","apiUri","elementsApiUri","storageType","clientId","defaultScopes","redirectURI","authConfig","getStore","Error","initEvent","validateSession","addRouteChangeListener","_route","_path","routeParams","threadId","thread","getThread","set","_routeParams","state","unSelectThread","getFolders","queryParams","window","location","hash","split","params","URLSearchParams","searchQuery","get","getThreads","search_query_native","page_token","undefined","componentDidLoad","onChange","componentDisconnected","registerComponentHandler","event","registerComponent","detail","unregisterComponentHandler","unregisterComponent","getMailboxStore","getAuthStore","getNylasAuth","getNylasMailboxConnector","render","h","Host","key"],"sources":["src/connector/nylas-mailbox-connector/index.ts","src/components/mailbox/nylas-mailbox/nylas-mailbox.css?tag=nylas-mailbox&encapsulation=shadow","src/components/mailbox/nylas-mailbox/nylas-mailbox.tsx"],"sourcesContent":["import { RouterInterface } from '@/routers/router-interface';\nimport { NylasAuthStoreType } from '@/stores/auth-store';\nimport { NylasMailboxStoreType } from '@/stores/mailbox-store';\nimport { debug } from '@/utils/utils';\nimport type { NylasAuthType } from '@nylas/core';\nimport { NylasMailboxConnectorInterface } from '../connector-interface';\nimport { NylasAuthConnector } from '../shared/api/auth';\nimport { NylasMessagesConnector } from '../shared/api/messages';\nimport { NylasThreadsConnector } from '../shared/api/threads';\nimport { NylasFoldersConnector } from '../shared/api/folders';\n\n/**\n * Base class for the Nylas connector.\n */\nexport class NylasMailboxConnector implements NylasMailboxConnectorInterface {\n public nylasAuth: NylasAuthType;\n public nylasMailboxStore: NylasMailboxStoreType;\n public nylasAuthStore: NylasAuthStoreType;\n public router: RouterInterface;\n\n private _authConnector: NylasAuthConnector | undefined;\n private _threadConnector: NylasThreadsConnector | undefined;\n private _messageConnector: NylasMessagesConnector | undefined;\n private _foldersConnector: NylasFoldersConnector | undefined;\n\n constructor(router: RouterInterface, nylasAuth: NylasAuthType, nylasAuthStore: NylasAuthStoreType, nylasStore: NylasMailboxStoreType) {\n this.router = router;\n this.nylasAuth = nylasAuth;\n this.nylasAuthStore = nylasAuthStore;\n this.nylasMailboxStore = nylasStore;\n }\n\n public init() {\n debug('NylasMailboxConnector init');\n }\n\n public get mailboxStore() {\n return this.nylasMailboxStore;\n }\n\n public get authStore() {\n return this.nylasAuthStore;\n }\n\n public get auth() {\n if (this._authConnector) {\n return this._authConnector;\n }\n this._authConnector = new NylasAuthConnector(this.nylasAuth, this.nylasAuthStore);\n return this._authConnector;\n }\n\n public get threads() {\n if (this._threadConnector) {\n return this._threadConnector;\n }\n this._threadConnector = new NylasThreadsConnector(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore, this.router);\n return this._threadConnector;\n }\n\n public get messages() {\n if (this._messageConnector) {\n return this._messageConnector;\n }\n this._messageConnector = new NylasMessagesConnector(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore);\n return this._messageConnector;\n }\n\n public get folders() {\n if (this._foldersConnector) {\n return this._foldersConnector;\n }\n this._foldersConnector = new NylasFoldersConnector(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore);\n return this._foldersConnector;\n }\n\n public getAuth() {\n return this.nylasAuth;\n }\n\n public resetStores() {\n this.nylasMailboxStore.reset();\n this.nylasAuthStore.reset();\n }\n\n public async logout() {\n await this.nylasAuth.logout();\n this.resetStores();\n }\n}\n\nexport type PublicMethods<T> = {\n [K in keyof T]: T[K] extends Function ? (string extends K ? never : K) : never;\n}[keyof T];\n\nexport type NylasMailboxConnectorPublicMethods = PublicMethods<NylasMailboxConnector>;\n",":host {\n display: contents;\n}\n","import { NylasBaseProvider } from '@/common/abstract-provider';\nimport { RegisteredComponent } from '@/common/register-component';\nimport type { EventOverride } from '@/common/component-types';\nimport { NylasMailboxConnector } from '@/connector/nylas-mailbox-connector';\nimport { HashRouter } from '@/routers/hash-router';\nimport { RouterInterface } from '@/routers/router-interface';\nimport { CreateNylasAuthStore, NylasAuthStoreState, NylasAuthStoreType } from '@/stores/auth-store';\nimport { CreateNylasMailboxStore, NylasMailboxStoreState, NylasMailboxStoreType } from '@/stores/mailbox-store';\nimport { AuthConfig, NylasAuth, NylasAuthType } from '@nylas/core';\nimport { Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, h } from '@stencil/core';\nimport { debug } from '@/utils/utils';\n\n/**\n * The Nylas Mailbox component.\n * This component is used as a provider for all other Nylas Mailbox components.\n * It is responsible for managing the NylasAuth and NylasMailboxConnector instances.\n * It also manages the state of the NylasAuth and NylasMailboxStore instances.\n * @example\n * <nylas-mailbox\n * auth-config={{\n * clientId: 'YOUR_CLIENT_ID',\n * }}\n * default-auth-store-state={{\n * threadQueryParams: {\n * limit: 10,\n * }}\n * >\n * <nylas-mailbox-thread-list></nylas-mailbox-thread-list>\n * </nylas-mailbox>\n */\n@Component({\n tag: 'nylas-mailbox',\n styleUrl: 'nylas-mailbox.css',\n shadow: true,\n})\nexport class NylasMailbox {\n /**\n * Stores to be used by the provider.\n */\n private stores?: {\n auth: NylasAuthStoreType;\n mailbox: NylasMailboxStoreType;\n };\n\n /**\n * This is a base provide that defines the common methods and properties\n * that all providers should have.\n *\n * Because stencil does not support abstract classes, we have to use a\n * property to store the base provider instance.\n */\n private baseProvider?: NylasBaseProvider<Exclude<typeof this.stores, undefined>>;\n\n /**\n * The Nylas Auth instance.\n * Used to manage all things authentication with Nylas.\n */\n private nylasAuth?: NylasAuthType;\n\n /**\n * A router instance.\n */\n private router?: RouterInterface;\n\n /**\n * The Nylas Mailbox Connector instance.\n * The branins of the provider. It manages data fetching and state synchronization.\n */\n private nylasMailboxConnector?: NylasMailboxConnector;\n\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasMailboxElement;\n\n /**\n * Automatically register components that have the `@RegisterComponent` decorator.\n * If this is set to false, you will need to manually register components using the\n * `registerComponent` method.\n */\n @Prop() readonly automaticComponentRegistration: boolean = true;\n\n /**\n * This provides a way to override the default event handlers.\n */\n @Prop() eventOverrides: EventOverride<Exclude<typeof this.nylasMailboxConnector, undefined>> = {};\n\n /**\n * The Nylas Auth configuration.\n * Used to manage all things authentication with Nylas.\n */\n @Prop({ attribute: 'auth-config' }) readonly authConfig?: AuthConfig;\n\n /**\n * The default auth store state.\n * Used to set the initial state of the auth store.\n */\n @Prop({ attribute: 'default-auth-store-state' }) readonly defaultAuthStoreState?: NylasAuthStoreState;\n\n /**\n * The default mailbox store state.\n * Used to set the initial state of the mailbox store.\n */\n @Prop({ attribute: 'default-mailbox-store-state' }) readonly defaultMailboxStoreState?: NylasMailboxStoreState;\n\n /**\n * This event is fired when the provider is initialized.\n * It can be used to set the initial state of the provider,\n * or to prevent the provider from firing some default behavior.\n */\n @Event({ cancelable: true }) readonly init!: EventEmitter<HTMLNylasMailboxElement>;\n\n /**\n * This event is fired when the the NyalsAuth isAuthenticated state changes\n * to true.\n */\n @Event({ cancelable: true }) readonly loggedIn!: EventEmitter<HTMLNylasMailboxElement>;\n\n /**\n * This event is fired when the the NyalsAuth isAuthenticated state changes\n * to true.\n */\n @Event({ cancelable: true }) readonly loggedOut!: EventEmitter<HTMLNylasMailboxElement>;\n\n connectedCallback() {\n debug('[nylas-mailbox] connectedCallback');\n }\n\n async componentWillLoad() {\n this.stores = {\n auth: CreateNylasAuthStore(this.defaultAuthStoreState),\n mailbox: CreateNylasMailboxStore(this.defaultMailboxStoreState),\n };\n\n this.baseProvider = new NylasBaseProvider(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides);\n\n /**\n * Create the router instance.\n * This will be used to manage the routing of the provider.\n */\n this.router = new HashRouter();\n\n /**\n * Create the NylasAuth instance.\n * This will be used to manage all things authentication with Nylas.\n */\n this.nylasAuth = NylasAuth({\n apiUri: 'https://api.us.nylas.com',\n elementsApiUri: 'https://elements.us.nylas.com',\n storageType: 'indexeddb',\n clientId: 'YOUR_CLIENT_ID',\n defaultScopes: [],\n redirectURI: '/',\n ...this.authConfig,\n });\n\n const authStore = this.baseProvider?.getStore('auth');\n if (!authStore) {\n throw new Error('Auth store is not defined');\n }\n\n const mailboxStore = this.baseProvider?.getStore('mailbox');\n if (!mailboxStore) {\n throw new Error('Mailbox store is not defined');\n }\n\n this.nylasMailboxConnector = new NylasMailboxConnector(this.router, this.nylasAuth, authStore, mailboxStore);\n\n const initEvent = this.init.emit(this.host);\n if (!initEvent.defaultPrevented) {\n /**\n * By default, on init, we will validate the session.\n * This will check if the user is logged in and if the session is still valid.\n * If the session is not valid, the user will be logged out.\n */\n await this.nylasMailboxConnector?.auth.validateSession();\n }\n\n // Handle our router\n this.router?.addRouteChangeListener(`/thread/:threadId`, async (_route, _path, routeParams) => {\n const threadId = routeParams.threadId;\n const thread = await this.nylasMailboxConnector?.threads.getThread(threadId);\n if (thread) {\n this.nylasMailboxConnector?.mailboxStore.set('selectedThread', thread);\n }\n });\n this.router?.addRouteChangeListener(`/`, async (_route, _path, _routeParams) => {\n if (!authStore.state.isAuthenticated) {\n return;\n }\n // Reset the selected thread\n this.nylasMailboxConnector?.threads.unSelectThread();\n this.nylasMailboxConnector?.folders.getFolders();\n\n // If we have a query param, search for threads\n const queryParams = window.location.hash.split('?')[1];\n if (queryParams) {\n const params = new URLSearchParams(queryParams);\n const searchQuery = params.get('query');\n if (searchQuery) {\n await this.nylasMailboxConnector?.threads.getThreads({\n search_query_native: searchQuery,\n page_token: undefined,\n });\n }\n } else {\n this.nylasMailboxConnector?.threads.getThreads();\n }\n });\n\n /**\n * Initialize the router.\n * This will be used to manage the routing of the provider.\n */\n this.router?.init();\n\n /**\n * Listen for changes in the NylasAuth isAuthenticated state.\n * This is used to fire the loggedIn and loggedOut events.\n */\n this.handleAuthChange(authStore.state.isAuthenticated);\n this.baseProvider?.componentWillLoad(this.nylasMailboxConnector);\n }\n\n async componentDidLoad() {\n const authStore = this.baseProvider?.getStore('auth');\n if (!authStore) {\n throw new Error('Auth store is not defined');\n }\n\n authStore.onChange('isAuthenticated', this.handleAuthChange);\n this.baseProvider?.componentDidLoad();\n }\n\n componentDisconnected() {\n this.baseProvider?.componentDisconnected();\n }\n\n /**\n * This is a custom event handler that is used to register a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to register\n * @returns Promise<void>\n */\n @Listen('registerComponent')\n async registerComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.registerComponent(event.detail);\n }\n\n /**\n * This is a custom event handler that is used to unregister a component with the provider.\n * It is used by components that have the `@RegisterComponent` decorator.\n * @param event A custom event that contains the component to unregister\n * @returns Promise<void>\n */\n @Listen('unregisterComponent')\n async unregisterComponentHandler(event: CustomEvent<RegisteredComponent<any, any>>): Promise<void> {\n this.baseProvider?.unregisterComponent(event.detail);\n }\n\n /**\n * This method is used to retrieve the mailboxStore instance\n * @returns The mailboxStore instance\n */\n @Method()\n async getMailboxStore(): Promise<NylasMailboxStoreType | undefined> {\n return this.baseProvider?.getStore('mailbox');\n }\n\n /**\n * This method is used to retrieve the authStore instance\n * @returns The authStore instance\n */\n @Method()\n async getAuthStore(): Promise<NylasAuthStoreType | undefined> {\n return this.baseProvider?.getStore('auth');\n }\n\n /**\n * This method is used to retrieve the NylasAuth instance\n * @returns The NylasAuth instance\n */\n @Method()\n async getNylasAuth(): Promise<NylasAuthType | undefined> {\n return this.nylasAuth;\n }\n\n /**\n * This method is used to retrieve the NylasMailboxConnector instance\n * @returns The NylasMailboxConnector instance\n */\n @Method()\n async getNylasMailboxConnector() {\n return this.nylasMailboxConnector;\n }\n\n /**\n * This method is used to handle changes in the NylasAuth isAuthenticated state\n * @param isAuthenticated isAuthenticated state\n * @returns void\n */\n private handleAuthChange = async (isAuthenticated: boolean) => {\n if (isAuthenticated) {\n this.loggedIn.emit(this.host);\n } else {\n const loggedOutEvent = this.loggedOut.emit(this.host);\n if (!loggedOutEvent.defaultPrevented) {\n await this.nylasMailboxConnector?.logout();\n }\n }\n };\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"sSAcaA,EAWX,WAAAC,CAAYC,EAAyBC,EAA0BC,EAAoCC,GACjGC,KAAKJ,OAASA,EACdI,KAAKH,UAAYA,EACjBG,KAAKF,eAAiBA,EACtBE,KAAKC,kBAAoBF,C,CAGpB,IAAAG,GACLC,EAAM,6B,CAGR,gBAAWC,GACT,OAAOJ,KAAKC,iB,CAGd,aAAWI,GACT,OAAOL,KAAKF,c,CAGd,QAAWQ,GACT,GAAIN,KAAKO,eAAgB,CACvB,OAAOP,KAAKO,c,CAEdP,KAAKO,eAAiB,IAAIC,EAAmBR,KAAKH,UAAWG,KAAKF,gBAClE,OAAOE,KAAKO,c,CAGd,WAAWE,GACT,GAAIT,KAAKU,iBAAkB,CACzB,OAAOV,KAAKU,gB,CAEdV,KAAKU,iBAAmB,IAAIC,EAAsBX,KAAKH,UAAWG,KAAKF,eAAgBE,KAAKC,kBAAmBD,KAAKJ,QACpH,OAAOI,KAAKU,gB,CAGd,YAAWE,GACT,GAAIZ,KAAKa,kBAAmB,CAC1B,OAAOb,KAAKa,iB,CAEdb,KAAKa,kBAAoB,IAAIC,EAAuBd,KAAKH,UAAWG,KAAKF,eAAgBE,KAAKC,mBAC9F,OAAOD,KAAKa,iB,CAGd,WAAWE,GACT,GAAIf,KAAKgB,kBAAmB,CAC1B,OAAOhB,KAAKgB,iB,CAEdhB,KAAKgB,kBAAoB,IAAIC,EAAsBjB,KAAKH,UAAWG,KAAKF,eAAgBE,KAAKC,mBAC7F,OAAOD,KAAKgB,iB,CAGP,OAAAE,GACL,OAAOlB,KAAKH,S,CAGP,WAAAsB,GACLnB,KAAKC,kBAAkBmB,QACvBpB,KAAKF,eAAesB,O,CAGf,YAAMC,SACLrB,KAAKH,UAAUwB,SACrBrB,KAAKmB,a,ECvFT,MAAMG,EAAkB,0BACxB,MAAAC,EAAeD,E,MCkCFE,EAAY,M,4HA2QfxB,KAAAyB,iBAAmBC,MAAOC,IAChC,GAAIA,EAAiB,CACnB3B,KAAK4B,SAASC,KAAK7B,KAAK8B,K,KACnB,CACL,MAAMC,EAAiB/B,KAAKgC,UAAUH,KAAK7B,KAAK8B,MAChD,IAAKC,EAAeE,iBAAkB,OAC9BjC,KAAKkC,uBAAuBb,S,wCAnOmB,K,oBAKoC,G,uGAuC/F,iBAAAc,GACEhC,EAAM,oC,CAGR,uBAAMiC,GACJpC,KAAKqC,OAAS,CACZ/B,KAAMgC,EAAqBtC,KAAKuC,uBAChCC,QAASC,EAAwBzC,KAAK0C,2BAGxC1C,KAAK2C,aAAe,IAAIC,EAAkB5C,KAAK8B,KAAM9B,KAAKqC,OAAQrC,KAAK6C,+BAAgC7C,KAAK8C,gBAM5G9C,KAAKJ,OAAS,IAAImD,EAMlB/C,KAAKH,UAAYmD,EAAU,CACzBC,OAAQ,2BACRC,eAAgB,gCAChBC,YAAa,YACbC,SAAU,iBACVC,cAAe,GACfC,YAAa,OACVtD,KAAKuD,aAGV,MAAMlD,EAAYL,KAAK2C,cAAca,SAAS,QAC9C,IAAKnD,EAAW,CACd,MAAM,IAAIoD,MAAM,4B,CAGlB,MAAMrD,EAAeJ,KAAK2C,cAAca,SAAS,WACjD,IAAKpD,EAAc,CACjB,MAAM,IAAIqD,MAAM,+B,CAGlBzD,KAAKkC,sBAAwB,IAAIxC,EAAsBM,KAAKJ,OAAQI,KAAKH,UAAWQ,EAAWD,GAE/F,MAAMsD,EAAY1D,KAAKE,KAAK2B,KAAK7B,KAAK8B,MACtC,IAAK4B,EAAUzB,iBAAkB,OAMzBjC,KAAKkC,uBAAuB5B,KAAKqD,kB,CAIzC3D,KAAKJ,QAAQgE,uBAAuB,qBAAqBlC,MAAOmC,EAAQC,EAAOC,KAC7E,MAAMC,EAAWD,EAAYC,SAC7B,MAAMC,QAAejE,KAAKkC,uBAAuBzB,QAAQyD,UAAUF,IACnE,GAAIC,EAAQ,CACVjE,KAAKkC,uBAAuB9B,aAAa+D,IAAI,iBAAkBF,E,KAGnEjE,KAAKJ,QAAQgE,uBAAuB,KAAKlC,MAAOmC,EAAQC,EAAOM,KAC7D,IAAK/D,EAAUgE,MAAM1C,gBAAiB,CACpC,M,CAGF3B,KAAKkC,uBAAuBzB,QAAQ6D,iBACpCtE,KAAKkC,uBAAuBnB,QAAQwD,aAGpC,MAAMC,EAAcC,OAAOC,SAASC,KAAKC,MAAM,KAAK,GACpD,GAAIJ,EAAa,CACf,MAAMK,EAAS,IAAIC,gBAAgBN,GACnC,MAAMO,EAAcF,EAAOG,IAAI,SAC/B,GAAID,EAAa,OACT/E,KAAKkC,uBAAuBzB,QAAQwE,WAAW,CACnDC,oBAAqBH,EACrBI,WAAYC,Y,MAGX,CACLpF,KAAKkC,uBAAuBzB,QAAQwE,Y,KAQxCjF,KAAKJ,QAAQM,OAMbF,KAAKyB,iBAAiBpB,EAAUgE,MAAM1C,iBACtC3B,KAAK2C,cAAcP,kBAAkBpC,KAAKkC,sB,CAG5C,sBAAMmD,GACJ,MAAMhF,EAAYL,KAAK2C,cAAca,SAAS,QAC9C,IAAKnD,EAAW,CACd,MAAM,IAAIoD,MAAM,4B,CAGlBpD,EAAUiF,SAAS,kBAAmBtF,KAAKyB,kBAC3CzB,KAAK2C,cAAc0C,kB,CAGrB,qBAAAE,GACEvF,KAAK2C,cAAc4C,uB,CAUrB,8BAAMC,CAAyBC,GAC7BzF,KAAK2C,cAAc+C,kBAAkBD,EAAME,O,CAU7C,gCAAMC,CAA2BH,GAC/BzF,KAAK2C,cAAckD,oBAAoBJ,EAAME,O,CAQ/C,qBAAMG,GACJ,OAAO9F,KAAK2C,cAAca,SAAS,U,CAQrC,kBAAMuC,GACJ,OAAO/F,KAAK2C,cAAca,SAAS,O,CAQrC,kBAAMwC,GACJ,OAAOhG,KAAKH,S,CAQd,8BAAMoG,GACJ,OAAOjG,KAAKkC,qB,CAmBd,MAAAgE,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6C"}
@@ -1,2 +1,2 @@
1
- import{r as e,c as r,h as t,F as s,H as n}from"./p-68c2fadf.js";import{R as o}from"./p-795b324a.js";import{a as l,f as i,t as a}from"./p-6c11737d.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";const d=":host{display:block}.folders{display:flex;flex-direction:column;align-items:self-start}.folders .folder{border:1px solid var(--nylas-color-primary-100);padding:0.5rem 0.75rem;margin-bottom:0.5rem;justify-content:left;width:100%;min-width:200px;border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-50)}.folders .folder:last-child{margin-bottom:0}.folders .folder.selected{background-color:var(--nylas-color-primary-100)}.folders .folder .icon{margin-right:0.5rem;stroke:var(--nylas-color-primary-900);fill:none}hr{width:100%;margin:1rem 0;border:0;border-top:1px solid var(--nylas-color-primary-100)}";const c=d;var f=undefined&&undefined.__decorate||function(e,r,t,s){var n=arguments.length,o=n<3?r:s===null?s=Object.getOwnPropertyDescriptor(r,t):s,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,r,t,s);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(n<3?l(o):n>3?l(r,t,o):l(r,t))||o;return n>3&&o&&Object.defineProperty(r,t,o),o};var u=undefined&&undefined.__metadata||function(e,r){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,r)};const p=class{constructor(t){e(this,t);this.folderSelected=r(this,"folderSelected",7);this.folderSelectedHandler=e=>{this.folderSelected?.emit(e)};this.folders=undefined;this.selectedFolder=undefined;this.defaultFolders=undefined;this.otherFolders=undefined}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){l(`[nylas-list-folders] Component will load`)}async componentDidLoad(){l(`[nylas-list-folders] Component did load`)}watchFolders(e){l(`[nylas-list-folders] watchFolders`,{newFolders:e});const r=["inbox","drafts","sent","starred","spam","archive","trash"];this.defaultFolders=r.filter((r=>e.find((e=>e.name?.toLowerCase()===r.toLowerCase())))).map((r=>e.find((e=>e.name?.toLowerCase()===r.toLowerCase())))).filter((e=>typeof e!=="undefined")).sort(((e,t)=>r.indexOf(e?.name??"")-r.indexOf(t?.name??"")));this.otherFolders=e.filter((e=>!r.find((r=>e.name?.toLowerCase()===r.toLowerCase())))).sort(((e,r)=>(e.name??"").localeCompare(r.name??"")))}formatFolderName(e){return a(e.name?.replace("CATEGORY_","")??"Unknown")}getFolderIcon(e){switch(e.name?.toLowerCase()){case"inbox":return t("inbox-icon",null);case"drafts":return t("drafts-icon",null);case"sent":return t("sent-icon",null);case"starred":return t("star-icon",null);case"spam":return t("spam-icon",null);case"archive":return t("archive-icon",null);case"trash":return t("trash-icon",null);default:return t("folder-icon",null)}}render(){return t(n,{key:"1e11d6ec60787049e26f1a3e68cfb5b47f602936"},t("div",{key:"8da3cbb6045f0e41f0e400cc9b8a16215c9bb62a",class:"folders"},this.defaultFolders?.map((e=>t("sp-button",{onClick:()=>this.folderSelectedHandler(e),class:{folder:true,selected:i(e.name??"inbox").toLowerCase()===this.selectedFolder?.toLowerCase()}},t("div",{slot:"icon",class:"icon"},this.getFolderIcon(e)),this.formatFolderName(e))))),this.otherFolders&&t(s,null,t("hr",null),t("div",{class:"folders"},this.otherFolders?.map((e=>t("sp-button",{onClick:()=>this.folderSelectedHandler(e),class:{folder:true,selected:i(e.name??"inbox").toLowerCase()===this.selectedFolder?.toLowerCase()}},t("div",{slot:"icon",class:"icon"},this.getFolderIcon(e)),this.formatFolderName(e)))))))}static get watchers(){return{folders:["watchFolders"]}}};f([o({name:"nylas-pagination",stateToProps:new Map([["mailbox.folders","folders"],["mailbox.selectedFolder","selectedFolder"]]),eventToProps:{folderSelected:async(e,r)=>{l(`[nylas-list-folders] folderSelected event`,{_event:e});await r.threads.getThreads({page_token:undefined,in:i(e.detail.id??"inbox")})}},fireRegisterEvent:true}),u("design:type",Function),u("design:paramtypes",[]),u("design:returntype",void 0)],p.prototype,"render",null);p.style=c;export{p as nylas_list_folders};
2
- //# sourceMappingURL=p-98a2f588.entry.js.map
1
+ import{r as e,c as r,h as t,F as s,H as n}from"./p-68c2fadf.js";import{R as o}from"./p-795b324a.js";import{a as l,f as i,t as a}from"./p-6c11737d.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";const d=":host{display:block}.folders{display:flex;flex-direction:column;align-items:self-start}.folders .folder{border:1px solid var(--nylas-color-primary-100);padding:0.5rem 0.75rem;margin-bottom:0.5rem;justify-content:left;width:100%;min-width:200px;border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-50)}.folders .folder:last-child{margin-bottom:0}.folders .folder.selected{background-color:var(--nylas-color-primary-100)}.folders .folder .icon{margin-right:0.5rem;stroke:var(--nylas-color-primary-900);fill:none}hr{width:100%;margin:1rem 0;border:0;border-top:1px solid var(--nylas-color-primary-100)}";const c=d;var f=undefined&&undefined.__decorate||function(e,r,t,s){var n=arguments.length,o=n<3?r:s===null?s=Object.getOwnPropertyDescriptor(r,t):s,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,r,t,s);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(n<3?l(o):n>3?l(r,t,o):l(r,t))||o;return n>3&&o&&Object.defineProperty(r,t,o),o};var u=undefined&&undefined.__metadata||function(e,r){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,r)};const p=class{constructor(t){e(this,t);this.folderSelected=r(this,"folderSelected",7);this.folderSelectedHandler=e=>{this.folderSelected?.emit(e)};this.folders=undefined;this.selectedFolder=undefined;this.defaultFolders=undefined;this.otherFolders=undefined}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){l(`[nylas-list-folders] Component will load`)}async componentDidLoad(){l(`[nylas-list-folders] Component did load`)}watchFolders(e){l(`[nylas-list-folders] watchFolders`,{newFolders:e});const r=["inbox","drafts","sent","starred","spam","archive","trash"];this.defaultFolders=r.filter((r=>e.find((e=>e.name?.toLowerCase()===r.toLowerCase())))).map((r=>e.find((e=>e.name?.toLowerCase()===r.toLowerCase())))).filter((e=>typeof e!=="undefined")).sort(((e,t)=>r.indexOf(e?.name??"")-r.indexOf(t?.name??"")));this.otherFolders=e.filter((e=>!r.find((r=>e.name?.toLowerCase()===r.toLowerCase())))).sort(((e,r)=>(e.name??"").localeCompare(r.name??"")))}formatFolderName(e){return a(e.name?.replace("CATEGORY_","")??"Unknown")}getFolderIcon(e){switch(e.name?.toLowerCase()){case"inbox":return t("inbox-icon",null);case"drafts":return t("drafts-icon",null);case"sent":return t("sent-icon",null);case"starred":return t("star-icon",null);case"spam":return t("spam-icon",null);case"archive":return t("archive-icon",null);case"trash":return t("trash-icon",null);default:return t("folder-icon",null)}}render(){return t(n,{key:"f7658523537781559e3fa8dcef8930beb8ae786f"},t("div",{key:"e08916ae6b756aded1ab5efa01f3e897ee3d97e3",class:"folders"},this.defaultFolders?.map((e=>t("sp-button",{onClick:()=>this.folderSelectedHandler(e),class:{folder:true,selected:i(e.name??"inbox").toLowerCase()===this.selectedFolder?.toLowerCase()}},t("div",{slot:"icon",class:"icon"},this.getFolderIcon(e)),this.formatFolderName(e))))),this.otherFolders&&t(s,null,t("hr",null),t("div",{class:"folders"},this.otherFolders?.map((e=>t("sp-button",{onClick:()=>this.folderSelectedHandler(e),class:{folder:true,selected:i(e.name??"inbox").toLowerCase()===this.selectedFolder?.toLowerCase()}},t("div",{slot:"icon",class:"icon"},this.getFolderIcon(e)),this.formatFolderName(e)))))))}static get watchers(){return{folders:["watchFolders"]}}};f([o({name:"nylas-pagination",stateToProps:new Map([["mailbox.folders","folders"],["mailbox.selectedFolder","selectedFolder"]]),eventToProps:{folderSelected:async(e,r)=>{l(`[nylas-list-folders] folderSelected event`,{_event:e});await r.threads.getThreads({page_token:undefined,in:i(e.detail.id??"inbox")})}},fireRegisterEvent:true}),u("design:type",Function),u("design:paramtypes",[]),u("design:returntype",void 0)],p.prototype,"render",null);p.style=c;export{p as nylas_list_folders};
2
+ //# sourceMappingURL=p-16a3bfb2.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i,a as s}from"./p-68c2fadf.js";import{a as o}from"./p-6c11737d.js";import"./p-02aa5f03.js";import"./p-cb65c223.js";const r=':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}@media screen and (max-width: 768px){:host{position:unset}}.dropdown{display:inline-block}.dropbtn{color:var(--nylas-base-800);padding:10px;font-size:1rem;font-family:var(--nylas-font-family);cursor:pointer;display:flex;gap:0.5rem;background:transparent;border:none;border-radius:var(--nylas-border-radius-2x);width:50px;padding:14px 16px;border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn:hover,.dropbtn:active{outline:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn span.chevron{display:flex;align-self:center}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropbtn span.selected-option{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:144px;font-size:14px;line-height:20px}@media screen and (max-width: 768px){.dropbtn span.selected-option{max-width:124px;font-size:16px}}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);max-width:306px;width:max-content;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1)}@media screen and (max-width: 768px){.dropdown-content{right:0;width:325px;max-width:unset}}.search-box{border-bottom:1px solid var(--nylas-base-200);padding:10px;position:sticky;top:0;background:var(--nylas-base-0)}.search-box .icon{position:absolute;top:1.25rem;left:1.25rem;color:var(--nylas-base-300)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content .selected{background-color:#e7e7e7}input[type=text]{width:-webkit-fill-available;padding:inherit;border:1px solid #ccc;border-radius:4px;position:sticky;background:no-repeat scroll 7px 7px;padding-left:30px;background-size:16px 16px}';const n=r;const d=class{constructor(i){e(this,i);this.inputOptionChanged=t(this,"inputOptionChanged",7);this.name=undefined;this.options=[];this.defaultInputOption=undefined;this.inputValue=undefined;this.pluralizedLabel="";this.filterable=false;this.selectedOption=this.defaultInputOption||null;this.isOpen=false;this.filteredOptions=[...this.options];this.ariaActivedescendant="";this.shouldAutoScroll=false}optionsChangedHandler(e,t){if(e===t){return}this.filteredOptions=this.getFilteredOptions(e)}defaultSelectedOptionChangedHandler(e,t){if(e.label===t.label){return}this.selectedOption=e}inputValueChangedHandler(e,t){if(e===t){return}this.inputValue=e;this.filteredOptions=this.getFilteredOptions(this.options)}componentWillLoad(){this.filteredOptions=this.getFilteredOptions(this.options);if(!this.selectedOption&&!!this.defaultInputOption){this.selectedOption=this.defaultInputOption}if(!this.selectedOption&&this.options.length>0){this.selectedOption=this.options[0]}}getFilteredOptions(e){if(!this.filterable){return e}return e.filter((e=>e?.value?.toString().toLowerCase().includes(this.inputValue?.toLowerCase())||e?.label?.toLowerCase().includes(this.inputValue?.toLowerCase())))}toggleDropdown(){this.isOpen=!this.isOpen}selectOption(e){this.selectedOption=e;this.toggleDropdown();this.inputOptionChanged.emit({value:e.value,name:this.name})}handleOnInput(e){const t=e.target.value;const i=this.options.findIndex((e=>e.label.toLowerCase().includes(t.toLowerCase())));if(i>-1){this.scrollToViewWithinParent(i)}this.inputOptionChanged.emit({value:t,name:this.name})}scrollToViewWithinParent(e){const t=this.options[e];const i=this.el.shadowRoot?.getElementById(t.value.toString());const s=this.optionsRef;this.ariaActivedescendant=t.value.toString();if(!i||!s)return;const o=i.getBoundingClientRect();const r=s.getBoundingClientRect();if(o.top<r.top){s.scrollTop-=r.top-o.top}else if(o.bottom>r.bottom){s.scrollTop+=o.bottom-r.bottom}}handleSelectButtonKeyDown(e){switch(e.key){case"ArrowDown":case"Enter":e.preventDefault();if(!this.isOpen){this.toggleDropdown()}this.inputRef?.focus();break;case"Escape":this.isOpen=false;break}}handleClick(e){if(this.isOpen){const t=e.target.value;const i=this.options.findIndex((e=>e.label.toLowerCase().includes(t.toLowerCase())));if(i>-1){setTimeout((()=>{this.scrollToViewWithinParent(i)}),10)}}}handleListboxKeydown(e){const t=this.filteredOptions;const i=t.findIndex((e=>e.value===this.ariaActivedescendant));if(e.key==="ArrowDown"||e.key==="Tab"&&!e.shiftKey){e.preventDefault();if(i===t.length-1){this.ariaActivedescendant="";this.inputRef?.focus();return}const s=i+1<t.length?i+1:0;this.ariaActivedescendant=t[s].value;this.focusOption(s)}else if(e.key==="ArrowUp"||e.key==="Tab"&&e.shiftKey){e.preventDefault();if(i===0){this.ariaActivedescendant="";this.inputRef?.focus();return}const s=i-1>=0?i-1:t.length-1;this.ariaActivedescendant=t[s].value;this.focusOption(s)}else if(e.key==="Enter"){e.preventDefault();if(this.ariaActivedescendant){this.selectOption(t[i])}}else if(e.key==="Escape"){this.isOpen=false}}focusOption(e){const t=this.filteredOptions[e];if(!t)return;const i=t.value;const s=this.el.shadowRoot?.getElementById(i);if(s){s.focus();s.scrollIntoView({behavior:"smooth",block:"nearest"})}}handleComboboxKeyDown(e){if(e.key==="ArrowDown"||e.key=="Tab"&&!e.shiftKey){e.preventDefault();if(!this.isOpen){this.isOpen=true;this.shouldAutoScroll=true;return}this.ariaActivedescendant=this.filteredOptions[0].value;this.focusOption(0)}else if(e.key==="ArrowUp"||e.key==="Tab"&&e.shiftKey){e.preventDefault();this.ariaActivedescendant=this.filteredOptions[this.filteredOptions.length-1].value;this.focusOption(this.filteredOptions.length-1)}else if(e.key==="Escape"){this.isOpen=false}}handleOutsideClick(e){const t=e.composedPath();const i=t.includes(this.el);if(!i&&this.isOpen){this.isOpen=false}}render(){return i("div",{key:"271eb5442c9d5358ba755a4f4117c7cf74e6fcff",class:"dropdown",part:"id_dropdown"},i("input",{key:"bb95067c1c69691912193b04f76daf1603456722",type:"text",name:this.name,id:this.name,part:"id_dropdown-input",class:{dropbtn:true,open:this.isOpen},value:this.inputValue,onClick:e=>{this.toggleDropdown();this.shouldAutoScroll=true;this.handleClick(e)},"aria-haspopup":"listbox","aria-label":this.name,"aria-expanded":this.isOpen?"true":"false",onKeyDown:e=>this.handleComboboxKeyDown(e),onInput:e=>this.handleOnInput(e)}),this.isOpen?i("div",{class:"dropdown-content",part:"id_dropdown-content",ref:e=>this.optionsRef=e},i("ul",{tabindex:"-1",role:"listbox","aria-label":this.name,"aria-activedescendant":this.ariaActivedescendant,onKeyDown:e=>this.handleListboxKeydown(e)},this.filteredOptions.map((e=>i("li",{tabindex:"0",key:e.value,id:e.value,onClick:()=>this.selectOption(e),role:"option",class:{focused:this.ariaActivedescendant===e.value.toString()}},e.labelHTML?e.labelHTML:e.label))))):null)}get el(){return s(this)}static get watchers(){return{options:["optionsChangedHandler"],defaultInputOption:["defaultSelectedOptionChangedHandler"],inputValue:["inputValueChangedHandler"]}}};d.style=n;const a=".time-period-selector.sc-time-period-selector{display:grid;gap:0.5rem;grid-template-columns:auto 1fr}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector,.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector{border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector{width:116px}.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector{width:84px;display:flex;align-items:center}.time-period-selector.sc-time-period-selector select-dropdown#time-period.sc-time-period-selector::part(sd_dropdown-button){width:100%}.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector::part(id_dropdown){width:inherit;height:100%}.time-period-selector.sc-time-period-selector input-dropdown#time-number.sc-time-period-selector::part(id_dropdown-input){border:none;border-radius:var(--nylas-border-radius-2x)}.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector::part(id_dropdown-input){padding:17px;gap:1rem}.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector::part(id_dropdown-content){width:100%;max-height:200px}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector::part(sd_dropdown){width:inherit}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector::part(sd_dropdown-button){padding:1rem;gap:1rem;justify-content:space-between}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector::part(sd_dropdown-content){width:100%;max-height:200px}";const p=a;const l={hours:"hour",days:"day",weeks:"week",months:"month"};const c=class{constructor(i){e(this,i);this.timePeriodChanged=t(this,"timePeriodChanged",7);this.timePeriods=["hour","day","week","month"];this.defaultSelectedPeriod="hour";this.defaultSelectedNumber=1;this.selectedPeriod=this.defaultSelectedPeriod;this.selectedNumber=this.defaultSelectedNumber;this.numberOptions=this.calculateOptions(this.defaultSelectedPeriod||"hour").map((e=>({label:e.toString(),value:e.toString()})));this.timePeriodOptions=this.timePeriods.map((e=>({label:e,value:e})))}defaultSelectedPeriodChangedHandler(e){this.selectedPeriod=e;const t=l[e]??e;this.updateNumberOptionsAndSelectedNumber(t)}defaultSelectedNumberChangedHandler(e){this.selectedNumber=e}timePeriodsChangedHandler(e){this.timePeriodOptions=e.map((e=>({label:e,value:e})))}calculateOptions(e){switch(e){case"hour":return Array.from({length:23},((e,t)=>t+1));case"minute":return Array.from({length:13},((e,t)=>t*5));case"day":return Array.from({length:30},((e,t)=>t+1));case"week":return Array.from({length:4},((e,t)=>t+1));case"month":return Array.from({length:12},((e,t)=>t+1));default:return[]}}inputOptionChangedHandler(e){o("time-period-selector","inputOptionChangedHandler",e.detail);const{value:t,name:i}=e.detail;if(i==="time-number"){this.selectedNumber=parseInt(t)}const s={number:this.selectedNumber,period:this.selectedPeriod};this.timePeriodChanged.emit(s)}nylasFormDropdownChangedHandler(e){o("time-period-selector","nylasFormDropdownChangedHandler",e.detail);const{value:t,name:i}=e.detail;if(i==="time-period"){this.selectedPeriod=t;this.updateNumberOptionsAndSelectedNumber(t)}else if(i==="time-number"){this.selectedNumber=parseInt(t)}const s={number:this.selectedNumber,period:this.selectedPeriod};this.timePeriodChanged.emit(s)}updateNumberOptionsAndSelectedNumber(e){const t=this.calculateOptions(e);this.numberOptions=t.map((e=>({label:e.toString(),value:e.toString()})));this.selectedNumber=parseInt(this.numberOptions[0].value)}render(){return i("div",{key:"a4b421b31d77e41c8ef3c2a7533699a6cfaeb60c",class:"time-period-selector"},i("input-dropdown",{key:"b5f99b1d27195ad8fdc3617cf04e3fba3cfd49dd",id:"time-number",name:"time-number",inputValue:this.selectedNumber.toString(),exportparts:"sd_dropdown: tps__number-dropdown, sd_dropdown-button: tps__number-dropdown-button, sd_dropdown-content: tps__number-dropdown-content",options:this.numberOptions,defaultInputOption:this.numberOptions.find((e=>e.value==this.selectedNumber.toString()))??this.numberOptions[0]}),i("select-dropdown",{key:"c06e213131979c07431ed1a6964bd0e0e2338b97",id:"time-period",name:"time-period",options:this.timePeriodOptions,exportparts:"sd_dropdown: tps__period-dropdown, sd_dropdown-button: tps__period-dropdown-button, sd_dropdown-content: tps__period-dropdown-content",pluralizedLabel:this.selectedNumber>1?"s":"",defaultSelectedOption:this.timePeriodOptions.find((e=>e.value==this.selectedPeriod))??this.timePeriodOptions[0],withSearch:false}))}get host(){return s(this)}static get watchers(){return{defaultSelectedPeriod:["defaultSelectedPeriodChangedHandler"],defaultSelectedNumber:["defaultSelectedNumberChangedHandler"],timePeriods:["timePeriodsChangedHandler"]}}};c.style=p;export{d as input_dropdown,c as time_period_selector};
2
+ //# sourceMappingURL=p-246983ed.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["inputDropdownCss","InputDropdownStyle0","InputDropdown","this","defaultInputOption","options","optionsChangedHandler","newValue","oldValue","filteredOptions","getFilteredOptions","defaultSelectedOptionChangedHandler","label","selectedOption","inputValueChangedHandler","inputValue","componentWillLoad","length","filterable","filter","option","value","toString","toLowerCase","includes","toggleDropdown","isOpen","selectOption","inputOptionChanged","emit","name","handleOnInput","event","target","optionIndex","findIndex","scrollToViewWithinParent","childElement","el","shadowRoot","getElementById","parentElement","optionsRef","ariaActivedescendant","childRect","getBoundingClientRect","parentRect","top","scrollTop","bottom","handleSelectButtonKeyDown","key","preventDefault","inputRef","focus","handleClick","setTimeout","handleListboxKeydown","e","items","currentIndex","item","shiftKey","nextIndex","focusOption","prevIndex","index","elementId","element","scrollIntoView","behavior","block","handleComboboxKeyDown","shouldAutoScroll","handleOutsideClick","path","composedPath","isClickInside","render","h","class","part","type","id","dropbtn","open","onClick","onKeyDown","onInput","ref","tabindex","role","map","focused","labelHTML","timePeriodSelectorCss","TimePeriodSelectorStyle0","pluralToSingular","hours","days","weeks","months","TimePeriodSelector","defaultSelectedPeriod","defaultSelectedNumber","calculateOptions","i","timePeriods","period","defaultSelectedPeriodChangedHandler","selectedPeriod","updateNumberOptionsAndSelectedNumber","defaultSelectedNumberChangedHandler","selectedNumber","timePeriodsChangedHandler","timePeriodOptions","Array","from","_","inputOptionChangedHandler","debug","detail","parseInt","selected","number","timePeriodChanged","nylasFormDropdownChangedHandler","numberOptions","exportparts","find","pluralizedLabel","defaultSelectedOption","withSearch"],"sources":["src/components/design-system/input-dropdown/input-dropdown.scss?tag=input-dropdown&encapsulation=shadow","src/components/design-system/input-dropdown/input-dropdown.tsx","src/components/design-system/time-period-selector/time-period-selector.scss?tag=time-period-selector&encapsulation=scoped","src/components/design-system/time-period-selector/time-period-selector.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n position: relative;\n @media #{$mobile} {\n position: unset;\n }\n @include default-css-variables;\n}\n\n.dropdown {\n display: inline-block;\n}\n\n.dropbtn {\n color: var(--nylas-base-800);\n padding: 10px;\n font-size: 1rem;\n font-family: var(--nylas-font-family);\n cursor: pointer;\n display: flex;\n gap: 0.5rem;\n background: transparent;\n border: none;\n border-radius: var(--nylas-border-radius-2x);\n width: 50px;\n padding: 14px 16px;\n border-radius: var(--nylas-border-radius-2x);\n &.focus {\n background: transparent;\n }\n &:hover,\n &:active {\n outline: 1px solid var(--nylas-primary);\n }\n &:active {\n outline: 2px solid var(--nylas-primary);\n }\n span {\n &.chevron {\n display: flex;\n align-self: center;\n }\n &.open {\n transform: rotate(90deg);\n }\n &.closed {\n transform: rotate(270deg);\n }\n &.selected-option {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 144px;\n font-size: 14px;\n line-height: 20px;\n @media #{$mobile} {\n max-width: 124px;\n font-size: 16px;\n }\n }\n }\n}\n\n.dropdown-content {\n display: block;\n margin-top: 0.5rem;\n background-color: var(--nylas-base-0);\n max-width: 306px;\n width: max-content;\n max-height: 336px;\n overflow: auto;\n z-index: 1;\n border-radius: 4px;\n position: absolute;\n @media #{$mobile} {\n right: 0;\n width: 325px;\n max-width: unset;\n }\n box-shadow: 0px 4px 6px -2px rgba(0, 0, 0, 0.05);\n box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);\n}\n\n.search-box {\n border-bottom: 1px solid var(--nylas-base-200);\n padding: 10px;\n position: sticky;\n top: 0;\n background: var(--nylas-base-0);\n .icon {\n position: absolute;\n top: 1.25rem;\n left: 1.25rem;\n color: var(--nylas-base-300);\n }\n}\n\n.dropdown-content ul {\n padding: 0;\n list-style-type: none;\n color: var(--nylas-base-900);\n max-height: 336px;\n li {\n padding: 16px, 12px, 16px, 12px;\n color: black;\n padding: 12px 16px;\n text-decoration: none;\n display: block;\n font-family: inherit;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0px;\n text-align: left;\n cursor: pointer;\n &:hover,\n &:focus {\n background-color: var(--nylas-base-100);\n }\n }\n}\n\n.dropdown-content .selected {\n background-color: #e7e7e7;\n}\n\ninput[type='text'] {\n width: -webkit-fill-available;\n padding: inherit;\n border: 1px solid #ccc;\n border-radius: 4px;\n position: sticky;\n background: no-repeat scroll 7px 7px;\n padding-left: 30px;\n background-size: 16px 16px;\n}\n","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 `input-dropdown` component is a dropdown that allows users to input an option and/or select from a list of options.\n * @part id_dropdown - The dropdown container\n * @part id_dropdown-input - The dropdown button\n * @part id_dropdown-content - The dropdown content\n */\n@Component({\n tag: 'input-dropdown',\n styleUrl: 'input-dropdown.scss',\n shadow: true,\n})\nexport class InputDropdown {\n @Element() el!: HTMLElement;\n\n private inputRef?: HTMLInputElement;\n private optionsRef!: HTMLElement;\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() defaultInputOption?: DropdownOption;\n /**\n * Should show search input\n */\n @Prop() inputValue!: string;\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 /**\n * This is used to set if the dropdown should be filtered based on the input value.\n * If set to true, the dropdown will be filtered based on the input value.\n */\n @Prop() filterable: boolean = false;\n\n // States\n /**\n * The selected option\n */\n @State() selectedOption: DropdownOption | null = this.defaultInputOption || null;\n /**\n * The open state of the dropdown\n */\n @State() isOpen: boolean = false;\n\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 /**\n * This is used to scroll to the input value.\n */\n @State() shouldAutoScroll: boolean = false;\n\n // Events\n /**\n * This event is fired when the selected option is changed\n */\n @Event({ bubbles: true, composed: true }) inputOptionChanged!: 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 = this.getFilteredOptions(newValue);\n }\n\n @Watch('defaultInputOption')\n defaultSelectedOptionChangedHandler(newValue: DropdownOption, oldValue: DropdownOption) {\n if (newValue.label === oldValue.label) {\n return;\n }\n this.selectedOption = newValue;\n }\n\n @Watch('inputValue')\n inputValueChangedHandler(newValue: string, oldValue: string) {\n if (newValue === oldValue) {\n return;\n }\n this.inputValue = newValue;\n this.filteredOptions = this.getFilteredOptions(this.options);\n }\n\n // Lifecycle methods\n componentWillLoad() {\n this.filteredOptions = this.getFilteredOptions(this.options);\n // Set the selected option to the first option if no option is selected\n if (!this.selectedOption && !!this.defaultInputOption) {\n this.selectedOption = this.defaultInputOption;\n }\n if (!this.selectedOption && this.options.length > 0) {\n this.selectedOption = this.options[0];\n }\n }\n\n // Methods\n getFilteredOptions(options): DropdownOption[] {\n if (!this.filterable) {\n return options;\n }\n return options.filter(\n option => option?.value?.toString().toLowerCase().includes(this.inputValue?.toLowerCase()) || option?.label?.toLowerCase().includes(this.inputValue?.toLowerCase()),\n );\n }\n toggleDropdown(): void {\n this.isOpen = !this.isOpen;\n }\n\n selectOption(option: DropdownOption): void {\n this.selectedOption = option;\n this.toggleDropdown();\n this.inputOptionChanged.emit({\n value: option.value,\n name: this.name,\n });\n }\n\n handleOnInput(event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n const optionIndex = this.options.findIndex(option => option.label.toLowerCase().includes(value.toLowerCase()));\n if (optionIndex > -1) {\n this.scrollToViewWithinParent(optionIndex);\n }\n this.inputOptionChanged.emit({\n value,\n name: this.name,\n });\n }\n\n scrollToViewWithinParent(optionIndex: number) {\n const option = this.options[optionIndex];\n const childElement = this.el.shadowRoot?.getElementById(option.value.toString()) as HTMLLIElement;\n const parentElement = this.optionsRef;\n\n this.ariaActivedescendant = option.value.toString();\n if (!childElement || !parentElement) return;\n // Scroll child into view within parent\n const childRect = childElement.getBoundingClientRect();\n const parentRect = parentElement.getBoundingClientRect();\n\n if (childRect.top < parentRect.top) {\n // Child is above the visible area of the parent\n parentElement.scrollTop -= parentRect.top - childRect.top;\n } else if (childRect.bottom > parentRect.bottom) {\n // Child is below the visible area of the parent\n parentElement.scrollTop += childRect.bottom - parentRect.bottom;\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 handleClick(event: Event): void {\n if (this.isOpen) {\n const value = (event.target as HTMLInputElement).value;\n const optionIndex = this.options.findIndex(option => option.label.toLowerCase().includes(value.toLowerCase()));\n if (optionIndex > -1) {\n setTimeout(() => {\n this.scrollToViewWithinParent(optionIndex);\n }, 10);\n }\n }\n }\n\n handleListboxKeydown(e) {\n const items = this.filteredOptions;\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 if (!this.isOpen) {\n this.isOpen = true;\n this.shouldAutoScroll = true;\n return;\n }\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=\"id_dropdown\">\n <input\n type=\"text\"\n name={this.name}\n id={this.name}\n part=\"id_dropdown-input\"\n class={{ dropbtn: true, open: this.isOpen }}\n value={this.inputValue}\n onClick={(e: Event) => {\n this.toggleDropdown();\n this.shouldAutoScroll = true;\n this.handleClick(e);\n }}\n aria-haspopup=\"listbox\"\n aria-label={this.name}\n aria-expanded={this.isOpen ? 'true' : 'false'}\n onKeyDown={e => this.handleComboboxKeyDown(e)}\n onInput={event => this.handleOnInput(event)}\n />\n {this.isOpen ? (\n <div class=\"dropdown-content\" part=\"id_dropdown-content\" ref={el => (this.optionsRef = el as HTMLElement)}>\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\n tabindex=\"0\"\n key={option.value}\n id={option.value}\n onClick={() => this.selectOption(option)}\n role=\"option\"\n class={{\n focused: this.ariaActivedescendant === option.value.toString(),\n }}\n >\n {option.labelHTML ? option.labelHTML : option.label}\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n </div>\n );\n }\n}\n",".time-period-selector {\n display: grid;\n gap: 0.5rem;\n grid-template-columns: auto 1fr;\n\n select-dropdown,\n input-dropdown {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n }\n select-dropdown {\n width: 116px;\n }\n input-dropdown {\n width: 84px;\n display: flex;\n align-items: center;\n }\n\n select-dropdown#time-period::part(sd_dropdown-button) {\n width: 100%;\n }\n input-dropdown::part(id_dropdown) {\n width: inherit;\n height: 100%;\n }\n input-dropdown#time-number::part(id_dropdown-input) {\n border: none;\n border-radius: var(--nylas-border-radius-2x);\n }\n input-dropdown::part(id_dropdown-input) {\n padding: 17px;\n gap: 1rem;\n }\n input-dropdown::part(id_dropdown-content) {\n width: 100%;\n max-height: 200px;\n }\n select-dropdown::part(sd_dropdown) {\n width: inherit;\n }\n select-dropdown::part(sd_dropdown-button) {\n padding: 1rem;\n gap: 1rem;\n justify-content: space-between;\n }\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-height: 200px;\n }\n}\n","import { debug } from '@/utils/utils';\nimport { Element, Event, EventEmitter, Watch } from '@stencil/core';\nimport { Component, h, Listen, Prop, State } from '@stencil/core';\n\nconst pluralToSingular = {\n hours: 'hour',\n days: 'day',\n weeks: 'week',\n months: 'month',\n};\n\n@Component({\n tag: 'time-period-selector',\n styleUrl: 'time-period-selector.scss',\n scoped: true,\n})\nexport class TimePeriodSelector {\n @Element() host!: HTMLElement;\n\n // The possible values for the time periods dropdown\n @Prop() timePeriods: string[] = ['hour', 'day', 'week', 'month'];\n\n /**\n * The default selected time period.\n */\n @Prop() defaultSelectedPeriod: string = 'hour';\n\n /**\n * The default selected number.\n */\n @Prop() defaultSelectedNumber: number = 1;\n\n /**\n * The currently selected time period\n */\n @State() selectedPeriod: string = this.defaultSelectedPeriod;\n\n /**\n * The currently selected number of the time period\n */\n @State() selectedNumber: number = this.defaultSelectedNumber;\n\n /*\n * The options for the number dropdown, to be calculated based on the selectedPeriod\n */\n @State() numberOptions: { label: string; value: string }[] = this.calculateOptions(this.defaultSelectedPeriod || 'hour').map(i => {\n return {\n label: i.toString(),\n value: i.toString(),\n };\n });\n\n /**\n * The options for the time period dropdown\n */\n @State() timePeriodOptions = this.timePeriods.map(period => {\n return {\n label: period,\n value: period,\n };\n });\n\n @Watch('defaultSelectedPeriod')\n defaultSelectedPeriodChangedHandler(newValue: string) {\n this.selectedPeriod = newValue;\n const period = pluralToSingular[newValue] ?? newValue;\n this.updateNumberOptionsAndSelectedNumber(period);\n }\n\n @Watch('defaultSelectedNumber')\n defaultSelectedNumberChangedHandler(newValue: number) {\n this.selectedNumber = newValue;\n }\n\n @Watch('timePeriods')\n timePeriodsChangedHandler(newValue: string[]) {\n this.timePeriodOptions = newValue.map(period => {\n return {\n label: period,\n value: period,\n };\n });\n }\n\n @Event() timePeriodChanged!: EventEmitter<{ number: number; period: string }>;\n\n private calculateOptions(period: string): number[] {\n switch (period) {\n case 'hour':\n return Array.from({ length: 23 }, (_, i) => i + 1);\n case 'minute':\n return Array.from({ length: 13 }, (_, i) => i * 5);\n case 'day':\n return Array.from({ length: 30 }, (_, i) => i + 1);\n case 'week':\n return Array.from({ length: 4 }, (_, i) => i + 1);\n case 'month':\n return Array.from({ length: 12 }, (_, i) => i + 1);\n default:\n return [];\n }\n }\n\n @Listen('inputOptionChanged')\n inputOptionChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('time-period-selector', 'inputOptionChangedHandler', event.detail);\n const { value, name } = event.detail;\n if (name === 'time-number') {\n this.selectedNumber = parseInt(value);\n }\n const selected = {\n number: this.selectedNumber,\n period: this.selectedPeriod,\n };\n this.timePeriodChanged.emit(selected);\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('time-period-selector', 'nylasFormDropdownChangedHandler', event.detail);\n const { value, name } = event.detail;\n if (name === 'time-period') {\n this.selectedPeriod = value;\n this.updateNumberOptionsAndSelectedNumber(value);\n } else if (name === 'time-number') {\n this.selectedNumber = parseInt(value);\n }\n const selected = {\n number: this.selectedNumber,\n period: this.selectedPeriod,\n };\n this.timePeriodChanged.emit(selected);\n }\n\n updateNumberOptionsAndSelectedNumber(period: string) {\n const numberOptions = this.calculateOptions(period);\n this.numberOptions = numberOptions.map(i => {\n return {\n label: i.toString(),\n value: i.toString(),\n };\n });\n this.selectedNumber = parseInt(this.numberOptions[0].value);\n }\n\n render() {\n return (\n <div class=\"time-period-selector\">\n {/* <select-dropdown\n id=\"time-number\"\n name={'time-number'}\n exportparts=\"sd_dropdown: tps__number-dropdown, sd_dropdown-button: tps__number-dropdown-button, sd_dropdown-content: tps__number-dropdown-content\"\n options={this.numberOptions}\n defaultSelectedOption={this.numberOptions.find(i => i.value == this.selectedNumber.toString()) ?? this.numberOptions[0]}\n withSearch={false}\n /> */}\n <input-dropdown\n id=\"time-number\"\n name={'time-number'}\n inputValue={this.selectedNumber.toString()}\n exportparts=\"sd_dropdown: tps__number-dropdown, sd_dropdown-button: tps__number-dropdown-button, sd_dropdown-content: tps__number-dropdown-content\"\n options={this.numberOptions}\n defaultInputOption={this.numberOptions.find(i => i.value == this.selectedNumber.toString()) ?? this.numberOptions[0]}\n />\n <select-dropdown\n id=\"time-period\"\n name={'time-period'}\n options={this.timePeriodOptions}\n exportparts=\"sd_dropdown: tps__period-dropdown, sd_dropdown-button: tps__period-dropdown-button, sd_dropdown-content: tps__period-dropdown-content\"\n pluralizedLabel={this.selectedNumber > 1 ? 's' : ''}\n defaultSelectedOption={this.timePeriodOptions.find(i => i.value == this.selectedPeriod) ?? this.timePeriodOptions[0]}\n withSearch={false}\n />\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as t,h as o,a as e}from"./p-68c2fadf.js";const a=".sc-info-icon-h{display:flex}";const n=a;const s=class{constructor(o){t(this,o);this.width="14";this.height="14"}render(){return o("svg",{key:"8200b4afbec3bdbc9f5ed2b62d938dcee20b7e39",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},o("path",{key:"8101a5ae2ab8f1f016bcfcb0e8961da8170fd692",fill:"currentColor",d:"M6.5 5.5C6.77614 5.5 7 5.72386 7 6V9C7 9.27614 6.77614 9.5 6.5 9.5C6.22386 9.5 6 9.27614 6 9V6C6 5.72386 6.22386 5.5 6.5 5.5ZM6.50001 4.74907C6.91369 4.74907 7.24905 4.41371 7.24905 4.00003C7.24905 3.58635 6.91369 3.251 6.50001 3.251C6.08633 3.251 5.75098 3.58635 5.75098 4.00003C5.75098 4.41371 6.08633 4.74907 6.50001 4.74907ZM0.5 6.5C0.5 3.18629 3.18629 0.5 6.5 0.5C9.81371 0.5 12.5 3.18629 12.5 6.5C12.5 9.81371 9.81371 12.5 6.5 12.5C3.18629 12.5 0.5 9.81371 0.5 6.5ZM6.5 1.5C3.73858 1.5 1.5 3.73858 1.5 6.5C1.5 9.26142 3.73858 11.5 6.5 11.5C9.26142 11.5 11.5 9.26142 11.5 6.5C11.5 3.73858 9.26142 1.5 6.5 1.5Z"}))}};s.style=n;const r='.tooltip-container{position:relative;display:flex;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.tooltip-content{visibility:hidden;background-color:var(--nylas-base-800);color:var(--nylas-base-0);text-align:left;border-radius:6px;padding:5px 0;position:absolute;z-index:1;opacity:0;transition:opacity 0.3s;padding:0.5rem 1rem;max-width:200px;width:max-content}.tooltip-content.top{bottom:0;left:0;margin-bottom:1.25rem;transform:translateX(-50%)}.tooltip-content.right{top:50%;left:0%;margin-left:1.25rem;transform:translateY(-50%)}.tooltip-content.bottom{top:0;left:0;margin-top:1.25rem;transform:translateX(-50%)}.tooltip-content.left{top:50%;right:0%;margin-right:1.25rem;transform:translateY(-50%)}.tooltip-container:hover .tooltip-content,.tooltip-container:focus-within .tooltip-content{visibility:visible;opacity:1}.tooltip-content::after{content:"";position:absolute;top:-0.75rem;left:50%;transform:rotate(180deg);border-width:6px;border-style:solid;border-color:black transparent transparent transparent}.tooltip-content.top::after{top:100%;left:50%;transform:rotate(0deg)}.tooltip-content.bottom::after{top:-0.75rem;left:50%;transform:rotate(180deg)}.tooltip-content.left::after{top:47.5%;left:100%;transform:rotate(270deg)}.tooltip-content.right::after{top:47.5%;left:-0.75rem;transform:rotate(90deg)}';const i=r;const l=class{constructor(o){t(this,o);this.position="bottom"}showTooltip(t){t.target.nextElementSibling.style.visibility="visible";t.target.nextElementSibling.style.opacity="1"}hideTooltip(t){t.target.nextElementSibling.style.visibility="hidden";t.target.nextElementSibling.style.opacity="0"}render(){return o("div",{key:"ea47f5cff4c14535dd36483a6a3c89da000ddfc0",class:"tooltip-container",part:"tc__container"},o("span",{key:"be5171a0f003a2f9be9e70c5b8ecf2f4599c0218",class:"info-icon",tabindex:"0",onFocus:this.showTooltip.bind(this),onBlur:this.hideTooltip.bind(this)},o("slot",{key:"d031260e240c50cc93d0096909e75d2f617239e7",name:"tooltip-icon"},"i")),o("span",{key:"0d1d4f0a7474116b9d083a4ad558bb934be2dc65",class:`tooltip-content ${this.position}`,part:"tc__content"},o("slot",{key:"0165a825160db148833ffafff525fe9b305ac80b",name:"tooltip-content"},"This is a help text.")))}get el(){return e(this)}};l.style=i;export{s as info_icon,l as tooltip_component};
2
- //# sourceMappingURL=p-4b1466b3.entry.js.map
1
+ import{r as t,h as e,a as o}from"./p-68c2fadf.js";const n=".sc-info-icon-h{display:flex}";const a=n;const s=class{constructor(e){t(this,e);this.width="14";this.height="14"}render(){return e("svg",{key:"3b39e75ccc51ecef3016e2efacde52c32ebd3d7f",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{key:"27399ed4f40a68e7c6cace9ccb098289e524e501",fill:"currentColor",d:"M6.5 5.5C6.77614 5.5 7 5.72386 7 6V9C7 9.27614 6.77614 9.5 6.5 9.5C6.22386 9.5 6 9.27614 6 9V6C6 5.72386 6.22386 5.5 6.5 5.5ZM6.50001 4.74907C6.91369 4.74907 7.24905 4.41371 7.24905 4.00003C7.24905 3.58635 6.91369 3.251 6.50001 3.251C6.08633 3.251 5.75098 3.58635 5.75098 4.00003C5.75098 4.41371 6.08633 4.74907 6.50001 4.74907ZM0.5 6.5C0.5 3.18629 3.18629 0.5 6.5 0.5C9.81371 0.5 12.5 3.18629 12.5 6.5C12.5 9.81371 9.81371 12.5 6.5 12.5C3.18629 12.5 0.5 9.81371 0.5 6.5ZM6.5 1.5C3.73858 1.5 1.5 3.73858 1.5 6.5C1.5 9.26142 3.73858 11.5 6.5 11.5C9.26142 11.5 11.5 9.26142 11.5 6.5C11.5 3.73858 9.26142 1.5 6.5 1.5Z"}))}};s.style=a;const r='.tooltip-container{position:relative;display:flex;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.tooltip-content{visibility:hidden;background-color:var(--nylas-base-800);color:var(--nylas-base-0);text-align:left;border-radius:6px;padding:5px 0;position:absolute;z-index:1;opacity:0;transition:opacity 0.3s;padding:0.5rem 1rem;max-width:200px;width:max-content}.tooltip-content.top{bottom:0;left:0;margin-bottom:1.25rem;transform:translateX(-50%)}.tooltip-content.right{top:50%;left:0%;margin-left:1.25rem;transform:translateY(-50%)}.tooltip-content.bottom{top:0;left:0;margin-top:1.25rem;transform:translateX(-50%)}.tooltip-content.left{top:50%;right:0%;margin-right:1.25rem;transform:translateY(-50%)}.tooltip-container:hover .tooltip-content,.tooltip-container:focus-within .tooltip-content{visibility:visible;opacity:1}.tooltip-content::after{content:"";position:absolute;top:-0.75rem;left:50%;transform:rotate(180deg);border-width:6px;border-style:solid;border-color:black transparent transparent transparent}.tooltip-content.top::after{top:100%;left:50%;transform:rotate(0deg)}.tooltip-content.bottom::after{top:-0.75rem;left:50%;transform:rotate(180deg)}.tooltip-content.left::after{top:47.5%;left:100%;transform:rotate(270deg)}.tooltip-content.right::after{top:47.5%;left:-0.75rem;transform:rotate(90deg)}';const i=r;const l=class{constructor(e){t(this,e);this.position="bottom"}showTooltip(t){t.target.nextElementSibling.style.visibility="visible";t.target.nextElementSibling.style.opacity="1"}hideTooltip(t){t.target.nextElementSibling.style.visibility="hidden";t.target.nextElementSibling.style.opacity="0"}render(){return e("div",{key:"18b608bb808e958a45cf72aeb8b1e25c0227ea62",class:"tooltip-container",part:"tc__container"},e("span",{key:"4e7a423a9de7f26914169d3b4b72507de459a782",class:"info-icon",tabindex:"0",onFocus:this.showTooltip.bind(this),onBlur:this.hideTooltip.bind(this)},e("slot",{key:"6820cbb0852277eb96fb9f4b6ad88576f41d602f",name:"tooltip-icon"},"i")),e("span",{key:"99c67c01fcadf2de5890498fb7422b26807e1562",class:`tooltip-content ${this.position}`,part:"tc__content"},e("slot",{key:"416736464010dee66cc5f5fbb03114d6c6bc32f8",name:"tooltip-content"},"This is a help text.")))}get el(){return o(this)}};l.style=i;export{s as info_icon,l as tooltip_component};
2
+ //# sourceMappingURL=p-25c97a60.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as C,h as t}from"./p-68c2fadf.js";const s=".sc-translate-icon-h{display:flex}";const e=s;const r=class{constructor(t){C(this,t);this.width="16";this.height="16"}render(){return t("svg",{key:"cc28e003f52beddf264e14de210359dbeab11321",xmlns:"http://www.w3.org/2000/svg",width:this.width,height:this.height,viewBox:"0 0 20 20",fill:"none"},t("path",{key:"887afb698a01900cf408d4db7cd389f3505f8211",fill:"currentColor",d:"M14.1663 4.02867C14.4267 4.12081 14.563 4.40654 14.4709 4.66685C14.3501 5.00788 14.2182 5.4771 14.1178 5.86047C14.6877 5.77587 15.2665 5.65653 15.8867 5.51288C16.1557 5.45058 16.4243 5.61815 16.4866 5.88717C16.5489 6.15619 16.3814 6.42479 16.1123 6.4871C15.339 6.66621 14.6101 6.81289 13.8717 6.90283C13.7759 7.35654 13.7014 7.77084 13.6451 8.15021C14.1202 8.04599 14.5738 8.00553 14.9996 8.02075L14.9996 8C14.9996 7.72386 15.2235 7.5 15.4996 7.5C15.7758 7.5 15.9996 7.72386 15.9996 8C15.9996 8.05657 15.9991 8.11281 15.9979 8.16871C17.1392 8.47838 17.9781 9.23987 18.3435 10.2263C18.9579 11.8853 18.1287 13.8787 15.7027 14.9569C15.4504 15.069 15.1549 14.9554 15.0427 14.7031C14.9306 14.4507 15.0442 14.1552 15.2966 14.0431C17.3705 13.1213 17.7913 11.6147 17.4057 10.5737C17.1874 9.984 16.6776 9.44916 15.9129 9.18633C15.6829 10.7237 15.021 11.9466 14.229 12.7925C14.3126 12.9656 14.3958 13.1436 14.4641 13.3151C14.5662 13.5717 14.441 13.8625 14.1844 13.9646C13.9278 14.0667 13.637 13.9415 13.5349 13.6849C13.5066 13.6137 13.4777 13.5463 13.448 13.4802C13.028 13.7794 12.5905 13.9869 12.1705 14.0835C11.5942 14.2161 10.963 14.1517 10.534 13.6942C9.88917 13.0053 9.84361 11.8611 10.2855 10.8412C10.6652 9.96479 11.4186 9.11781 12.5848 8.54034C12.6387 8.07338 12.7199 7.55894 12.8332 6.98891C12.3926 7.00755 11.9403 7.00326 11.4659 6.97127C11.1904 6.95269 10.9821 6.71428 11.0007 6.43876C11.0192 6.16325 11.2577 5.95496 11.5332 5.97353C12.0633 6.00928 12.5641 6.00772 13.0566 5.97553C13.1605 5.55444 13.3512 4.8331 13.5282 4.33317C13.6203 4.07286 13.906 3.93653 14.1663 4.02867ZM12.501 9.74109C11.8436 10.1821 11.427 10.7219 11.2031 11.2387C10.8542 12.0439 10.9881 12.716 11.2638 13.0105C11.2637 13.0104 11.2639 13.0106 11.2638 13.0105C11.3573 13.11 11.5624 13.1973 11.9463 13.109C12.2578 13.0373 12.6311 12.8571 13.0121 12.5576C12.8658 12.22 12.7272 11.8324 12.6313 11.353C12.5405 10.8996 12.4899 10.3743 12.501 9.74109ZM13.7808 11.7797C14.316 11.0956 14.759 10.1665 14.9271 9.01632C14.539 9.00681 14.1111 9.05601 13.6457 9.17854C13.605 9.19274 13.5647 9.20726 13.525 9.22209C13.4663 10.0545 13.5146 10.671 13.6118 11.1568C13.6578 11.3868 13.7156 11.5913 13.7808 11.7797ZM6.92028 5.2159C5.77942 4.88398 4.78409 5.00841 4.07616 5.21575C3.72264 5.3193 3.439 5.44393 3.24121 5.5443C3.14215 5.59457 3.0641 5.63901 3.00903 5.67212C2.98147 5.68868 2.95962 5.70244 2.9437 5.71271L2.92429 5.72542L2.91797 5.72966L2.91566 5.73123L2.91393 5.73241C2.91384 5.73249 2.91436 5.73325 2.94925 5.78397C3.23698 6.20225 3.1703 6.10548 2.91393 5.73241C2.68634 5.88881 2.62863 6.20009 2.78502 6.42767C2.94134 6.65514 3.25207 6.71313 3.47963 6.55703L3.4788 6.5576L3.48576 6.55305C3.49318 6.54826 3.50608 6.5401 3.52423 6.52919C3.56057 6.50735 3.6177 6.47463 3.69373 6.43605C3.84612 6.35872 4.07228 6.2589 4.35724 6.17544C4.92619 6.0088 5.72242 5.90898 6.64043 6.17595C7.35305 6.38517 7.66747 6.76919 7.82692 7.16112C7.98173 7.54163 8.0026 7.95751 8.00531 8.33243C7.46199 8.18407 6.79336 8.03682 6.08385 8.00744C5.04808 7.96456 3.8874 8.17096 2.87738 9.01102C1.98877 9.75011 1.78345 10.8818 2.07014 11.853C2.35713 12.8252 3.14925 13.692 4.31803 13.9348C5.22351 14.123 6.18016 13.8639 6.9599 13.5212C7.3403 13.354 7.69572 13.1594 8.0057 12.9665V13.5C8.0057 13.7761 8.22956 14 8.5057 14C8.78184 14 9.0057 13.7754 9.0057 13.4993L9.0057 8.44586C9.0058 8.05404 9.00595 7.40554 8.7532 6.78428C8.48142 6.11625 7.93342 5.51313 6.92136 5.21622L6.92028 5.2159ZM6.04249 9.00659C6.76366 9.03645 7.44769 9.209 8.0057 9.37205V11.757C7.65814 12.0182 7.13927 12.35 6.55757 12.6057C5.85264 12.9155 5.12729 13.0816 4.52148 12.9557C3.75127 12.7957 3.22322 12.2271 3.02922 11.5699C2.83491 10.9116 2.98777 10.2199 3.51683 9.77985C4.27958 9.14545 5.16917 8.97043 6.04249 9.00659Z"}))}};r.style=e;export{r as translate_icon};
2
- //# sourceMappingURL=p-395f49eb.entry.js.map
1
+ import{r as C,h as t}from"./p-68c2fadf.js";const s=".sc-translate-icon-h{display:flex}";const e=s;const r=class{constructor(t){C(this,t);this.width="16";this.height="16"}render(){return t("svg",{key:"0407fb57277fb57da37d202bcb18b11511643093",xmlns:"http://www.w3.org/2000/svg",width:this.width,height:this.height,viewBox:"0 0 20 20",fill:"none"},t("path",{key:"a522a2961e2c6774b396899705eec48ecf675f37",fill:"currentColor",d:"M14.1663 4.02867C14.4267 4.12081 14.563 4.40654 14.4709 4.66685C14.3501 5.00788 14.2182 5.4771 14.1178 5.86047C14.6877 5.77587 15.2665 5.65653 15.8867 5.51288C16.1557 5.45058 16.4243 5.61815 16.4866 5.88717C16.5489 6.15619 16.3814 6.42479 16.1123 6.4871C15.339 6.66621 14.6101 6.81289 13.8717 6.90283C13.7759 7.35654 13.7014 7.77084 13.6451 8.15021C14.1202 8.04599 14.5738 8.00553 14.9996 8.02075L14.9996 8C14.9996 7.72386 15.2235 7.5 15.4996 7.5C15.7758 7.5 15.9996 7.72386 15.9996 8C15.9996 8.05657 15.9991 8.11281 15.9979 8.16871C17.1392 8.47838 17.9781 9.23987 18.3435 10.2263C18.9579 11.8853 18.1287 13.8787 15.7027 14.9569C15.4504 15.069 15.1549 14.9554 15.0427 14.7031C14.9306 14.4507 15.0442 14.1552 15.2966 14.0431C17.3705 13.1213 17.7913 11.6147 17.4057 10.5737C17.1874 9.984 16.6776 9.44916 15.9129 9.18633C15.6829 10.7237 15.021 11.9466 14.229 12.7925C14.3126 12.9656 14.3958 13.1436 14.4641 13.3151C14.5662 13.5717 14.441 13.8625 14.1844 13.9646C13.9278 14.0667 13.637 13.9415 13.5349 13.6849C13.5066 13.6137 13.4777 13.5463 13.448 13.4802C13.028 13.7794 12.5905 13.9869 12.1705 14.0835C11.5942 14.2161 10.963 14.1517 10.534 13.6942C9.88917 13.0053 9.84361 11.8611 10.2855 10.8412C10.6652 9.96479 11.4186 9.11781 12.5848 8.54034C12.6387 8.07338 12.7199 7.55894 12.8332 6.98891C12.3926 7.00755 11.9403 7.00326 11.4659 6.97127C11.1904 6.95269 10.9821 6.71428 11.0007 6.43876C11.0192 6.16325 11.2577 5.95496 11.5332 5.97353C12.0633 6.00928 12.5641 6.00772 13.0566 5.97553C13.1605 5.55444 13.3512 4.8331 13.5282 4.33317C13.6203 4.07286 13.906 3.93653 14.1663 4.02867ZM12.501 9.74109C11.8436 10.1821 11.427 10.7219 11.2031 11.2387C10.8542 12.0439 10.9881 12.716 11.2638 13.0105C11.2637 13.0104 11.2639 13.0106 11.2638 13.0105C11.3573 13.11 11.5624 13.1973 11.9463 13.109C12.2578 13.0373 12.6311 12.8571 13.0121 12.5576C12.8658 12.22 12.7272 11.8324 12.6313 11.353C12.5405 10.8996 12.4899 10.3743 12.501 9.74109ZM13.7808 11.7797C14.316 11.0956 14.759 10.1665 14.9271 9.01632C14.539 9.00681 14.1111 9.05601 13.6457 9.17854C13.605 9.19274 13.5647 9.20726 13.525 9.22209C13.4663 10.0545 13.5146 10.671 13.6118 11.1568C13.6578 11.3868 13.7156 11.5913 13.7808 11.7797ZM6.92028 5.2159C5.77942 4.88398 4.78409 5.00841 4.07616 5.21575C3.72264 5.3193 3.439 5.44393 3.24121 5.5443C3.14215 5.59457 3.0641 5.63901 3.00903 5.67212C2.98147 5.68868 2.95962 5.70244 2.9437 5.71271L2.92429 5.72542L2.91797 5.72966L2.91566 5.73123L2.91393 5.73241C2.91384 5.73249 2.91436 5.73325 2.94925 5.78397C3.23698 6.20225 3.1703 6.10548 2.91393 5.73241C2.68634 5.88881 2.62863 6.20009 2.78502 6.42767C2.94134 6.65514 3.25207 6.71313 3.47963 6.55703L3.4788 6.5576L3.48576 6.55305C3.49318 6.54826 3.50608 6.5401 3.52423 6.52919C3.56057 6.50735 3.6177 6.47463 3.69373 6.43605C3.84612 6.35872 4.07228 6.2589 4.35724 6.17544C4.92619 6.0088 5.72242 5.90898 6.64043 6.17595C7.35305 6.38517 7.66747 6.76919 7.82692 7.16112C7.98173 7.54163 8.0026 7.95751 8.00531 8.33243C7.46199 8.18407 6.79336 8.03682 6.08385 8.00744C5.04808 7.96456 3.8874 8.17096 2.87738 9.01102C1.98877 9.75011 1.78345 10.8818 2.07014 11.853C2.35713 12.8252 3.14925 13.692 4.31803 13.9348C5.22351 14.123 6.18016 13.8639 6.9599 13.5212C7.3403 13.354 7.69572 13.1594 8.0057 12.9665V13.5C8.0057 13.7761 8.22956 14 8.5057 14C8.78184 14 9.0057 13.7754 9.0057 13.4993L9.0057 8.44586C9.0058 8.05404 9.00595 7.40554 8.7532 6.78428C8.48142 6.11625 7.93342 5.51313 6.92136 5.21622L6.92028 5.2159ZM6.04249 9.00659C6.76366 9.03645 7.44769 9.209 8.0057 9.37205V11.757C7.65814 12.0182 7.13927 12.35 6.55757 12.6057C5.85264 12.9155 5.12729 13.0816 4.52148 12.9557C3.75127 12.7957 3.22322 12.2271 3.02922 11.5699C2.83491 10.9116 2.98777 10.2199 3.51683 9.77985C4.27958 9.14545 5.16917 8.97043 6.04249 9.00659Z"}))}};r.style=e;export{r as translate_icon};
2
+ //# sourceMappingURL=p-28512ab6.entry.js.map