@nylas/web-elements 1.1.0-canary.19.c → 1.1.0-canary.19.e

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 (876) hide show
  1. package/dist/cjs/add-circle-icon_2.cjs.entry.js +1 -1
  2. package/dist/cjs/archive-icon_7.cjs.entry.js +7 -7
  3. package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
  4. package/dist/cjs/bold-icon_3.cjs.entry.js +3 -3
  5. package/dist/cjs/button-component_4.cjs.entry.js +203 -0
  6. package/dist/cjs/button-component_4.cjs.entry.js.map +1 -0
  7. package/dist/cjs/calendar-agenda-fill-icon_35.cjs.entry.js +6943 -0
  8. package/dist/cjs/calendar-agenda-fill-icon_35.cjs.entry.js.map +1 -0
  9. package/dist/cjs/chevron-icon_3.cjs.entry.js +11 -3
  10. package/dist/cjs/chevron-icon_3.cjs.entry.js.map +1 -1
  11. package/dist/cjs/clock-icon_2.cjs.entry.js +1 -1
  12. package/dist/cjs/{constants-3e962931.js → constants-7cc75333.js} +106 -1
  13. package/dist/cjs/{constants-3e962931.js.map → constants-7cc75333.js.map} +1 -1
  14. package/dist/cjs/copy-icon_4.cjs.entry.js +72 -0
  15. package/dist/cjs/copy-icon_4.cjs.entry.js.map +1 -0
  16. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/forward-icon_6.cjs.entry.js +7 -7
  18. package/dist/cjs/globe-icon.cjs.entry.js +1 -1
  19. package/dist/cjs/google-logo-icon_4.cjs.entry.js +192 -51
  20. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
  21. package/dist/cjs/index-7af03e3f.js +20 -16
  22. package/dist/cjs/index.cjs.js +1 -1
  23. package/dist/cjs/info-icon_2.cjs.entry.js +2 -2
  24. package/dist/cjs/input-dropdown_2.cjs.entry.js +2 -2
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/cjs/loading-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/multi-select-dropdown.cjs.entry.js +144 -0
  28. package/dist/cjs/multi-select-dropdown.cjs.entry.js.map +1 -0
  29. package/dist/cjs/{nylas-api-request-a1751a40.js → nylas-api-request-393b08a0.js} +2 -1
  30. package/dist/cjs/nylas-api-request-393b08a0.js.map +1 -0
  31. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +66 -35
  32. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +1 -1
  34. package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
  35. package/dist/cjs/nylas-if-state.cjs.entry.js +1 -1
  36. package/dist/cjs/nylas-list-folders.cjs.entry.js +1 -1
  37. package/dist/cjs/nylas-list-threads.cjs.entry.js +1 -1
  38. package/dist/cjs/nylas-login.cjs.entry.js +1 -1
  39. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +1 -1
  40. package/dist/cjs/nylas-mailbox.cjs.entry.js +1 -1
  41. package/dist/cjs/nylas-provider.cjs.entry.js +3 -3
  42. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +26 -9
  43. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nylas-scheduling.cjs.entry.js +3 -3
  45. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +2 -2
  47. package/dist/cjs/nylas-threads-search.cjs.entry.js +1 -1
  48. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +1 -1
  49. package/dist/cjs/nylas-view-thread.cjs.entry.js +1 -1
  50. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  51. package/dist/cjs/play-icon_2.cjs.entry.js +2 -2
  52. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  53. package/dist/cjs/{scheduler-config-store-9f19c7a9.js → scheduler-config-store-5bfc8cb8.js} +3 -1
  54. package/dist/cjs/scheduler-config-store-5bfc8cb8.js.map +1 -0
  55. package/dist/cjs/{scheduler-store-0f7328f1.js → scheduler-store-b5cf2e82.js} +43 -7
  56. package/dist/cjs/scheduler-store-b5cf2e82.js.map +1 -0
  57. package/dist/cjs/textarea-component.cjs.entry.js +3 -1
  58. package/dist/cjs/textarea-component.cjs.entry.js.map +1 -1
  59. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  60. package/dist/cjs/warning-icon.cjs.entry.js +1 -1
  61. package/dist/collection/collection-manifest.json +14 -0
  62. package/dist/collection/common/constants.js +102 -0
  63. package/dist/collection/common/constants.js.map +1 -1
  64. package/dist/collection/common/icons/add-circle.js +1 -1
  65. package/dist/collection/common/icons/archive.js +1 -1
  66. package/dist/collection/common/icons/arrow.js +1 -1
  67. package/dist/collection/common/icons/bold.js +1 -1
  68. package/dist/collection/common/icons/calendar-agenda-fill.js +63 -0
  69. package/dist/collection/common/icons/calendar-agenda-fill.js.map +1 -0
  70. package/dist/collection/common/icons/calendar-agenda.js +63 -0
  71. package/dist/collection/common/icons/calendar-agenda.js.map +1 -0
  72. package/dist/collection/common/icons/copy.js +63 -0
  73. package/dist/collection/common/icons/copy.js.map +1 -0
  74. package/dist/collection/common/icons/delete.js +63 -0
  75. package/dist/collection/common/icons/delete.js.map +1 -0
  76. package/dist/collection/common/icons/document-refresh.js +1 -1
  77. package/dist/collection/common/icons/dragable.js +63 -0
  78. package/dist/collection/common/icons/dragable.js.map +1 -0
  79. package/dist/collection/common/icons/edit.js +63 -0
  80. package/dist/collection/common/icons/edit.js.map +1 -0
  81. package/dist/collection/common/icons/eye.js +63 -0
  82. package/dist/collection/common/icons/eye.js.map +1 -0
  83. package/dist/collection/common/icons/flow.js +1 -1
  84. package/dist/collection/common/icons/folder.js +1 -1
  85. package/dist/collection/common/icons/forward.js +1 -1
  86. package/dist/collection/common/icons/globe.js +1 -1
  87. package/dist/collection/common/icons/google-logo.js +1 -1
  88. package/dist/collection/common/icons/google-meet.js +63 -0
  89. package/dist/collection/common/icons/google-meet.js.map +1 -0
  90. package/dist/collection/common/icons/inbox.js +1 -1
  91. package/dist/collection/common/icons/info.js +1 -1
  92. package/dist/collection/common/icons/italic.js +1 -1
  93. package/dist/collection/common/icons/loading.js +1 -1
  94. package/dist/collection/common/icons/location-off.js +1 -1
  95. package/dist/collection/common/icons/location.js +1 -1
  96. package/dist/collection/common/icons/microsof-teams.js +63 -0
  97. package/dist/collection/common/icons/microsof-teams.js.map +1 -0
  98. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  99. package/dist/collection/common/icons/nylas-logo.js +1 -1
  100. package/dist/collection/common/icons/people.js +1 -1
  101. package/dist/collection/common/icons/person.js +1 -1
  102. package/dist/collection/common/icons/play.js +1 -1
  103. package/dist/collection/common/icons/plus.js +63 -0
  104. package/dist/collection/common/icons/plus.js.map +1 -0
  105. package/dist/collection/common/icons/refresh.js +1 -1
  106. package/dist/collection/common/icons/reply-all.js +1 -1
  107. package/dist/collection/common/icons/reply.js +1 -1
  108. package/dist/collection/common/icons/search.js +1 -1
  109. package/dist/collection/common/icons/sent.js +1 -1
  110. package/dist/collection/common/icons/spam.js +1 -1
  111. package/dist/collection/common/icons/star.js +1 -1
  112. package/dist/collection/common/icons/stop.js +1 -1
  113. package/dist/collection/common/icons/translate.js +1 -1
  114. package/dist/collection/common/icons/trash.js +1 -1
  115. package/dist/collection/common/icons/underline.js +1 -1
  116. package/dist/collection/common/icons/warning.js +1 -1
  117. package/dist/collection/common/icons/zoom.js +63 -0
  118. package/dist/collection/common/icons/zoom.js.map +1 -0
  119. package/dist/collection/common/nylas-api-request.js +1 -0
  120. package/dist/collection/common/nylas-api-request.js.map +1 -1
  121. package/dist/collection/common/types.js.map +1 -1
  122. package/dist/collection/components/design-system/button-component/button-component.css +4 -0
  123. package/dist/collection/components/design-system/button-component/button-component.js +1 -1
  124. package/dist/collection/components/design-system/checkbox-component/checkbox-component.css +15 -1
  125. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js +46 -6
  126. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js.map +1 -1
  127. package/dist/collection/components/design-system/input-component/input-component.css +9 -1
  128. package/dist/collection/components/design-system/input-component/input-component.js +20 -8
  129. package/dist/collection/components/design-system/input-component/input-component.js.map +1 -1
  130. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +1 -1
  131. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.css +8 -1
  132. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +21 -2
  133. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js.map +1 -1
  134. package/dist/collection/components/design-system/radio-button-group/radio-button-group.css +57 -1
  135. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js +69 -10
  136. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js.map +1 -1
  137. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +45 -2
  138. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js.map +1 -1
  139. package/dist/collection/components/design-system/textarea-component/textarea-component.js +23 -3
  140. package/dist/collection/components/design-system/textarea-component/textarea-component.js.map +1 -1
  141. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  142. package/dist/collection/components/design-system/toggle-switch/toggle-switch.css +1 -1
  143. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js +5 -5
  144. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js.map +1 -1
  145. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  146. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  147. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  148. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  149. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  150. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +1 -1
  151. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  152. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  153. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  154. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  155. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  156. package/dist/collection/components/nylas-if-state/nylas-if-state.js +1 -1
  157. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  158. package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
  159. package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js +23 -4
  160. package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js.map +1 -1
  161. package/dist/collection/components/scheduler/nylas-booked-event-card/test/nylas-booked-event-card.spec.js +1 -0
  162. package/dist/collection/components/scheduler/nylas-booked-event-card/test/nylas-booked-event-card.spec.js.map +1 -1
  163. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +37 -21
  164. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
  165. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +42 -3
  166. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js.map +1 -1
  167. package/dist/collection/components/scheduler/nylas-cancel-booking-form/test/nylas-cancel-booking-form.spec.js +11 -0
  168. package/dist/collection/components/scheduler/nylas-cancel-booking-form/test/nylas-cancel-booking-form.spec.js.map +1 -1
  169. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +2 -2
  170. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +1 -1
  171. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  172. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.css +4 -1
  173. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +3 -3
  174. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
  175. package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +1 -1
  176. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.css +2 -2
  177. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js +8 -7
  178. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js.map +1 -1
  179. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.css +16 -2
  180. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +31 -12
  181. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  182. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.css +3 -0
  183. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +2 -2
  184. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  185. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.css +3 -0
  186. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js +22 -6
  187. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js.map +1 -1
  188. package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.css +233 -0
  189. package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.js +388 -0
  190. package/dist/collection/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.js.map +1 -0
  191. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.css +3 -20
  192. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js +19 -9
  193. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js.map +1 -1
  194. package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +1 -1
  195. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.css +105 -0
  196. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.js +298 -0
  197. package/dist/collection/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.js.map +1 -0
  198. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  199. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js +5 -5
  200. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js.map +1 -1
  201. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.css +3 -0
  202. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +106 -20
  203. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  204. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +7 -7
  205. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -1
  206. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  207. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  208. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js.map +1 -1
  209. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +161 -11
  210. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js.map +1 -1
  211. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +1 -1
  212. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js.map +1 -1
  213. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  214. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +1 -1
  215. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js.map +1 -1
  216. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.css +79 -3
  217. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js +125 -22
  218. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js.map +1 -1
  219. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js +1 -1
  220. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js.map +1 -1
  221. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
  222. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js.map +1 -1
  223. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.css +105 -0
  224. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.js +324 -0
  225. package/dist/collection/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.js.map +1 -0
  226. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +39 -5
  227. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js.map +1 -1
  228. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.js +4 -3
  229. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.js.map +1 -1
  230. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +59 -9
  231. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  232. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +1 -1
  233. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +16 -16
  234. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js.map +1 -1
  235. package/dist/collection/connector/shared/api/scheduler-config.js +4 -2
  236. package/dist/collection/connector/shared/api/scheduler-config.js.map +1 -1
  237. package/dist/collection/connector/shared/api/scheduler.js +41 -6
  238. package/dist/collection/connector/shared/api/scheduler.js.map +1 -1
  239. package/dist/collection/stores/scheduler-config-store.js +2 -0
  240. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  241. package/dist/collection/stores/scheduler-store.js +1 -0
  242. package/dist/collection/stores/scheduler-store.js.map +1 -1
  243. package/dist/collection/types/index.js.map +1 -1
  244. package/dist/components/add-circle.js +1 -1
  245. package/dist/components/archive.js +1 -1
  246. package/dist/components/arrow.js +1 -1
  247. package/dist/components/bold.js +1 -1
  248. package/dist/components/button-component2.js +2 -2
  249. package/dist/components/button-component2.js.map +1 -1
  250. package/dist/components/calendar-agenda-fill-icon.d.ts +11 -0
  251. package/dist/components/calendar-agenda-fill-icon.js +8 -0
  252. package/dist/components/calendar-agenda-fill-icon.js.map +1 -0
  253. package/dist/components/calendar-agenda-fill.js +37 -0
  254. package/dist/components/calendar-agenda-fill.js.map +1 -0
  255. package/dist/components/calendar-agenda-icon.d.ts +11 -0
  256. package/dist/components/calendar-agenda-icon.js +8 -0
  257. package/dist/components/calendar-agenda-icon.js.map +1 -0
  258. package/dist/components/calendar-agenda.js +37 -0
  259. package/dist/components/calendar-agenda.js.map +1 -0
  260. package/dist/components/checkbox-component2.js +18 -4
  261. package/dist/components/checkbox-component2.js.map +1 -1
  262. package/dist/components/constants.js +102 -1
  263. package/dist/components/constants.js.map +1 -1
  264. package/dist/components/copy-icon.d.ts +11 -0
  265. package/dist/components/copy-icon.js +8 -0
  266. package/dist/components/copy-icon.js.map +1 -0
  267. package/dist/components/copy.js +37 -0
  268. package/dist/components/copy.js.map +1 -0
  269. package/dist/components/delete-icon.d.ts +11 -0
  270. package/dist/components/delete-icon.js +8 -0
  271. package/dist/components/delete-icon.js.map +1 -0
  272. package/dist/components/delete.js +37 -0
  273. package/dist/components/delete.js.map +1 -0
  274. package/dist/components/document-refresh-icon.js +1 -1
  275. package/dist/components/dragable-icon.d.ts +11 -0
  276. package/dist/components/dragable-icon.js +8 -0
  277. package/dist/components/dragable-icon.js.map +1 -0
  278. package/dist/components/dragable.js +37 -0
  279. package/dist/components/dragable.js.map +1 -0
  280. package/dist/components/edit-icon.d.ts +11 -0
  281. package/dist/components/edit-icon.js +8 -0
  282. package/dist/components/edit-icon.js.map +1 -0
  283. package/dist/components/edit.js +37 -0
  284. package/dist/components/edit.js.map +1 -0
  285. package/dist/components/eye-icon.d.ts +11 -0
  286. package/dist/components/eye-icon.js +8 -0
  287. package/dist/components/eye-icon.js.map +1 -0
  288. package/dist/components/eye.js +37 -0
  289. package/dist/components/eye.js.map +1 -0
  290. package/dist/components/flow.js +1 -1
  291. package/dist/components/folder.js +1 -1
  292. package/dist/components/forward.js +1 -1
  293. package/dist/components/globe.js +1 -1
  294. package/dist/components/google-logo.js +1 -1
  295. package/dist/components/google-meet-icon.d.ts +11 -0
  296. package/dist/components/google-meet-icon.js +8 -0
  297. package/dist/components/google-meet-icon.js.map +1 -0
  298. package/dist/components/google-meet.js +37 -0
  299. package/dist/components/google-meet.js.map +1 -0
  300. package/dist/components/inbox.js +1 -1
  301. package/dist/components/info.js +1 -1
  302. package/dist/components/input-component2.js +17 -6
  303. package/dist/components/input-component2.js.map +1 -1
  304. package/dist/components/input-dropdown2.js +1 -1
  305. package/dist/components/italic.js +1 -1
  306. package/dist/components/loading.js +1 -1
  307. package/dist/components/location-off.js +1 -1
  308. package/dist/components/location.js +1 -1
  309. package/dist/components/microsof-teams.js +37 -0
  310. package/dist/components/microsof-teams.js.map +1 -0
  311. package/dist/components/microsoft-logo.js +1 -1
  312. package/dist/components/microsoft-teams-icon.d.ts +11 -0
  313. package/dist/components/microsoft-teams-icon.js +8 -0
  314. package/dist/components/microsoft-teams-icon.js.map +1 -0
  315. package/dist/components/multi-select-dropdown2.js +5 -3
  316. package/dist/components/multi-select-dropdown2.js.map +1 -1
  317. package/dist/components/nylas-additional-participants2.js +26 -8
  318. package/dist/components/nylas-additional-participants2.js.map +1 -1
  319. package/dist/components/nylas-api-request.js +1 -0
  320. package/dist/components/nylas-api-request.js.map +1 -1
  321. package/dist/components/nylas-availability-picker2.js +2 -2
  322. package/dist/components/nylas-availability-picker2.js.map +1 -1
  323. package/dist/components/nylas-booked-event-card2.js +7 -4
  324. package/dist/components/nylas-booked-event-card2.js.map +1 -1
  325. package/dist/components/nylas-booking-calendar-picker2.js +5 -6
  326. package/dist/components/nylas-booking-calendar-picker2.js.map +1 -1
  327. package/dist/components/nylas-booking-form-config.d.ts +11 -0
  328. package/dist/components/nylas-booking-form-config.js +8 -0
  329. package/dist/components/nylas-booking-form-config.js.map +1 -0
  330. package/dist/components/nylas-booking-form-config2.js +3691 -0
  331. package/dist/components/nylas-booking-form-config2.js.map +1 -0
  332. package/dist/components/nylas-booking-form2.js +78 -32
  333. package/dist/components/nylas-booking-form2.js.map +1 -1
  334. package/dist/components/nylas-calendar-picker2.js +27 -23
  335. package/dist/components/nylas-calendar-picker2.js.map +1 -1
  336. package/dist/components/nylas-cancel-booking-form2.js +21 -2
  337. package/dist/components/nylas-cancel-booking-form2.js.map +1 -1
  338. package/dist/components/nylas-cancellation-policy2.js +1 -1
  339. package/dist/components/nylas-cancelled-event-card2.js +1 -1
  340. package/dist/components/nylas-composer2.js +1 -1
  341. package/dist/components/nylas-connected-calendars.d.ts +11 -0
  342. package/dist/components/nylas-connected-calendars.js +8 -0
  343. package/dist/components/nylas-connected-calendars.js.map +1 -0
  344. package/dist/components/nylas-connected-calendars2.js +232 -0
  345. package/dist/components/nylas-connected-calendars2.js.map +1 -0
  346. package/dist/components/nylas-custom-booking-flow.js +1 -1
  347. package/dist/components/nylas-customize-booking-settings2.js +4 -4
  348. package/dist/components/nylas-customize-booking-settings2.js.map +1 -1
  349. package/dist/components/nylas-editor-tabs2.js +251 -113
  350. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  351. package/dist/components/nylas-event-info2.js +1 -1
  352. package/dist/components/nylas-event-limits2.js +1 -1
  353. package/dist/components/nylas-event-limits2.js.map +1 -1
  354. package/dist/components/nylas-event-location2.js +138 -25
  355. package/dist/components/nylas-event-location2.js.map +1 -1
  356. package/dist/components/nylas-event-title2.js +1 -1
  357. package/dist/components/nylas-event-title2.js.map +1 -1
  358. package/dist/components/nylas-form-card2.js +1 -1
  359. package/dist/components/nylas-if-state.js +1 -1
  360. package/dist/components/nylas-limit-future-bookings2.js +1 -1
  361. package/dist/components/nylas-limit-future-bookings2.js.map +1 -1
  362. package/dist/components/nylas-list-configurations2.js +142 -25
  363. package/dist/components/nylas-list-configurations2.js.map +1 -1
  364. package/dist/components/nylas-list-folders.js +1 -1
  365. package/dist/components/nylas-list-threads.js +1 -1
  366. package/dist/components/nylas-login.js +1 -1
  367. package/dist/components/nylas-logo2.js +1 -1
  368. package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
  369. package/dist/components/nylas-mailbox.js +1 -1
  370. package/dist/components/nylas-min-booking-notice2.js +1 -1
  371. package/dist/components/nylas-min-booking-notice2.js.map +1 -1
  372. package/dist/components/nylas-min-cancellation-notice2.js +1 -1
  373. package/dist/components/nylas-min-cancellation-notice2.js.map +1 -1
  374. package/dist/components/nylas-notification2.js +1 -1
  375. package/dist/components/nylas-participant-booking-calendars.d.ts +11 -0
  376. package/dist/components/nylas-participant-booking-calendars.js +8 -0
  377. package/dist/components/nylas-participant-booking-calendars.js.map +1 -0
  378. package/dist/components/nylas-participant-booking-calendars2.js +237 -0
  379. package/dist/components/nylas-participant-booking-calendars2.js.map +1 -0
  380. package/dist/components/nylas-participants-custom-availability2.js +18 -5
  381. package/dist/components/nylas-participants-custom-availability2.js.map +1 -1
  382. package/dist/components/nylas-provider.js +1 -1
  383. package/dist/components/nylas-scheduler-editor.js +210 -101
  384. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  385. package/dist/components/nylas-scheduling.js +70 -52
  386. package/dist/components/nylas-scheduling.js.map +1 -1
  387. package/dist/components/nylas-summarize-message-button2.js +2 -2
  388. package/dist/components/nylas-threads-refresh.js +2 -2
  389. package/dist/components/nylas-threads-search.js +1 -1
  390. package/dist/components/nylas-time-window-picker2.js +1 -1
  391. package/dist/components/nylas-timeslot-interval2.js +11 -11
  392. package/dist/components/nylas-timeslot-interval2.js.map +1 -1
  393. package/dist/components/nylas-timeslot-picker2.js +6 -5
  394. package/dist/components/nylas-timeslot-picker2.js.map +1 -1
  395. package/dist/components/nylas-view-email2.js +1 -1
  396. package/dist/components/nylas-view-thread.js +1 -1
  397. package/dist/components/people.js +1 -1
  398. package/dist/components/person.js +1 -1
  399. package/dist/components/play.js +1 -1
  400. package/dist/components/plus-icon.d.ts +11 -0
  401. package/dist/components/plus-icon.js +8 -0
  402. package/dist/components/plus-icon.js.map +1 -0
  403. package/dist/components/plus.js +37 -0
  404. package/dist/components/plus.js.map +1 -0
  405. package/dist/components/radio-button-group2.js +23 -6
  406. package/dist/components/radio-button-group2.js.map +1 -1
  407. package/dist/components/refresh.js +1 -1
  408. package/dist/components/reply-all.js +1 -1
  409. package/dist/components/reply.js +1 -1
  410. package/dist/components/scheduler-config-store.js +2 -0
  411. package/dist/components/scheduler-config-store.js.map +1 -1
  412. package/dist/components/scheduler-store.js +42 -6
  413. package/dist/components/scheduler-store.js.map +1 -1
  414. package/dist/components/search.js +1 -1
  415. package/dist/components/select-dropdown2.js +12 -2
  416. package/dist/components/select-dropdown2.js.map +1 -1
  417. package/dist/components/sent.js +1 -1
  418. package/dist/components/spam.js +1 -1
  419. package/dist/components/star.js +1 -1
  420. package/dist/components/stop.js +1 -1
  421. package/dist/components/textarea-component.js +1 -82
  422. package/dist/components/textarea-component.js.map +1 -1
  423. package/dist/components/textarea-component2.js +89 -0
  424. package/dist/components/textarea-component2.js.map +1 -0
  425. package/dist/components/time-period-selector2.js +1 -1
  426. package/dist/components/toggle-switch2.js +2 -2
  427. package/dist/components/toggle-switch2.js.map +1 -1
  428. package/dist/components/toolitp-component.js +1 -1
  429. package/dist/components/translate.js +1 -1
  430. package/dist/components/trash.js +1 -1
  431. package/dist/components/underline.js +1 -1
  432. package/dist/components/warning.js +1 -1
  433. package/dist/components/zoom-icon.d.ts +11 -0
  434. package/dist/components/zoom-icon.js +8 -0
  435. package/dist/components/zoom-icon.js.map +1 -0
  436. package/dist/components/zoom.js +37 -0
  437. package/dist/components/zoom.js.map +1 -0
  438. package/dist/esm/add-circle-icon_2.entry.js +1 -1
  439. package/dist/esm/archive-icon_7.entry.js +7 -7
  440. package/dist/esm/arrow-icon.entry.js +1 -1
  441. package/dist/esm/bold-icon_3.entry.js +3 -3
  442. package/dist/esm/button-component_4.entry.js +196 -0
  443. package/dist/esm/button-component_4.entry.js.map +1 -0
  444. package/dist/esm/calendar-agenda-fill-icon_35.entry.js +6905 -0
  445. package/dist/esm/calendar-agenda-fill-icon_35.entry.js.map +1 -0
  446. package/dist/esm/chevron-icon_3.entry.js +11 -3
  447. package/dist/esm/chevron-icon_3.entry.js.map +1 -1
  448. package/dist/esm/clock-icon_2.entry.js +1 -1
  449. package/dist/esm/{constants-f34b9c6e.js → constants-7ce66b44.js} +103 -2
  450. package/dist/esm/{constants-f34b9c6e.js.map → constants-7ce66b44.js.map} +1 -1
  451. package/dist/esm/copy-icon_4.entry.js +65 -0
  452. package/dist/esm/copy-icon_4.entry.js.map +1 -0
  453. package/dist/esm/document-refresh-icon.entry.js +1 -1
  454. package/dist/esm/forward-icon_6.entry.js +7 -7
  455. package/dist/esm/globe-icon.entry.js +1 -1
  456. package/dist/esm/google-logo-icon_4.entry.js +192 -51
  457. package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
  458. package/dist/esm/index-7cb0dd3d.js +20 -16
  459. package/dist/esm/index.js +1 -1
  460. package/dist/esm/info-icon_2.entry.js +2 -2
  461. package/dist/esm/input-dropdown_2.entry.js +2 -2
  462. package/dist/esm/loader.js +1 -1
  463. package/dist/esm/loading-icon.entry.js +1 -1
  464. package/dist/esm/multi-select-dropdown.entry.js +140 -0
  465. package/dist/esm/multi-select-dropdown.entry.js.map +1 -0
  466. package/dist/esm/{nylas-api-request-a67d2997.js → nylas-api-request-4f8edff2.js} +2 -1
  467. package/dist/esm/nylas-api-request-4f8edff2.js.map +1 -0
  468. package/dist/esm/nylas-booked-event-card_10.entry.js +66 -35
  469. package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
  470. package/dist/esm/nylas-custom-booking-flow.entry.js +1 -1
  471. package/dist/esm/nylas-form-card.entry.js +1 -1
  472. package/dist/esm/nylas-if-state.entry.js +1 -1
  473. package/dist/esm/nylas-list-folders.entry.js +1 -1
  474. package/dist/esm/nylas-list-threads.entry.js +1 -1
  475. package/dist/esm/nylas-login.entry.js +1 -1
  476. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +1 -1
  477. package/dist/esm/nylas-mailbox.entry.js +1 -1
  478. package/dist/esm/nylas-provider.entry.js +3 -3
  479. package/dist/esm/nylas-scheduler-editor.entry.js +26 -9
  480. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  481. package/dist/esm/nylas-scheduling.entry.js +3 -3
  482. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  483. package/dist/esm/nylas-threads-refresh.entry.js +2 -2
  484. package/dist/esm/nylas-threads-search.entry.js +1 -1
  485. package/dist/esm/nylas-time-window-picker.entry.js +1 -1
  486. package/dist/esm/nylas-view-thread.entry.js +1 -1
  487. package/dist/esm/nylas-web-elements.js +1 -1
  488. package/dist/esm/play-icon_2.entry.js +2 -2
  489. package/dist/esm/refresh-icon.entry.js +1 -1
  490. package/dist/esm/{scheduler-config-store-4a50a03d.js → scheduler-config-store-9ccfba4d.js} +3 -1
  491. package/dist/esm/scheduler-config-store-9ccfba4d.js.map +1 -0
  492. package/dist/esm/{scheduler-store-f02ce045.js → scheduler-store-8a400448.js} +43 -7
  493. package/dist/esm/scheduler-store-8a400448.js.map +1 -0
  494. package/dist/esm/textarea-component.entry.js +3 -1
  495. package/dist/esm/textarea-component.entry.js.map +1 -1
  496. package/dist/esm/translate-icon.entry.js +1 -1
  497. package/dist/esm/warning-icon.entry.js +1 -1
  498. package/dist/nylas-web-elements/index.esm.js +1 -1
  499. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  500. package/dist/nylas-web-elements/nylas-web-elements.esm.js.map +1 -1
  501. package/dist/nylas-web-elements/p-0161429f.entry.js +2 -0
  502. package/dist/nylas-web-elements/{p-33a6a75b.entry.js.map → p-0161429f.entry.js.map} +1 -1
  503. package/dist/nylas-web-elements/p-064c2ae5.entry.js +2 -0
  504. package/dist/nylas-web-elements/{p-de7b0878.entry.js → p-0aa1e433.entry.js} +2 -2
  505. package/dist/nylas-web-elements/{p-3f122804.entry.js → p-0bf6f818.entry.js} +2 -2
  506. package/dist/nylas-web-elements/p-1102df14.entry.js +2 -0
  507. package/dist/nylas-web-elements/{p-f1a54acf.entry.js → p-155e5ce8.entry.js} +2 -2
  508. package/dist/nylas-web-elements/{p-a85408e0.entry.js → p-18d100c8.entry.js} +2 -2
  509. package/dist/nylas-web-elements/{p-5231fc13.entry.js → p-1a7edf86.entry.js} +3 -3
  510. package/dist/nylas-web-elements/p-1d8c468f.entry.js +2 -0
  511. package/dist/nylas-web-elements/p-1d8c468f.entry.js.map +1 -0
  512. package/dist/nylas-web-elements/{p-be38a8eb.entry.js → p-1e1ae8d0.entry.js} +2 -2
  513. package/dist/nylas-web-elements/p-1f290858.entry.js +2 -0
  514. package/dist/nylas-web-elements/p-1f290858.entry.js.map +1 -0
  515. package/dist/nylas-web-elements/{p-eb7e8455.entry.js → p-1fbe50b1.entry.js} +2 -2
  516. package/dist/nylas-web-elements/p-20bbc663.js +2 -0
  517. package/dist/nylas-web-elements/p-20bbc663.js.map +1 -0
  518. package/dist/nylas-web-elements/{p-49f716ed.js → p-2270e6cf.js} +4 -4
  519. package/dist/nylas-web-elements/p-2270e6cf.js.map +1 -0
  520. package/dist/nylas-web-elements/{p-70e5cfb0.entry.js → p-22e05c7d.entry.js} +2 -2
  521. package/dist/nylas-web-elements/{p-554891cd.entry.js → p-26302ad0.entry.js} +2 -2
  522. package/dist/nylas-web-elements/p-27df8f01.entry.js +2 -0
  523. package/dist/nylas-web-elements/p-27df8f01.entry.js.map +1 -0
  524. package/dist/nylas-web-elements/p-2b1d53fa.entry.js +8 -0
  525. package/dist/nylas-web-elements/p-2b1d53fa.entry.js.map +1 -0
  526. package/dist/nylas-web-elements/{p-6ce66add.entry.js → p-2f47205d.entry.js} +2 -2
  527. package/dist/nylas-web-elements/{p-28512ab6.entry.js → p-3277023d.entry.js} +2 -2
  528. package/dist/nylas-web-elements/{p-1a27960b.entry.js → p-3423de64.entry.js} +2 -2
  529. package/dist/nylas-web-elements/p-3423de64.entry.js.map +1 -0
  530. package/dist/nylas-web-elements/{p-b0c8021f.entry.js → p-34c747f9.entry.js} +2 -2
  531. package/dist/nylas-web-elements/{p-d9a91bc9.entry.js → p-359af1e3.entry.js} +2 -2
  532. package/dist/nylas-web-elements/p-359af1e3.entry.js.map +1 -0
  533. package/dist/nylas-web-elements/{p-613c070f.js → p-371b20b2.js} +2 -2
  534. package/dist/nylas-web-elements/p-371b20b2.js.map +1 -0
  535. package/dist/nylas-web-elements/{p-e9ba368f.entry.js → p-3ae38e51.entry.js} +2 -2
  536. package/dist/nylas-web-elements/{p-6ef1024f.entry.js → p-3bc1289e.entry.js} +2 -2
  537. package/dist/nylas-web-elements/{p-7fcecf3f.entry.js → p-3d1e8e4d.entry.js} +2 -2
  538. package/dist/nylas-web-elements/{p-45c37986.entry.js → p-3dae0c71.entry.js} +2 -2
  539. package/dist/nylas-web-elements/{p-acadfabf.entry.js → p-3db7ab8d.entry.js} +3 -3
  540. package/dist/nylas-web-elements/{p-66493463.entry.js → p-3e09b0fb.entry.js} +2 -2
  541. package/dist/nylas-web-elements/{p-5c3c1888.entry.js → p-3eac9f45.entry.js} +2 -2
  542. package/dist/nylas-web-elements/{p-dcc27b67.entry.js → p-4000107d.entry.js} +2 -2
  543. package/dist/nylas-web-elements/p-40cad9a8.entry.js +11 -0
  544. package/dist/nylas-web-elements/p-40cad9a8.entry.js.map +1 -0
  545. package/dist/nylas-web-elements/p-445d8bb4.entry.js +11 -0
  546. package/dist/nylas-web-elements/p-445d8bb4.entry.js.map +1 -0
  547. package/dist/nylas-web-elements/{p-08d75d35.entry.js → p-47392968.entry.js} +2 -2
  548. package/dist/nylas-web-elements/{p-16a3bfb2.entry.js → p-4a594ebe.entry.js} +2 -2
  549. package/dist/nylas-web-elements/{p-d633e735.entry.js → p-4b6995fe.entry.js} +2 -2
  550. package/dist/nylas-web-elements/p-4cdd4107.entry.js +2 -0
  551. package/dist/nylas-web-elements/{p-39fd9c90.entry.js → p-4e8c8939.entry.js} +2 -2
  552. package/dist/nylas-web-elements/{p-9b68568e.entry.js → p-4e9ba325.entry.js} +2 -2
  553. package/dist/nylas-web-elements/p-4f55d0e5.entry.js +2 -0
  554. package/dist/nylas-web-elements/{p-12b83ea9.entry.js.map → p-4f55d0e5.entry.js.map} +1 -1
  555. package/dist/nylas-web-elements/{p-9794f735.entry.js → p-524a6acc.entry.js} +2 -2
  556. package/dist/nylas-web-elements/{p-6bd9c9c3.entry.js → p-533d39ce.entry.js} +2 -2
  557. package/dist/nylas-web-elements/{p-e928898a.entry.js → p-5a379fb5.entry.js} +2 -2
  558. package/dist/nylas-web-elements/{p-c90755ba.entry.js → p-5a68368a.entry.js} +2 -2
  559. package/dist/nylas-web-elements/{p-37f41a90.entry.js → p-5b965d0d.entry.js} +2 -2
  560. package/dist/nylas-web-elements/p-5e1cd3c1.entry.js +2 -0
  561. package/dist/nylas-web-elements/p-5e1cd3c1.entry.js.map +1 -0
  562. package/dist/nylas-web-elements/{p-34f0d1fe.entry.js → p-5ff4e63b.entry.js} +2 -2
  563. package/dist/nylas-web-elements/p-62aeac5f.entry.js +2 -0
  564. package/dist/nylas-web-elements/p-62aeac5f.entry.js.map +1 -0
  565. package/dist/nylas-web-elements/p-64d43339.entry.js +2 -0
  566. package/dist/nylas-web-elements/p-64d43339.entry.js.map +1 -0
  567. package/dist/nylas-web-elements/p-656cf33f.entry.js +2 -0
  568. package/dist/nylas-web-elements/{p-cf589eab.entry.js → p-65b7a2a7.entry.js} +2 -2
  569. package/dist/nylas-web-elements/p-68471dbd.entry.js +8 -0
  570. package/dist/nylas-web-elements/p-68471dbd.entry.js.map +1 -0
  571. package/dist/nylas-web-elements/p-692852d2.entry.js +2 -0
  572. package/dist/nylas-web-elements/p-692852d2.entry.js.map +1 -0
  573. package/dist/nylas-web-elements/{p-60b03f86.entry.js → p-6c8af4fb.entry.js} +2 -2
  574. package/dist/nylas-web-elements/p-6d410f0a.entry.js +2 -0
  575. package/dist/nylas-web-elements/{p-daac96cb.entry.js → p-6e50d2fd.entry.js} +3 -3
  576. package/dist/nylas-web-elements/p-6e8b7ce8.entry.js +2 -0
  577. package/dist/nylas-web-elements/p-7042eb03.entry.js +2 -0
  578. package/dist/nylas-web-elements/{p-958746a1.entry.js.map → p-7042eb03.entry.js.map} +1 -1
  579. package/dist/nylas-web-elements/{p-b9fa6848.entry.js → p-7355937b.entry.js} +2 -2
  580. package/dist/nylas-web-elements/p-749238c6.entry.js +2 -0
  581. package/dist/nylas-web-elements/p-749238c6.entry.js.map +1 -0
  582. package/dist/nylas-web-elements/p-76156a82.entry.js +2 -0
  583. package/dist/nylas-web-elements/p-79c1475e.entry.js +11 -0
  584. package/dist/nylas-web-elements/p-79c1475e.entry.js.map +1 -0
  585. package/dist/nylas-web-elements/p-79c33cf9.entry.js +2 -0
  586. package/dist/nylas-web-elements/p-79c33cf9.entry.js.map +1 -0
  587. package/dist/nylas-web-elements/{p-052bc3b1.entry.js → p-7e08f131.entry.js} +2 -2
  588. package/dist/nylas-web-elements/{p-a12f3223.entry.js → p-7e10aa6d.entry.js} +2 -2
  589. package/dist/nylas-web-elements/{p-a7b19349.entry.js → p-7e53588e.entry.js} +2 -2
  590. package/dist/nylas-web-elements/p-83de54ae.entry.js +2 -0
  591. package/dist/nylas-web-elements/{p-b2d95965.entry.js → p-884b66bd.entry.js} +2 -2
  592. package/dist/nylas-web-elements/p-8aac762b.entry.js +2 -0
  593. package/dist/nylas-web-elements/p-8aac762b.entry.js.map +1 -0
  594. package/dist/nylas-web-elements/p-8d74c874.js +2 -0
  595. package/dist/nylas-web-elements/p-8d74c874.js.map +1 -0
  596. package/dist/nylas-web-elements/{p-a800e7af.entry.js → p-8ddf6518.entry.js} +2 -2
  597. package/dist/nylas-web-elements/p-8ddf6518.entry.js.map +1 -0
  598. package/dist/nylas-web-elements/{p-7a95bc3f.entry.js → p-90294a76.entry.js} +2 -2
  599. package/dist/nylas-web-elements/p-90817d1f.entry.js +2 -0
  600. package/dist/nylas-web-elements/{p-f1b0120b.entry.js → p-90d32fc3.entry.js} +2 -2
  601. package/dist/nylas-web-elements/p-94a93ca9.entry.js +2 -0
  602. package/dist/nylas-web-elements/p-94a93ca9.entry.js.map +1 -0
  603. package/dist/nylas-web-elements/p-95a9d2f1.entry.js +2 -0
  604. package/dist/nylas-web-elements/p-96746b87.entry.js +2 -0
  605. package/dist/nylas-web-elements/p-97026709.entry.js +2 -0
  606. package/dist/nylas-web-elements/{p-65097f45.entry.js → p-987042a1.entry.js} +2 -2
  607. package/dist/nylas-web-elements/{p-7ce048c0.entry.js → p-9f903292.entry.js} +2 -2
  608. package/dist/nylas-web-elements/{p-bd34f97d.entry.js → p-9fdbeba5.entry.js} +2 -2
  609. package/dist/nylas-web-elements/{p-2a92691a.entry.js → p-a22908ba.entry.js} +2 -2
  610. package/dist/nylas-web-elements/{p-091a8f00.entry.js → p-a3c76c06.entry.js} +2 -2
  611. package/dist/nylas-web-elements/{p-520ffe94.entry.js → p-a63d6241.entry.js} +2 -2
  612. package/dist/nylas-web-elements/{p-cf0d5ab9.entry.js → p-aa4e6e5e.entry.js} +2 -2
  613. package/dist/nylas-web-elements/{p-ba5a625c.entry.js → p-ab050d5b.entry.js} +2 -2
  614. package/dist/nylas-web-elements/p-b2b2d351.entry.js +2 -0
  615. package/dist/nylas-web-elements/p-b2b2d351.entry.js.map +1 -0
  616. package/dist/nylas-web-elements/{p-161c9325.entry.js → p-b348aad4.entry.js} +2 -2
  617. package/dist/nylas-web-elements/{p-bfe8e06b.entry.js → p-b547209f.entry.js} +2 -2
  618. package/dist/nylas-web-elements/{p-e8cde784.entry.js → p-b5b051e0.entry.js} +2 -2
  619. package/dist/nylas-web-elements/{p-aae7febd.entry.js → p-b7a53268.entry.js} +2 -2
  620. package/dist/nylas-web-elements/p-b8a9e8f4.entry.js +2 -0
  621. package/dist/nylas-web-elements/p-b8a9e8f4.entry.js.map +1 -0
  622. package/dist/nylas-web-elements/{p-385070ba.entry.js → p-bc6c9256.entry.js} +2 -2
  623. package/dist/nylas-web-elements/{p-cb03e4d4.entry.js → p-be26ce19.entry.js} +2 -2
  624. package/dist/nylas-web-elements/{p-8a4ac2a4.entry.js → p-bed6d217.entry.js} +2 -2
  625. package/dist/nylas-web-elements/p-bf4e0d2a.entry.js +2 -0
  626. package/dist/nylas-web-elements/p-bf4e0d2a.entry.js.map +1 -0
  627. package/dist/nylas-web-elements/{p-8e63b66c.entry.js → p-cb9fd100.entry.js} +2 -2
  628. package/dist/nylas-web-elements/p-ce14a1d5.entry.js +2 -0
  629. package/dist/nylas-web-elements/{p-1fa7b832.entry.js.map → p-ce14a1d5.entry.js.map} +1 -1
  630. package/dist/nylas-web-elements/{p-44507695.entry.js → p-cee0929a.entry.js} +2 -2
  631. package/dist/nylas-web-elements/{p-b334d63b.entry.js → p-cffb3636.entry.js} +2 -2
  632. package/dist/nylas-web-elements/{p-b2aca6c4.entry.js → p-d1ab9d75.entry.js} +2 -2
  633. package/dist/nylas-web-elements/p-d6a19e25.entry.js +2 -0
  634. package/dist/nylas-web-elements/p-d6a19e25.entry.js.map +1 -0
  635. package/dist/nylas-web-elements/{p-f96b12de.entry.js → p-d830e428.entry.js} +2 -2
  636. package/dist/nylas-web-elements/{p-8075a758.entry.js → p-d9b08dd2.entry.js} +2 -2
  637. package/dist/nylas-web-elements/{p-8f843faf.entry.js → p-db73506b.entry.js} +2 -2
  638. package/dist/nylas-web-elements/p-dcf99ddf.entry.js +2 -0
  639. package/dist/nylas-web-elements/p-dcf99ddf.entry.js.map +1 -0
  640. package/dist/nylas-web-elements/{p-d513d2ee.entry.js → p-de2f4643.entry.js} +2 -2
  641. package/dist/nylas-web-elements/{p-f2d1b1a6.entry.js.map → p-de2f4643.entry.js.map} +1 -1
  642. package/dist/nylas-web-elements/{p-25c97a60.entry.js → p-de84d999.entry.js} +2 -2
  643. package/dist/nylas-web-elements/p-debf614f.entry.js +8 -0
  644. package/dist/nylas-web-elements/p-debf614f.entry.js.map +1 -0
  645. package/dist/nylas-web-elements/{p-158fe1e9.entry.js → p-dfe9b5d0.entry.js} +2 -2
  646. package/dist/nylas-web-elements/{p-085950eb.entry.js → p-e5452799.entry.js} +2 -2
  647. package/dist/nylas-web-elements/{p-f8653b9b.entry.js → p-e6e79d76.entry.js} +2 -2
  648. package/dist/nylas-web-elements/{p-b813eb5d.entry.js → p-e944aa75.entry.js} +2 -2
  649. package/dist/nylas-web-elements/p-ec844414.entry.js +2 -0
  650. package/dist/nylas-web-elements/{p-34f0d1fe.entry.js.map → p-ec844414.entry.js.map} +1 -1
  651. package/dist/nylas-web-elements/p-ed64716c.entry.js +2 -0
  652. package/dist/nylas-web-elements/p-ed64716c.entry.js.map +1 -0
  653. package/dist/nylas-web-elements/{p-ecaf3ae1.entry.js → p-eff175d3.entry.js} +2 -2
  654. package/dist/nylas-web-elements/{p-246983ed.entry.js → p-eff774e6.entry.js} +2 -2
  655. package/dist/nylas-web-elements/p-f03b9d40.entry.js +2 -0
  656. package/dist/nylas-web-elements/p-f03b9d40.entry.js.map +1 -0
  657. package/dist/nylas-web-elements/{p-2f148064.entry.js → p-f13b8bd3.entry.js} +2 -2
  658. package/dist/nylas-web-elements/{p-8f3b02cd.entry.js → p-f7465959.entry.js} +2 -2
  659. package/dist/nylas-web-elements/p-f8e8270d.entry.js +2 -0
  660. package/dist/nylas-web-elements/p-f8e8270d.entry.js.map +1 -0
  661. package/dist/types/common/constants.d.ts +17 -0
  662. package/dist/types/common/icons/calendar-agenda-fill.d.ts +5 -0
  663. package/dist/types/common/icons/calendar-agenda.d.ts +5 -0
  664. package/dist/types/common/icons/copy.d.ts +5 -0
  665. package/dist/types/common/icons/delete.d.ts +5 -0
  666. package/dist/types/common/icons/dragable.d.ts +5 -0
  667. package/dist/types/common/icons/edit.d.ts +5 -0
  668. package/dist/types/common/icons/eye.d.ts +5 -0
  669. package/dist/types/common/icons/google-meet.d.ts +5 -0
  670. package/dist/types/common/icons/microsof-teams.d.ts +5 -0
  671. package/dist/types/common/icons/plus.d.ts +5 -0
  672. package/dist/types/common/icons/zoom.d.ts +5 -0
  673. package/dist/types/common/nylas-api-request.d.ts +1 -0
  674. package/dist/types/common/types.d.ts +1 -0
  675. package/dist/types/components/design-system/checkbox-component/checkbox-component.d.ts +3 -0
  676. package/dist/types/components/design-system/input-component/input-component.d.ts +2 -1
  677. package/dist/types/components/design-system/multi-select-dropdown/multi-select-dropdown.d.ts +1 -0
  678. package/dist/types/components/design-system/radio-button-group/radio-button-group.d.ts +6 -1
  679. package/dist/types/components/design-system/select-dropdown/select-dropdown.d.ts +3 -0
  680. package/dist/types/components/design-system/textarea-component/textarea-component.d.ts +2 -0
  681. package/dist/types/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.d.ts +1 -0
  682. package/dist/types/components/scheduler/nylas-booking-form/nylas-booking-form.d.ts +8 -6
  683. package/dist/types/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.d.ts +3 -2
  684. package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +7 -4
  685. package/dist/types/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.d.ts +1 -0
  686. package/dist/types/components/scheduler-editor/nylas-booking-form-config/nylas-booking-form-config.d.ts +51 -0
  687. package/dist/types/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.d.ts +1 -0
  688. package/dist/types/components/scheduler-editor/nylas-connected-calendars/nylas-connected-calendars.d.ts +41 -0
  689. package/dist/types/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.d.ts +1 -1
  690. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +27 -4
  691. package/dist/types/components/scheduler-editor/nylas-editor-tabs/tab-contents.d.ts +2 -1
  692. package/dist/types/components/scheduler-editor/nylas-event-location/nylas-event-location.d.ts +7 -1
  693. package/dist/types/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.d.ts +13 -2
  694. package/dist/types/components/scheduler-editor/nylas-participant-booking-calendars/nylas-participant-booking-calendars.d.ts +43 -0
  695. package/dist/types/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.d.ts +4 -2
  696. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.d.ts +11 -2
  697. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +4 -2
  698. package/dist/types/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.d.ts +2 -2
  699. package/dist/types/components.d.ts +723 -30
  700. package/dist/types/connector/shared/api/scheduler-config.d.ts +1 -1
  701. package/dist/types/stores/scheduler-config-store.d.ts +5 -2
  702. package/dist/types/stores/scheduler-store.d.ts +3 -1
  703. package/dist/types/types/index.d.ts +8 -0
  704. package/package.json +4 -3
  705. package/dist/cjs/button-component.cjs.entry.js +0 -31
  706. package/dist/cjs/button-component.cjs.entry.js.map +0 -1
  707. package/dist/cjs/calendar-info-icon_28.cjs.entry.js +0 -2935
  708. package/dist/cjs/calendar-info-icon_28.cjs.entry.js.map +0 -1
  709. package/dist/cjs/input-component.cjs.entry.js +0 -89
  710. package/dist/cjs/input-component.cjs.entry.js.map +0 -1
  711. package/dist/cjs/nylas-api-request-a1751a40.js.map +0 -1
  712. package/dist/cjs/scheduler-config-store-9f19c7a9.js.map +0 -1
  713. package/dist/cjs/scheduler-store-0f7328f1.js.map +0 -1
  714. package/dist/esm/button-component.entry.js +0 -27
  715. package/dist/esm/button-component.entry.js.map +0 -1
  716. package/dist/esm/calendar-info-icon_28.entry.js +0 -2904
  717. package/dist/esm/calendar-info-icon_28.entry.js.map +0 -1
  718. package/dist/esm/input-component.entry.js +0 -85
  719. package/dist/esm/input-component.entry.js.map +0 -1
  720. package/dist/esm/nylas-api-request-a67d2997.js.map +0 -1
  721. package/dist/esm/scheduler-config-store-4a50a03d.js.map +0 -1
  722. package/dist/esm/scheduler-store-f02ce045.js.map +0 -1
  723. package/dist/nylas-web-elements/p-019be093.entry.js +0 -11
  724. package/dist/nylas-web-elements/p-019be093.entry.js.map +0 -1
  725. package/dist/nylas-web-elements/p-05833164.entry.js +0 -2
  726. package/dist/nylas-web-elements/p-05833164.entry.js.map +0 -1
  727. package/dist/nylas-web-elements/p-061d0ae2.entry.js +0 -2
  728. package/dist/nylas-web-elements/p-061d0ae2.entry.js.map +0 -1
  729. package/dist/nylas-web-elements/p-0c31f7ca.entry.js +0 -2
  730. package/dist/nylas-web-elements/p-0d98c728.entry.js +0 -2
  731. package/dist/nylas-web-elements/p-0d98c728.entry.js.map +0 -1
  732. package/dist/nylas-web-elements/p-12b83ea9.entry.js +0 -2
  733. package/dist/nylas-web-elements/p-16fb6243.entry.js +0 -2
  734. package/dist/nylas-web-elements/p-1970b6ee.entry.js +0 -2
  735. package/dist/nylas-web-elements/p-1a27960b.entry.js.map +0 -1
  736. package/dist/nylas-web-elements/p-1fa7b832.entry.js +0 -2
  737. package/dist/nylas-web-elements/p-26976360.entry.js +0 -2
  738. package/dist/nylas-web-elements/p-26976360.entry.js.map +0 -1
  739. package/dist/nylas-web-elements/p-29938263.js +0 -2
  740. package/dist/nylas-web-elements/p-29938263.js.map +0 -1
  741. package/dist/nylas-web-elements/p-33a6a75b.entry.js +0 -2
  742. package/dist/nylas-web-elements/p-36f4b804.entry.js +0 -2
  743. package/dist/nylas-web-elements/p-36f4b804.entry.js.map +0 -1
  744. package/dist/nylas-web-elements/p-39160c0d.entry.js +0 -11
  745. package/dist/nylas-web-elements/p-39160c0d.entry.js.map +0 -1
  746. package/dist/nylas-web-elements/p-3b6bd448.entry.js +0 -2
  747. package/dist/nylas-web-elements/p-3eeab083.entry.js +0 -2
  748. package/dist/nylas-web-elements/p-49f716ed.js.map +0 -1
  749. package/dist/nylas-web-elements/p-53a1bb82.entry.js +0 -2
  750. package/dist/nylas-web-elements/p-53a1bb82.entry.js.map +0 -1
  751. package/dist/nylas-web-elements/p-5bed86c2.entry.js +0 -2
  752. package/dist/nylas-web-elements/p-5ddd0c37.entry.js +0 -2
  753. package/dist/nylas-web-elements/p-613c070f.js.map +0 -1
  754. package/dist/nylas-web-elements/p-644ff4ee.entry.js +0 -2
  755. package/dist/nylas-web-elements/p-644ff4ee.entry.js.map +0 -1
  756. package/dist/nylas-web-elements/p-64d73008.entry.js +0 -2
  757. package/dist/nylas-web-elements/p-6ddb4b95.entry.js +0 -2
  758. package/dist/nylas-web-elements/p-6ddb4b95.entry.js.map +0 -1
  759. package/dist/nylas-web-elements/p-823c8aa2.js +0 -2
  760. package/dist/nylas-web-elements/p-823c8aa2.js.map +0 -1
  761. package/dist/nylas-web-elements/p-83444c0a.entry.js +0 -2
  762. package/dist/nylas-web-elements/p-83444c0a.entry.js.map +0 -1
  763. package/dist/nylas-web-elements/p-8506a8d4.entry.js +0 -11
  764. package/dist/nylas-web-elements/p-8506a8d4.entry.js.map +0 -1
  765. package/dist/nylas-web-elements/p-926dd201.entry.js +0 -2
  766. package/dist/nylas-web-elements/p-9283504a.entry.js +0 -2
  767. package/dist/nylas-web-elements/p-9283504a.entry.js.map +0 -1
  768. package/dist/nylas-web-elements/p-958746a1.entry.js +0 -2
  769. package/dist/nylas-web-elements/p-9bb41364.entry.js +0 -2
  770. package/dist/nylas-web-elements/p-9bb41364.entry.js.map +0 -1
  771. package/dist/nylas-web-elements/p-a800e7af.entry.js.map +0 -1
  772. package/dist/nylas-web-elements/p-a8678862.entry.js +0 -2
  773. package/dist/nylas-web-elements/p-aac962c7.entry.js +0 -2
  774. package/dist/nylas-web-elements/p-aac962c7.entry.js.map +0 -1
  775. package/dist/nylas-web-elements/p-b4d09fcf.entry.js +0 -2
  776. package/dist/nylas-web-elements/p-b4d09fcf.entry.js.map +0 -1
  777. package/dist/nylas-web-elements/p-b9559f06.entry.js +0 -2
  778. package/dist/nylas-web-elements/p-b9559f06.entry.js.map +0 -1
  779. package/dist/nylas-web-elements/p-bab1d562.entry.js +0 -2
  780. package/dist/nylas-web-elements/p-bab1d562.entry.js.map +0 -1
  781. package/dist/nylas-web-elements/p-c18c15d0.entry.js +0 -2
  782. package/dist/nylas-web-elements/p-c1ff6499.entry.js +0 -2
  783. package/dist/nylas-web-elements/p-c1ff6499.entry.js.map +0 -1
  784. package/dist/nylas-web-elements/p-d5d67115.entry.js +0 -2
  785. package/dist/nylas-web-elements/p-d5d67115.entry.js.map +0 -1
  786. package/dist/nylas-web-elements/p-d9a91bc9.entry.js.map +0 -1
  787. package/dist/nylas-web-elements/p-ea12997b.entry.js +0 -2
  788. package/dist/nylas-web-elements/p-f2d1b1a6.entry.js +0 -2
  789. package/dist/nylas-web-elements/p-f6fafe86.entry.js +0 -2
  790. package/dist/nylas-web-elements/p-f6fafe86.entry.js.map +0 -1
  791. package/dist/nylas-web-elements/p-ffce3a49.entry.js +0 -2
  792. package/dist/nylas-web-elements/p-ffce3a49.entry.js.map +0 -1
  793. /package/dist/nylas-web-elements/{p-08d75d35.entry.js.map → p-064c2ae5.entry.js.map} +0 -0
  794. /package/dist/nylas-web-elements/{p-5bed86c2.entry.js.map → p-0aa1e433.entry.js.map} +0 -0
  795. /package/dist/nylas-web-elements/{p-3f122804.entry.js.map → p-0bf6f818.entry.js.map} +0 -0
  796. /package/dist/nylas-web-elements/{p-926dd201.entry.js.map → p-1102df14.entry.js.map} +0 -0
  797. /package/dist/nylas-web-elements/{p-a7b19349.entry.js.map → p-155e5ce8.entry.js.map} +0 -0
  798. /package/dist/nylas-web-elements/{p-a85408e0.entry.js.map → p-18d100c8.entry.js.map} +0 -0
  799. /package/dist/nylas-web-elements/{p-5231fc13.entry.js.map → p-1a7edf86.entry.js.map} +0 -0
  800. /package/dist/nylas-web-elements/{p-554891cd.entry.js.map → p-1e1ae8d0.entry.js.map} +0 -0
  801. /package/dist/nylas-web-elements/{p-65097f45.entry.js.map → p-1fbe50b1.entry.js.map} +0 -0
  802. /package/dist/nylas-web-elements/{p-70e5cfb0.entry.js.map → p-22e05c7d.entry.js.map} +0 -0
  803. /package/dist/nylas-web-elements/{p-be38a8eb.entry.js.map → p-26302ad0.entry.js.map} +0 -0
  804. /package/dist/nylas-web-elements/{p-2a92691a.entry.js.map → p-2f47205d.entry.js.map} +0 -0
  805. /package/dist/nylas-web-elements/{p-085950eb.entry.js.map → p-3277023d.entry.js.map} +0 -0
  806. /package/dist/nylas-web-elements/{p-64d73008.entry.js.map → p-34c747f9.entry.js.map} +0 -0
  807. /package/dist/nylas-web-elements/{p-45c37986.entry.js.map → p-3ae38e51.entry.js.map} +0 -0
  808. /package/dist/nylas-web-elements/{p-0c31f7ca.entry.js.map → p-3bc1289e.entry.js.map} +0 -0
  809. /package/dist/nylas-web-elements/{p-5ddd0c37.entry.js.map → p-3d1e8e4d.entry.js.map} +0 -0
  810. /package/dist/nylas-web-elements/{p-e9ba368f.entry.js.map → p-3dae0c71.entry.js.map} +0 -0
  811. /package/dist/nylas-web-elements/{p-acadfabf.entry.js.map → p-3db7ab8d.entry.js.map} +0 -0
  812. /package/dist/nylas-web-elements/{p-28512ab6.entry.js.map → p-3e09b0fb.entry.js.map} +0 -0
  813. /package/dist/nylas-web-elements/{p-158fe1e9.entry.js.map → p-3eac9f45.entry.js.map} +0 -0
  814. /package/dist/nylas-web-elements/{p-d513d2ee.entry.js.map → p-4000107d.entry.js.map} +0 -0
  815. /package/dist/nylas-web-elements/{p-3b6bd448.entry.js.map → p-47392968.entry.js.map} +0 -0
  816. /package/dist/nylas-web-elements/{p-16a3bfb2.entry.js.map → p-4a594ebe.entry.js.map} +0 -0
  817. /package/dist/nylas-web-elements/{p-c90755ba.entry.js.map → p-4b6995fe.entry.js.map} +0 -0
  818. /package/dist/nylas-web-elements/{p-b2d95965.entry.js.map → p-4cdd4107.entry.js.map} +0 -0
  819. /package/dist/nylas-web-elements/{p-25c97a60.entry.js.map → p-4e8c8939.entry.js.map} +0 -0
  820. /package/dist/nylas-web-elements/{p-6bd9c9c3.entry.js.map → p-4e9ba325.entry.js.map} +0 -0
  821. /package/dist/nylas-web-elements/{p-6ce66add.entry.js.map → p-524a6acc.entry.js.map} +0 -0
  822. /package/dist/nylas-web-elements/{p-9b68568e.entry.js.map → p-533d39ce.entry.js.map} +0 -0
  823. /package/dist/nylas-web-elements/{p-7a95bc3f.entry.js.map → p-5a379fb5.entry.js.map} +0 -0
  824. /package/dist/nylas-web-elements/{p-cb03e4d4.entry.js.map → p-5a68368a.entry.js.map} +0 -0
  825. /package/dist/nylas-web-elements/{p-1970b6ee.entry.js.map → p-5b965d0d.entry.js.map} +0 -0
  826. /package/dist/nylas-web-elements/{p-091a8f00.entry.js.map → p-5ff4e63b.entry.js.map} +0 -0
  827. /package/dist/nylas-web-elements/{p-37f41a90.entry.js.map → p-656cf33f.entry.js.map} +0 -0
  828. /package/dist/nylas-web-elements/{p-246983ed.entry.js.map → p-65b7a2a7.entry.js.map} +0 -0
  829. /package/dist/nylas-web-elements/{p-60b03f86.entry.js.map → p-6c8af4fb.entry.js.map} +0 -0
  830. /package/dist/nylas-web-elements/{p-8e63b66c.entry.js.map → p-6d410f0a.entry.js.map} +0 -0
  831. /package/dist/nylas-web-elements/{p-daac96cb.entry.js.map → p-6e50d2fd.entry.js.map} +0 -0
  832. /package/dist/nylas-web-elements/{p-c18c15d0.entry.js.map → p-6e8b7ce8.entry.js.map} +0 -0
  833. /package/dist/nylas-web-elements/{p-b9fa6848.entry.js.map → p-7355937b.entry.js.map} +0 -0
  834. /package/dist/nylas-web-elements/{p-a8678862.entry.js.map → p-76156a82.entry.js.map} +0 -0
  835. /package/dist/nylas-web-elements/{p-052bc3b1.entry.js.map → p-7e08f131.entry.js.map} +0 -0
  836. /package/dist/nylas-web-elements/{p-2f148064.entry.js.map → p-7e10aa6d.entry.js.map} +0 -0
  837. /package/dist/nylas-web-elements/{p-b2aca6c4.entry.js.map → p-7e53588e.entry.js.map} +0 -0
  838. /package/dist/nylas-web-elements/{p-aae7febd.entry.js.map → p-83de54ae.entry.js.map} +0 -0
  839. /package/dist/nylas-web-elements/{p-de7b0878.entry.js.map → p-884b66bd.entry.js.map} +0 -0
  840. /package/dist/nylas-web-elements/{p-e928898a.entry.js.map → p-90294a76.entry.js.map} +0 -0
  841. /package/dist/nylas-web-elements/{p-3eeab083.entry.js.map → p-90817d1f.entry.js.map} +0 -0
  842. /package/dist/nylas-web-elements/{p-f1b0120b.entry.js.map → p-90d32fc3.entry.js.map} +0 -0
  843. /package/dist/nylas-web-elements/{p-dcc27b67.entry.js.map → p-95a9d2f1.entry.js.map} +0 -0
  844. /package/dist/nylas-web-elements/{p-6ef1024f.entry.js.map → p-96746b87.entry.js.map} +0 -0
  845. /package/dist/nylas-web-elements/{p-7fcecf3f.entry.js.map → p-97026709.entry.js.map} +0 -0
  846. /package/dist/nylas-web-elements/{p-eb7e8455.entry.js.map → p-987042a1.entry.js.map} +0 -0
  847. /package/dist/nylas-web-elements/{p-44507695.entry.js.map → p-9f903292.entry.js.map} +0 -0
  848. /package/dist/nylas-web-elements/{p-7ce048c0.entry.js.map → p-9fdbeba5.entry.js.map} +0 -0
  849. /package/dist/nylas-web-elements/{p-9794f735.entry.js.map → p-a22908ba.entry.js.map} +0 -0
  850. /package/dist/nylas-web-elements/{p-16fb6243.entry.js.map → p-a3c76c06.entry.js.map} +0 -0
  851. /package/dist/nylas-web-elements/{p-520ffe94.entry.js.map → p-a63d6241.entry.js.map} +0 -0
  852. /package/dist/nylas-web-elements/{p-cf0d5ab9.entry.js.map → p-aa4e6e5e.entry.js.map} +0 -0
  853. /package/dist/nylas-web-elements/{p-ba5a625c.entry.js.map → p-ab050d5b.entry.js.map} +0 -0
  854. /package/dist/nylas-web-elements/{p-161c9325.entry.js.map → p-b348aad4.entry.js.map} +0 -0
  855. /package/dist/nylas-web-elements/{p-5c3c1888.entry.js.map → p-b547209f.entry.js.map} +0 -0
  856. /package/dist/nylas-web-elements/{p-e8cde784.entry.js.map → p-b5b051e0.entry.js.map} +0 -0
  857. /package/dist/nylas-web-elements/{p-b0c8021f.entry.js.map → p-b7a53268.entry.js.map} +0 -0
  858. /package/dist/nylas-web-elements/{p-385070ba.entry.js.map → p-bc6c9256.entry.js.map} +0 -0
  859. /package/dist/nylas-web-elements/{p-d633e735.entry.js.map → p-be26ce19.entry.js.map} +0 -0
  860. /package/dist/nylas-web-elements/{p-8a4ac2a4.entry.js.map → p-bed6d217.entry.js.map} +0 -0
  861. /package/dist/nylas-web-elements/{p-8f3b02cd.entry.js.map → p-cb9fd100.entry.js.map} +0 -0
  862. /package/dist/nylas-web-elements/{p-bd34f97d.entry.js.map → p-cee0929a.entry.js.map} +0 -0
  863. /package/dist/nylas-web-elements/{p-b334d63b.entry.js.map → p-cffb3636.entry.js.map} +0 -0
  864. /package/dist/nylas-web-elements/{p-f1a54acf.entry.js.map → p-d1ab9d75.entry.js.map} +0 -0
  865. /package/dist/nylas-web-elements/{p-f96b12de.entry.js.map → p-d830e428.entry.js.map} +0 -0
  866. /package/dist/nylas-web-elements/{p-8075a758.entry.js.map → p-d9b08dd2.entry.js.map} +0 -0
  867. /package/dist/nylas-web-elements/{p-39fd9c90.entry.js.map → p-db73506b.entry.js.map} +0 -0
  868. /package/dist/nylas-web-elements/{p-8f843faf.entry.js.map → p-de84d999.entry.js.map} +0 -0
  869. /package/dist/nylas-web-elements/{p-bfe8e06b.entry.js.map → p-dfe9b5d0.entry.js.map} +0 -0
  870. /package/dist/nylas-web-elements/{p-66493463.entry.js.map → p-e5452799.entry.js.map} +0 -0
  871. /package/dist/nylas-web-elements/{p-f8653b9b.entry.js.map → p-e6e79d76.entry.js.map} +0 -0
  872. /package/dist/nylas-web-elements/{p-b813eb5d.entry.js.map → p-e944aa75.entry.js.map} +0 -0
  873. /package/dist/nylas-web-elements/{p-a12f3223.entry.js.map → p-eff175d3.entry.js.map} +0 -0
  874. /package/dist/nylas-web-elements/{p-cf589eab.entry.js.map → p-eff774e6.entry.js.map} +0 -0
  875. /package/dist/nylas-web-elements/{p-ecaf3ae1.entry.js.map → p-f13b8bd3.entry.js.map} +0 -0
  876. /package/dist/nylas-web-elements/{p-ea12997b.entry.js.map → p-f7465959.entry.js.map} +0 -0
@@ -35,8 +35,8 @@ const NylasTimeslotInterval = proxyCustomElement(class NylasTimeslotInterval ext
35
35
  this.internals = this.attachInternals();
36
36
  this.selectedConfiguration = undefined;
37
37
  this.name = 'timeslot-picker';
38
- this.eventDurationMinutes = this.selectedConfiguration?.availability?.duration_minutes ?? 5;
39
- this.defaultIntervalMinutes = this.selectedConfiguration?.availability?.interval_minutes ?? this.eventDurationMinutes;
38
+ this.eventDurationMinutes = this.selectedConfiguration?.availability?.duration_minutes;
39
+ this.defaultIntervalMinutes = this.selectedConfiguration?.availability?.interval_minutes ?? this.eventDurationMinutes ?? 10;
40
40
  this.defaultRoundTo = this.selectedConfiguration?.availability?.round_to ?? undefined;
41
41
  this.selectedInterval = this.defaultIntervalMinutes;
42
42
  this.selectedRoundTo = this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? true : false;
@@ -47,7 +47,7 @@ const NylasTimeslotInterval = proxyCustomElement(class NylasTimeslotInterval ext
47
47
  }
48
48
  selectedConfigurationChangedHandler(newValue) {
49
49
  debug('nylas-timeslot-interval', 'selectedConfigurationChangedHandler', newValue);
50
- this.defaultIntervalMinutes = newValue.availability?.interval_minutes ?? this.eventDurationMinutes;
50
+ this.defaultIntervalMinutes = newValue.availability?.interval_minutes ?? this.eventDurationMinutes ?? 10;
51
51
  this.defaultRoundTo = newValue.availability?.round_to ?? undefined;
52
52
  this.selectedInterval = this.defaultIntervalMinutes;
53
53
  this.selectedRoundTo = this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? true : false;
@@ -81,7 +81,7 @@ const NylasTimeslotInterval = proxyCustomElement(class NylasTimeslotInterval ext
81
81
  debug('nylas-timeslot-interval', 'nylasFormDropdownChangedHandler', event.detail);
82
82
  const value = event.detail.value;
83
83
  if (value === 'duration') {
84
- this.selectedInterval = this.eventDurationMinutes;
84
+ this.selectedInterval = this.eventDurationMinutes ?? 10;
85
85
  }
86
86
  else {
87
87
  this.selectedInterval = parseInt(event.detail.value);
@@ -98,8 +98,8 @@ const NylasTimeslotInterval = proxyCustomElement(class NylasTimeslotInterval ext
98
98
  this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes }), this.name);
99
99
  }
100
100
  }
101
- radioSelectionChangedHandler(event) {
102
- debug('nylas-timeslot-interval', 'radioSelectionChangedHandler', event.detail);
101
+ nylasFormRadioChangedHandler(event) {
102
+ debug('nylas-timeslot-interval', 'nylasFormRadioChangedHandler', event.detail);
103
103
  const value = event.detail.value;
104
104
  if (value === 'no-rounding') {
105
105
  this.selectedRoundTo = false;
@@ -130,14 +130,14 @@ const NylasTimeslotInterval = proxyCustomElement(class NylasTimeslotInterval ext
130
130
  { value: '45', label: '45 mins' },
131
131
  { value: '60', label: '60 mins' },
132
132
  ];
133
- return (h(Host, { key: 'ebad4dc8f82dc565f4608c262d54f06495a69144' }, h("div", { key: '46641f5cd23afc527d14c57fa62fe2627d1a92f5', class: "nylas-timeslot-interval", part: "nti" }, h("div", { key: '729c8356b955ba357bd00f3cdf28c51bb42b741d', class: "header", part: "nti__header" }, h("h3", { key: '348543e170e107ea65c74a6154739627e7c4a271' }, "Time-slot interval preferences"), h("p", { key: '1cf34b79990edef1950d6c970932e5e0805e6d0a' }, "Choose your interval preference for time-slots.")), h("div", { key: '965fe8f8e235f9696bc237bc7774ca6fdea2cd42', class: "nylas-timeslot-interval__dropdown" }, h("span", { key: '6346e2f31c9322cc3264885f362ce2b29c4a4c2e', class: "label", part: "nti__input-label" }, "Select interval preference", h("tooltip-component", { key: '27901960cae97d4809153aac5d427c8c2ff7bf1e' }, h("info-icon", { key: '94c81d2c169da3714d2a1955da0fbe542b688fb6', slot: "tooltip-icon" }), h("span", { key: '6e8660e7696c16d81214d97e5e2087579f9fa1bd', slot: "tooltip-content" }, "Set the interval preference for the time-slots."))), h("select-dropdown", { key: '49b886894bb4d405ed13578809609511830389f1', name: "booking-calendar", options: intervalPreferenceOptions, withSearch: false, exportparts: "sd_dropdown: nti__dropdown, sd_dropdown-button: nti__dropdown-button, sd_dropdown-content: nti__dropdown-content", defaultSelectedOption: this.defaultIntervalMinutes == this.eventDurationMinutes
133
+ return (h(Host, { key: '74ed43cccb282e8de5cff14d7966b79deee55daf' }, h("div", { key: '5b3bbf89048551b553aabf468ca475cdefdad341', class: "nylas-timeslot-interval", part: "nti" }, h("div", { key: '04aec403481c8870063b8704a9ac880c11e3071e', class: "header", part: "nti__header" }, h("h3", { key: '35a9bd6d07a4a89a8dde8be1f252e5210fc21f2e' }, "Time slot settings"), h("p", { key: 'b889b033a82475a832abb0b480a3c648a2f99172' }, "Manage time slot settings.")), h("div", { key: 'c37caaec6d8fd3326bef84024ab32e6e4ac5464f', class: "nylas-timeslot-interval__dropdown" }, h("span", { key: '723a6719aee58e8ed767c541fd45929024e348bf', class: "label", part: "nti__input-label" }, "Select a time slot interval."), h("select-dropdown", { key: 'b621f8df10b400e944c65da1dc7d18c63886edcc', name: "booking-calendar", options: intervalPreferenceOptions, withSearch: false, exportparts: "sd_dropdown: nti__dropdown, sd_dropdown-button: nti__dropdown-button, sd_dropdown-content: nti__dropdown-content", defaultSelectedOption: this.defaultIntervalMinutes == this.eventDurationMinutes
134
134
  ? intervalPreferenceOptions[0]
135
- : intervalPreferenceOptions.find(op => op.value == this.defaultIntervalMinutes.toString()) ?? intervalPreferenceOptions[0] }), h("span", { key: '40079758106c1e7075b247f81a3bc30e11eb1138', class: "label", part: "nti__input-label" }, "Select the type of time-slot rounding", h("tooltip-component", { key: 'c1a1b86a732439b5474be36a1eb67d0a1fabe52c' }, h("info-icon", { key: '9e185781f8def48475c5f65cff916e5be6423b72', slot: "tooltip-icon" }), h("span", { key: 'df108083daab268e8980194ebff8485c945aab1c', slot: "tooltip-content" }, "Select if you want to round the time slots to the nearest interval."))), h("radio-button-group", { key: 'eb4c58b028ac0e2dd0468c30c1839558ae57178a', name: "interval-preference", defaultSelectedValue: this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? 'rounding' : 'no-rounding', options: [
136
- { value: 'no-rounding', label: 'Default', description: 'Time-slots will be rounded to the nearest quarter-hour.' },
135
+ : intervalPreferenceOptions.find(op => op.value == this.defaultIntervalMinutes.toString()) ?? intervalPreferenceOptions[0] }), h("span", { key: 'c98907d3660086deb3bb66aede6d3834190f9a69', slot: "label", class: "label", part: "nti__input-label" }, "Select the time slot rounding type", h("tooltip-component", { key: 'e4f6f0f75ab80a99612c622b111f4500d12cb05d' }, h("info-icon", { key: 'aa3e8de015f4c63511694f4cad1513615a87d738', slot: "tooltip-icon" }), h("span", { key: '9e0653df752fad754c51aa79438f75deab9bedb1', slot: "tooltip-content" }, "Select if you want to round the time slots to the nearest interval."))), h("radio-button-group", { key: 'b534ab334dd45491b7bfd287675fb67e24f82c99', name: "interval-preference", defaultSelectedValue: this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? 'rounding' : 'no-rounding', options: [
136
+ { value: 'no-rounding', label: 'Default', description: 'Time slots will be rounded to the nearest quarter-hour.' },
137
137
  {
138
138
  value: 'rounding',
139
139
  label: 'Interval rounding',
140
- description: 'Time-slots will begin at times rounded to the interval value.',
140
+ description: 'Time slots will begin at times rounded to the interval value.',
141
141
  },
142
142
  ] })))));
143
143
  }
@@ -156,7 +156,7 @@ const NylasTimeslotInterval = proxyCustomElement(class NylasTimeslotInterval ext
156
156
  "defaultRoundTo": [2, "default-round-to"],
157
157
  "selectedInterval": [32],
158
158
  "selectedRoundTo": [32]
159
- }, [[0, "nylasFormDropdownChanged", "nylasFormDropdownChangedHandler"], [0, "radioSelectionChanged", "radioSelectionChangedHandler"]], {
159
+ }, [[0, "nylasFormDropdownChanged", "nylasFormDropdownChangedHandler"], [0, "nylasFormRadioChanged", "nylasFormRadioChangedHandler"]], {
160
160
  "name": ["elementNameChangedHandler"],
161
161
  "selectedConfiguration": ["selectedConfigurationChangedHandler"]
162
162
  }]);
@@ -1 +1 @@
1
- {"file":"nylas-timeslot-interval2.js","mappings":"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","names":[],"sources":["src/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.scss?tag=nylas-timeslot-interval&encapsulation=shadow","src/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-timeslot-interval {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n .header {\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n h3 {\n margin: 0;\n font-size: 1rem;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n .nylas-timeslot-interval__dropdown {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 4px;\n span.label {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--nylas-base-800);\n tooltip-component {\n display: flex;\n }\n }\n select-dropdown {\n margin-bottom: 1.5rem;\n }\n select-dropdown::part(sd_dropdown) {\n width: 100%;\n }\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-width: unset;\n }\n select-dropdown::part(sd_dropdown-button) {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1rem;\n }\n select-dropdown::part(sd_dropdown-button-selected-label) {\n max-width: calc(100% - 2rem);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\nconst defaultRoundToMinustes = 15;\n/**\n * The `nylas-timeslot-interval` component is a UI component that allows users to set their time-slot interval preferences.\n * This component provides an option to set both `interval_minutes` and `round_to` in the configuration.\n *\n * @part nti - The timeslot interval container\n * @part nti__header - The header of the timeslot interval picker\n * @part nti__input-label - The input label of the timeslot interval picker\n * @part nti__dropdown - The dropdown container\n * @part nti__dropdown-button - The dropdown button\n * @part nti__dropdown-content - The dropdown content\n */\n@Component({\n tag: 'nylas-timeslot-interval',\n styleUrl: 'nylas-timeslot-interval.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasTimeslotInterval {\n @Element() host!: HTMLNylasTimeslotIntervalElement;\n /**\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * The name of the calendar picker.\n */\n @Prop() name: string = 'timeslot-picker';\n\n /**\n * The event duration in minutes.\n */\n @Prop() eventDurationMinutes: number = this.selectedConfiguration?.availability?.duration_minutes ?? 5; /**\n * The default interval minutes.\n */\n @Prop() defaultIntervalMinutes: number = this.selectedConfiguration?.availability?.interval_minutes ?? this.eventDurationMinutes;\n /**\n * The round to option in minutes as set in the configuration.\n */\n @Prop() defaultRoundTo?: number = this.selectedConfiguration?.availability?.round_to ?? undefined;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The selected interval minutes.\n */\n @State() selectedInterval: number = this.defaultIntervalMinutes;\n\n /**\n * The selected round to minutes.\n */\n @State() selectedRoundTo: boolean = this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? true : false;\n\n /**\n * This event is fired when the selected booking calendar changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-timeslot-interval', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-timeslot-interval', 'selectedConfigurationChangedHandler', newValue);\n this.defaultIntervalMinutes = newValue.availability?.interval_minutes ?? this.eventDurationMinutes;\n this.defaultRoundTo = newValue.availability?.round_to ?? undefined;\n this.selectedInterval = this.defaultIntervalMinutes;\n this.selectedRoundTo = this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? true : false;\n }\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-timeslot-interval', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-timeslot-interval', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-timeslot-interval', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-timeslot-interval', 'componentDidLoad');\n }\n\n componentWillUpdate() {\n debug('nylas-timeslot-interval', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-timeslot-interval', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-timeslot-interval', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-timeslot-interval', 'componentDidRender');\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-timeslot-interval', 'nylasFormDropdownChangedHandler', event.detail);\n const value = event.detail.value;\n if (value === 'duration') {\n this.selectedInterval = this.eventDurationMinutes;\n } else {\n this.selectedInterval = parseInt(event.detail.value);\n }\n console.log('nylasFormDropdownChanged selectedRoundTo', this.selectedRoundTo);\n\n this.valueChanged.emit({\n value: JSON.stringify({\n interval: this.selectedInterval,\n roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes,\n }),\n name: this.name,\n });\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes }), this.name);\n }\n }\n\n @Listen('radioSelectionChanged')\n radioSelectionChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-timeslot-interval', 'radioSelectionChangedHandler', event.detail);\n const value = event.detail.value;\n if (value === 'no-rounding') {\n this.selectedRoundTo = false;\n } else {\n this.selectedRoundTo = true;\n }\n console.log('selectedRoundTo', this.selectedRoundTo);\n\n this.valueChanged.emit({\n value: JSON.stringify({\n interval: this.selectedInterval,\n roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes,\n }),\n name: this.name,\n });\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes }), this.name);\n }\n }\n\n @RegisterComponent<NylasTimeslotInterval, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-timeslot-interval',\n stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),\n fireRegisterEvent: true,\n })\n render() {\n const intervalPreferenceOptions = [\n { value: 'duration', label: 'Length of the booking' },\n { value: '5', label: '5 mins' },\n { value: '10', label: '10 mins' },\n { value: '15', label: '15 mins' },\n { value: '20', label: '20 mins' },\n { value: '30', label: '30 mins' },\n { value: '45', label: '45 mins' },\n { value: '60', label: '60 mins' },\n ];\n\n return (\n <Host>\n <div class=\"nylas-timeslot-interval\" part=\"nti\">\n <div class=\"header\" part=\"nti__header\">\n <h3>Time-slot interval preferences</h3>\n <p>Choose your interval preference for time-slots.</p>\n </div>\n\n <div class=\"nylas-timeslot-interval__dropdown\">\n <span class=\"label\" part=\"nti__input-label\">\n Select interval preference\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">Set the interval preference for the time-slots.</span>\n </tooltip-component>\n </span>\n <select-dropdown\n name=\"booking-calendar\"\n options={intervalPreferenceOptions}\n withSearch={false}\n exportparts=\"sd_dropdown: nti__dropdown, sd_dropdown-button: nti__dropdown-button, sd_dropdown-content: nti__dropdown-content\"\n defaultSelectedOption={\n this.defaultIntervalMinutes == this.eventDurationMinutes\n ? intervalPreferenceOptions[0]\n : intervalPreferenceOptions.find(op => op.value == this.defaultIntervalMinutes.toString()) ?? intervalPreferenceOptions[0]\n }\n />\n <span class=\"label\" part=\"nti__input-label\">\n Select the type of time-slot rounding\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">Select if you want to round the time slots to the nearest interval.</span>\n </tooltip-component>\n </span>\n <radio-button-group\n name=\"interval-preference\"\n defaultSelectedValue={this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? 'rounding' : 'no-rounding'}\n options={[\n { value: 'no-rounding', label: 'Default', description: 'Time-slots will be rounded to the nearest quarter-hour.' },\n {\n value: 'rounding',\n label: 'Interval rounding',\n description: 'Time-slots will begin at times rounded to the interval value.',\n },\n ]}\n />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nylas-timeslot-interval2.js","mappings":"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","names":[],"sources":["src/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.scss?tag=nylas-timeslot-interval&encapsulation=shadow","src/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-timeslot-interval {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n .header {\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n h3 {\n margin: 0;\n font-size: 1rem;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n .nylas-timeslot-interval__dropdown {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 4px;\n span.label {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--nylas-base-800);\n tooltip-component {\n display: flex;\n }\n }\n select-dropdown {\n margin-bottom: 1.5rem;\n }\n select-dropdown::part(sd_dropdown) {\n width: 100%;\n }\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-width: unset;\n }\n select-dropdown::part(sd_dropdown-button) {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 1rem;\n }\n select-dropdown::part(sd_dropdown-button-selected-label) {\n max-width: calc(100% - 2rem);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\nconst defaultRoundToMinustes = 15;\n/**\n * The `nylas-timeslot-interval` component allows users to set their time slot interval preferences.\n * This component provides an option to set both `interval_minutes` and `round_to` in the configuration.\n *\n * @part nti - The timeslot interval container\n * @part nti__header - The header of the timeslot interval picker\n * @part nti__input-label - The input label of the timeslot interval picker\n * @part nti__dropdown - The dropdown container\n * @part nti__dropdown-button - The dropdown button\n * @part nti__dropdown-content - The dropdown content\n */\n@Component({\n tag: 'nylas-timeslot-interval',\n styleUrl: 'nylas-timeslot-interval.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasTimeslotInterval {\n @Element() host!: HTMLNylasTimeslotIntervalElement;\n /**\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * The name of the calendar picker.\n */\n @Prop() name: string = 'timeslot-picker';\n\n /**\n * The event duration in minutes.\n */\n @Prop() eventDurationMinutes?: number = this.selectedConfiguration?.availability?.duration_minutes; /**\n * The default interval minutes.\n */\n @Prop() defaultIntervalMinutes: number = this.selectedConfiguration?.availability?.interval_minutes ?? this.eventDurationMinutes ?? 10;\n /**\n * The round to option in minutes as set in the configuration.\n */\n @Prop() defaultRoundTo?: number = this.selectedConfiguration?.availability?.round_to ?? undefined;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The selected interval minutes.\n */\n @State() selectedInterval: number = this.defaultIntervalMinutes;\n\n /**\n * The selected round to minutes.\n */\n @State() selectedRoundTo: boolean = this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? true : false;\n\n /**\n * This event is fired when the selected booking calendar changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-timeslot-interval', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-timeslot-interval', 'selectedConfigurationChangedHandler', newValue);\n this.defaultIntervalMinutes = newValue.availability?.interval_minutes ?? this.eventDurationMinutes ?? 10;\n this.defaultRoundTo = newValue.availability?.round_to ?? undefined;\n this.selectedInterval = this.defaultIntervalMinutes;\n this.selectedRoundTo = this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? true : false;\n }\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-timeslot-interval', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-timeslot-interval', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-timeslot-interval', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-timeslot-interval', 'componentDidLoad');\n }\n\n componentWillUpdate() {\n debug('nylas-timeslot-interval', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-timeslot-interval', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-timeslot-interval', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-timeslot-interval', 'componentDidRender');\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-timeslot-interval', 'nylasFormDropdownChangedHandler', event.detail);\n const value = event.detail.value;\n if (value === 'duration') {\n this.selectedInterval = this.eventDurationMinutes ?? 10;\n } else {\n this.selectedInterval = parseInt(event.detail.value);\n }\n console.log('nylasFormDropdownChanged selectedRoundTo', this.selectedRoundTo);\n\n this.valueChanged.emit({\n value: JSON.stringify({\n interval: this.selectedInterval,\n roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes,\n }),\n name: this.name,\n });\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes }), this.name);\n }\n }\n\n @Listen('nylasFormRadioChanged')\n nylasFormRadioChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-timeslot-interval', 'nylasFormRadioChangedHandler', event.detail);\n const value = event.detail.value;\n if (value === 'no-rounding') {\n this.selectedRoundTo = false;\n } else {\n this.selectedRoundTo = true;\n }\n console.log('selectedRoundTo', this.selectedRoundTo);\n\n this.valueChanged.emit({\n value: JSON.stringify({\n interval: this.selectedInterval,\n roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes,\n }),\n name: this.name,\n });\n if (typeof this.internals.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify({ interval: this.selectedInterval, roundTo: this.selectedRoundTo ? this.selectedInterval : defaultRoundToMinustes }), this.name);\n }\n }\n\n @RegisterComponent<NylasTimeslotInterval, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-timeslot-interval',\n stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),\n fireRegisterEvent: true,\n })\n render() {\n const intervalPreferenceOptions = [\n { value: 'duration', label: 'Length of the booking' },\n { value: '5', label: '5 mins' },\n { value: '10', label: '10 mins' },\n { value: '15', label: '15 mins' },\n { value: '20', label: '20 mins' },\n { value: '30', label: '30 mins' },\n { value: '45', label: '45 mins' },\n { value: '60', label: '60 mins' },\n ];\n\n return (\n <Host>\n <div class=\"nylas-timeslot-interval\" part=\"nti\">\n <div class=\"header\" part=\"nti__header\">\n <h3>Time slot settings</h3>\n <p>Manage time slot settings.</p>\n </div>\n\n <div class=\"nylas-timeslot-interval__dropdown\">\n <span class=\"label\" part=\"nti__input-label\">\n Select a time slot interval.\n </span>\n <select-dropdown\n name=\"booking-calendar\"\n options={intervalPreferenceOptions}\n withSearch={false}\n exportparts=\"sd_dropdown: nti__dropdown, sd_dropdown-button: nti__dropdown-button, sd_dropdown-content: nti__dropdown-content\"\n defaultSelectedOption={\n this.defaultIntervalMinutes == this.eventDurationMinutes\n ? intervalPreferenceOptions[0]\n : intervalPreferenceOptions.find(op => op.value == this.defaultIntervalMinutes.toString()) ?? intervalPreferenceOptions[0]\n }\n />\n <span slot=\"label\" class=\"label\" part=\"nti__input-label\">\n Select the time slot rounding type\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">Select if you want to round the time slots to the nearest interval.</span>\n </tooltip-component>\n </span>\n <radio-button-group\n name=\"interval-preference\"\n defaultSelectedValue={this.defaultRoundTo && this.defaultRoundTo === this.defaultIntervalMinutes ? 'rounding' : 'no-rounding'}\n options={[\n { value: 'no-rounding', label: 'Default', description: 'Time slots will be rounded to the nearest quarter-hour.' },\n {\n value: 'rounding',\n label: 'Interval rounding',\n description: 'Time slots will begin at times rounded to the interval value.',\n },\n ]}\n />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { R as RegisterComponent } from './register-component.js';
3
3
  import { a as debug, n as isSameDay } from './utils.js';
4
4
 
5
- const nylasTimeslotPickerCss = ":host{display:block;height:calc(100% - 48px)}.time-picker-wrapper{display:flex;flex-direction:column;height:100%}.time-slots{position:relative;display:flex;flex-direction:column;gap:0.75rem;align-items:center;overflow-y:scroll;padding:0.5rem 1.5rem 1.5rem;flex:1}.time{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4px 12px;gap:0.5rem;font-size:16px;font-weight:500;font-family:inherit;width:100%;height:48px;color:var(--nylas-base-800);background:var(--nylas-base-0);border:none;outline:1.5px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);flex:none;order:4;align-self:stretch;flex-grow:0;cursor:pointer}.time:hover,.time:focus{color:var(--nylas-primary);outline-color:var(--nylas-primary)}.time.selected{font-weight:600;color:var(--nylas-primary);outline:2px solid var(--nylas-primary);border-color:transparent;box-shadow:0 0 0 2px var(--nylas-primary)}.empty{text-align:center;padding:0 1.5rem;color:var(--nylas-base-600);font-size:min(max(12px, 2vw), 14px);height:450px;display:flex;align-items:center;justify-content:center}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.loading{padding:0 1.5rem}.loading .time-slot-skeleton{width:100%;height:4rem;background-color:var(--nylas-base-50);margin-bottom:0.5rem;border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite ease-in-out}.footer{width:100%;padding:14px;box-sizing:border-box;border-top:1px solid var(--nylas-base-200)}.footer sp-button{padding:14px;color:var(--nylas-base-100);border-radius:var(--nylas-border-radius-2x);width:100%;height:48px;font-weight:600;font-size:16px;background-color:var(--nylas-primary);border:none}.footer sp-button:hover,.footer sp-button:focus{background-color:var(--nylas-base-600)}.footer sp-button:active{background-color:var(--nylas-base-800)}";
5
+ const nylasTimeslotPickerCss = ":host{display:block;height:calc(100% - 48px)}.time-picker-wrapper{display:flex;flex-direction:column;height:100%}.timeslots{position:relative;display:flex;flex-direction:column;gap:0.75rem;align-items:center;overflow-y:scroll;padding:0.5rem 1.5rem 1.5rem;flex:1}.time{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4px 12px;gap:0.5rem;font-size:16px;font-weight:500;font-family:inherit;width:100%;height:48px;color:var(--nylas-base-800);background:var(--nylas-base-0);border:none;outline:1.5px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);flex:none;order:4;align-self:stretch;flex-grow:0;cursor:pointer}.time:hover,.time:focus{color:var(--nylas-primary);outline-color:var(--nylas-primary)}.time.selected{font-weight:600;color:var(--nylas-primary);outline:2px solid var(--nylas-primary);border-color:transparent;box-shadow:0 0 0 2px var(--nylas-primary)}.empty{text-align:center;padding:0 1.5rem;color:var(--nylas-base-600);font-size:min(max(12px, 2vw), 14px);height:450px;display:flex;align-items:center;justify-content:center}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.loading{padding:0 1.5rem}.loading .timeslot-skeleton{width:100%;height:4rem;background-color:var(--nylas-base-50);margin-bottom:0.5rem;border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite ease-in-out}.footer{width:100%;padding:14px;box-sizing:border-box;border-top:1px solid var(--nylas-base-200)}.footer sp-button{padding:14px;color:var(--nylas-base-100);border-radius:var(--nylas-border-radius-2x);width:100%;height:48px;font-weight:600;font-size:16px;background-color:var(--nylas-primary);border:none}.footer sp-button:hover,.footer sp-button:focus{background-color:var(--nylas-base-600)}.footer sp-button:active{background-color:var(--nylas-base-800)}";
6
6
  const NylasTimeslotPickerStyle0 = nylasTimeslotPickerCss;
7
7
 
8
8
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -65,12 +65,13 @@ const NylasTimeslotPicker = proxyCustomElement(class NylasTimeslotPicker extends
65
65
  this.timeslotSelected.emit({
66
66
  start_time: timeslot.start_time,
67
67
  end_time: timeslot.end_time,
68
+ emails: timeslot.emails,
68
69
  });
69
70
  }
70
71
  getTimeSlotLabel(timeslot) {
71
72
  const timeFormat = new Intl.DateTimeFormat('en-US', {
72
- hour: 'numeric',
73
- minute: 'numeric',
73
+ hour: '2-digit',
74
+ minute: '2-digit',
74
75
  timeZone: this.selectedTimezone,
75
76
  });
76
77
  return `${timeFormat.format(timeslot.start_time)} - ${timeFormat.format(timeslot.end_time)}`;
@@ -94,7 +95,7 @@ const NylasTimeslotPicker = proxyCustomElement(class NylasTimeslotPicker extends
94
95
  }
95
96
  render() {
96
97
  if (this.isLoading) {
97
- return (h(Host, null, h("div", { class: 'loading' }, new Array(6).fill(0).map((_, i) => (h("div", { class: 'time-slot-skeleton', style: { animationDelay: `${i * 20}ms` } }))))));
98
+ return (h(Host, null, h("div", { class: 'loading' }, new Array(6).fill(0).map((_, i) => (h("div", { class: 'timeslot-skeleton', style: { animationDelay: `${i * 20}ms` } }))))));
98
99
  }
99
100
  if (this.availability && this.availability.length === 0) {
100
101
  return (h(Host, null, h("div", { class: 'empty' }, h("span", null, "No dates available"))));
@@ -104,7 +105,7 @@ const NylasTimeslotPicker = proxyCustomElement(class NylasTimeslotPicker extends
104
105
  }
105
106
  if (!this.selectedDate)
106
107
  return h(Host, null);
107
- return (h(Host, { part: "ntp" }, h("div", { class: 'time-picker-wrapper' }, h("div", { class: 'time-slots' }, this.times.map((timeslot, index) => (h("button", { part: `ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`, "aria-role": "button", class: {
108
+ return (h(Host, { part: "ntp" }, h("div", { class: 'time-picker-wrapper' }, h("div", { class: 'timeslots' }, this.times.map((timeslot, index) => (h("button", { part: `ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`, "aria-role": "button", class: {
108
109
  time: true,
109
110
  selected: typeof this.selectedTimeslot !== 'undefined' && this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime(),
110
111
  }, onClick: () => this.onClickSelectTime(timeslot, index), onMouseEnter: () => this.handleMouseEnter(index), onMouseLeave: () => this.handleMouseLeave() }, this.hoveredTimeslotIndex == index || this.selectedTimeslotIndex == this.getTimeslotId(timeslot.start_time, index)
@@ -1 +1 @@
1
- {"file":"nylas-timeslot-picker2.js","mappings":"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","names":[],"sources":["src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.scss?tag=nylas-timeslot-picker&encapsulation=shadow","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.tsx"],"sourcesContent":[":host {\n display: block;\n height: calc(100% - 48px); //48px is the height of the header\n}\n\n.time-picker-wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.time-slots {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n align-items: center;\n overflow-y: scroll;\n padding: 0.5rem 1.5rem 1.5rem;\n flex: 1;\n}\n\n.time {\n /* Frame 12 */\n box-sizing: border-box;\n\n /* Auto layout */\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 4px 12px;\n gap: 0.5rem;\n font-size: 16px;\n font-weight: 500;\n font-family: inherit;\n\n width: 100%;\n height: 48px;\n\n color: var(--nylas-base-800);\n background: var(--nylas-base-0);\n border: none;\n outline: 1.5px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n\n flex: none;\n order: 4;\n align-self: stretch;\n flex-grow: 0;\n\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: var(--nylas-primary);\n outline-color: var(--nylas-primary);\n }\n\n &.selected {\n font-weight: 600;\n color: var(--nylas-primary);\n outline: 2px solid var(--nylas-primary);\n border-color: transparent;\n box-shadow: 0 0 0 2px var(--nylas-primary);\n }\n}\n\n.empty {\n text-align: center;\n padding: 0 1.5rem;\n color: var(--nylas-base-600);\n font-size: min(max(12px, 2vw), 14px);\n height: 450px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n 50% {\n background-color: var(--nylas-base-100);\n }\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.loading {\n padding: 0 1.5rem;\n\n .time-slot-skeleton {\n width: 100%;\n height: 4rem;\n background-color: var(--nylas-base-50);\n margin-bottom: 0.5rem;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n }\n}\n\n.footer {\n width: 100%;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n\n sp-button {\n padding: 14px;\n color: var(--nylas-base-100);\n border-radius: var(--nylas-border-radius-2x);\n width: 100%;\n height: 48px;\n font-weight: 600;\n font-size: 16px;\n background-color: var(--nylas-primary);\n border: none;\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { debug, isSameDay } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { AvailabilityTimeslot } from '@/stores/scheduler-store';\nimport type { Timeslot } from '@nylas/core';\n\n/**\n * The `nylas-timeslot-picker` component is a UI component that allows users to select a timeslot from a list of available timeslots.\n *\n * @slot timeslot-picker-cta-label - The label for the timeslot picker CTA. Default is \"Next\".\n * @part ntp - The timeslot picker component.\n * @part ntp__timeslot - The timeslot button.\n * @part ntp__timeslot--selected - The selected timeslot button.\n * @part ntp__button-primary - The timeslot picker CTA.\n */\n@Component({\n tag: 'nylas-timeslot-picker',\n styleUrl: 'nylas-timeslot-picker.scss',\n shadow: true,\n})\nexport class NylasTimeslotPicker {\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date = new Date();\n /**\n * The available timeslots.\n */\n @Prop({ attribute: 'availability' }) readonly availability?: AvailabilityTimeslot[];\n /**\n * The selected timeslot.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /**\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop({ attribute: 'loading-state' }) readonly isLoading?: boolean;\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * This event is fired when a timeslot is selected.\n */\n @Event() readonly timeslotSelected!: EventEmitter<Timeslot>;\n /**\n * This event is fired when a timeslot is confirmed. By default, this will proceed to the booking form page.\n */\n @Event() readonly timeslotConfirmed!: EventEmitter<Timeslot>;\n\n @State() times: AvailabilityTimeslot[] = [];\n @State() hoveredTimeslotIndex?: number;\n @State() selectedTimeslotIndex?: string;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n const availableTimes = this.availability?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n debug(`[nylas-timeslot-picker] Component will load`, { selectedDate: this.selectedDate, availability: this.availability, times: this.times });\n }\n\n async componentDidLoad() {\n debug(`[nylas-timeslot-picker] Component did load`);\n }\n\n private getTimeslotId(date: Date, index: number) {\n return `${date.toLocaleDateString()}-${index}`;\n }\n\n private onClickSelectTime(timeslot: Timeslot, index: number) {\n debug(`[nylas-timeslot-picker] Time selected`, timeslot, index);\n this.selectedTimeslotIndex = this.getTimeslotId(timeslot.start_time, index);\n this.timeslotSelected.emit({\n start_time: timeslot.start_time,\n end_time: timeslot.end_time,\n });\n }\n\n private handleConfirmedTimeslot = async (event: Event, timeslot: Timeslot | undefined) => {\n event.preventDefault();\n debug(`[nylas-timeslot-picker] Confirm timeslot`, timeslot);\n this.timeslotConfirmed.emit(timeslot);\n };\n\n private handleMouseEnter = (index: number) => {\n this.hoveredTimeslotIndex = index;\n };\n\n private handleMouseLeave = () => {\n this.hoveredTimeslotIndex = -1;\n };\n\n private getTimeSlotLabel(timeslot: Timeslot) {\n const timeFormat = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: 'numeric',\n timeZone: this.selectedTimezone,\n });\n return `${timeFormat.format(timeslot.start_time)} - ${timeFormat.format(timeslot.end_time)}`;\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newVal: Date | null | undefined) {\n debug(`[nylas-timeslot-picker] Selected date changed`, { newVal });\n\n if (newVal) {\n this.selectedTimeslotIndex = '';\n if (typeof newVal !== 'undefined') {\n const availableTimes = this.availability?.filter(timeslot => isSameDay(timeslot.start_time, newVal)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n }\n\n @Watch('availability')\n availabilityChanged(newVal: AvailabilityTimeslot[] | undefined) {\n debug(`[nylas-timeslot-picker] Available times changed`, { newVal, selectedDate: this.selectedDate });\n\n if (typeof newVal !== 'undefined') {\n const availableTimes = newVal?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n\n @RegisterComponent<NylasTimeslotPicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-timeslot-picker',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.availability', 'availability'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.isLoading', 'isLoading'],\n ]),\n eventToProps: {\n timeslotSelected: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectTime(event.detail);\n },\n timeslotConfirmed: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n if (event.detail) {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(true);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n if (this.isLoading) {\n return (\n <Host>\n <div class={'loading'}>\n {new Array(6).fill(0).map((_, i) => (\n <div class={'time-slot-skeleton'} style={{ animationDelay: `${i * 20}ms` }} />\n ))}\n </div>\n </Host>\n );\n }\n\n if (this.availability && this.availability.length === 0) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No dates available</span>\n </div>\n </Host>\n );\n }\n\n if ((!this.times || this.times.length === 0) && !!this.selectedDate) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No time slots available for selected date</span>\n </div>\n </Host>\n );\n }\n\n if (!this.selectedDate) return <Host></Host>;\n\n return (\n <Host part=\"ntp\">\n <div class={'time-picker-wrapper'}>\n <div class={'time-slots'}>\n {this.times.map((timeslot, index) => (\n <button\n part={`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`}\n aria-role=\"button\"\n class={{\n time: true,\n selected: typeof this.selectedTimeslot !== 'undefined' && this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime(),\n }}\n onClick={() => this.onClickSelectTime(timeslot, index)}\n onMouseEnter={() => this.handleMouseEnter(index)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n {this.hoveredTimeslotIndex == index || this.selectedTimeslotIndex == this.getTimeslotId(timeslot.start_time, index)\n ? this.getTimeSlotLabel(timeslot)\n : timeslot.start_time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', timeZone: this.selectedTimezone })}\n </button>\n ))}\n </div>\n {this.selectedTimeslot && (\n <div class={'footer'}>\n <sp-button variant=\"primary\" onClick={(event: Event) => this.handleConfirmedTimeslot(event, this.selectedTimeslot)} part=\"ntp__button-primary\">\n <slot name=\"timeslot-picker-cta-label\">Next</slot>\n </sp-button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nylas-timeslot-picker2.js","mappings":"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","names":[],"sources":["src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.scss?tag=nylas-timeslot-picker&encapsulation=shadow","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.tsx"],"sourcesContent":[":host {\n display: block;\n height: calc(100% - 48px); //48px is the height of the header\n}\n\n.time-picker-wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.timeslots {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n align-items: center;\n overflow-y: scroll;\n padding: 0.5rem 1.5rem 1.5rem;\n flex: 1;\n}\n\n.time {\n /* Frame 12 */\n box-sizing: border-box;\n\n /* Auto layout */\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 4px 12px;\n gap: 0.5rem;\n font-size: 16px;\n font-weight: 500;\n font-family: inherit;\n\n width: 100%;\n height: 48px;\n\n color: var(--nylas-base-800);\n background: var(--nylas-base-0);\n border: none;\n outline: 1.5px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n\n flex: none;\n order: 4;\n align-self: stretch;\n flex-grow: 0;\n\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: var(--nylas-primary);\n outline-color: var(--nylas-primary);\n }\n\n &.selected {\n font-weight: 600;\n color: var(--nylas-primary);\n outline: 2px solid var(--nylas-primary);\n border-color: transparent;\n box-shadow: 0 0 0 2px var(--nylas-primary);\n }\n}\n\n.empty {\n text-align: center;\n padding: 0 1.5rem;\n color: var(--nylas-base-600);\n font-size: min(max(12px, 2vw), 14px);\n height: 450px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n\n 50% {\n background-color: var(--nylas-base-100);\n }\n\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.loading {\n padding: 0 1.5rem;\n\n .timeslot-skeleton {\n width: 100%;\n height: 4rem;\n background-color: var(--nylas-base-50);\n margin-bottom: 0.5rem;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n }\n}\n\n.footer {\n width: 100%;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n\n sp-button {\n padding: 14px;\n color: var(--nylas-base-100);\n border-radius: var(--nylas-border-radius-2x);\n width: 100%;\n height: 48px;\n font-weight: 600;\n font-size: 16px;\n background-color: var(--nylas-primary);\n border: none;\n\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}","import { RegisterComponent } from '@/common/register-component';\nimport { debug, isSameDay } from '@/utils/utils';\nimport { Component, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { AvailabilityTimeslot } from '@/stores/scheduler-store';\nimport type { Timeslot } from '@nylas/core';\n\n/**\n * The `nylas-timeslot-picker` component is a UI component that allows users to select a timeslot from a list of available timeslots.\n *\n * @slot timeslot-picker-cta-label - The label for the timeslot picker CTA. Default is \"Next\".\n * @part ntp - The timeslot picker component.\n * @part ntp__timeslot - The timeslot button.\n * @part ntp__timeslot--selected - The selected timeslot button.\n * @part ntp__button-primary - The timeslot picker CTA.\n */\n@Component({\n tag: 'nylas-timeslot-picker',\n styleUrl: 'nylas-timeslot-picker.scss',\n shadow: true,\n})\nexport class NylasTimeslotPicker {\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date = new Date();\n /**\n * The available timeslots.\n */\n @Prop({ attribute: 'availability' }) readonly availability?: AvailabilityTimeslot[];\n /**\n * The selected timeslot.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /**\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop({ attribute: 'loading-state' }) readonly isLoading?: boolean;\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * This event is fired when a timeslot is selected.\n */\n @Event() readonly timeslotSelected!: EventEmitter<Timeslot>;\n /**\n * This event is fired when a timeslot is confirmed. By default, this will proceed to the booking form page.\n */\n @Event() readonly timeslotConfirmed!: EventEmitter<Timeslot>;\n\n @State() times: AvailabilityTimeslot[] = [];\n @State() hoveredTimeslotIndex?: number;\n @State() selectedTimeslotIndex?: string;\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n const availableTimes = this.availability?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n debug(`[nylas-timeslot-picker] Component will load`, { selectedDate: this.selectedDate, availability: this.availability, times: this.times });\n }\n\n async componentDidLoad() {\n debug(`[nylas-timeslot-picker] Component did load`);\n }\n\n private getTimeslotId(date: Date, index: number) {\n return `${date.toLocaleDateString()}-${index}`;\n }\n\n private onClickSelectTime(timeslot: Timeslot, index: number) {\n debug(`[nylas-timeslot-picker] Time selected`, timeslot, index);\n this.selectedTimeslotIndex = this.getTimeslotId(timeslot.start_time, index);\n this.timeslotSelected.emit({\n start_time: timeslot.start_time,\n end_time: timeslot.end_time,\n emails: timeslot.emails,\n });\n }\n\n private handleConfirmedTimeslot = async (event: Event, timeslot: Timeslot | undefined) => {\n event.preventDefault();\n debug(`[nylas-timeslot-picker] Confirm timeslot`, timeslot);\n this.timeslotConfirmed.emit(timeslot);\n };\n\n private handleMouseEnter = (index: number) => {\n this.hoveredTimeslotIndex = index;\n };\n\n private handleMouseLeave = () => {\n this.hoveredTimeslotIndex = -1;\n };\n\n private getTimeSlotLabel(timeslot: Timeslot) {\n const timeFormat = new Intl.DateTimeFormat('en-US', {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: this.selectedTimezone,\n });\n return `${timeFormat.format(timeslot.start_time)} - ${timeFormat.format(timeslot.end_time)}`;\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newVal: Date | null | undefined) {\n debug(`[nylas-timeslot-picker] Selected date changed`, { newVal });\n\n if (newVal) {\n this.selectedTimeslotIndex = '';\n if (typeof newVal !== 'undefined') {\n const availableTimes = this.availability?.filter(timeslot => isSameDay(timeslot.start_time, newVal)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n }\n\n @Watch('availability')\n availabilityChanged(newVal: AvailabilityTimeslot[] | undefined) {\n debug(`[nylas-timeslot-picker] Available times changed`, { newVal, selectedDate: this.selectedDate });\n\n if (typeof newVal !== 'undefined') {\n const availableTimes = newVal?.filter(timeslot => this.selectedDate && isSameDay(timeslot.start_time, this.selectedDate)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n\n @RegisterComponent<NylasTimeslotPicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-timeslot-picker',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.availability', 'availability'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.isLoading', 'isLoading'],\n ]),\n eventToProps: {\n timeslotSelected: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.selectTime(event.detail);\n },\n timeslotConfirmed: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n if (event.detail) {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(true);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n if (this.isLoading) {\n return (\n <Host>\n <div class={'loading'}>\n {new Array(6).fill(0).map((_, i) => (\n <div class={'timeslot-skeleton'} style={{ animationDelay: `${i * 20}ms` }} />\n ))}\n </div>\n </Host>\n );\n }\n\n if (this.availability && this.availability.length === 0) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No dates available</span>\n </div>\n </Host>\n );\n }\n\n if ((!this.times || this.times.length === 0) && !!this.selectedDate) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No time slots available for selected date</span>\n </div>\n </Host>\n );\n }\n\n if (!this.selectedDate) return <Host></Host>;\n\n return (\n <Host part=\"ntp\">\n <div class={'time-picker-wrapper'}>\n <div class={'timeslots'}>\n {this.times.map((timeslot, index) => (\n <button\n part={`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`}\n aria-role=\"button\"\n class={{\n time: true,\n selected: typeof this.selectedTimeslot !== 'undefined' && this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime(),\n }}\n onClick={() => this.onClickSelectTime(timeslot, index)}\n onMouseEnter={() => this.handleMouseEnter(index)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n {this.hoveredTimeslotIndex == index || this.selectedTimeslotIndex == this.getTimeslotId(timeslot.start_time, index)\n ? this.getTimeSlotLabel(timeslot)\n : timeslot.start_time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', timeZone: this.selectedTimezone })}\n </button>\n ))}\n </div>\n {this.selectedTimeslot && (\n <div class={'footer'}>\n <sp-button variant=\"primary\" onClick={(event: Event) => this.handleConfirmedTimeslot(event, this.selectedTimeslot)} part=\"ntp__button-primary\">\n <slot name=\"timeslot-picker-cta-label\">Next</slot>\n </sp-button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1818,7 +1818,7 @@ const NylasViewEmail = proxyCustomElement(class NylasViewEmail extends HTMLEleme
1818
1818
  }
1819
1819
  render() {
1820
1820
  console.debug(`[nylas-view-email] render`, { hoistedFontURLs: this.hoistedFontURLs });
1821
- return (h(Host, { key: '4f0a1e688ae465d65943adc7dabac9cad6c62fe8' }, this.state === 'loading' && h("div", null, "Loading..."), this.state === 'ready' && (h(Fragment, null, this.styles.map(style => (h("style", null, DOMPurify.sanitize(style.innerHTML)))), h("div", { class: 'view-email', part: "view-email", innerHTML: this.sanitizedBody, ref: el => (this.viewEmailElement = el) })))));
1821
+ return (h(Host, { key: '285c8ae259a5c1de84aa7facdc2165f1f0383e31' }, this.state === 'loading' && h("div", null, "Loading..."), this.state === 'ready' && (h(Fragment, null, this.styles.map(style => (h("style", null, DOMPurify.sanitize(style.innerHTML)))), h("div", { class: 'view-email', part: "view-email", innerHTML: this.sanitizedBody, ref: el => (this.viewEmailElement = el) })))));
1822
1822
  }
1823
1823
  get host() { return this; }
1824
1824
  static get watchers() { return {
@@ -201,7 +201,7 @@ const NylasViewThread$1 = proxyCustomElement(class NylasViewThread extends HTMLE
201
201
  const lastTwoMessages = this.internalMessages.slice(this.internalMessages.length - 2, this.internalMessages.length);
202
202
  const remainingMessages = this.internalMessages.slice(1, this.internalMessages.length - 2);
203
203
  const lastMessage = this.internalMessages[this.internalMessages.length - 1];
204
- return (h(Host, { key: 'b9bcde80e7ee15061bfc217d99bb9422dfbe1d04' }, h("sp-theme", { key: '965e53796323e3e13983447abb4ac1b3a8651daa', scale: "medium", color: "dark" }, h("div", { key: '9efc644121efd09a2e837c23f9f8da80589f870b', class: "view-thread" }, h("div", { key: 'c1479929b6679a1b47f03dfe6d5cc1128484b703', class: "header" }, h("div", { key: '00c6788a461f9f6ca4532fb2acb2bf08e0f0c118', class: 'subject' }, this.thread?.subject), h("div", { key: '2e114754a9dd830e4a124cd9079ad4cf725908bd', class: 'folders' }, this.thread?.folders?.map(folder => h("sp-tag", { size: "s" }, toTitleCase(folder.replace('CATEGORY_', '').replace('_', ' ')))))), h("div", { key: '136d6a314c647991218dfe4090fa97c8d98b210d', class: "messages" }, fistMessage && (h(ViewThreadMessage, { message: fistMessage, attachments: this.attachments.filter(attachment => attachment.messageId === fistMessage.id), onMessageClick: this.onMessageClick, onShowContactDataClick: this.onShowContactDataClick, parent: this.host, viewEmailElement: this.nylasViewEmailElement, composerElement: this.nylasComposerElement })), remainingMessages.length > 0 && this.messages.length > 1 && !this.showAllEmails && lastTwoMessages.length > 0 && (h(Fragment, null, h("div", { class: 'show-more' }, h("button", { type: "button", onClick: this.onShowAllEmailsClick }, h("span", { class: 'avatar' }, remainingMessages.length), " ", h("span", { class: 'sr-only' }, "Show ", remainingMessages.length, " more emails"))), h("hr", null))), remainingMessages.length > 0 &&
204
+ return (h(Host, { key: '053c38f3da8b8535d0a71d51539660ce6eef6fb8' }, h("sp-theme", { key: 'dcb9a12a2577ed0cd183887355237e9a671f9cf9', scale: "medium", color: "dark" }, h("div", { key: 'b3d0f0d355cad065a790e6ad8f7f31692bd30b3f', class: "view-thread" }, h("div", { key: '47f588ecc5dbd6e9f680033c6784f9bfc3587dcb', class: "header" }, h("div", { key: 'cf102cc90b56d71d6fb2a98bc335189eb3e3b801', class: 'subject' }, this.thread?.subject), h("div", { key: '3bb42a18ce5b440c1bf76c491676a3570f4dd20b', class: 'folders' }, this.thread?.folders?.map(folder => h("sp-tag", { size: "s" }, toTitleCase(folder.replace('CATEGORY_', '').replace('_', ' ')))))), h("div", { key: 'a6a5a8bbebff5ee2fb0f101669614d7376f9da47', class: "messages" }, fistMessage && (h(ViewThreadMessage, { message: fistMessage, attachments: this.attachments.filter(attachment => attachment.messageId === fistMessage.id), onMessageClick: this.onMessageClick, onShowContactDataClick: this.onShowContactDataClick, parent: this.host, viewEmailElement: this.nylasViewEmailElement, composerElement: this.nylasComposerElement })), remainingMessages.length > 0 && this.messages.length > 1 && !this.showAllEmails && lastTwoMessages.length > 0 && (h(Fragment, null, h("div", { class: 'show-more' }, h("button", { type: "button", onClick: this.onShowAllEmailsClick }, h("span", { class: 'avatar' }, remainingMessages.length), " ", h("span", { class: 'sr-only' }, "Show ", remainingMessages.length, " more emails"))), h("hr", null))), remainingMessages.length > 0 &&
205
205
  this.showAllEmails &&
206
206
  this.messages.length > 2 &&
207
207
  remainingMessages.map(email => (h(ViewThreadMessage, { message: email, attachments: this.attachments.filter(attachment => attachment.messageId === fistMessage?.id), onMessageClick: this.onMessageClick, onShowContactDataClick: this.onShowContactDataClick, parent: this.host, viewEmailElement: this.nylasViewEmailElement, composerElement: this.nylasComposerElement }))), lastTwoMessages.length > 0 &&
@@ -11,7 +11,7 @@ const PeopleIcon = proxyCustomElement(class PeopleIcon extends HTMLElement {
11
11
  this.height = '20';
12
12
  }
13
13
  render() {
14
- return (h("svg", { key: '4a54f616162baf613895348e27cafd2088f5fd16', xmlns: "http://www.w3.org/2000/svg", width: this.width, height: this.height, fill: "none", viewBox: "0 0 20 20" }, h("path", { key: '80e1ca7240235b635a08369ba836e727825b7be4', fill: "currentColor", d: "M11 10a2 2 0 0 1 2 2v1.5c0 2.054-2.088 3.5-5.5 3.5S2 15.554 2 13.5V12a2 2 0 0 1 2-2h7Zm0 1H4a1 1 0 0 0-1 1v1.5C3 14.907 4.579 16 7.5 16c2.921 0 4.5-1.093 4.5-2.5V12a1 1 0 0 0-1-1Zm5-1a2 2 0 0 1 2 2v.5c0 2.089-1.568 3.5-4.5 3.5-.141 0-.28-.003-.414-.01.208-.242.382-.502.522-.781l.097-.213h.039C15.976 14.931 17 13.96 17 12.5V12a1 1 0 0 0-1-1h-2.171a3 3 0 0 0-.594-1H16ZM7.5 2a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm7 2a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5Zm-7-1a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm7 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z" })));
14
+ return (h("svg", { key: '5988d6a752795c93676e48b9a3f3989ebe4e3a5f', xmlns: "http://www.w3.org/2000/svg", width: this.width, height: this.height, fill: "none", viewBox: "0 0 20 20" }, h("path", { key: '25b7fd2d045c637815cc8e76cd9406d2ae9bc127', fill: "currentColor", d: "M11 10a2 2 0 0 1 2 2v1.5c0 2.054-2.088 3.5-5.5 3.5S2 15.554 2 13.5V12a2 2 0 0 1 2-2h7Zm0 1H4a1 1 0 0 0-1 1v1.5C3 14.907 4.579 16 7.5 16c2.921 0 4.5-1.093 4.5-2.5V12a1 1 0 0 0-1-1Zm5-1a2 2 0 0 1 2 2v.5c0 2.089-1.568 3.5-4.5 3.5-.141 0-.28-.003-.414-.01.208-.242.382-.502.522-.781l.097-.213h.039C15.976 14.931 17 13.96 17 12.5V12a1 1 0 0 0-1-1h-2.171a3 3 0 0 0-.594-1H16ZM7.5 2a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm7 2a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5Zm-7-1a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm7 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z" })));
15
15
  }
16
16
  static get style() { return PeopleIconStyle0; }
17
17
  }, [2, "people-icon", {
@@ -11,7 +11,7 @@ const PersonIcon = proxyCustomElement(class PersonIcon extends HTMLElement {
11
11
  this.height = '16';
12
12
  }
13
13
  render() {
14
- return (h("svg", { key: '55b014fefee568d32972a083bc2aad02b5150fa8', width: this.width, height: this.height, fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '8129a1e94d2c50afd5a3a375ffe98cf7e7b6374f', d: "M7 0C4.79086 0 3 1.79086 3 4C3 6.20914 4.79086 8 7 8C9.20914 8 11 6.20914 11 4C11 1.79086 9.20914 0 7 0ZM4 4C4 2.34315 5.34315 1 7 1C8.65685 1 10 2.34315 10 4C10 5.65685 8.65685 7 7 7C5.34315 7 4 5.65685 4 4ZM2.00873 9C0.903151 9 0 9.88687 0 11C0 12.6912 0.83281 13.9663 2.13499 14.7966C3.41697 15.614 5.14526 16 7 16C8.85474 16 10.583 15.614 11.865 14.7966C13.1672 13.9663 14 12.6912 14 11C14 9.89557 13.1045 9.00001 12 9.00001L2.00873 9ZM1 11C1 10.4467 1.44786 10 2.00873 10L12 10C12.5522 10 13 10.4478 13 11C13 12.3088 12.3777 13.2837 11.3274 13.9534C10.2568 14.636 8.73511 15 7 15C5.26489 15 3.74318 14.636 2.67262 13.9534C1.62226 13.2837 1 12.3088 1 11Z", fill: "currentColor" })));
14
+ return (h("svg", { key: '2fb0a78fae1d4ddf552207e44b9ce63e785ca8df', width: this.width, height: this.height, fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '3574c670090c1df5b950388211e0916903c50be8', d: "M7 0C4.79086 0 3 1.79086 3 4C3 6.20914 4.79086 8 7 8C9.20914 8 11 6.20914 11 4C11 1.79086 9.20914 0 7 0ZM4 4C4 2.34315 5.34315 1 7 1C8.65685 1 10 2.34315 10 4C10 5.65685 8.65685 7 7 7C5.34315 7 4 5.65685 4 4ZM2.00873 9C0.903151 9 0 9.88687 0 11C0 12.6912 0.83281 13.9663 2.13499 14.7966C3.41697 15.614 5.14526 16 7 16C8.85474 16 10.583 15.614 11.865 14.7966C13.1672 13.9663 14 12.6912 14 11C14 9.89557 13.1045 9.00001 12 9.00001L2.00873 9ZM1 11C1 10.4467 1.44786 10 2.00873 10L12 10C12.5522 10 13 10.4478 13 11C13 12.3088 12.3777 13.2837 11.3274 13.9534C10.2568 14.636 8.73511 15 7 15C5.26489 15 3.74318 14.636 2.67262 13.9534C1.62226 13.2837 1 12.3088 1 11Z", fill: "currentColor" })));
15
15
  }
16
16
  static get style() { return PersonIconStyle0; }
17
17
  }, [2, "person-icon", {
@@ -11,7 +11,7 @@ const PlayIcon = proxyCustomElement(class PlayIcon extends HTMLElement {
11
11
  this.height = '15';
12
12
  }
13
13
  render() {
14
- return (h("svg", { key: '1b5bba2078843e9faf11f53d9bc851c66d1f7532', width: this.width, height: this.height, viewBox: "0 0 24 24", fill: "auto", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '9729442ffb92522f0c035cf51ed4a0db56650e49', d: "M21 12L3 21V3L21 12Z", stroke: "auto", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));
14
+ return (h("svg", { key: '96ab1fb2b57c497d3d6b8ebbc0c2e5fa4206ea9b', width: this.width, height: this.height, viewBox: "0 0 24 24", fill: "auto", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '1783e27f9fee56b62c8ebf0259b871c5879477b1', d: "M21 12L3 21V3L21 12Z", stroke: "auto", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })));
15
15
  }
16
16
  static get style() { return PlayIconStyle0; }
17
17
  }, [2, "play-icon", {
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface PlusIcon extends Components.PlusIcon, HTMLElement {}
4
+ export const PlusIcon: {
5
+ prototype: PlusIcon;
6
+ new (): PlusIcon;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,8 @@
1
+ import { P as PlusIcon$1, d as defineCustomElement$1 } from './plus.js';
2
+
3
+ const PlusIcon = PlusIcon$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { PlusIcon, defineCustomElement };
7
+
8
+ //# sourceMappingURL=plus-icon.js.map
@@ -0,0 +1 @@
1
+ {"file":"plus-icon.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -0,0 +1,37 @@
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+
3
+ const iconCss = ".sc-plus-icon-h{display:flex}";
4
+ const PlusIconStyle0 = iconCss;
5
+
6
+ const PlusIcon = proxyCustomElement(class PlusIcon extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.width = '20';
11
+ this.height = '20';
12
+ }
13
+ render() {
14
+ return (h("svg", { key: 'c58a1023ad8c0ccaf503be873804b12fcfc06961', width: this.width, height: this.height, fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '1512de7f63c2ee92e44711ec13b0c79ac2521c41', d: "M8.5 1C8.5 0.723858 8.27614 0.5 8 0.5C7.72386 0.5 7.5 0.723858 7.5 1V7.5H1C0.723858 7.5 0.5 7.72386 0.5 8C0.5 8.27614 0.723858 8.5 1 8.5H7.5V15C7.5 15.2761 7.72386 15.5 8 15.5C8.27614 15.5 8.5 15.2761 8.5 15V8.5H15C15.2761 8.5 15.5 8.27614 15.5 8C15.5 7.72386 15.2761 7.5 15 7.5H8.5V1Z", fill: "currentColor" })));
15
+ }
16
+ static get style() { return PlusIconStyle0; }
17
+ }, [2, "plus-icon", {
18
+ "width": [1],
19
+ "height": [1]
20
+ }]);
21
+ function defineCustomElement() {
22
+ if (typeof customElements === "undefined") {
23
+ return;
24
+ }
25
+ const components = ["plus-icon"];
26
+ components.forEach(tagName => { switch (tagName) {
27
+ case "plus-icon":
28
+ if (!customElements.get(tagName)) {
29
+ customElements.define(tagName, PlusIcon);
30
+ }
31
+ break;
32
+ } });
33
+ }
34
+
35
+ export { PlusIcon as P, defineCustomElement as d };
36
+
37
+ //# sourceMappingURL=plus.js.map
@@ -0,0 +1 @@
1
+ {"file":"plus.js","mappings":";;AAAA,MAAM,OAAO,GAAG,+BAA+B,CAAC;AAChD,uBAAe,OAAO;;MCMT,QAAQ;;;;qBACK,IAAI;sBACH,IAAI;;IAE7B,MAAM;QACJ,QACE,4DAAK,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,IACzF,6DACE,CAAC,EAAC,+RAA+R,EACjS,IAAI,EAAC,cAAc,GACnB,CACE,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/common/icons/icon.css?tag=plus-icon&encapsulation=scoped","src/common/icons/plus.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'plus-icon',\n styleUrl: 'icon.css',\n scoped: true,\n})\nexport class PlusIcon {\n @Prop() width: string = '20';\n @Prop() height: string = '20';\n\n render() {\n return (\n <svg width={this.width} height={this.height} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.5 1C8.5 0.723858 8.27614 0.5 8 0.5C7.72386 0.5 7.5 0.723858 7.5 1V7.5H1C0.723858 7.5 0.5 7.72386 0.5 8C0.5 8.27614 0.723858 8.5 1 8.5H7.5V15C7.5 15.2761 7.72386 15.5 8 15.5C8.27614 15.5 8.5 15.2761 8.5 15V8.5H15C15.2761 8.5 15.5 8.27614 15.5 8C15.5 7.72386 15.2761 7.5 15 7.5H8.5V1Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
 
3
- const radioButtonGroupCss = ".radio-group{display:flex;flex-direction:column}.radio-group label{display:flex;font-family:var(--nylas-font-family);cursor:pointer}.radio-group label .radio-option{display:flex;align-items:flex-start;gap:0.5rem}.radio-group label .radio-option input[type=radio]{cursor:pointer}.radio-group label .radio-option input[type=radio i]{width:20px;height:20px;color:var(--nylas-primary);margin-top:16px}.radio-group label .radio-option p{display:flex;flex-direction:column;gap:0.5rem}.radio-group label .radio-option p .title{font-size:16px;font-weight:500;line-height:20px;color:var(--nylas-base-800)}.radio-group label .radio-option p .description{font-size:14px;font-weight:400;line-height:20px;color:var(--nylas-base-600)}";
3
+ const radioButtonGroupCss = ".radio-group{display:flex;flex-direction:column;gap:0.5rem;--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}.radio-group slot[name=label]{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%;font-size:16px}.radio-group slot[name=label].error{color:var(--nylas-error)}.radio-group slot[name=label] span.required{color:var(--nylas-error);padding:0 0.25rem}.radio-group slot[name=label] p{margin:0}.radio-group slot[name=label] p.error{color:var(--nylas-error)}.radio-group slot[name=label] .error{color:var(--nylas-error)}.radio-group span.error{color:var(--nylas-error);font-size:14px;font-weight:400;line-height:20px;font-family:var(--nylas-font-family)}.radio-group label{display:flex;font-family:var(--nylas-font-family);cursor:pointer}.radio-group label .radio-option{display:flex;align-items:flex-start;gap:0.5rem}.radio-group label .radio-option input[type=radio]{cursor:pointer}.radio-group label .radio-option input[type=radio i]{width:20px;height:20px;color:var(--nylas-primary)}.radio-group label .radio-option p{display:flex;flex-direction:column;gap:0.5rem;margin:0}.radio-group label .radio-option p .title{font-size:16px;font-weight:500;line-height:20px;color:var(--nylas-base-800)}.radio-group label .radio-option p .description{font-size:14px;font-weight:400;line-height:20px;color:var(--nylas-base-600)}";
4
4
  const RadioButtonGroupStyle0 = radioButtonGroupCss;
5
5
 
6
6
  const RadioButtonGroup = proxyCustomElement(class RadioButtonGroup extends HTMLElement {
@@ -8,29 +8,46 @@ const RadioButtonGroup = proxyCustomElement(class RadioButtonGroup extends HTMLE
8
8
  super();
9
9
  this.__registerHost();
10
10
  this.__attachShadow();
11
- this.radioSelectionChanged = createEvent(this, "radioSelectionChanged", 7);
11
+ this.nylasFormRadioChanged = createEvent(this, "nylasFormRadioChanged", 7);
12
12
  this.name = 'radio-group';
13
13
  this.options = [];
14
14
  this.defaultSelectedValue = '';
15
+ this.label = undefined;
16
+ this.required = false;
15
17
  this.selectedValue = this.defaultSelectedValue;
18
+ this.error = '';
19
+ }
20
+ handleBookingFormSubmitted(event) {
21
+ if (this.required && !this.selectedValue) {
22
+ this.error = `${this.label} is required.`;
23
+ return;
24
+ }
25
+ if (this.error) {
26
+ event.preventDefault();
27
+ }
16
28
  }
17
29
  handleChange(value) {
30
+ this.error = '';
18
31
  this.selectedValue = value;
19
- this.radioSelectionChanged.emit({
32
+ this.nylasFormRadioChanged.emit({
20
33
  value,
21
34
  name: this.name,
35
+ label: this.label,
22
36
  });
23
37
  }
24
38
  render() {
25
- return (h("div", { key: '82c0a38507193f6e941c820c38f9e5c477dc14dc', class: "radio-group" }, this.options.map(option => (h("label", null, h("div", { class: "radio-option" }, h("input", { type: "radio", name: this.name, value: option.value, checked: this.selectedValue === option.value, onChange: () => this.handleChange(option.value) }), h("p", null, h("span", { class: "title" }, option.label), h("span", { class: "description" }, option.description))))))));
39
+ return (h("div", { key: '11cf3c389f44bd4758e4b649e7714c4b43eac706', class: "radio-group" }, h("slot", { key: 'fc49aed7f9f72234f78146c3cb32cafba1f5f8ea', name: "label" }, this.label && (h("p", { class: { error: !!this.error } }, h("span", { class: "label" }, this.label), this.required && h("span", { class: "required" }, "*")))), this.options.map(option => (h("label", null, h("div", { class: "radio-option" }, h("input", { type: "radio", name: this.name, value: option.value, checked: this.selectedValue === option.value, onChange: () => this.handleChange(option.value) }), h("p", null, h("span", { class: "title" }, option.label), h("span", { class: "description" }, option.description)))))), this.error && h("span", { class: "error help-text" }, this.error)));
26
40
  }
27
41
  static get style() { return RadioButtonGroupStyle0; }
28
42
  }, [1, "radio-button-group", {
29
43
  "name": [1],
30
44
  "options": [16],
31
45
  "defaultSelectedValue": [1, "default-selected-value"],
32
- "selectedValue": [32]
33
- }]);
46
+ "label": [1],
47
+ "required": [4],
48
+ "selectedValue": [32],
49
+ "error": [32]
50
+ }, [[4, "bookingFormSubmitted", "handleBookingFormSubmitted"]]]);
34
51
  function defineCustomElement() {
35
52
  if (typeof customElements === "undefined") {
36
53
  return;
@@ -1 +1 @@
1
- {"file":"radio-button-group2.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,ktBAAktB,CAAC;AAC/uB,+BAAe,mBAAmB;;MCOrB,gBAAgB;;;;;;oBACJ,aAAa;uBACwC,EAAE;oCACvC,EAAE;6BACR,IAAI,CAAC,oBAAoB;;IAU1D,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;KACJ;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,aAAa,IACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KACtB,iBACE,WAAK,KAAK,EAAC,cAAc,IACvB,aAAO,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,EAC3J,aACE,YAAM,KAAK,EAAC,OAAO,IAAE,MAAM,CAAC,KAAK,CAAQ,EACzC,YAAM,KAAK,EAAC,aAAa,IAAE,MAAM,CAAC,WAAW,CAAQ,CACnD,CACA,CACA,CACT,CAAC,CACE,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/design-system/radio-button-group/radio-button-group.scss?tag=radio-button-group&encapsulation=shadow","src/components/design-system/radio-button-group/radio-button-group.tsx"],"sourcesContent":[".radio-group {\n display: flex;\n flex-direction: column;\n label {\n display: flex;\n font-family: var(--nylas-font-family);\n cursor: pointer;\n .radio-option {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n input[type='radio'] {\n cursor: pointer;\n }\n input[type='radio' i] {\n width: 20px;\n height: 20px;\n color: var(--nylas-primary);\n margin-top: 16px;\n }\n p {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n .title {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-base-800);\n }\n .description {\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n }\n }\n }\n }\n}\n","// src/components/radio-group/radio-group.tsx\nimport { Component, h, Prop, State, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n})\nexport class RadioButtonGroup {\n @Prop() name: string = 'radio-group';\n @Prop() options: { label: string; value: string; description?: string }[] = [];\n @Prop() defaultSelectedValue: string = '';\n @State() selectedValue: string = this.defaultSelectedValue;\n\n /**\n * This event is fired when the selected value changes.\n */\n @Event() radioSelectionChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n handleChange(value: string) {\n this.selectedValue = value;\n this.radioSelectionChanged.emit({\n value,\n name: this.name,\n });\n }\n\n render() {\n return (\n <div class=\"radio-group\">\n {this.options.map(option => (\n <label>\n <div class=\"radio-option\">\n <input type=\"radio\" name={this.name} value={option.value} checked={this.selectedValue === option.value} onChange={() => this.handleChange(option.value)} />\n <p>\n <span class=\"title\">{option.label}</span>\n <span class=\"description\">{option.description}</span>\n </p>\n </div>\n </label>\n ))}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"radio-button-group2.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,k5DAAk5D,CAAC;AAC/6D,+BAAe,mBAAmB;;MCWrB,gBAAgB;;;;;;oBAIJ,aAAa;uBAKwC,EAAE;oCAIvC,EAAE;;wBAUb,KAAK;6BAIA,IAAI,CAAC,oBAAoB;qBAIjC,EAAE;;IAe3B,0BAA0B,CAAC,KAAkB;QAC3C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACxC,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,eAAe,CAAC;YAC1C,OAAO;SACR;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;KACF;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,aAAa,IACtB,6DAAM,IAAI,EAAC,OAAO,IACf,IAAI,CAAC,KAAK,KACT,SAAG,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAC/B,YAAM,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ,EACtC,IAAI,CAAC,QAAQ,IAAI,YAAM,KAAK,EAAC,UAAU,QAAS,CAC/C,CACL,CACI,EACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KACtB,iBACE,WAAK,KAAK,EAAC,cAAc,IACvB,aAAO,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,EAC3J,aACE,YAAM,KAAK,EAAC,OAAO,IAAE,MAAM,CAAC,KAAK,CAAQ,EACzC,YAAM,KAAK,EAAC,aAAa,IAAE,MAAM,CAAC,WAAW,CAAQ,CACnD,CACA,CACA,CACT,CAAC,EACD,IAAI,CAAC,KAAK,IAAI,YAAM,KAAK,EAAC,iBAAiB,IAAE,IAAI,CAAC,KAAK,CAAQ,CAC5D,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/design-system/radio-button-group/radio-button-group.scss?tag=radio-button-group&encapsulation=shadow","src/components/design-system/radio-button-group/radio-button-group.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n@import '../../../common/mixins/inputs.scss';\n\n.radio-group {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n @include default-css-variables;\n\n slot[name='label'] {\n @include input-label;\n font-size: 16px;\n\n p {\n margin: 0;\n\n &.error {\n color: var(--nylas-error);\n }\n }\n\n .error {\n color: var(--nylas-error);\n }\n }\n\n span.error {\n color: var(--nylas-error);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n font-family: var(--nylas-font-family);\n }\n\n label {\n display: flex;\n\n font-family: var(--nylas-font-family);\n cursor: pointer;\n\n .radio-option {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n\n input[type='radio'] {\n cursor: pointer;\n }\n\n input[type='radio' i] {\n width: 20px;\n height: 20px;\n color: var(--nylas-primary);\n }\n\n p {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin: 0;\n\n .title {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n color: var(--nylas-base-800);\n }\n\n .description {\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n }\n }\n }\n }\n}\n","// src/components/radio-group/radio-group.tsx\nimport { Component, h, Prop, State, Event, EventEmitter, Listen } from '@stencil/core';\n\n/**\n * The `radio-button-group` component is a UI component that allows users to select a single option from a list of options.\n * This component is used in the scheduling form to input radio button type inputs.\n */\n@Component({\n tag: 'radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n})\nexport class RadioButtonGroup {\n /**\n * The name of the radio group. This is used to identify the radio group when submitting a form.\n */\n @Prop() name: string = 'radio-group';\n /**\n * The list of options in the radio group.\n * Each option has a label and a value and an optional description.\n */\n @Prop() options: { label: string; value: string; description?: string }[] = [];\n /**\n * The default selected value of the radio group.\n */\n @Prop() defaultSelectedValue: string = '';\n /**\n * The label of the radio group. This is displayed above the radio group.\n * Label is optional. You can also use the slot 'label' to add a label.\n */\n @Prop() label?: string;\n /**\n * Whether the radio group is required. If true, the radio group must have a value when submitting a form.\n * Default is false. If the radio group is required and the value is empty, an error message is displayed.\n */\n @Prop() required: boolean = false;\n /**\n * The selected value of the radio group.\n */\n @State() selectedValue: string = this.defaultSelectedValue;\n /**\n * The error message state.\n */\n @State() error: string = '';\n /**\n * This event is fired when the selected value changes.\n */\n @Event() nylasFormRadioChanged!: EventEmitter<{\n value: string;\n name: string;\n label?: string;\n }>;\n\n // Event listeners\n /**\n * Listen for the bookingFormSubmitted event to validate the input value when the form is submitted.\n */\n @Listen('bookingFormSubmitted', { target: 'document' })\n handleBookingFormSubmitted(event: CustomEvent) {\n if (this.required && !this.selectedValue) {\n this.error = `${this.label} is required.`;\n return;\n }\n if (this.error) {\n event.preventDefault();\n }\n }\n\n handleChange(value: string) {\n this.error = '';\n this.selectedValue = value;\n this.nylasFormRadioChanged.emit({\n value,\n name: this.name,\n label: this.label,\n });\n }\n\n render() {\n return (\n <div class=\"radio-group\">\n <slot name=\"label\">\n {this.label && (\n <p class={{ error: !!this.error }}>\n <span class=\"label\">{this.label}</span>\n {this.required && <span class=\"required\">*</span>}\n </p>\n )}\n </slot>\n {this.options.map(option => (\n <label>\n <div class=\"radio-option\">\n <input type=\"radio\" name={this.name} value={option.value} checked={this.selectedValue === option.value} onChange={() => this.handleChange(option.value)} />\n <p>\n <span class=\"title\">{option.label}</span>\n <span class=\"description\">{option.description}</span>\n </p>\n </div>\n </label>\n ))}\n {this.error && <span class=\"error help-text\">{this.error}</span>}\n </div>\n );\n }\n}\n"],"version":3}
@@ -11,7 +11,7 @@ const RefreshIcon = proxyCustomElement(class RefreshIcon extends HTMLElement {
11
11
  this.height = '15';
12
12
  }
13
13
  render() {
14
- return (h("svg", { key: 'e3570d2edebf65b741e348cfbbc51060485e787f', fill: "auto", width: this.width, height: this.height, viewBox: "0 0 32 32", version: "1.1", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '9084837664b3a5b5269fc0bb936732b785620f6c', d: "M15.544 28.080c-0.002-0.006-0.008-0.010-0.012-0.015l-2.873-4.489c-0.204-0.335-0.646-0.454-0.992-0.266l-0.256 0.157c-0.344 0.188-0.337 0.673-0.133 1.008l1.841 2.857c-0.157-0.035-0.316-0.063-0.471-0.103-3.224-0.843-5.953-3.026-7.485-5.988-1.448-2.797-1.72-5.99-0.766-8.992s3.118-5.452 5.915-6.899c0.476-0.247 0.662-0.832 0.416-1.308-0.246-0.477-0.832-0.663-1.308-0.416-3.258 1.686-5.763 4.54-6.874 8.036s-0.794 7.215 0.892 10.473c1.786 3.448 4.963 5.989 8.72 6.973 0.043 0.011 0.087 0.017 0.13 0.028l-2.541 1.288c-0.344 0.189-0.458 0.613-0.254 0.948l0.098 0.256c0.205 0.335 0.557 0.454 0.9 0.266l4.651-2.381c0.006-0.004 0.012-0.003 0.018-0.007l0.312-0.171c0.172-0.095 0.287-0.249 0.332-0.422 0.047-0.172 0.025-0.364-0.076-0.531zM28.559 10.025c-1.783-3.447-4.862-5.988-8.618-6.972-0.267-0.070-0.541-0.124-0.814-0.179l2.494-1.265c0.344-0.189 0.549-0.614 0.345-0.949l-0.099-0.255c-0.205-0.336-0.648-0.454-0.991-0.267l-4.651 2.381c-0.006 0.003-0.012 0.002-0.018 0.006l-0.312 0.171c-0.173 0.095-0.287 0.249-0.332 0.422-0.047 0.172-0.025 0.364 0.077 0.53l0.185 0.304c0.003 0.006 0.008 0.010 0.012 0.016l2.873 4.489c0.203 0.335 0.646 0.454 0.991 0.266l0.226-0.157c0.344-0.188 0.366-0.673 0.163-1.008l-1.85-2.87c0.407 0.063 0.811 0.138 1.207 0.242 3.226 0.845 5.856 3.027 7.387 5.986 1.448 2.797 1.72 5.99 0.765 8.991s-3.020 5.451-5.818 6.901c-0.476 0.247-0.662 0.831-0.415 1.308 0.172 0.332 0.511 0.524 0.863 0.524 0.15 0 0.302-0.035 0.446-0.109 3.259-1.686 5.664-4.54 6.776-8.035 1.111-3.497 0.794-7.217-0.893-10.473z" })));
14
+ return (h("svg", { key: 'b8e3ce375654d185239b5e565cd67dfe716be159', fill: "auto", width: this.width, height: this.height, viewBox: "0 0 32 32", version: "1.1", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'ac2d663d785eb66715cc6f3e7af97ffda35ec883', d: "M15.544 28.080c-0.002-0.006-0.008-0.010-0.012-0.015l-2.873-4.489c-0.204-0.335-0.646-0.454-0.992-0.266l-0.256 0.157c-0.344 0.188-0.337 0.673-0.133 1.008l1.841 2.857c-0.157-0.035-0.316-0.063-0.471-0.103-3.224-0.843-5.953-3.026-7.485-5.988-1.448-2.797-1.72-5.99-0.766-8.992s3.118-5.452 5.915-6.899c0.476-0.247 0.662-0.832 0.416-1.308-0.246-0.477-0.832-0.663-1.308-0.416-3.258 1.686-5.763 4.54-6.874 8.036s-0.794 7.215 0.892 10.473c1.786 3.448 4.963 5.989 8.72 6.973 0.043 0.011 0.087 0.017 0.13 0.028l-2.541 1.288c-0.344 0.189-0.458 0.613-0.254 0.948l0.098 0.256c0.205 0.335 0.557 0.454 0.9 0.266l4.651-2.381c0.006-0.004 0.012-0.003 0.018-0.007l0.312-0.171c0.172-0.095 0.287-0.249 0.332-0.422 0.047-0.172 0.025-0.364-0.076-0.531zM28.559 10.025c-1.783-3.447-4.862-5.988-8.618-6.972-0.267-0.070-0.541-0.124-0.814-0.179l2.494-1.265c0.344-0.189 0.549-0.614 0.345-0.949l-0.099-0.255c-0.205-0.336-0.648-0.454-0.991-0.267l-4.651 2.381c-0.006 0.003-0.012 0.002-0.018 0.006l-0.312 0.171c-0.173 0.095-0.287 0.249-0.332 0.422-0.047 0.172-0.025 0.364 0.077 0.53l0.185 0.304c0.003 0.006 0.008 0.010 0.012 0.016l2.873 4.489c0.203 0.335 0.646 0.454 0.991 0.266l0.226-0.157c0.344-0.188 0.366-0.673 0.163-1.008l-1.85-2.87c0.407 0.063 0.811 0.138 1.207 0.242 3.226 0.845 5.856 3.027 7.387 5.986 1.448 2.797 1.72 5.99 0.765 8.991s-3.020 5.451-5.818 6.901c-0.476 0.247-0.662 0.831-0.415 1.308 0.172 0.332 0.511 0.524 0.863 0.524 0.15 0 0.302-0.035 0.446-0.109 3.259-1.686 5.664-4.54 6.776-8.035 1.111-3.497 0.794-7.217-0.893-10.473z" })));
15
15
  }
16
16
  static get style() { return RefreshIconStyle0; }
17
17
  }, [2, "refresh-icon", {
@@ -11,7 +11,7 @@ const ReplyAllIcon = proxyCustomElement(class ReplyAllIcon extends HTMLElement {
11
11
  this.height = '15';
12
12
  }
13
13
  render() {
14
- return (h("svg", { key: '27304a19b7ec5d4fb64051ba1edbd99699adc3c5', fill: "auto", width: this.width, height: this.height, viewBox: "0 0 1920 1920", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '185831a5360ae2e5b3559e22839c38fe8667e027', d: "m1030.975 188 81.249 81.249-429.228 429.228h300.747c516.223 0 936.257 420.034 936.257 936.257v98.028h-114.92v-98.028c0-452.901-368.436-821.337-821.337-821.337H682.996l429.228 429.229-81.25 81.248-567.936-567.937L1030.975 188Zm-463.038.011 81.249 81.25-486.688 486.688 486.688 486.688-81.249 81.249L0 755.949 567.937 188.01Z", "fill-rule": "evenodd" })));
14
+ return (h("svg", { key: 'c5eb888da15f3b1cd71273ac5ce16d364dc75c1a', fill: "auto", width: this.width, height: this.height, viewBox: "0 0 1920 1920", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '2b46aff2e7c0da2f0384485892fe9d3c1998363c', d: "m1030.975 188 81.249 81.249-429.228 429.228h300.747c516.223 0 936.257 420.034 936.257 936.257v98.028h-114.92v-98.028c0-452.901-368.436-821.337-821.337-821.337H682.996l429.228 429.229-81.25 81.248-567.936-567.937L1030.975 188Zm-463.038.011 81.249 81.25-486.688 486.688 486.688 486.688-81.249 81.249L0 755.949 567.937 188.01Z", "fill-rule": "evenodd" })));
15
15
  }
16
16
  static get style() { return ReplyAllIconStyle0; }
17
17
  }, [2, "reply-all-icon", {
@@ -11,7 +11,7 @@ const ReplyIcon = proxyCustomElement(class ReplyIcon extends HTMLElement {
11
11
  this.height = '15';
12
12
  }
13
13
  render() {
14
- return (h("svg", { key: '8f2d5daffb8ab92a42abacce15e2abd868f979a7', fill: "auto", width: this.width, height: this.height, viewBox: "0 0 1920 1920", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'fcad20369efbf76e019c7b433e380419c696e481', d: "M835.942 632.563H244.966l478.08-478.08-90.496-90.496L-.026 696.563 632.55 1329.14l90.496-90.496-478.08-478.08h590.976c504.448 0 914.816 410.368 914.816 914.816v109.184h128V1675.38c0-574.976-467.84-1042.816-1042.816-1042.816", "fill-rule": "evenodd" })));
14
+ return (h("svg", { key: 'b39732ec7ae51099897b58265e3107537e033038', fill: "auto", width: this.width, height: this.height, viewBox: "0 0 1920 1920", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'c96f0bfb2877690a272883481c820bc06c8d04ce', d: "M835.942 632.563H244.966l478.08-478.08-90.496-90.496L-.026 696.563 632.55 1329.14l90.496-90.496-478.08-478.08h590.976c504.448 0 914.816 410.368 914.816 914.816v109.184h128V1675.38c0-574.976-467.84-1042.816-1042.816-1042.816", "fill-rule": "evenodd" })));
15
15
  }
16
16
  static get style() { return ReplyIconStyle0; }
17
17
  }, [2, "reply-icon", {
@@ -4,10 +4,12 @@ function CreateNylasSchedulerConfigStore(defaultState = {}) {
4
4
  const defaultSchedulerConfigState = {
5
5
  selectedConfiguration: {},
6
6
  configurations: [],
7
+ listConfigurationsNextCursor: null,
7
8
  calendars: [],
8
9
  currentUser: null,
9
10
  action: null,
10
11
  additionalParticipants: [],
12
+ hideEditorTabs: [],
11
13
  ...defaultState,
12
14
  };
13
15
  const store = createStore(defaultSchedulerConfigState);