@nylas/web-elements 1.1.0-canary.10 → 1.1.0-canary.11

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 (226) hide show
  1. package/dist/cjs/add-circle-icon_21.cjs.entry.js +73 -40
  2. package/dist/cjs/add-circle-icon_21.cjs.entry.js.map +1 -1
  3. package/dist/cjs/google-logo-icon_4.cjs.entry.js +5 -4
  4. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/nylas-api-request-05f1e068.js.map +1 -1
  7. package/dist/cjs/nylas-api-request-de316f1a.js.map +1 -1
  8. package/dist/cjs/nylas-availability-picker.cjs.entry.js +14 -7
  9. package/dist/cjs/nylas-availability-picker.cjs.entry.js.map +1 -1
  10. package/dist/cjs/nylas-booked-event-card.cjs.entry.js +1 -1
  11. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +9 -9
  12. package/dist/cjs/nylas-booking-calendar-picker.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nylas-booking-form.cjs.entry.js +3 -3
  14. package/dist/cjs/nylas-buffer-time.cjs.entry.js +7 -6
  15. package/dist/cjs/nylas-buffer-time.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nylas-calendar-picker.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nylas-date-picker.cjs.entry.js +1 -1
  18. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +5 -4
  19. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nylas-event-description.cjs.entry.js +2 -2
  21. package/dist/cjs/nylas-event-description.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nylas-event-duration.cjs.entry.js +1 -1
  23. package/dist/cjs/nylas-event-duration.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nylas-event-info.cjs.entry.js +1 -1
  25. package/dist/cjs/nylas-event-info.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nylas-event-limits.cjs.entry.js +1 -1
  27. package/dist/cjs/nylas-event-limits.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nylas-event-title.cjs.entry.js +2 -2
  29. package/dist/cjs/nylas-if-state.cjs.entry.js +1 -1
  30. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +1 -1
  31. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nylas-locale-switch.cjs.entry.js +3 -3
  33. package/dist/cjs/nylas-location-component.cjs.entry.js +4 -4
  34. package/dist/cjs/nylas-location-component.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +1 -1
  36. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +1 -1
  38. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nylas-selected-event-card.cjs.entry.js +1 -1
  40. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +39 -14
  41. package/dist/cjs/nylas-time-window-picker.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  43. package/dist/cjs/scheduler-config-store-918c20d5.js.map +1 -1
  44. package/dist/cjs/scheduler-config-store-a5b7c08b.js.map +1 -1
  45. package/dist/collection/collection-manifest.json +3 -3
  46. package/dist/collection/common/nylas-api-request.js.map +1 -1
  47. package/dist/collection/components/nylas-if-state/nylas-if-state.js +1 -1
  48. package/dist/collection/components/scheduler/nylas-booked-event-card/nylas-booked-event-card.js +1 -1
  49. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +3 -3
  50. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +1 -1
  51. package/dist/collection/components/scheduler/nylas-locale-switch/nylas-locale-switch.js +3 -3
  52. package/dist/collection/components/scheduler/nylas-selected-event-card/nylas-selected-event-card.js +1 -1
  53. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +35 -14
  54. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  55. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js +1 -1
  56. package/dist/collection/components/scheduler-editor/nylas-booking-calendar-picker/nylas-booking-calendar-picker.js.map +1 -1
  57. package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.css +1 -1
  58. package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.js +6 -5
  59. package/dist/collection/components/scheduler-editor/nylas-buffer-time/nylas-buffer-time.js.map +1 -1
  60. package/dist/collection/components/scheduler-editor/nylas-buffer-time/test/nylas-buffer-time.spec.js +2 -2
  61. package/dist/collection/components/scheduler-editor/nylas-buffer-time/test/nylas-buffer-time.spec.js.map +1 -1
  62. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js +1 -1
  63. package/dist/collection/components/scheduler-editor/nylas-calendar-picker/nylas-calendar-picker.js.map +1 -1
  64. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +6 -5
  65. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  66. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +5 -5
  67. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js.map +1 -1
  68. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +4 -4
  69. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js.map +1 -1
  70. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  71. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js.map +1 -1
  72. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  73. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js.map +1 -1
  74. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +2 -2
  75. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +4 -4
  76. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js.map +1 -1
  77. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js +23 -23
  78. package/dist/collection/components/scheduler-editor/nylas-location-component/nylas-location-component.js.map +1 -1
  79. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +3 -3
  80. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js.map +1 -1
  81. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +9 -9
  82. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  83. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +56 -57
  84. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js.map +1 -1
  85. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  86. package/dist/collection/types/index.js +6 -0
  87. package/dist/collection/types/index.js.map +1 -0
  88. package/dist/components/nylas-api-request.js.map +1 -1
  89. package/dist/components/nylas-availability-picker2.js +15 -8
  90. package/dist/components/nylas-availability-picker2.js.map +1 -1
  91. package/dist/components/nylas-booked-event-card2.js +1 -1
  92. package/dist/components/nylas-booking-calendar-picker2.js.map +1 -1
  93. package/dist/components/nylas-booking-form2.js +3 -3
  94. package/dist/components/nylas-buffer-time2.js +7 -6
  95. package/dist/components/nylas-buffer-time2.js.map +1 -1
  96. package/dist/components/nylas-calendar-picker2.js.map +1 -1
  97. package/dist/components/nylas-date-picker2.js +1 -1
  98. package/dist/components/nylas-editor-tabs2.js +5 -4
  99. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  100. package/dist/components/nylas-event-description2.js +2 -2
  101. package/dist/components/nylas-event-description2.js.map +1 -1
  102. package/dist/components/nylas-event-duration2.js +1 -1
  103. package/dist/components/nylas-event-duration2.js.map +1 -1
  104. package/dist/components/nylas-event-info2.js +1 -1
  105. package/dist/components/nylas-event-info2.js.map +1 -1
  106. package/dist/components/nylas-event-limits2.js +1 -1
  107. package/dist/components/nylas-event-limits2.js.map +1 -1
  108. package/dist/components/nylas-event-title2.js +2 -2
  109. package/dist/components/nylas-if-state.js +1 -1
  110. package/dist/components/nylas-limit-future-bookings2.js +1 -1
  111. package/dist/components/nylas-limit-future-bookings2.js.map +1 -1
  112. package/dist/components/nylas-locale-switch2.js +3 -3
  113. package/dist/components/nylas-location-component2.js +5 -5
  114. package/dist/components/nylas-location-component2.js.map +1 -1
  115. package/dist/components/nylas-min-cancellation-notice2.js +1 -1
  116. package/dist/components/nylas-min-cancellation-notice2.js.map +1 -1
  117. package/dist/components/nylas-scheduler-editor.js +1 -1
  118. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  119. package/dist/components/nylas-selected-event-card2.js +1 -1
  120. package/dist/components/nylas-time-window-picker2.js +39 -16
  121. package/dist/components/nylas-time-window-picker2.js.map +1 -1
  122. package/dist/components/scheduler-config-store.js.map +1 -1
  123. package/dist/esm/add-circle-icon_21.entry.js +73 -40
  124. package/dist/esm/add-circle-icon_21.entry.js.map +1 -1
  125. package/dist/esm/google-logo-icon_4.entry.js +5 -4
  126. package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
  127. package/dist/esm/loader.js +1 -1
  128. package/dist/esm/nylas-api-request-59738f8c.js.map +1 -1
  129. package/dist/esm/nylas-api-request-ff2869d7.js.map +1 -1
  130. package/dist/esm/nylas-availability-picker.entry.js +14 -7
  131. package/dist/esm/nylas-availability-picker.entry.js.map +1 -1
  132. package/dist/esm/nylas-booked-event-card.entry.js +1 -1
  133. package/dist/esm/nylas-booked-event-card_10.entry.js +9 -9
  134. package/dist/esm/nylas-booking-calendar-picker.entry.js.map +1 -1
  135. package/dist/esm/nylas-booking-form.entry.js +3 -3
  136. package/dist/esm/nylas-buffer-time.entry.js +7 -6
  137. package/dist/esm/nylas-buffer-time.entry.js.map +1 -1
  138. package/dist/esm/nylas-calendar-picker.entry.js.map +1 -1
  139. package/dist/esm/nylas-date-picker.entry.js +1 -1
  140. package/dist/esm/nylas-editor-tabs.entry.js +5 -4
  141. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  142. package/dist/esm/nylas-event-description.entry.js +2 -2
  143. package/dist/esm/nylas-event-description.entry.js.map +1 -1
  144. package/dist/esm/nylas-event-duration.entry.js +1 -1
  145. package/dist/esm/nylas-event-duration.entry.js.map +1 -1
  146. package/dist/esm/nylas-event-info.entry.js +1 -1
  147. package/dist/esm/nylas-event-info.entry.js.map +1 -1
  148. package/dist/esm/nylas-event-limits.entry.js +1 -1
  149. package/dist/esm/nylas-event-limits.entry.js.map +1 -1
  150. package/dist/esm/nylas-event-title.entry.js +2 -2
  151. package/dist/esm/nylas-if-state.entry.js +1 -1
  152. package/dist/esm/nylas-limit-future-bookings.entry.js +1 -1
  153. package/dist/esm/nylas-limit-future-bookings.entry.js.map +1 -1
  154. package/dist/esm/nylas-locale-switch.entry.js +3 -3
  155. package/dist/esm/nylas-location-component.entry.js +4 -4
  156. package/dist/esm/nylas-location-component.entry.js.map +1 -1
  157. package/dist/esm/nylas-min-cancellation-notice.entry.js +1 -1
  158. package/dist/esm/nylas-min-cancellation-notice.entry.js.map +1 -1
  159. package/dist/esm/nylas-scheduler-editor.entry.js +1 -1
  160. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  161. package/dist/esm/nylas-selected-event-card.entry.js +1 -1
  162. package/dist/esm/nylas-time-window-picker.entry.js +39 -14
  163. package/dist/esm/nylas-time-window-picker.entry.js.map +1 -1
  164. package/dist/esm/nylas-web-elements.js +1 -1
  165. package/dist/esm/scheduler-config-store-8ccc8dc7.js.map +1 -1
  166. package/dist/esm/scheduler-config-store-ec3b6190.js.map +1 -1
  167. package/dist/nylas-web-elements/nylas-api-request-ff2869d7.js.map +1 -1
  168. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +14 -7
  169. package/dist/nylas-web-elements/nylas-availability-picker.entry.js.map +1 -1
  170. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +1 -1
  171. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js.map +1 -1
  172. package/dist/nylas-web-elements/nylas-booking-form.entry.js +3 -3
  173. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +7 -6
  174. package/dist/nylas-web-elements/nylas-buffer-time.entry.js.map +1 -1
  175. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js.map +1 -1
  176. package/dist/nylas-web-elements/nylas-date-picker.entry.js +1 -1
  177. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +5 -4
  178. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  179. package/dist/nylas-web-elements/nylas-event-description.entry.js +2 -2
  180. package/dist/nylas-web-elements/nylas-event-description.entry.js.map +1 -1
  181. package/dist/nylas-web-elements/nylas-event-duration.entry.js +1 -1
  182. package/dist/nylas-web-elements/nylas-event-duration.entry.js.map +1 -1
  183. package/dist/nylas-web-elements/nylas-event-info.entry.js +1 -1
  184. package/dist/nylas-web-elements/nylas-event-info.entry.js.map +1 -1
  185. package/dist/nylas-web-elements/nylas-event-limits.entry.js +1 -1
  186. package/dist/nylas-web-elements/nylas-event-limits.entry.js.map +1 -1
  187. package/dist/nylas-web-elements/nylas-event-title.entry.js +2 -2
  188. package/dist/nylas-web-elements/nylas-if-state.entry.js +1 -1
  189. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +1 -1
  190. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js.map +1 -1
  191. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +3 -3
  192. package/dist/nylas-web-elements/nylas-location-component.entry.js +4 -4
  193. package/dist/nylas-web-elements/nylas-location-component.entry.js.map +1 -1
  194. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +1 -1
  195. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js.map +1 -1
  196. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +1 -1
  197. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
  198. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +1 -1
  199. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +39 -14
  200. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js.map +1 -1
  201. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  202. package/dist/nylas-web-elements/p-0dabcb4d.js.map +1 -1
  203. package/dist/nylas-web-elements/{p-933c6d32.entry.js → p-181654f5.entry.js} +3 -3
  204. package/dist/nylas-web-elements/{p-933c6d32.entry.js.map → p-181654f5.entry.js.map} +1 -1
  205. package/dist/nylas-web-elements/{p-b1b3eb52.entry.js → p-1871c702.entry.js} +2 -2
  206. package/dist/nylas-web-elements/p-4f4e83d0.entry.js +2 -0
  207. package/dist/nylas-web-elements/p-4f4e83d0.entry.js.map +1 -0
  208. package/dist/nylas-web-elements/p-a219b2c7.entry.js +2 -0
  209. package/dist/nylas-web-elements/p-a219b2c7.entry.js.map +1 -0
  210. package/dist/nylas-web-elements/{p-a002b4cf.entry.js → p-e92690a2.entry.js} +2 -2
  211. package/dist/nylas-web-elements/p-ee91a2a0.js.map +1 -1
  212. package/dist/nylas-web-elements/scheduler-config-store-8ccc8dc7.js.map +1 -1
  213. package/dist/types/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.d.ts +10 -5
  214. package/dist/types/components/scheduler-editor/nylas-event-description/nylas-event-description.d.ts +2 -2
  215. package/dist/types/components/scheduler-editor/nylas-location-component/nylas-location-component.d.ts +2 -2
  216. package/dist/types/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.d.ts +8 -3
  217. package/dist/types/components.d.ts +125 -32
  218. package/dist/types/stores/scheduler-config-store.d.ts +5 -1
  219. package/dist/types/types/index.d.ts +73 -0
  220. package/package.json +4 -2
  221. package/dist/nylas-web-elements/p-74492776.entry.js +0 -2
  222. package/dist/nylas-web-elements/p-74492776.entry.js.map +0 -1
  223. package/dist/nylas-web-elements/p-76461af6.entry.js +0 -2
  224. package/dist/nylas-web-elements/p-76461af6.entry.js.map +0 -1
  225. /package/dist/nylas-web-elements/{p-b1b3eb52.entry.js.map → p-1871c702.entry.js.map} +0 -0
  226. /package/dist/nylas-web-elements/{p-a002b4cf.entry.js.map → p-e92690a2.entry.js.map} +0 -0
@@ -42,7 +42,7 @@ const NylasSelectedEventCard = class {
42
42
  this.endTime = new Date(selectedTimeslot?.end_time).toLocaleString(undefined, { timeStyle: 'short' });
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: '1104fd2969ab03bb794c17bbf08f1600a200448c', part: "nsec" }, h("sp-theme", { key: '674934ecb54519d9e8c227a9946b9725518b77e5', theme: "spectrum", color: "dark", scale: "medium" }, h("div", { key: '4d492e825e93b93ff96af4970812178656de4ab8', class: "event-card", part: "nsec__card" }, h("div", { key: '239131412dab45da5b1f7bfe3b4a2eda45a2978b', class: "calendar-icon", part: "nsec__icon" }, h("calendar-icon", { key: 'a2fa2f47b94a2c331d4cac88ef736faef3e30dae' })), h("div", { key: '81c873d5c2019b6ae1d8b746685dbe5efc2d7d0b', class: "nylas-selected-event-card__date", part: "nsec__date" }, this.selectedDate?.toLocaleDateString(undefined, { dateStyle: 'full' })), h("div", { key: '67348e66fd879ead10594b216a2d66cf7da272aa', class: "nylas-selected-event-card__time", part: "nsec__time" }, this.startTime, " - ", this.endTime)), h("div", { key: '0fc6452dae7c5998a70d116c9bdfe25ab109661c', class: "event-timezone", part: "nsec__timezone" }, h("globe-icon", { key: '86c4a1e2728a30e34805a7c286378fe9adef110e' }), TIMEZONE_MAP[this.selectedTimezone]))));
45
+ return (h(Host, { key: 'c84565db48fc177fd6f8af71db7f9776516cf46f', part: "nsec" }, h("sp-theme", { key: '7de2e148c85b878e735ac6a69a62892110de9b65', theme: "spectrum", color: "dark", scale: "medium" }, h("div", { key: '0a9f43a55c68fdd7d93b42600b94e2f10d551dd4', class: "event-card", part: "nsec__card" }, h("div", { key: '18b16b39d4c3d7c1a0f9c16c084d99f1b9b9ff5b', class: "calendar-icon", part: "nsec__icon" }, h("calendar-icon", { key: '92202409a7e922975ab31216d8f68c3fb8767cbe' })), h("div", { key: '79006fdf073ed56acec50e1e11ddf101fcfca81c', class: "nylas-selected-event-card__date", part: "nsec__date" }, this.selectedDate?.toLocaleDateString(undefined, { dateStyle: 'full' })), h("div", { key: '1f605b2bc03f290b5a5b3ac858256f438ac33651', class: "nylas-selected-event-card__time", part: "nsec__time" }, this.startTime, " - ", this.endTime)), h("div", { key: '03f9f64e0229904519984305751c388886838b99', class: "event-timezone", part: "nsec__timezone" }, h("globe-icon", { key: '7bd33f03d96671423199113ee24fe913f78c1bca' }), TIMEZONE_MAP[this.selectedTimezone]))));
46
46
  }
47
47
  static get watchers() { return {
48
48
  "selectedTimeslot": ["handleSelectedTimeslotChange"]
@@ -17,13 +17,12 @@ const TimeInput = class {
17
17
  constructor(hostRef) {
18
18
  registerInstance(this, hostRef);
19
19
  this.timeChange = createEvent(this, "timeChange", 7);
20
+ this.formError = createEvent(this, "formError", 7);
20
21
  this.time = undefined;
21
22
  this.minimumStartTime = null;
22
23
  this.placeholder = 'hh:mmam/pm';
23
- this.setTime = undefined;
24
24
  this.name = undefined;
25
25
  this.hasError = false;
26
- this.setFormError = undefined;
27
26
  this.err = '';
28
27
  this.showTimes = false;
29
28
  this.ariaActivedescendant = '';
@@ -53,7 +52,10 @@ const TimeInput = class {
53
52
  let selectedTimeFormatted = dayjs(this.time, 'hh:mma');
54
53
  if (selectedTimeFormatted.isBefore(firstTime)) {
55
54
  this.err = 'Invalid';
56
- this.setFormError(null, 'Invalid');
55
+ this.formError.emit({
56
+ key: this.el.id,
57
+ message: 'Invalid',
58
+ });
57
59
  }
58
60
  }
59
61
  }
@@ -68,41 +70,64 @@ const TimeInput = class {
68
70
  return;
69
71
  }
70
72
  }
71
- handleTimeChange(e, input) {
73
+ handleTimeChange(_e, input) {
72
74
  const timePart = input.split(':');
73
75
  if (timePart[0] === '00' && timePart[1].slice(-2) == 'pm') {
74
76
  this.err = 'Invalid';
75
- this.setFormError(e, 'Invalid');
77
+ this.formError.emit({
78
+ key: this.el.id,
79
+ message: 'Invalid',
80
+ });
76
81
  }
77
82
  if (!validateTimeFormatInput(input)) {
78
83
  this.err = 'Invalid';
79
- this.setFormError(e, 'Invalid');
84
+ this.formError.emit({
85
+ key: this.el.id,
86
+ message: 'Invalid',
87
+ });
80
88
  }
81
89
  else {
82
90
  this.err = '';
83
- this.setFormError(null);
91
+ this.formError.emit({
92
+ key: this.el.id,
93
+ message: '',
94
+ });
84
95
  }
85
- this.setTime(e, input);
86
- this.timeChange.emit(input);
96
+ this.timeChange.emit({
97
+ key: this.el.id,
98
+ value: input,
99
+ });
87
100
  }
88
101
  handleTimeAutocomplete(event) {
89
102
  const input = event.target?.value;
90
103
  if (!validateTimeFormatInput(input)) {
91
104
  this.err = 'Invalid';
92
- this.setFormError(event, 'Invalid');
105
+ this.formError.emit({
106
+ key: this.el.id,
107
+ message: 'Invalid',
108
+ });
93
109
  return;
94
110
  }
95
111
  if (input === '') {
96
112
  const newTime = roundToNearest15Minutes().format('hh:mma');
97
- this.setTime(event, newTime);
113
+ this.timeChange.emit({
114
+ key: this.el.id,
115
+ value: newTime,
116
+ });
98
117
  return;
99
118
  }
100
119
  if (!validateExactTimeFormat(input)) {
101
120
  const autocompletedTime = autocompleteTimeFormat(input);
102
- this.setTime(autocompletedTime);
121
+ this.timeChange.emit({
122
+ key: this.el.id,
123
+ value: autocompletedTime,
124
+ });
103
125
  return;
104
126
  }
105
- this.setTime(event, input);
127
+ this.timeChange.emit({
128
+ key: this.el.id,
129
+ value: input,
130
+ });
106
131
  }
107
132
  handleOnInput(event) {
108
133
  const input = event.target?.value;
@@ -242,7 +267,7 @@ const TimeInput = class {
242
267
  }
243
268
  }
244
269
  render() {
245
- return (h(Host, { key: 'fe86daaa8256c8fb59ffe2dfcbf50220f3a7b746' }, h("div", { key: '8cffe49df87c5bf2b73cef66236c806b47d623d4', class: "time-picker", part: "time-picker" }, h("input", { key: '6f735244c63287b0ec0668b688bbb18bb405346b', type: "text", name: this.name, id: this.name, part: "time-input", class: {
270
+ return (h(Host, { key: '4a03bc9829bace5ed02129d99e12b6042f49386c' }, h("div", { key: 'ccc660e6cd8727226b7418ee20fe700812f7c70b', class: "time-picker", part: "time-picker" }, h("input", { key: '24be2b42322194545575045f5624ac78bf8c643e', type: "text", name: this.name, id: this.name, part: "time-input", class: {
246
271
  'time-input': true,
247
272
  'error': !!this.err || this.hasError,
248
273
  }, ref: el => (this.timeInput = el), value: this.time, onClick: () => {
@@ -1 +1 @@
1
- {"file":"nylas-time-window-picker.entry.esm.js","mappings":"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C,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EA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","names":["define","this"],"sources":["../../node_modules/.pnpm/dayjs@1.11.7/node_modules/dayjs/plugin/customParseFormat.js","src/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.scss?tag=nylas-time-window-picker&encapsulation=shadow","src/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.tsx"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d\\d/,r=/\\d\\d?/,i=/\\d*[^-_:/,()\\s\\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)};var a=function(e){return function(t){this[e]=+t}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(e){var t=h(\"months\"),n=(h(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f<a;f+=1){var h=s[f],u=d[h],c=u&&u[0],l=u&&u[1];s[f]=l?{regex:c,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=s[n];if(\"string\"==typeof i)r+=i.length;else{var o=i.regex,f=i.parser,h=e.slice(r),u=o.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,s=e.args;this.$u=r;var a=s[1];if(\"string\"==typeof a){var f=!0===s[2],h=!0===s[3],u=f||h,d=s[2];h&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(e,t,n){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date(\"\")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","@import '../../../common/styles/variables.scss';\n:host {\n display: block;\n position: relative;\n @include default-css-variables;\n}\n\n.time-picker {\n display: inline-block;\n width: 150px;\n font-family: var(--nylas-font-family);\n @media #{$mobile} {\n width: auto;\n }\n position: relative;\n input {\n width: 150px;\n height: 48px;\n text-align: center;\n font-size: 16px;\n font-family: inherit;\n @media #{$mobile} {\n width: 88px;\n }\n @media #{$small-mobile} {\n width: 68px;\n font-size: 15px;\n }\n cursor: pointer;\n background: transparent;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n &.focus {\n background: transparent;\n }\n &:hover,\n &:active {\n border: 1px solid var(--nylas-primary);\n }\n &:active {\n outline: 2px solid var(--nylas-primary);\n }\n span {\n &.open {\n transform: rotate(90deg);\n }\n &.closed {\n transform: rotate(270deg);\n }\n }\n &.error {\n border: 1px solid var(--nylas-error);\n }\n }\n p.error {\n color: var(--nylas-error);\n font-size: 0.875rem;\n margin: 0;\n }\n}\n.times {\n display: block;\n margin-top: 0.5rem;\n background-color: var(--nylas-base-0);\n width: 100%;\n max-height: 336px;\n overflow: auto;\n border: 1px solid #ddd;\n z-index: 1;\n border-radius: 4px;\n position: absolute;\n box-shadow: 0px 4px 6px -2px #0000000d;\n box-shadow: 0px 10px 15px -3px #0000001a;\n ul {\n padding: 0;\n list-style-type: none;\n color: var(--nylas-base-900);\n max-height: 336px;\n li {\n padding: 16px, 12px, 16px, 12px;\n color: black;\n padding: 12px 16px;\n text-decoration: none;\n display: block;\n font-family: inherit;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0px;\n text-align: center;\n cursor: pointer;\n &.focused {\n background-color: var(--nylas-base-100);\n }\n &:hover,\n &:focus {\n background-color: var(--nylas-base-100);\n }\n label {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n input {\n margin: 0;\n }\n }\n }\n }\n}\n","import { autocompleteTimeFormat, roundToNearest15Minutes, validateExactTimeFormat, validateTimeFormatInput } from '@/utils/utils';\nimport { Component, h, State, Prop, Event, EventEmitter, Listen, Element, Host, Watch } from '@stencil/core';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\ndayjs.extend(customParseFormat);\n\ntype Time = { id: number; value: string };\n\n/**\n * The `nylas-time-window-picker` component is a time picker that can be used to select a time.\n * @part time-picker - The time picker container\n * @part time-input - The time input\n * @part times - The list of times\n */\n@Component({\n tag: 'nylas-time-window-picker',\n styleUrl: 'nylas-time-window-picker.scss',\n shadow: true,\n})\nexport class TimeInput {\n @Element() el!: HTMLElement;\n private timeInput!: HTMLInputElement;\n private timeMenu!: HTMLElement;\n\n /**\n * The time to display in the input.\n * This is passed by the parent component and can be updated\n * using the setTime prop function provided by the parent component.\n */\n @Prop() time!: string;\n /**\n * This is the start time value if one is set by the parent component.\n * It is useful if this component is used to render an end time which\n * should not be before the start time, defining the earliest selectable time.\n */\n @Prop() minimumStartTime: string | null = null;\n\n /**\n * The placeholder text for the input.\n */\n @Prop() placeholder: string = 'hh:mmam/pm';\n /**\n * The function to set the time in the parent component.\n */\n @Prop() setTime!: Function;\n /**\n * The name of the input.\n */\n @Prop() name!: string;\n /**\n * This sets the error state of the input.\n */\n @Prop() hasError: boolean = false;\n /**\n * The function to set the form error in the parent component.\n * This is useful if the parent component wants to display an\n * error message or set form validity.\n */\n @Prop() setFormError!: Function;\n\n /**\n * The error message to display if the time is invalid.\n */\n @State() err: string = '';\n /**\n * Toggle to show the list of times.\n */\n @State() showTimes: boolean = false;\n /**\n * The aria-activedescendant attribute for the listbox element to indicate the currently active\n * option in the list box to screen readers. The value of aria-activedescendant is the ID of\n * the active option.\n */\n @State() ariaActivedescendant: string = '';\n @State() times: Time[] = this.generateTimes();\n @State() shouldAutoScroll: boolean = false;\n\n @Event() timeChange!: EventEmitter<string>;\n\n // Event listeners\n @Listen('click', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n // Get the path of the event\n const path = event.composedPath();\n\n // Check if the path includes the host element\n const isClickInside = path.includes(this.el);\n\n if (!isClickInside && this.showTimes) {\n this.showTimes = false;\n }\n }\n\n @Watch('minimumStartTime')\n minimumStartTimeChangedHandler() {\n if (this.minimumStartTime) {\n let formattedTime = dayjs()\n .hour(parseInt(this.minimumStartTime))\n .minute(parseInt(this.minimumStartTime.slice(-4, -2)));\n if (this.minimumStartTime.slice(-2).toLowerCase() === 'pm' && parseInt(this.minimumStartTime) !== 12) {\n formattedTime = formattedTime.add(12, 'hour');\n } else if (this.minimumStartTime.slice(-2).toLowerCase() === 'am' && parseInt(this.minimumStartTime) === 12) {\n formattedTime = formattedTime.subtract(12, 'hour');\n }\n\n this.times = this.generateTimes();\n const firstTime = dayjs(this.times[0].value, 'hh:mma');\n let selectedTimeFormatted = dayjs(this.time, 'hh:mma');\n if (selectedTimeFormatted.isBefore(firstTime)) {\n this.err = 'Invalid';\n this.setFormError(null, 'Invalid');\n }\n }\n }\n\n componentDidRender() {\n if (this.showTimes && this.shouldAutoScroll) {\n const autocompletedTime = autocompleteTimeFormat(this.time);\n const optionIndex = this.times.findIndex(time => time.value === autocompletedTime);\n if (optionIndex > -1) {\n this.shouldAutoScroll = false;\n this.scrollToViewWithinParent(optionIndex);\n }\n return;\n }\n }\n\n private handleTimeChange(e: Event, input: string) {\n const timePart = input.split(':');\n if (timePart[0] === '00' && timePart[1].slice(-2) == 'pm') {\n this.err = 'Invalid';\n this.setFormError(e, 'Invalid');\n }\n if (!validateTimeFormatInput(input)) {\n this.err = 'Invalid';\n this.setFormError(e, 'Invalid');\n } else {\n this.err = '';\n this.setFormError(null);\n }\n this.setTime(e, input);\n this.timeChange.emit(input);\n }\n\n private handleTimeAutocomplete(event: Event) {\n const input = (event.target as HTMLInputElement)?.value;\n if (!validateTimeFormatInput(input)) {\n this.err = 'Invalid';\n this.setFormError(event, 'Invalid');\n return;\n }\n if (input === '') {\n const newTime = roundToNearest15Minutes().format('hh:mma');\n this.setTime(event, newTime);\n return;\n }\n if (!validateExactTimeFormat(input)) {\n const autocompletedTime = autocompleteTimeFormat(input);\n this.setTime(autocompletedTime);\n return;\n }\n this.setTime(event, input);\n }\n\n private handleOnInput(event: Event) {\n const input = (event.target as HTMLInputElement)?.value;\n if (!validateTimeFormatInput(input)) {\n return;\n }\n if (input === '') {\n const newTime = roundToNearest15Minutes().format('hh:mma');\n const optionIndex = this.times.findIndex(time => time.value === newTime);\n if (optionIndex > -1) {\n this.scrollToViewWithinParent(optionIndex);\n }\n return;\n }\n if (!validateExactTimeFormat(input)) {\n const autocompletedTime = autocompleteTimeFormat(input);\n const optionIndex = this.times.findIndex(time => time.value === autocompletedTime);\n if (optionIndex > -1) {\n this.scrollToViewWithinParent(optionIndex);\n }\n return;\n }\n }\n\n private generateTimes() {\n const times: Time[] = [];\n let startTime = dayjs().set('hour', 0).set('minute', 0).set('second', 0); // Set to 12:00 am\n if (this.minimumStartTime) {\n startTime = dayjs(this.minimumStartTime, 'hh:mma');\n }\n const diff = startTime.endOf('day').diff(startTime, 'minutes');\n const iterations = Math.round(diff / 15);\n for (let i = 0; i < iterations + 1; i++) {\n // 96 represents the total number of 15-minute increments in a day (24 hours * 60 minutes / 15 minutes)\n const time = startTime.add(i * 15, 'minute');\n if (i == iterations && time.format('hh:mma').includes('am')) {\n break;\n }\n times.push({ id: i, value: time.format('hh:mma') });\n }\n return times;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!this.showTimes) {\n this.showTimes = true;\n this.shouldAutoScroll = true;\n return;\n }\n if (this.ariaActivedescendant === '') {\n this.ariaActivedescendant = this.times[0].id.toString();\n this.focusOption(0);\n } else {\n const currentIndex = this.times.findIndex(time => time.id.toString() === this.ariaActivedescendant);\n const nextIndex = currentIndex + 1 < this.times.length ? currentIndex + 1 : 0;\n this.ariaActivedescendant = this.times[nextIndex].id.toString();\n this.focusOption(nextIndex);\n }\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n if (this.ariaActivedescendant === '') {\n this.ariaActivedescendant = this.times[this.times.length - 1].id.toString();\n this.focusOption(this.times.length - 1);\n } else {\n const currentIndex = this.times.findIndex(time => time.id.toString() === this.ariaActivedescendant);\n const prevIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : this.times.length - 1;\n this.ariaActivedescendant = this.times[prevIndex].id.toString();\n this.focusOption(prevIndex);\n }\n } else if (event.key === 'Escape') {\n this.showTimes = false;\n this.timeInput.focus();\n }\n }\n\n private handleListboxKeydown(e: KeyboardEvent) {\n const items = this.times;\n const currentIndex = items.findIndex(item => item.id.toString() === this.ariaActivedescendant);\n\n if (e.key === 'ArrowDown' || (e.key === 'Tab' && !e.shiftKey)) {\n e.preventDefault();\n const nextIndex = currentIndex + 1 < items.length ? currentIndex + 1 : 0;\n this.ariaActivedescendant = items[nextIndex].id.toString();\n this.focusOption(nextIndex);\n } else if (e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)) {\n e.preventDefault();\n const prevIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : items.length - 1;\n this.ariaActivedescendant = items[prevIndex].id.toString();\n this.focusOption(prevIndex);\n } else if (e.key === 'Enter') {\n e.preventDefault();\n if (this.ariaActivedescendant) {\n const option = items[currentIndex];\n this.handleTimeChange(e, option.value);\n this.showTimes = false;\n this.ariaActivedescendant = '';\n this.timeInput.focus();\n }\n } else if (e.key === 'Escape') {\n this.showTimes = false;\n this.timeInput.focus();\n }\n }\n\n scrollToViewWithinParent(optionIndex: number) {\n const option = this.times[optionIndex];\n const childElement = this.el.shadowRoot?.getElementById(option.id.toString()) as HTMLLIElement;\n const parentElement = this.timeMenu;\n\n this.ariaActivedescendant = option.id.toString();\n\n // Scroll child into view within parent\n const childRect = childElement.getBoundingClientRect();\n const parentRect = parentElement.getBoundingClientRect();\n\n if (childRect.top < parentRect.top) {\n // Child is above the visible area of the parent\n parentElement.scrollTop -= parentRect.top - childRect.top;\n } else if (childRect.bottom > parentRect.bottom) {\n // Child is below the visible area of the parent\n parentElement.scrollTop += childRect.bottom - parentRect.bottom;\n }\n\n if (childRect.left < parentRect.left) {\n // Child is to the left of the visible area of the parent\n parentElement.scrollLeft -= parentRect.left - childRect.left;\n } else if (childRect.right > parentRect.right) {\n // Child is to the right of the visible area of the parent\n parentElement.scrollLeft += childRect.right - parentRect.right;\n }\n }\n\n focusOption(index: number) {\n const option = this.times[index];\n if (!option) return; // Guard clause in case index is out of bounds\n\n const elementId = option.id.toString();\n const element = this.el.shadowRoot?.getElementById(elementId) as HTMLLIElement;\n\n if (element) {\n element.focus(); // Set focus on the element\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"time-picker\" part=\"time-picker\">\n <input\n type=\"text\"\n name={this.name}\n id={this.name}\n part=\"time-input\"\n class={{\n 'time-input': true,\n 'error': !!this.err || this.hasError,\n }}\n ref={el => (this.timeInput = el as HTMLInputElement)}\n value={this.time}\n onClick={() => {\n this.showTimes = true;\n this.shouldAutoScroll = true;\n }}\n aria-haspopup=\"listbox\"\n aria-label={this.name}\n aria-expanded={this.showTimes ? 'true' : 'false'}\n placeholder={this.placeholder}\n onKeyDown={e => this.handleComboboxKeyDown(e)}\n onInput={event => this.handleOnInput(event)}\n onBlur={event => this.handleTimeAutocomplete(event)}\n />\n {this.err && <div class=\"invalid-time-icon\">{/* Icon here */}</div>}\n {this.showTimes && (\n <div class=\"times\" part=\"times\" ref={el => (this.timeMenu = el as HTMLElement)}>\n <ul tabindex=\"-1\" role=\"listbox\" aria-label={this.name} aria-activedescendant={this.ariaActivedescendant} onKeyDown={e => this.handleListboxKeydown(e)}>\n {this.times.map(option => (\n <li\n tabindex=\"0\"\n key={option.id}\n id={option.id.toString()}\n class={{\n focused: this.ariaActivedescendant === option.id.toString(),\n }}\n onClick={e => {\n this.handleTimeChange(e, option.value);\n this.showTimes = false;\n this.timeInput.focus();\n }}\n role=\"option\"\n >\n {`${option.value}`}\n </li>\n ))}\n </ul>\n </div>\n )}\n {!this.showTimes && this.err && (\n <p class=\"error\" id=\"email-error\">\n {this.err}\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nylas-time-window-picker.entry.esm.js","mappings":"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C,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EA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","names":["define","this"],"sources":["../../node_modules/.pnpm/dayjs@1.11.7/node_modules/dayjs/plugin/customParseFormat.js","src/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.scss?tag=nylas-time-window-picker&encapsulation=shadow","src/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.tsx"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d\\d/,r=/\\d\\d?/,i=/\\d*[^-_:/,()\\s\\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)};var a=function(e){return function(t){this[e]=+t}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(e){var t=h(\"months\"),n=(h(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f<a;f+=1){var h=s[f],u=d[h],c=u&&u[0],l=u&&u[1];s[f]=l?{regex:c,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=s[n];if(\"string\"==typeof i)r+=i.length;else{var o=i.regex,f=i.parser,h=e.slice(r),u=o.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,s=e.args;this.$u=r;var a=s[1];if(\"string\"==typeof a){var f=!0===s[2],h=!0===s[3],u=f||h,d=s[2];h&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(e,t,n){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date(\"\")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","@import '../../../common/styles/variables.scss';\n:host {\n display: block;\n position: relative;\n @include default-css-variables;\n}\n\n.time-picker {\n display: inline-block;\n width: 150px;\n font-family: var(--nylas-font-family);\n @media #{$mobile} {\n width: auto;\n }\n position: relative;\n input {\n width: 150px;\n height: 48px;\n text-align: center;\n font-size: 16px;\n font-family: inherit;\n @media #{$mobile} {\n width: 88px;\n }\n @media #{$small-mobile} {\n width: 68px;\n font-size: 15px;\n }\n cursor: pointer;\n background: transparent;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n &.focus {\n background: transparent;\n }\n &:hover,\n &:active {\n border: 1px solid var(--nylas-primary);\n }\n &:active {\n outline: 2px solid var(--nylas-primary);\n }\n span {\n &.open {\n transform: rotate(90deg);\n }\n &.closed {\n transform: rotate(270deg);\n }\n }\n &.error {\n border: 1px solid var(--nylas-error);\n }\n }\n p.error {\n color: var(--nylas-error);\n font-size: 0.875rem;\n margin: 0;\n }\n}\n.times {\n display: block;\n margin-top: 0.5rem;\n background-color: var(--nylas-base-0);\n width: 100%;\n max-height: 336px;\n overflow: auto;\n border: 1px solid #ddd;\n z-index: 1;\n border-radius: 4px;\n position: absolute;\n box-shadow: 0px 4px 6px -2px #0000000d;\n box-shadow: 0px 10px 15px -3px #0000001a;\n ul {\n padding: 0;\n list-style-type: none;\n color: var(--nylas-base-900);\n max-height: 336px;\n li {\n padding: 16px, 12px, 16px, 12px;\n color: black;\n padding: 12px 16px;\n text-decoration: none;\n display: block;\n font-family: inherit;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0px;\n text-align: center;\n cursor: pointer;\n &.focused {\n background-color: var(--nylas-base-100);\n }\n &:hover,\n &:focus {\n background-color: var(--nylas-base-100);\n }\n label {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n input {\n margin: 0;\n }\n }\n }\n }\n}\n","import { autocompleteTimeFormat, roundToNearest15Minutes, validateExactTimeFormat, validateTimeFormatInput } from '@/utils/utils';\nimport { Component, h, State, Prop, Event, EventEmitter, Listen, Element, Host, Watch } from '@stencil/core';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\ndayjs.extend(customParseFormat);\n\ntype Time = { id: number; value: string };\n\n/**\n * The `nylas-time-window-picker` component is a time picker that can be used to select a time.\n * @part time-picker - The time picker container\n * @part time-input - The time input\n * @part times - The list of times\n */\n@Component({\n tag: 'nylas-time-window-picker',\n styleUrl: 'nylas-time-window-picker.scss',\n shadow: true,\n})\nexport class TimeInput {\n @Element() el!: HTMLElement;\n private timeInput!: HTMLInputElement;\n private timeMenu!: HTMLElement;\n\n /**\n * The time to display in the input.\n * This is passed by the parent component and can be updated\n * using the setTime prop function provided by the parent component.\n */\n @Prop() time!: string;\n /**\n * This is the start time value if one is set by the parent component.\n * It is useful if this component is used to render an end time which\n * should not be before the start time, defining the earliest selectable time.\n */\n @Prop() minimumStartTime: string | null = null;\n\n /**\n * The placeholder text for the input.\n */\n @Prop() placeholder: string = 'hh:mmam/pm';\n /**\n * The name of the input.\n */\n @Prop() name!: string;\n /**\n * This sets the error state of the input.\n */\n @Prop() hasError: boolean = false;\n\n /**\n * The error message to display if the time is invalid.\n */\n @State() err: string = '';\n /**\n * Toggle to show the list of times.\n */\n @State() showTimes: boolean = false;\n /**\n * The aria-activedescendant attribute for the listbox element to indicate the currently active\n * option in the list box to screen readers. The value of aria-activedescendant is the ID of\n * the active option.\n */\n @State() ariaActivedescendant: string = '';\n /**\n * The list of times to display in the dropdown.\n */\n @State() times: Time[] = this.generateTimes();\n /**\n * This is used to scroll to the selected time when the time is changed.\n */\n @State() shouldAutoScroll: boolean = false;\n\n /**\n * This event is fired when the time is changed.\n */\n @Event() timeChange!: EventEmitter<{\n key: string;\n value: string;\n }>;\n\n /**\n * This event is fired when the form has an error. The parent component\n * can listen for this event and display an error message or set form validity.\n */\n @Event() formError!: EventEmitter<{\n key: string;\n message: string;\n }>;\n\n // Event listeners\n @Listen('click', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n // Get the path of the event\n const path = event.composedPath();\n\n // Check if the path includes the host element\n const isClickInside = path.includes(this.el);\n\n if (!isClickInside && this.showTimes) {\n this.showTimes = false;\n }\n }\n\n @Watch('minimumStartTime')\n minimumStartTimeChangedHandler() {\n if (this.minimumStartTime) {\n let formattedTime = dayjs()\n .hour(parseInt(this.minimumStartTime))\n .minute(parseInt(this.minimumStartTime.slice(-4, -2)));\n if (this.minimumStartTime.slice(-2).toLowerCase() === 'pm' && parseInt(this.minimumStartTime) !== 12) {\n formattedTime = formattedTime.add(12, 'hour');\n } else if (this.minimumStartTime.slice(-2).toLowerCase() === 'am' && parseInt(this.minimumStartTime) === 12) {\n formattedTime = formattedTime.subtract(12, 'hour');\n }\n\n this.times = this.generateTimes();\n const firstTime = dayjs(this.times[0].value, 'hh:mma');\n let selectedTimeFormatted = dayjs(this.time, 'hh:mma');\n if (selectedTimeFormatted.isBefore(firstTime)) {\n this.err = 'Invalid';\n this.formError.emit({\n key: this.el.id,\n message: 'Invalid',\n });\n }\n }\n }\n\n componentDidRender() {\n if (this.showTimes && this.shouldAutoScroll) {\n const autocompletedTime = autocompleteTimeFormat(this.time);\n const optionIndex = this.times.findIndex(time => time.value === autocompletedTime);\n if (optionIndex > -1) {\n this.shouldAutoScroll = false;\n this.scrollToViewWithinParent(optionIndex);\n }\n return;\n }\n }\n\n private handleTimeChange(_e: Event, input: string) {\n const timePart = input.split(':');\n if (timePart[0] === '00' && timePart[1].slice(-2) == 'pm') {\n this.err = 'Invalid';\n this.formError.emit({\n key: this.el.id,\n message: 'Invalid',\n });\n }\n if (!validateTimeFormatInput(input)) {\n this.err = 'Invalid';\n this.formError.emit({\n key: this.el.id,\n message: 'Invalid',\n });\n } else {\n this.err = '';\n this.formError.emit({\n key: this.el.id,\n message: '',\n });\n }\n this.timeChange.emit({\n key: this.el.id,\n value: input,\n });\n }\n\n private handleTimeAutocomplete(event: Event) {\n const input = (event.target as HTMLInputElement)?.value;\n if (!validateTimeFormatInput(input)) {\n this.err = 'Invalid';\n this.formError.emit({\n key: this.el.id,\n message: 'Invalid',\n });\n return;\n }\n if (input === '') {\n const newTime = roundToNearest15Minutes().format('hh:mma');\n this.timeChange.emit({\n key: this.el.id,\n value: newTime,\n });\n return;\n }\n if (!validateExactTimeFormat(input)) {\n const autocompletedTime = autocompleteTimeFormat(input);\n this.timeChange.emit({\n key: this.el.id,\n value: autocompletedTime,\n });\n return;\n }\n this.timeChange.emit({\n key: this.el.id,\n value: input,\n });\n }\n\n private handleOnInput(event: Event) {\n const input = (event.target as HTMLInputElement)?.value;\n if (!validateTimeFormatInput(input)) {\n return;\n }\n if (input === '') {\n const newTime = roundToNearest15Minutes().format('hh:mma');\n const optionIndex = this.times.findIndex(time => time.value === newTime);\n if (optionIndex > -1) {\n this.scrollToViewWithinParent(optionIndex);\n }\n return;\n }\n if (!validateExactTimeFormat(input)) {\n const autocompletedTime = autocompleteTimeFormat(input);\n const optionIndex = this.times.findIndex(time => time.value === autocompletedTime);\n if (optionIndex > -1) {\n this.scrollToViewWithinParent(optionIndex);\n }\n return;\n }\n }\n\n private generateTimes() {\n const times: Time[] = [];\n let startTime = dayjs().set('hour', 0).set('minute', 0).set('second', 0); // Set to 12:00 am\n if (this.minimumStartTime) {\n startTime = dayjs(this.minimumStartTime, 'hh:mma');\n }\n const diff = startTime.endOf('day').diff(startTime, 'minutes');\n const iterations = Math.round(diff / 15);\n for (let i = 0; i < iterations + 1; i++) {\n // 96 represents the total number of 15-minute increments in a day (24 hours * 60 minutes / 15 minutes)\n const time = startTime.add(i * 15, 'minute');\n if (i == iterations && time.format('hh:mma').includes('am')) {\n break;\n }\n times.push({ id: i, value: time.format('hh:mma') });\n }\n return times;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!this.showTimes) {\n this.showTimes = true;\n this.shouldAutoScroll = true;\n return;\n }\n if (this.ariaActivedescendant === '') {\n this.ariaActivedescendant = this.times[0].id.toString();\n this.focusOption(0);\n } else {\n const currentIndex = this.times.findIndex(time => time.id.toString() === this.ariaActivedescendant);\n const nextIndex = currentIndex + 1 < this.times.length ? currentIndex + 1 : 0;\n this.ariaActivedescendant = this.times[nextIndex].id.toString();\n this.focusOption(nextIndex);\n }\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n if (this.ariaActivedescendant === '') {\n this.ariaActivedescendant = this.times[this.times.length - 1].id.toString();\n this.focusOption(this.times.length - 1);\n } else {\n const currentIndex = this.times.findIndex(time => time.id.toString() === this.ariaActivedescendant);\n const prevIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : this.times.length - 1;\n this.ariaActivedescendant = this.times[prevIndex].id.toString();\n this.focusOption(prevIndex);\n }\n } else if (event.key === 'Escape') {\n this.showTimes = false;\n this.timeInput.focus();\n }\n }\n\n private handleListboxKeydown(e: KeyboardEvent) {\n const items = this.times;\n const currentIndex = items.findIndex(item => item.id.toString() === this.ariaActivedescendant);\n\n if (e.key === 'ArrowDown' || (e.key === 'Tab' && !e.shiftKey)) {\n e.preventDefault();\n const nextIndex = currentIndex + 1 < items.length ? currentIndex + 1 : 0;\n this.ariaActivedescendant = items[nextIndex].id.toString();\n this.focusOption(nextIndex);\n } else if (e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)) {\n e.preventDefault();\n const prevIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : items.length - 1;\n this.ariaActivedescendant = items[prevIndex].id.toString();\n this.focusOption(prevIndex);\n } else if (e.key === 'Enter') {\n e.preventDefault();\n if (this.ariaActivedescendant) {\n const option = items[currentIndex];\n this.handleTimeChange(e, option.value);\n this.showTimes = false;\n this.ariaActivedescendant = '';\n this.timeInput.focus();\n }\n } else if (e.key === 'Escape') {\n this.showTimes = false;\n this.timeInput.focus();\n }\n }\n\n scrollToViewWithinParent(optionIndex: number) {\n const option = this.times[optionIndex];\n const childElement = this.el.shadowRoot?.getElementById(option.id.toString()) as HTMLLIElement;\n const parentElement = this.timeMenu;\n\n this.ariaActivedescendant = option.id.toString();\n\n // Scroll child into view within parent\n const childRect = childElement.getBoundingClientRect();\n const parentRect = parentElement.getBoundingClientRect();\n\n if (childRect.top < parentRect.top) {\n // Child is above the visible area of the parent\n parentElement.scrollTop -= parentRect.top - childRect.top;\n } else if (childRect.bottom > parentRect.bottom) {\n // Child is below the visible area of the parent\n parentElement.scrollTop += childRect.bottom - parentRect.bottom;\n }\n\n if (childRect.left < parentRect.left) {\n // Child is to the left of the visible area of the parent\n parentElement.scrollLeft -= parentRect.left - childRect.left;\n } else if (childRect.right > parentRect.right) {\n // Child is to the right of the visible area of the parent\n parentElement.scrollLeft += childRect.right - parentRect.right;\n }\n }\n\n focusOption(index: number) {\n const option = this.times[index];\n if (!option) return; // Guard clause in case index is out of bounds\n\n const elementId = option.id.toString();\n const element = this.el.shadowRoot?.getElementById(elementId) as HTMLLIElement;\n\n if (element) {\n element.focus(); // Set focus on the element\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"time-picker\" part=\"time-picker\">\n <input\n type=\"text\"\n name={this.name}\n id={this.name}\n part=\"time-input\"\n class={{\n 'time-input': true,\n 'error': !!this.err || this.hasError,\n }}\n ref={el => (this.timeInput = el as HTMLInputElement)}\n value={this.time}\n onClick={() => {\n this.showTimes = true;\n this.shouldAutoScroll = true;\n }}\n aria-haspopup=\"listbox\"\n aria-label={this.name}\n aria-expanded={this.showTimes ? 'true' : 'false'}\n placeholder={this.placeholder}\n onKeyDown={e => this.handleComboboxKeyDown(e)}\n onInput={event => this.handleOnInput(event)}\n onBlur={event => this.handleTimeAutocomplete(event)}\n />\n {this.err && <div class=\"invalid-time-icon\">{/* Icon here */}</div>}\n {this.showTimes && (\n <div class=\"times\" part=\"times\" ref={el => (this.timeMenu = el as HTMLElement)}>\n <ul tabindex=\"-1\" role=\"listbox\" aria-label={this.name} aria-activedescendant={this.ariaActivedescendant} onKeyDown={e => this.handleListboxKeydown(e)}>\n {this.times.map(option => (\n <li\n tabindex=\"0\"\n key={option.id}\n id={option.id.toString()}\n class={{\n focused: this.ariaActivedescendant === option.id.toString(),\n }}\n onClick={e => {\n this.handleTimeChange(e, option.value);\n this.showTimes = false;\n this.timeInput.focus();\n }}\n role=\"option\"\n >\n {`${option.value}`}\n </li>\n ))}\n </ul>\n </div>\n )}\n {!this.showTimes && this.err && (\n <p class=\"error\" id=\"email-error\">\n {this.err}\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -47,7 +47,7 @@ const patchCloneNodeFix = (HTMLElementPrototype) => {
47
47
 
48
48
  patchBrowser().then(options => {
49
49
  globalScripts();
50
- return bootstrapLazy(JSON.parse("[[\"nylas-scheduler-editor\",[[1,\"nylas-scheduler-editor\",{\"defaultRequiresSessionAuth\":[4,\"default-requires-session-auth\"],\"configurationId\":[1025,\"configuration-id\"],\"nylasApiRequest\":[1040],\"nylasSessionsConfig\":[16],\"defaultAuthArgs\":[16],\"eventOverrides\":[16],\"schedulerPreviewLink\":[1,\"scheduler-preview-link\"],\"defaultSchedulerConfigState\":[16],\"mode\":[1],\"automaticComponentRegistration\":[32],\"store\":[64],\"schedulerConnector\":[64]},[[0,\"registerComponent\",\"registerComponentHandler\"],[0,\"unregisterComponent\",\"unregisterComponentHandler\"]],{\"configurationId\":[\"configurationIdChanged\"]}]]],[\"nylas-scheduling\",[[1,\"nylas-scheduling\",{\"mode\":[1],\"defaultSchedulerState\":[16],\"sessionId\":[1,\"session-id\"],\"schedulerApiUrl\":[1,\"scheduler-api-url\"],\"bookingInfo\":[16],\"rescheduleBookingId\":[1,\"reschedule-booking-id\"],\"cancelBookingId\":[1,\"cancel-booking-id\"],\"configurationId\":[1,\"configuration-id\"],\"nylasBranding\":[4,\"nylas-branding\"],\"eventOverrides\":[16],\"isLoading\":[4,\"is-loading\"],\"themeConfig\":[16],\"showNotification\":[4,\"show-notification\"],\"automaticComponentRegistration\":[32],\"selectedDateLabel\":[32],\"getNylasSchedulerStore\":[64],\"getNylasSchedulerConnector\":[64],\"getRef\":[64]},[[0,\"registerComponent\",\"registerComponentHandler\"],[0,\"unregisterComponent\",\"unregisterComponentHandler\"],[0,\"monthChanged\",\"monthChangedHandler\"],[0,\"detailsConfirmed\",\"bookButtonClickedHandler\"],[0,\"dateSelected\",\"dateSelectedHandler\"],[0,\"cancelBookedEventError\",\"cancelBookedEventErrorHandler\"],[0,\"cancelBookedEventValidationError\",\"cancelBookedEventValidationErrorHandler\"],[0,\"rescheduleBookedEventError\",\"rescheduleBookedEventErrorHandler\"]],{\"bookingInfo\":[\"bookingInfoChanged\"]}]]],[\"nylas-view-thread\",[[1,\"nylas-view-thread\",{\"draft\":[16],\"thread\":[16],\"messages\":[16],\"attachments\":[16],\"state\":[32],\"internalMessages\":[32],\"showAllEmails\":[32],\"showComposer\":[32]},null,{\"thread\":[\"threadChanged\"],\"messages\":[\"updateInternalMessages\"]}]]],[\"nylas-list-folders\",[[1,\"nylas-list-folders\",{\"folders\":[16],\"selectedFolder\":[1,\"selected-folder\"],\"defaultFolders\":[32],\"otherFolders\":[32]},null,{\"folders\":[\"watchFolders\"]}]]],[\"nylas-custom-booking-flow\",[[65,\"nylas-custom-booking-flow\",{\"selectedConfiguration\":[16],\"name\":[1],\"bookingType\":[1,\"booking-type\"],\"selectedBookingType\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"]}]]],[\"nylas-additional-participants\",[[65,\"nylas-additional-participants\",{\"name\":[1],\"eventParticipants\":[16],\"participants\":[32],\"participantsValid\":[32]},null,{\"name\":[\"elementNameChangedHandler\"]}]]],[\"nylas-mailbox-pagination\",[[1,\"nylas-mailbox-pagination\",{\"state\":[1],\"hasNextPage\":[4,\"has-next-page\"],\"hasPreviousPage\":[4,\"has-previous-page\"],\"scrollTarget\":[1,\"scroll-target\"],\"mobileOnlyInfiniteScroll\":[4,\"mobile-only-infinite-scroll\"],\"mobileViewPortWidth\":[2,\"mobile-view-port-width\"],\"nextPage\":[64],\"previousPage\":[64]},[[9,\"scroll\",\"handlePageScroll\"]]]]],[\"nylas-threads-refresh\",[[1,\"nylas-threads-refresh\",{\"start\":[32],\"state\":[32],\"pulling\":[32],\"updateState\":[64]}]]],[\"document-refresh-icon\",[[2,\"document-refresh-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-if-state\",[[1,\"nylas-if-state\",{\"state\":[1],\"isStateSet\":[4,\"is-state-set\"],\"isBoolean\":[4,\"is-boolean\"],\"getStore\":[16],\"transition\":[1],\"show\":[32],\"classes\":[32]},null,{\"getStore\":[\"onGetStoreChange\"]}]]],[\"nylas-list-threads\",[[1,\"nylas-list-threads\",{\"threads\":[16],\"isAuthenticated\":[4,\"is-authenticated\"],\"tokenInfo\":[16],\"state\":[1],\"showCheckbox\":[4,\"show-checkbox\"]}]]],[\"nylas-login\",[[1,\"nylas-login\",{\"isAuthenticated\":[4,\"is-authenticated\"],\"nylasConnector\":[16],\"scopes\":[16],\"loginMethod\":[1,\"login-method\"],\"companyName\":[1,\"company-name\"],\"logoUrl\":[1,\"logo-url\"],\"logoWidth\":[1,\"logo-width\"],\"providers\":[1],\"buttonText\":[1,\"button-text\"],\"email\":[32]}]]],[\"nylas-mailbox\",[[1,\"nylas-mailbox\",{\"automaticComponentRegistration\":[4,\"automatic-component-registration\"],\"eventOverrides\":[16],\"authConfig\":[16],\"defaultAuthStoreState\":[16],\"defaultMailboxStoreState\":[16],\"getMailboxStore\":[64],\"getAuthStore\":[64],\"getNylasAuth\":[64],\"getNylasMailboxConnector\":[64]},[[0,\"registerComponent\",\"registerComponentHandler\"],[0,\"unregisterComponent\",\"unregisterComponentHandler\"]]]]],[\"nylas-mailbox-toolbar-button\",[[1,\"nylas-mailbox-toolbar-button\",{\"method\":[1],\"dataState\":[1,\"data-state\"],\"iconOnly\":[4,\"icon-only\"],\"mailboxConnector\":[16]}]]],[\"nylas-provider\",[[1,\"nylas-provider\",{\"authConfig\":[16],\"eventOverrides\":[16],\"automaticComponentRegistration\":[4,\"automatic-component-registration\"],\"getNylasAuth\":[64],\"getNylasConnector\":[64],\"getMailboxStore\":[64],\"getAuthStore\":[64],\"getNylasSchedulerStore\":[64],\"getNylasSchedulerConfigStore\":[64]},[[0,\"registerComponent\",\"registerComponentHandler\"],[0,\"unregisterComponent\",\"unregisterComponentHandler\"]]]]],[\"nylas-threads-search\",[[1,\"nylas-threads-search\",{\"query\":[1],\"internalQuery\":[32]},null,{\"query\":[\"onQueryChange\"]}]]],[\"people-icon\",[[2,\"people-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-editor-tabs\",[[6,\"nylas-editor-tabs\",{\"calendars\":[16],\"selectedConfiguration\":[16],\"defaultRequiresSessionAuth\":[4,\"default-requires-session-auth\"],\"currentUser\":[16],\"schedulerPreviewLink\":[1,\"scheduler-preview-link\"],\"mode\":[1],\"action\":[32],\"activeTab\":[32],\"isLoading\":[32],\"hasUnsavedChanges\":[32],\"changesSaved\":[32],\"formState\":[32],\"error\":[32]},[[0,\"valueChanged\",\"handleValueChanged\"]],{\"selectedConfiguration\":[\"configChangedHandler\"]}]]],[\"nylas-locale-switch\",[[1,\"nylas-locale-switch\",{\"selectedTimezone\":[1025,\"selected-timezone\"],\"selectedLanguage\":[1025,\"selected-language\"]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]]]]],[\"nylas-booked-event-card\",[[1,\"nylas-booked-event-card\",{\"eventInfo\":[16],\"rescheduleBookingId\":[1,\"reschedule-booking-id\"],\"bookingInfo\":[8,\"booking-info\"],\"selectedTimezone\":[1,\"selected-timezone\"],\"selectedTimeslot\":[16],\"configSettings\":[8,\"config-settings\"]}]]],[\"nylas-composer\",[[1,\"nylas-composer\",{\"message\":[16],\"viewEmailElement\":[16]},null,{\"message\":[\"watchBody\"]}]]],[\"nylas-summarize-message-button\",[[1,\"nylas-summarize-message-button\",{\"message\":[16],\"state\":[32],\"updateState\":[64],\"playAudio\":[64]}]]],[\"nylas-list-configurations\",[[1,\"nylas-list-configurations\",{\"configurations\":[16],\"schedulerPreviewLink\":[1,\"scheduler-preview-link\"],\"state\":[32],\"error\":[32],\"getState\":[64],\"setState\":[64],\"setError\":[64]}]]],[\"nylas-notification\",[[1,\"nylas-notification\",{\"ttl\":[8],\"allowedCategories\":[16],\"notifications\":[32]},[[16,\"nylasSchedulerError\",\"onError\"],[16,\"nylasSchedulerWarning\",\"onWarning\"],[16,\"nylasSchedulerInfo\",\"onInfo\"],[16,\"nylasSchedulerSuccess\",\"onSuccess\"]]]]],[\"nylas-selected-event-card\",[[1,\"nylas-selected-event-card\",{\"selectedDate\":[16],\"selectedTimeslot\":[16],\"selectedTimezone\":[1,\"selected-timezone\"],\"startTime\":[32],\"endTime\":[32]},null,{\"selectedTimeslot\":[\"handleSelectedTimeslotChange\"]}]]],[\"nylas-booking-form\",[[1,\"nylas-booking-form\",{\"isLoading\":[4,\"is-loading\"],\"bookingInfo\":[8,\"booking-info\"],\"eventInfo\":[16],\"name\":[32],\"email\":[32],\"guestEmails\":[32],\"guestEmailErrors\":[32],\"isNameValid\":[32],\"isEmailValid\":[32],\"validationError\":[32]},null,{\"bookingInfo\":[\"bookingInfoChangedHandler\"]}]]],[\"nylas-cancel-booking-form\",[[1,\"nylas-cancel-booking-form\",{\"cancelBookingId\":[1,\"cancel-booking-id\"],\"cancellationReason\":[32],\"cancellationError\":[32]}]]],[\"nylas-cancelled-event-card\",[[1,\"nylas-cancelled-event-card\",{\"cancelledEventInfo\":[16],\"configSettings\":[16],\"isClosing\":[32]}]]],[\"nylas-date-picker\",[[1,\"nylas-date-picker\",{\"selectableDates\":[16],\"selectedDate\":[16],\"configSettings\":[16],\"isLoading\":[4,\"is-loading\"],\"month\":[32],\"dates\":[32],\"disableNextMonthButton\":[32]}]]],[\"archive-icon\",[[2,\"archive-icon\",{\"width\":[1],\"height\":[1]}]]],[\"arrow-icon\",[[2,\"arrow-icon\",{\"width\":[1],\"height\":[1]}]]],[\"folder-icon\",[[2,\"folder-icon\",{\"width\":[1],\"height\":[1]}]]],[\"forward-icon\",[[2,\"forward-icon\",{\"width\":[1],\"height\":[1]}]]],[\"google-logo-icon\",[[2,\"google-logo-icon\",{\"width\":[1],\"height\":[1]}]]],[\"inbox-icon\",[[2,\"inbox-icon\",{\"width\":[1],\"height\":[1]}]]],[\"microsoft-logo-icon\",[[2,\"microsoft-logo-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-logo\",[[2,\"nylas-logo\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-timeslot-picker\",[[1,\"nylas-timeslot-picker\",{\"selectedDate\":[16],\"availability\":[16],\"selectedTimeslot\":[16],\"isLoading\":[4,\"loading-state\"],\"selectedTimezone\":[1,\"selected-timezone\"],\"times\":[32],\"hoveredTimeslotIndex\":[32],\"selectedTimeslotIndex\":[32]},null,{\"selectedDate\":[\"selectedDateChanged\"],\"availability\":[\"availabilityChanged\"]}]]],[\"nylas-view-email\",[[1,\"nylas-view-email\",{\"message\":[16],\"parent\":[16],\"attachments\":[16],\"detectDarkMode\":[4,\"detect-dark-mode\"],\"state\":[32],\"sanitizedBody\":[32],\"styles\":[32],\"viewEmailElement\":[32],\"hoistedFontURLs\":[32]},[[9,\"resize\",\"handleScroll\"]],{\"message\":[\"messageChanged\"],\"viewEmailElement\":[\"viewEmailElementChanged\"]}]]],[\"reply-all-icon\",[[2,\"reply-all-icon\",{\"width\":[1],\"height\":[1]}]]],[\"reply-icon\",[[2,\"reply-icon\",{\"width\":[1],\"height\":[1]}]]],[\"sent-icon\",[[2,\"sent-icon\",{\"width\":[1],\"height\":[1]}]]],[\"spam-icon\",[[2,\"spam-icon\",{\"width\":[1],\"height\":[1]}]]],[\"star-icon\",[[2,\"star-icon\",{\"width\":[1],\"height\":[1]}]]],[\"trash-icon\",[[2,\"trash-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-availability-picker\",[[65,\"nylas-availability-picker\",{\"selectedConfiguration\":[16],\"openHours\":[16],\"name\":[1],\"defaultTimezone\":[1,\"default-timezone\"],\"schedule\":[32],\"timezone\":[32],\"overlapDays\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"configChangedHandler\"],\"schedule\":[\"scheduleChanged\"]}]]],[\"nylas-location-component\",[[65,\"nylas-location-component\",{\"selectedConfiguration\":[16],\"eventLocation\":[1,\"event-location\"],\"name\":[1],\"location\":[32],\"selectedLocationOption\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"],\"eventLocation\":[\"eventLocationChangedHandler\"]}]]],[\"nylas-limit-future-bookings\",[[65,\"nylas-limit-future-bookings\",{\"selectedConfiguration\":[16],\"availableDaysInFuture\":[2,\"available-days-in-future\"],\"name\":[1],\"selectedNumber\":[32],\"selectedPeriod\":[32]},[[0,\"timePeriodChanged\",\"timePeriodChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"],\"availableDaysInFuture\":[\"availableDaysInFutureChanged\"]}]]],[\"nylas-min-cancellation-notice\",[[65,\"nylas-min-cancellation-notice\",{\"selectedConfiguration\":[16],\"minCancellationNotice\":[2,\"min-cancellation-notice\"],\"name\":[1],\"selectedNumber\":[32],\"selectedPeriod\":[32]},[[0,\"timePeriodChanged\",\"timePeriodChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"],\"availableDaysInFuture\":[\"availableDaysInFutureChanged\"]}]]],[\"nylas-booking-calendar-picker\",[[65,\"nylas-booking-calendar-picker\",{\"calendars\":[16],\"currentUser\":[16],\"name\":[1],\"defaultBookingCalendar\":[1,\"default-booking-calendar\"],\"selectedCalendar\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"]}]]],[\"nylas-calendar-picker\",[[65,\"nylas-calendar-picker\",{\"calendars\":[16],\"currentUser\":[16],\"name\":[1],\"defaultSelectedCalendars\":[16],\"selectedCalendars\":[32]},[[0,\"selectedOptionsChanged\",\"selectedOptionsChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"]}]]],[\"nylas-event-duration\",[[65,\"nylas-event-duration\",{\"selectedConfiguration\":[16],\"name\":[1],\"eventDurationMinutes\":[2,\"event-duration-minutes\"],\"duration\":[32],\"durationMinutes\":[32],\"durationIncrement\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"],\"durationMinutes\":[\"durationMinutesChangedHandler\"]}]]],[\"nylas-buffer-time\",[[65,\"nylas-buffer-time\",{\"name\":[1],\"buffer\":[16],\"selectedBeforeBufferTime\":[32],\"selectedAfterBufferTime\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"]}]]],[\"nylas-event-description\",[[65,\"nylas-event-description\",{\"selectedConfiguration\":[16],\"eventDescription\":[1,\"event-description\"],\"name\":[1],\"description\":[32]},null,{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"]}]]],[\"nylas-event-title\",[[65,\"nylas-event-title\",{\"selectedConfiguration\":[16],\"eventTitle\":[1,\"event-title\"],\"name\":[1],\"showTokens\":[32],\"availableTokens\":[32],\"filteredTokens\":[32],\"ariaActivedescendant\":[32],\"currentWord\":[32],\"validationError\":[32]},[[8,\"formSubmitted\",\"formSubmittedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"ariaActivedescendant\":[\"ariaActivedescendantChangedHandler\"],\"selectedConfiguration\":[\"configChangedHandler\"]}]]],[\"nylas-event-info\",[[65,\"nylas-event-info\"]]],[\"nylas-event-limits\",[[65,\"nylas-event-limits\"]]],[\"bold-icon\",[[2,\"bold-icon\",{\"width\":[1],\"height\":[1]}]]],[\"calendar-check-icon\",[[2,\"calendar-check-icon\",{\"width\":[1],\"height\":[1]}]]],[\"calendar-info-icon\",[[2,\"calendar-info-icon\",{\"width\":[1],\"height\":[1]}]]],[\"calendar-patterns-icon\",[[2,\"calendar-patterns-icon\",{\"width\":[1],\"height\":[1]}]]],[\"checkmark-circle-icon\",[[2,\"checkmark-circle-icon\",{\"width\":[1],\"height\":[1]}]]],[\"flow-icon\",[[2,\"flow-icon\",{\"width\":[1],\"height\":[1]}]]],[\"italic-icon\",[[2,\"italic-icon\",{\"width\":[1],\"height\":[1]}]]],[\"play-icon\",[[2,\"play-icon\",{\"width\":[1],\"height\":[1]}]]],[\"refresh-icon\",[[2,\"refresh-icon\",{\"width\":[1],\"height\":[1]}]]],[\"stop-icon\",[[2,\"stop-icon\",{\"width\":[1],\"height\":[1]}]]],[\"translate-icon\",[[2,\"translate-icon\",{\"width\":[1],\"height\":[1]}]]],[\"underline-icon\",[[2,\"underline-icon\",{\"width\":[1],\"height\":[1]}]]],[\"warning-icon\",[[2,\"warning-icon\",{\"width\":[1],\"height\":[1]}]]],[\"multi-select-dropdown\",[[1,\"multi-select-dropdown\",{\"name\":[1],\"label\":[1],\"options\":[16],\"availableOptions\":[32],\"isOpen\":[32],\"ariaActivedescendant\":[32],\"shouldFocusFirstOption\":[32]},[[6,\"click\",\"handleOutsideClick\"]]]]],[\"add-circle-icon\",[[2,\"add-circle-icon\",{\"width\":[1],\"height\":[1]}]]],[\"button-component\",[[6,\"button-component\",{\"variant\":[1],\"disabled\":[4],\"type\":[1],\"clickHandler\":[16],\"mouseOverHandler\":[16],\"mouseOutHandler\":[16],\"focusHandler\":[16],\"blurHandler\":[16]}]]],[\"calendar-cancel-icon\",[[2,\"calendar-cancel-icon\",{\"width\":[1],\"height\":[1]}]]],[\"location-icon\",[[2,\"location-icon\",{\"width\":[1],\"height\":[1]}]]],[\"location-off-icon\",[[2,\"location-off-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-time-window-picker\",[[1,\"nylas-time-window-picker\",{\"time\":[1],\"minimumStartTime\":[1,\"minimum-start-time\"],\"placeholder\":[1],\"setTime\":[16],\"name\":[1],\"hasError\":[4,\"has-error\"],\"setFormError\":[16],\"err\":[32],\"showTimes\":[32],\"ariaActivedescendant\":[32],\"times\":[32],\"shouldAutoScroll\":[32]},[[4,\"click\",\"handleOutsideClick\"]],{\"minimumStartTime\":[\"minimumStartTimeChangedHandler\"]}]]],[\"time-period-selector\",[[2,\"time-period-selector\",{\"timePeriods\":[16],\"defaultSelectedPeriod\":[1,\"default-selected-period\"],\"defaultSelectedNumber\":[2,\"default-selected-number\"],\"selectedPeriod\":[32],\"selectedNumber\":[32],\"numberOptions\":[32],\"timePeriodOptions\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"defaultSelectedPeriod\":[\"defaultSelectedPeriodChangedHandler\"],\"defaultSelectedNumber\":[\"defaultSelectedNumberChangedHandler\"],\"timePeriods\":[\"timePeriodsChangedHandler\"]}]]],[\"calendar-icon\",[[2,\"calendar-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-form-card\",[[65,\"nylas-form-card\"]]],[\"loading-icon\",[[1,\"loading-icon\",{\"width\":[1],\"height\":[1]}]]],[\"globe-icon\",[[2,\"globe-icon\",{\"width\":[1],\"height\":[1]}]]],[\"close-icon\",[[2,\"close-icon\",{\"width\":[1],\"height\":[1]}]]],[\"info-icon\",[[2,\"info-icon\",{\"width\":[1],\"height\":[1]}]]],[\"tooltip-component\",[[1,\"tooltip-component\",{\"position\":[1]}]]],[\"search-icon\",[[2,\"search-icon\",{\"width\":[1],\"height\":[1]}]]],[\"chevron-icon\",[[2,\"chevron-icon\",{\"width\":[1],\"height\":[1]}]]],[\"select-dropdown\",[[1,\"select-dropdown\",{\"name\":[1],\"options\":[16],\"defaultSelectedOption\":[16],\"withSearch\":[4,\"with-search\"],\"pluralizedLabel\":[1,\"pluralized-label\"],\"selectedOption\":[32],\"isOpen\":[32],\"searchValue\":[32],\"filteredOptions\":[32],\"ariaActivedescendant\":[32]},[[6,\"click\",\"handleOutsideClick\"]],{\"options\":[\"optionsChangedHandler\"],\"defaultSelectedOption\":[\"defaultSelectedOptionChangedHandler\"]}]]]]"), options);
50
+ return bootstrapLazy(JSON.parse("[[\"nylas-scheduler-editor\",[[1,\"nylas-scheduler-editor\",{\"defaultRequiresSessionAuth\":[4,\"default-requires-session-auth\"],\"configurationId\":[1025,\"configuration-id\"],\"nylasApiRequest\":[1040],\"nylasSessionsConfig\":[16],\"defaultAuthArgs\":[16],\"eventOverrides\":[16],\"schedulerPreviewLink\":[1,\"scheduler-preview-link\"],\"defaultSchedulerConfigState\":[16],\"mode\":[1],\"automaticComponentRegistration\":[32],\"store\":[64],\"schedulerConnector\":[64]},[[0,\"registerComponent\",\"registerComponentHandler\"],[0,\"unregisterComponent\",\"unregisterComponentHandler\"]],{\"configurationId\":[\"configurationIdChanged\"]}]]],[\"nylas-scheduling\",[[1,\"nylas-scheduling\",{\"mode\":[1],\"defaultSchedulerState\":[16],\"sessionId\":[1,\"session-id\"],\"schedulerApiUrl\":[1,\"scheduler-api-url\"],\"bookingInfo\":[16],\"rescheduleBookingId\":[1,\"reschedule-booking-id\"],\"cancelBookingId\":[1,\"cancel-booking-id\"],\"configurationId\":[1,\"configuration-id\"],\"nylasBranding\":[4,\"nylas-branding\"],\"eventOverrides\":[16],\"isLoading\":[4,\"is-loading\"],\"themeConfig\":[16],\"showNotification\":[4,\"show-notification\"],\"automaticComponentRegistration\":[32],\"selectedDateLabel\":[32],\"getNylasSchedulerStore\":[64],\"getNylasSchedulerConnector\":[64],\"getRef\":[64]},[[0,\"registerComponent\",\"registerComponentHandler\"],[0,\"unregisterComponent\",\"unregisterComponentHandler\"],[0,\"monthChanged\",\"monthChangedHandler\"],[0,\"detailsConfirmed\",\"bookButtonClickedHandler\"],[0,\"dateSelected\",\"dateSelectedHandler\"],[0,\"cancelBookedEventError\",\"cancelBookedEventErrorHandler\"],[0,\"cancelBookedEventValidationError\",\"cancelBookedEventValidationErrorHandler\"],[0,\"rescheduleBookedEventError\",\"rescheduleBookedEventErrorHandler\"]],{\"bookingInfo\":[\"bookingInfoChanged\"]}]]],[\"nylas-view-thread\",[[1,\"nylas-view-thread\",{\"draft\":[16],\"thread\":[16],\"messages\":[16],\"attachments\":[16],\"state\":[32],\"internalMessages\":[32],\"showAllEmails\":[32],\"showComposer\":[32]},null,{\"thread\":[\"threadChanged\"],\"messages\":[\"updateInternalMessages\"]}]]],[\"nylas-list-folders\",[[1,\"nylas-list-folders\",{\"folders\":[16],\"selectedFolder\":[1,\"selected-folder\"],\"defaultFolders\":[32],\"otherFolders\":[32]},null,{\"folders\":[\"watchFolders\"]}]]],[\"nylas-custom-booking-flow\",[[65,\"nylas-custom-booking-flow\",{\"selectedConfiguration\":[16],\"name\":[1],\"bookingType\":[1,\"booking-type\"],\"selectedBookingType\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"]}]]],[\"nylas-additional-participants\",[[65,\"nylas-additional-participants\",{\"name\":[1],\"eventParticipants\":[16],\"participants\":[32],\"participantsValid\":[32]},null,{\"name\":[\"elementNameChangedHandler\"]}]]],[\"nylas-mailbox-pagination\",[[1,\"nylas-mailbox-pagination\",{\"state\":[1],\"hasNextPage\":[4,\"has-next-page\"],\"hasPreviousPage\":[4,\"has-previous-page\"],\"scrollTarget\":[1,\"scroll-target\"],\"mobileOnlyInfiniteScroll\":[4,\"mobile-only-infinite-scroll\"],\"mobileViewPortWidth\":[2,\"mobile-view-port-width\"],\"nextPage\":[64],\"previousPage\":[64]},[[9,\"scroll\",\"handlePageScroll\"]]]]],[\"nylas-threads-refresh\",[[1,\"nylas-threads-refresh\",{\"start\":[32],\"state\":[32],\"pulling\":[32],\"updateState\":[64]}]]],[\"document-refresh-icon\",[[2,\"document-refresh-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-if-state\",[[1,\"nylas-if-state\",{\"state\":[1],\"isStateSet\":[4,\"is-state-set\"],\"isBoolean\":[4,\"is-boolean\"],\"getStore\":[16],\"transition\":[1],\"show\":[32],\"classes\":[32]},null,{\"getStore\":[\"onGetStoreChange\"]}]]],[\"nylas-list-threads\",[[1,\"nylas-list-threads\",{\"threads\":[16],\"isAuthenticated\":[4,\"is-authenticated\"],\"tokenInfo\":[16],\"state\":[1],\"showCheckbox\":[4,\"show-checkbox\"]}]]],[\"nylas-login\",[[1,\"nylas-login\",{\"isAuthenticated\":[4,\"is-authenticated\"],\"nylasConnector\":[16],\"scopes\":[16],\"loginMethod\":[1,\"login-method\"],\"companyName\":[1,\"company-name\"],\"logoUrl\":[1,\"logo-url\"],\"logoWidth\":[1,\"logo-width\"],\"providers\":[1],\"buttonText\":[1,\"button-text\"],\"email\":[32]}]]],[\"nylas-mailbox\",[[1,\"nylas-mailbox\",{\"automaticComponentRegistration\":[4,\"automatic-component-registration\"],\"eventOverrides\":[16],\"authConfig\":[16],\"defaultAuthStoreState\":[16],\"defaultMailboxStoreState\":[16],\"getMailboxStore\":[64],\"getAuthStore\":[64],\"getNylasAuth\":[64],\"getNylasMailboxConnector\":[64]},[[0,\"registerComponent\",\"registerComponentHandler\"],[0,\"unregisterComponent\",\"unregisterComponentHandler\"]]]]],[\"nylas-mailbox-toolbar-button\",[[1,\"nylas-mailbox-toolbar-button\",{\"method\":[1],\"dataState\":[1,\"data-state\"],\"iconOnly\":[4,\"icon-only\"],\"mailboxConnector\":[16]}]]],[\"nylas-provider\",[[1,\"nylas-provider\",{\"authConfig\":[16],\"eventOverrides\":[16],\"automaticComponentRegistration\":[4,\"automatic-component-registration\"],\"getNylasAuth\":[64],\"getNylasConnector\":[64],\"getMailboxStore\":[64],\"getAuthStore\":[64],\"getNylasSchedulerStore\":[64],\"getNylasSchedulerConfigStore\":[64]},[[0,\"registerComponent\",\"registerComponentHandler\"],[0,\"unregisterComponent\",\"unregisterComponentHandler\"]]]]],[\"nylas-threads-search\",[[1,\"nylas-threads-search\",{\"query\":[1],\"internalQuery\":[32]},null,{\"query\":[\"onQueryChange\"]}]]],[\"people-icon\",[[2,\"people-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-editor-tabs\",[[6,\"nylas-editor-tabs\",{\"calendars\":[16],\"selectedConfiguration\":[16],\"defaultRequiresSessionAuth\":[4,\"default-requires-session-auth\"],\"currentUser\":[16],\"schedulerPreviewLink\":[1,\"scheduler-preview-link\"],\"mode\":[1],\"action\":[32],\"activeTab\":[32],\"isLoading\":[32],\"hasUnsavedChanges\":[32],\"changesSaved\":[32],\"formState\":[32],\"error\":[32]},[[0,\"valueChanged\",\"handleValueChanged\"]],{\"selectedConfiguration\":[\"configChangedHandler\"]}]]],[\"nylas-locale-switch\",[[1,\"nylas-locale-switch\",{\"selectedTimezone\":[1025,\"selected-timezone\"],\"selectedLanguage\":[1025,\"selected-language\"]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]]]]],[\"nylas-booked-event-card\",[[1,\"nylas-booked-event-card\",{\"eventInfo\":[16],\"rescheduleBookingId\":[1,\"reschedule-booking-id\"],\"bookingInfo\":[8,\"booking-info\"],\"selectedTimezone\":[1,\"selected-timezone\"],\"selectedTimeslot\":[16],\"configSettings\":[8,\"config-settings\"]}]]],[\"nylas-composer\",[[1,\"nylas-composer\",{\"message\":[16],\"viewEmailElement\":[16]},null,{\"message\":[\"watchBody\"]}]]],[\"nylas-summarize-message-button\",[[1,\"nylas-summarize-message-button\",{\"message\":[16],\"state\":[32],\"updateState\":[64],\"playAudio\":[64]}]]],[\"nylas-list-configurations\",[[1,\"nylas-list-configurations\",{\"configurations\":[16],\"schedulerPreviewLink\":[1,\"scheduler-preview-link\"],\"state\":[32],\"error\":[32],\"getState\":[64],\"setState\":[64],\"setError\":[64]}]]],[\"nylas-notification\",[[1,\"nylas-notification\",{\"ttl\":[8],\"allowedCategories\":[16],\"notifications\":[32]},[[16,\"nylasSchedulerError\",\"onError\"],[16,\"nylasSchedulerWarning\",\"onWarning\"],[16,\"nylasSchedulerInfo\",\"onInfo\"],[16,\"nylasSchedulerSuccess\",\"onSuccess\"]]]]],[\"nylas-selected-event-card\",[[1,\"nylas-selected-event-card\",{\"selectedDate\":[16],\"selectedTimeslot\":[16],\"selectedTimezone\":[1,\"selected-timezone\"],\"startTime\":[32],\"endTime\":[32]},null,{\"selectedTimeslot\":[\"handleSelectedTimeslotChange\"]}]]],[\"nylas-booking-form\",[[1,\"nylas-booking-form\",{\"isLoading\":[4,\"is-loading\"],\"bookingInfo\":[8,\"booking-info\"],\"eventInfo\":[16],\"name\":[32],\"email\":[32],\"guestEmails\":[32],\"guestEmailErrors\":[32],\"isNameValid\":[32],\"isEmailValid\":[32],\"validationError\":[32]},null,{\"bookingInfo\":[\"bookingInfoChangedHandler\"]}]]],[\"nylas-cancel-booking-form\",[[1,\"nylas-cancel-booking-form\",{\"cancelBookingId\":[1,\"cancel-booking-id\"],\"cancellationReason\":[32],\"cancellationError\":[32]}]]],[\"nylas-cancelled-event-card\",[[1,\"nylas-cancelled-event-card\",{\"cancelledEventInfo\":[16],\"configSettings\":[16],\"isClosing\":[32]}]]],[\"nylas-date-picker\",[[1,\"nylas-date-picker\",{\"selectableDates\":[16],\"selectedDate\":[16],\"configSettings\":[16],\"isLoading\":[4,\"is-loading\"],\"month\":[32],\"dates\":[32],\"disableNextMonthButton\":[32]}]]],[\"archive-icon\",[[2,\"archive-icon\",{\"width\":[1],\"height\":[1]}]]],[\"arrow-icon\",[[2,\"arrow-icon\",{\"width\":[1],\"height\":[1]}]]],[\"folder-icon\",[[2,\"folder-icon\",{\"width\":[1],\"height\":[1]}]]],[\"forward-icon\",[[2,\"forward-icon\",{\"width\":[1],\"height\":[1]}]]],[\"google-logo-icon\",[[2,\"google-logo-icon\",{\"width\":[1],\"height\":[1]}]]],[\"inbox-icon\",[[2,\"inbox-icon\",{\"width\":[1],\"height\":[1]}]]],[\"microsoft-logo-icon\",[[2,\"microsoft-logo-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-logo\",[[2,\"nylas-logo\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-timeslot-picker\",[[1,\"nylas-timeslot-picker\",{\"selectedDate\":[16],\"availability\":[16],\"selectedTimeslot\":[16],\"isLoading\":[4,\"loading-state\"],\"selectedTimezone\":[1,\"selected-timezone\"],\"times\":[32],\"hoveredTimeslotIndex\":[32],\"selectedTimeslotIndex\":[32]},null,{\"selectedDate\":[\"selectedDateChanged\"],\"availability\":[\"availabilityChanged\"]}]]],[\"nylas-view-email\",[[1,\"nylas-view-email\",{\"message\":[16],\"parent\":[16],\"attachments\":[16],\"detectDarkMode\":[4,\"detect-dark-mode\"],\"state\":[32],\"sanitizedBody\":[32],\"styles\":[32],\"viewEmailElement\":[32],\"hoistedFontURLs\":[32]},[[9,\"resize\",\"handleScroll\"]],{\"message\":[\"messageChanged\"],\"viewEmailElement\":[\"viewEmailElementChanged\"]}]]],[\"reply-all-icon\",[[2,\"reply-all-icon\",{\"width\":[1],\"height\":[1]}]]],[\"reply-icon\",[[2,\"reply-icon\",{\"width\":[1],\"height\":[1]}]]],[\"sent-icon\",[[2,\"sent-icon\",{\"width\":[1],\"height\":[1]}]]],[\"spam-icon\",[[2,\"spam-icon\",{\"width\":[1],\"height\":[1]}]]],[\"star-icon\",[[2,\"star-icon\",{\"width\":[1],\"height\":[1]}]]],[\"trash-icon\",[[2,\"trash-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-availability-picker\",[[65,\"nylas-availability-picker\",{\"selectedConfiguration\":[16],\"openHours\":[16],\"name\":[1],\"defaultTimezone\":[1,\"default-timezone\"],\"schedule\":[32],\"timezone\":[32],\"overlapDays\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"],[0,\"timeChange\",\"setTime\"],[0,\"formError\",\"setFormError\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"configChangedHandler\"],\"schedule\":[\"scheduleChanged\"]}]]],[\"nylas-location-component\",[[65,\"nylas-location-component\",{\"name\":[1],\"selectedConfiguration\":[16],\"eventLocation\":[1,\"event-location\"],\"location\":[32],\"selectedLocationOption\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"],\"eventLocation\":[\"eventLocationChangedHandler\"]}]]],[\"nylas-limit-future-bookings\",[[65,\"nylas-limit-future-bookings\",{\"selectedConfiguration\":[16],\"availableDaysInFuture\":[2,\"available-days-in-future\"],\"name\":[1],\"selectedNumber\":[32],\"selectedPeriod\":[32]},[[0,\"timePeriodChanged\",\"timePeriodChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"],\"availableDaysInFuture\":[\"availableDaysInFutureChanged\"]}]]],[\"nylas-min-cancellation-notice\",[[65,\"nylas-min-cancellation-notice\",{\"selectedConfiguration\":[16],\"minCancellationNotice\":[2,\"min-cancellation-notice\"],\"name\":[1],\"selectedNumber\":[32],\"selectedPeriod\":[32]},[[0,\"timePeriodChanged\",\"timePeriodChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"],\"availableDaysInFuture\":[\"availableDaysInFutureChanged\"]}]]],[\"nylas-booking-calendar-picker\",[[65,\"nylas-booking-calendar-picker\",{\"calendars\":[16],\"currentUser\":[16],\"name\":[1],\"defaultBookingCalendar\":[1,\"default-booking-calendar\"],\"selectedCalendar\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"]}]]],[\"nylas-calendar-picker\",[[65,\"nylas-calendar-picker\",{\"calendars\":[16],\"currentUser\":[16],\"name\":[1],\"defaultSelectedCalendars\":[16],\"selectedCalendars\":[32]},[[0,\"selectedOptionsChanged\",\"selectedOptionsChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"]}]]],[\"nylas-event-duration\",[[65,\"nylas-event-duration\",{\"selectedConfiguration\":[16],\"name\":[1],\"eventDurationMinutes\":[2,\"event-duration-minutes\"],\"duration\":[32],\"durationMinutes\":[32],\"durationIncrement\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"],\"durationMinutes\":[\"durationMinutesChangedHandler\"]}]]],[\"nylas-buffer-time\",[[65,\"nylas-buffer-time\",{\"name\":[1],\"buffer\":[16],\"selectedBeforeBufferTime\":[32],\"selectedAfterBufferTime\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"name\":[\"elementNameChangedHandler\"]}]]],[\"nylas-event-description\",[[65,\"nylas-event-description\",{\"selectedConfiguration\":[16],\"eventDescription\":[1,\"event-description\"],\"name\":[1],\"description\":[32]},null,{\"name\":[\"elementNameChangedHandler\"],\"selectedConfiguration\":[\"selectedConfigurationChangedHandler\"]}]]],[\"nylas-event-title\",[[65,\"nylas-event-title\",{\"selectedConfiguration\":[16],\"eventTitle\":[1,\"event-title\"],\"name\":[1],\"showTokens\":[32],\"availableTokens\":[32],\"filteredTokens\":[32],\"ariaActivedescendant\":[32],\"currentWord\":[32],\"validationError\":[32]},[[8,\"formSubmitted\",\"formSubmittedHandler\"]],{\"name\":[\"elementNameChangedHandler\"],\"ariaActivedescendant\":[\"ariaActivedescendantChangedHandler\"],\"selectedConfiguration\":[\"configChangedHandler\"]}]]],[\"nylas-event-info\",[[65,\"nylas-event-info\"]]],[\"nylas-event-limits\",[[65,\"nylas-event-limits\"]]],[\"bold-icon\",[[2,\"bold-icon\",{\"width\":[1],\"height\":[1]}]]],[\"calendar-check-icon\",[[2,\"calendar-check-icon\",{\"width\":[1],\"height\":[1]}]]],[\"calendar-info-icon\",[[2,\"calendar-info-icon\",{\"width\":[1],\"height\":[1]}]]],[\"calendar-patterns-icon\",[[2,\"calendar-patterns-icon\",{\"width\":[1],\"height\":[1]}]]],[\"checkmark-circle-icon\",[[2,\"checkmark-circle-icon\",{\"width\":[1],\"height\":[1]}]]],[\"flow-icon\",[[2,\"flow-icon\",{\"width\":[1],\"height\":[1]}]]],[\"italic-icon\",[[2,\"italic-icon\",{\"width\":[1],\"height\":[1]}]]],[\"play-icon\",[[2,\"play-icon\",{\"width\":[1],\"height\":[1]}]]],[\"refresh-icon\",[[2,\"refresh-icon\",{\"width\":[1],\"height\":[1]}]]],[\"stop-icon\",[[2,\"stop-icon\",{\"width\":[1],\"height\":[1]}]]],[\"translate-icon\",[[2,\"translate-icon\",{\"width\":[1],\"height\":[1]}]]],[\"underline-icon\",[[2,\"underline-icon\",{\"width\":[1],\"height\":[1]}]]],[\"warning-icon\",[[2,\"warning-icon\",{\"width\":[1],\"height\":[1]}]]],[\"multi-select-dropdown\",[[1,\"multi-select-dropdown\",{\"name\":[1],\"label\":[1],\"options\":[16],\"availableOptions\":[32],\"isOpen\":[32],\"ariaActivedescendant\":[32],\"shouldFocusFirstOption\":[32]},[[6,\"click\",\"handleOutsideClick\"]]]]],[\"add-circle-icon\",[[2,\"add-circle-icon\",{\"width\":[1],\"height\":[1]}]]],[\"button-component\",[[6,\"button-component\",{\"variant\":[1],\"disabled\":[4],\"type\":[1],\"clickHandler\":[16],\"mouseOverHandler\":[16],\"mouseOutHandler\":[16],\"focusHandler\":[16],\"blurHandler\":[16]}]]],[\"calendar-cancel-icon\",[[2,\"calendar-cancel-icon\",{\"width\":[1],\"height\":[1]}]]],[\"location-icon\",[[2,\"location-icon\",{\"width\":[1],\"height\":[1]}]]],[\"location-off-icon\",[[2,\"location-off-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-time-window-picker\",[[1,\"nylas-time-window-picker\",{\"time\":[1],\"minimumStartTime\":[1,\"minimum-start-time\"],\"placeholder\":[1],\"name\":[1],\"hasError\":[4,\"has-error\"],\"err\":[32],\"showTimes\":[32],\"ariaActivedescendant\":[32],\"times\":[32],\"shouldAutoScroll\":[32]},[[4,\"click\",\"handleOutsideClick\"]],{\"minimumStartTime\":[\"minimumStartTimeChangedHandler\"]}]]],[\"time-period-selector\",[[2,\"time-period-selector\",{\"timePeriods\":[16],\"defaultSelectedPeriod\":[1,\"default-selected-period\"],\"defaultSelectedNumber\":[2,\"default-selected-number\"],\"selectedPeriod\":[32],\"selectedNumber\":[32],\"numberOptions\":[32],\"timePeriodOptions\":[32]},[[0,\"selectedOptionChanged\",\"selectedOptionChangedHandler\"]],{\"defaultSelectedPeriod\":[\"defaultSelectedPeriodChangedHandler\"],\"defaultSelectedNumber\":[\"defaultSelectedNumberChangedHandler\"],\"timePeriods\":[\"timePeriodsChangedHandler\"]}]]],[\"calendar-icon\",[[2,\"calendar-icon\",{\"width\":[1],\"height\":[1]}]]],[\"nylas-form-card\",[[65,\"nylas-form-card\"]]],[\"loading-icon\",[[1,\"loading-icon\",{\"width\":[1],\"height\":[1]}]]],[\"globe-icon\",[[2,\"globe-icon\",{\"width\":[1],\"height\":[1]}]]],[\"close-icon\",[[2,\"close-icon\",{\"width\":[1],\"height\":[1]}]]],[\"info-icon\",[[2,\"info-icon\",{\"width\":[1],\"height\":[1]}]]],[\"tooltip-component\",[[1,\"tooltip-component\",{\"position\":[1]}]]],[\"search-icon\",[[2,\"search-icon\",{\"width\":[1],\"height\":[1]}]]],[\"chevron-icon\",[[2,\"chevron-icon\",{\"width\":[1],\"height\":[1]}]]],[\"select-dropdown\",[[1,\"select-dropdown\",{\"name\":[1],\"options\":[16],\"defaultSelectedOption\":[16],\"withSearch\":[4,\"with-search\"],\"pluralizedLabel\":[1,\"pluralized-label\"],\"selectedOption\":[32],\"isOpen\":[32],\"searchValue\":[32],\"filteredOptions\":[32],\"ariaActivedescendant\":[32]},[[6,\"click\",\"handleOutsideClick\"]],{\"options\":[\"optionsChangedHandler\"],\"defaultSelectedOption\":[\"defaultSelectedOptionChangedHandler\"]}]]]]"), options);
51
51
  });
52
52
 
53
53
  //# sourceMappingURL=nylas-web-elements.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NylasIdentityRequestWrapper","constructor","session","this","defaultAuthArgs","setActiveGrantId","grantId","activeGrantId","request","method","path","body","headers","response","fetch","Headers","undefined","isMultiAccount","grant_id","Error","dataResponse","error","message","String","currentUser","idToken","getProfile","id","sub","email","name","authenticationUrl","authArgs","args","auth","setDefaultAuthArgs"],"sources":["src/common/nylas-api-request.ts"],"sourcesContent":["import { dataResponse } from '@/utils/utils';\nimport type { NylasSessions } from '@nylas/identity';\nimport { DataResponseReturnType } from './types';\n\n/**\n * Arguments for making a request to the Nylas API.\n */\nexport type NylasRequestArgs = {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: any;\n headers?: Record<string, string>;\n};\n\n/**\n * A model representing a user in the Nylas Identity system.\n */\nexport type User = {\n id: string;\n email: string;\n name?: string;\n};\n\n/**\n * Arguments for authenticating a user with the Nylas Identity system.\n */\nexport type AuthArgs = {\n provider?: string;\n scope?: Array<string>;\n loginHint?: string;\n includeGrantScopes?: boolean;\n prompt?: string;\n metadata?: string;\n state?: string;\n};\n\n/**\n * Interface for making requests to the Nylas API.\n *\n * This is an abstract class that is meant to be implemented by customers to provide their own\n * implementation of making requests to the Nylas API. This allows customers to use their own\n * authentication mechanism, or to use a different HTTP client library.\n */\nexport abstract class NylasApiRequest {\n /**\n * This method should make an authenticated request to the Nylas API.\n * Note: It should not throw an error if the request fails, but should return an object with the error\n * information as part of the tuple returned.\n * @param args NylasRequestArgs\n */\n abstract request<T = any>(args: NylasRequestArgs): Promise<DataResponseReturnType<T>>;\n\n /**\n * This method should return the current user's information.\n */\n\n abstract currentUser(): Promise<User | null>;\n\n /**\n * This method should set the default authentication arguments to use when authenticating the user.\n */\n abstract setDefaultAuthArgs(authArgs: AuthArgs): void;\n\n /**\n * This method should return the URL to redirect the user to for authentication.\n */\n abstract authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined>;\n}\n\n/**\n * A wrapper around the Nylas Identity session that implements the NylasApiRequest interface.\n * This class is used by the Nylas Web Elements to make requests to the Nylas API if no custom\n * implementation of NylasApiRequest is provided.\n */\nexport class NylasIdentityRequestWrapper implements NylasApiRequest {\n /**\n * The Nylas Identity session instance.\n */\n private session: NylasSessions;\n\n /**\n * The grant_id to use for requests, if there is multi-account support\n * enabled in the Nylas Identity settings.\n */\n private activeGrantId?: string;\n\n /**\n * The default authentication arguments to use when authenticating the user.\n */\n private defaultAuthArgs: AuthArgs = {};\n\n /**\n * Constructor for the NylasIdentityRequestWrapper class.\n * @param session The Nylas Identity session instance.\n */\n constructor(session: NylasSessions) {\n this.session = session;\n }\n\n /**\n * This method sets the grant_id to use for requests.\n * This is used when there is multi-account support enabled in the Nylas Identity settings.\n *\n * @param grantId\n */\n setActiveGrantId(grantId: string) {\n this.activeGrantId = grantId;\n }\n\n /**\n * This method makes a request to the Nylas API, using the Nylas Identity's fetch method.\n *\n * The `grants/me/` prefix is added because all requests made from the browser to the Nylas API\n * must be made on behalf of the currently logged in user with a valid access token.\n *\n * @param NylasRequestArgs\n * @returns Promise<[T | null, NylasErrorResponse['error'] | null]>\n */\n async request<T>({ method, path, body, headers }: NylasRequestArgs): Promise<DataResponseReturnType<T>> {\n try {\n const response = await this.session.fetch(`grants/me/${path}`, {\n method,\n headers: headers ? new Headers(headers) : undefined,\n body,\n ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),\n });\n\n // Sometimes the Nylas identity session fetch method returns undefined.\n // Possibly due to CORS issues. In this case, we throw an error.\n if (typeof response === 'undefined') {\n throw new Error('Response is undefined');\n }\n\n return dataResponse(response as T);\n } catch (error) {\n return dataResponse(null as T, {\n message: String(error),\n });\n }\n }\n\n /**\n * This method returns the current (logged in) user's information.\n * If the user is not logged in, it returns null.\n * @returns Promise<User | null>\n */\n async currentUser(): Promise<User | null> {\n const grantId = this.session.isMultiAccount() ? this.activeGrantId : undefined;\n const idToken = await this.session.getProfile(grantId);\n if (!idToken) {\n return null;\n }\n\n return {\n id: idToken.sub,\n email: idToken.email,\n name: idToken.name,\n };\n }\n\n /**\n * This method returns the URL to redirect the user to for authentication.\n * @param authConfig authArgs\n * @returns Promise<string | undefined>\n */\n async authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined> {\n let args = this.defaultAuthArgs || {};\n if (authArgs) {\n args = { ...args, ...authArgs };\n }\n return this.session.auth(args);\n }\n\n /**\n * This method sets the default authentication arguments to use when authenticating the user.\n * @param authArgs authArgs\n */\n setDefaultAuthArgs(authArgs: AuthArgs) {\n this.defaultAuthArgs = authArgs;\n }\n}\n"],"mappings":"0CA0EaA,EAqBX,WAAAC,CAAYC,GANJC,KAAAC,gBAA4B,GAOlCD,KAAKD,QAAUA,C,CASjB,gBAAAG,CAAiBC,GACfH,KAAKI,cAAgBD,C,CAYvB,aAAME,EAAWC,OAAEA,EAAMC,KAAEA,EAAIC,KAAEA,EAAIC,QAAEA,IACrC,IACE,MAAMC,QAAiBV,KAAKD,QAAQY,MAAM,aAAaJ,IAAQ,CAC7DD,SACAG,QAASA,EAAU,IAAIG,QAAQH,GAAWI,UAC1CL,UACIR,KAAKD,QAAQe,kBAAoBd,KAAKI,cAAgB,CAAEW,SAAUf,KAAKI,eAAkB,KAK/F,UAAWM,IAAa,YAAa,CACnC,MAAM,IAAIM,MAAM,wB,CAGlB,OAAOC,EAAaP,E,CACpB,MAAOQ,GACP,OAAOD,EAAa,KAAW,CAC7BE,QAASC,OAAOF,I,EAUtB,iBAAMG,GACJ,MAAMlB,EAAUH,KAAKD,QAAQe,iBAAmBd,KAAKI,cAAgBS,UACrE,MAAMS,QAAgBtB,KAAKD,QAAQwB,WAAWpB,GAC9C,IAAKmB,EAAS,CACZ,OAAO,I,CAGT,MAAO,CACLE,GAAIF,EAAQG,IACZC,MAAOJ,EAAQI,MACfC,KAAML,EAAQK,K,CASlB,uBAAMC,CAAkBC,GACtB,IAAIC,EAAO9B,KAAKC,iBAAmB,GACnC,GAAI4B,EAAU,CACZC,EAAO,IAAKA,KAASD,E,CAEvB,OAAO7B,KAAKD,QAAQgC,KAAKD,E,CAO3B,kBAAAE,CAAmBH,GACjB7B,KAAKC,gBAAkB4B,C"}
1
+ {"version":3,"names":["NylasIdentityRequestWrapper","constructor","session","this","defaultAuthArgs","setActiveGrantId","grantId","activeGrantId","request","method","path","body","headers","response","fetch","Headers","undefined","isMultiAccount","grant_id","Error","dataResponse","error","message","String","currentUser","idToken","getProfile","id","sub","email","name","authenticationUrl","authArgs","args","auth","setDefaultAuthArgs"],"sources":["src/common/nylas-api-request.ts"],"sourcesContent":["import { dataResponse } from '@/utils/utils';\nimport type { NylasSessions } from '@nylas/identity';\nimport { DataResponseReturnType } from './types';\n\n/**\n * Arguments for making a request to the Nylas API.\n */\nexport type NylasRequestArgs = {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n body?: any;\n headers?: Record<string, string>;\n};\n\n/**\n * A model representing a user in the Nylas Identity system.\n */\nexport type User = {\n id: string;\n email: string;\n name?: string;\n};\n\n/**\n * Arguments for authenticating a user with the Nylas Identity system.\n */\nexport type AuthArgs = {\n /**\n * The provider of the user's email address.\n */\n provider?: string;\n /**\n * A list of permission scopes for the provider.\n */\n scope?: Array<string>;\n /**\n * The login hint associated with the user.\n */\n loginHint?: string;\n /**\n * Whether to include grant scopes in the auth exchange.\n */\n includeGrantScopes?: boolean;\n prompt?: string;\n metadata?: string;\n state?: string;\n};\n\n/**\n * Interface for making requests to the Nylas API.\n *\n * This is an abstract class that is meant to be implemented by customers to provide their own\n * implementation of making requests to the Nylas API. This allows customers to use their own\n * authentication mechanism, or to use a different HTTP client library.\n */\nexport abstract class NylasApiRequest {\n /**\n * This method should make an authenticated request to the Nylas API.\n * Note: It should not throw an error if the request fails, but should return an object with the error\n * information as part of the tuple returned.\n * @param args NylasRequestArgs\n */\n abstract request<T = any>(args: NylasRequestArgs): Promise<DataResponseReturnType<T>>;\n\n /**\n * This method should return the current user's information.\n */\n\n abstract currentUser(): Promise<User | null>;\n\n /**\n * This method should set the default authentication arguments to use when authenticating the user.\n */\n abstract setDefaultAuthArgs(authArgs: AuthArgs): void;\n\n /**\n * This method should return the URL to redirect the user to for authentication.\n */\n abstract authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined>;\n}\n\n/**\n * A wrapper around the Nylas Identity session that implements the NylasApiRequest interface.\n * This class is used by the Nylas Web Elements to make requests to the Nylas API if no custom\n * implementation of NylasApiRequest is provided.\n */\nexport class NylasIdentityRequestWrapper implements NylasApiRequest {\n /**\n * The Nylas Identity session instance.\n */\n private session: NylasSessions;\n\n /**\n * The grant_id to use for requests, if there is multi-account support\n * enabled in the Nylas Identity settings.\n */\n private activeGrantId?: string;\n\n /**\n * The default authentication arguments to use when authenticating the user.\n */\n private defaultAuthArgs: AuthArgs = {};\n\n /**\n * Constructor for the NylasIdentityRequestWrapper class.\n * @param session The Nylas Identity session instance.\n */\n constructor(session: NylasSessions) {\n this.session = session;\n }\n\n /**\n * This method sets the grant_id to use for requests.\n * This is used when there is multi-account support enabled in the Nylas Identity settings.\n *\n * @param grantId\n */\n setActiveGrantId(grantId: string) {\n this.activeGrantId = grantId;\n }\n\n /**\n * This method makes a request to the Nylas API, using the Nylas Identity's fetch method.\n *\n * The `grants/me/` prefix is added because all requests made from the browser to the Nylas API\n * must be made on behalf of the currently logged in user with a valid access token.\n *\n * @param NylasRequestArgs\n * @returns Promise<[T | null, NylasErrorResponse['error'] | null]>\n */\n async request<T>({ method, path, body, headers }: NylasRequestArgs): Promise<DataResponseReturnType<T>> {\n try {\n const response = await this.session.fetch(`grants/me/${path}`, {\n method,\n headers: headers ? new Headers(headers) : undefined,\n body,\n ...(this.session.isMultiAccount() && this.activeGrantId ? { grant_id: this.activeGrantId } : {}),\n });\n\n // Sometimes the Nylas identity session fetch method returns undefined.\n // Possibly due to CORS issues. In this case, we throw an error.\n if (typeof response === 'undefined') {\n throw new Error('Response is undefined');\n }\n\n return dataResponse(response as T);\n } catch (error) {\n return dataResponse(null as T, {\n message: String(error),\n });\n }\n }\n\n /**\n * This method returns the current (logged in) user's information.\n * If the user is not logged in, it returns null.\n * @returns Promise<User | null>\n */\n async currentUser(): Promise<User | null> {\n const grantId = this.session.isMultiAccount() ? this.activeGrantId : undefined;\n const idToken = await this.session.getProfile(grantId);\n if (!idToken) {\n return null;\n }\n\n return {\n id: idToken.sub,\n email: idToken.email,\n name: idToken.name,\n };\n }\n\n /**\n * This method returns the URL to redirect the user to for authentication.\n * @param authConfig authArgs\n * @returns Promise<string | undefined>\n */\n async authenticationUrl(authArgs?: AuthArgs): Promise<string | undefined> {\n let args = this.defaultAuthArgs || {};\n if (authArgs) {\n args = { ...args, ...authArgs };\n }\n return this.session.auth(args);\n }\n\n /**\n * This method sets the default authentication arguments to use when authenticating the user.\n * @param authArgs authArgs\n */\n setDefaultAuthArgs(authArgs: AuthArgs) {\n this.defaultAuthArgs = authArgs;\n }\n}\n"],"mappings":"0CAsFaA,EAqBX,WAAAC,CAAYC,GANJC,KAAAC,gBAA4B,GAOlCD,KAAKD,QAAUA,C,CASjB,gBAAAG,CAAiBC,GACfH,KAAKI,cAAgBD,C,CAYvB,aAAME,EAAWC,OAAEA,EAAMC,KAAEA,EAAIC,KAAEA,EAAIC,QAAEA,IACrC,IACE,MAAMC,QAAiBV,KAAKD,QAAQY,MAAM,aAAaJ,IAAQ,CAC7DD,SACAG,QAASA,EAAU,IAAIG,QAAQH,GAAWI,UAC1CL,UACIR,KAAKD,QAAQe,kBAAoBd,KAAKI,cAAgB,CAAEW,SAAUf,KAAKI,eAAkB,KAK/F,UAAWM,IAAa,YAAa,CACnC,MAAM,IAAIM,MAAM,wB,CAGlB,OAAOC,EAAaP,E,CACpB,MAAOQ,GACP,OAAOD,EAAa,KAAW,CAC7BE,QAASC,OAAOF,I,EAUtB,iBAAMG,GACJ,MAAMlB,EAAUH,KAAKD,QAAQe,iBAAmBd,KAAKI,cAAgBS,UACrE,MAAMS,QAAgBtB,KAAKD,QAAQwB,WAAWpB,GAC9C,IAAKmB,EAAS,CACZ,OAAO,I,CAGT,MAAO,CACLE,GAAIF,EAAQG,IACZC,MAAOJ,EAAQI,MACfC,KAAML,EAAQK,K,CASlB,uBAAMC,CAAkBC,GACtB,IAAIC,EAAO9B,KAAKC,iBAAmB,GACnC,GAAI4B,EAAU,CACZC,EAAO,IAAKA,KAASD,E,CAEvB,OAAO7B,KAAKD,QAAQgC,KAAKD,E,CAO3B,kBAAAE,CAAmBH,GACjB7B,KAAKC,gBAAkB4B,C"}