@nylas/web-elements 2.2.3 → 2.2.4

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 (286) hide show
  1. package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +6 -6
  2. package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +8 -4
  3. package/dist/cjs/{abstract-provider-DgXx6GdP.js → abstract-provider-zsdLocfY.js} +3 -3
  4. package/dist/cjs/{abstract-provider-DgXx6GdP.js.map → abstract-provider-zsdLocfY.js.map} +1 -1
  5. package/dist/cjs/calendar-agenda-fill-icon_37.cjs.entry.js +2 -2
  6. package/dist/cjs/checkbox-group_4.cjs.entry.js +3 -3
  7. package/dist/cjs/checkmark-icon_15.cjs.entry.js +2 -2
  8. package/dist/cjs/{customParseFormat-Bdpj2-4E.js → customParseFormat-C-iBDSmX.js} +3 -3
  9. package/dist/cjs/{customParseFormat-Bdpj2-4E.js.map → customParseFormat-C-iBDSmX.js.map} +1 -1
  10. package/dist/cjs/google-logo-icon_6.cjs.entry.js +6 -6
  11. package/dist/cjs/index.cjs.js +2 -2
  12. package/dist/cjs/input-component.cjs.entry.js +1 -1
  13. package/dist/cjs/input-dropdown_2.cjs.entry.js +1 -1
  14. package/dist/cjs/multi-select-dropdown.cjs.entry.js +1 -1
  15. package/dist/cjs/{nylas-api-request-DJrUeZUS.js → nylas-api-request-NWvuBdgU.js} +3 -3
  16. package/dist/cjs/{nylas-api-request-DJrUeZUS.js.map → nylas-api-request-NWvuBdgU.js.map} +1 -1
  17. package/dist/cjs/nylas-booked-event-card_11.cjs.entry.js +2 -2
  18. package/dist/cjs/nylas-date-component_2.cjs.entry.js +2 -2
  19. package/dist/cjs/nylas-form-card.cjs.entry.js +2 -2
  20. package/dist/cjs/nylas-notification_2.cjs.entry.js +1 -1
  21. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +5 -5
  22. package/dist/cjs/nylas-scheduling.cjs.entry.js +5 -5
  23. package/dist/cjs/{register-component-BUZgs2ll.js → register-component-CdldTaNr.js} +3 -3
  24. package/dist/cjs/{register-component-BUZgs2ll.js.map → register-component-CdldTaNr.js.map} +1 -1
  25. package/dist/cjs/textarea-component.cjs.entry.js +1 -1
  26. package/dist/cjs/{utils-CwHkARFg.js → utils-BaL-chu7.js} +10 -3
  27. package/dist/{esm/utils-DnxlJ1jl.js.map → cjs/utils-BaL-chu7.js.map} +1 -1
  28. package/dist/collection/utils/utils.js +8 -1
  29. package/dist/collection/utils/utils.js.map +1 -1
  30. package/dist/components/index.js +1 -1
  31. package/dist/components/input-component.js +1 -1
  32. package/dist/components/input-image-url.js +1 -1
  33. package/dist/components/multi-select-dropdown.js +1 -1
  34. package/dist/components/nylas-additional-participants.js +1 -1
  35. package/dist/components/nylas-availability-picker.js +1 -1
  36. package/dist/components/nylas-booked-event-card.js +1 -1
  37. package/dist/components/nylas-booking-calendar-picker.js +1 -1
  38. package/dist/components/nylas-booking-confirmation-redirect.js +1 -1
  39. package/dist/components/nylas-booking-confirmation-type.js +1 -1
  40. package/dist/components/nylas-booking-form-config.js +1 -1
  41. package/dist/components/nylas-booking-form.js +1 -1
  42. package/dist/components/nylas-buffer-time.js +1 -1
  43. package/dist/components/nylas-calendar-picker.js +1 -1
  44. package/dist/components/nylas-cancel-booking-form.js +1 -1
  45. package/dist/components/nylas-cancellation-policy.js +1 -1
  46. package/dist/components/nylas-cancelled-event-card.js +1 -1
  47. package/dist/components/nylas-confirmation-email.js +1 -1
  48. package/dist/components/nylas-confirmed-event-card.js +1 -1
  49. package/dist/components/nylas-connected-calendars.js +1 -1
  50. package/dist/components/nylas-custom-booking-flow.js +1 -1
  51. package/dist/components/nylas-custom-event-slug.js +1 -1
  52. package/dist/components/nylas-customize-booking-settings.js +1 -1
  53. package/dist/components/nylas-date-component.js +1 -1
  54. package/dist/components/nylas-date-picker.js +1 -1
  55. package/dist/components/nylas-disable-emails.js +1 -1
  56. package/dist/components/nylas-editor-tabs-group.js +1 -1
  57. package/dist/components/nylas-editor-tabs.js +1 -1
  58. package/dist/components/nylas-event-calendar.js +1 -1
  59. package/dist/components/nylas-event-capacity.js +1 -1
  60. package/dist/components/nylas-event-description.js +1 -1
  61. package/dist/components/nylas-event-duration.js +1 -1
  62. package/dist/components/nylas-event-info.js +1 -1
  63. package/dist/components/nylas-event-limits.js +1 -1
  64. package/dist/components/nylas-event-location.js +1 -1
  65. package/dist/components/nylas-event-timeslot.js +1 -1
  66. package/dist/components/nylas-event-title.js +1 -1
  67. package/dist/components/nylas-feedback-form.js +1 -1
  68. package/dist/components/nylas-form-card.js +1 -1
  69. package/dist/components/nylas-limit-future-bookings.js +1 -1
  70. package/dist/components/nylas-list-configurations.js +1 -1
  71. package/dist/components/nylas-locale-switch.js +1 -1
  72. package/dist/components/nylas-min-booking-notice.js +1 -1
  73. package/dist/components/nylas-min-cancellation-notice.js +1 -1
  74. package/dist/components/nylas-notification.js +1 -1
  75. package/dist/components/nylas-organizer-confirmation-card.js +1 -1
  76. package/dist/components/nylas-page-name.js +1 -1
  77. package/dist/components/nylas-page-styling.js +1 -1
  78. package/dist/components/nylas-participant-booking-calendars.js +1 -1
  79. package/dist/components/nylas-participants-custom-availability.js +1 -1
  80. package/dist/components/nylas-reminder-emails.js +1 -1
  81. package/dist/components/nylas-reminder-time.js +1 -1
  82. package/dist/components/nylas-scheduler-editor.js +55 -55
  83. package/dist/components/nylas-scheduling-method.js +1 -1
  84. package/dist/components/nylas-scheduling.js +21 -21
  85. package/dist/components/nylas-select-event-type.js +1 -1
  86. package/dist/components/nylas-selected-event-card.js +1 -1
  87. package/dist/components/nylas-specific-time-availability-picker.js +1 -1
  88. package/dist/components/nylas-time-window-picker.js +1 -1
  89. package/dist/components/nylas-timeslot-interval.js +1 -1
  90. package/dist/components/nylas-timeslot-picker.js +1 -1
  91. package/dist/components/{p-CURQD4Ll.js → p--1ZpL3Z_.js} +8 -8
  92. package/dist/components/{p-CURQD4Ll.js.map → p--1ZpL3Z_.js.map} +1 -1
  93. package/dist/components/{p-DmZgeeQD.js → p--EFSc8kQ.js} +4 -4
  94. package/dist/components/{p-DmZgeeQD.js.map → p--EFSc8kQ.js.map} +1 -1
  95. package/dist/components/{p-dosNJKV2.js → p-B1vZbLyd.js} +4 -4
  96. package/dist/components/{p-dosNJKV2.js.map → p-B1vZbLyd.js.map} +1 -1
  97. package/dist/components/{p-DM4H8E4y.js → p-B3Mdq6rL.js} +4 -4
  98. package/dist/components/{p-DM4H8E4y.js.map → p-B3Mdq6rL.js.map} +1 -1
  99. package/dist/components/{p-DGxaBD9x.js → p-B7v1iPw1.js} +3 -3
  100. package/dist/components/{p-DGxaBD9x.js.map → p-B7v1iPw1.js.map} +1 -1
  101. package/dist/components/{p-DEy4gcRj.js → p-B86z20mN.js} +41 -41
  102. package/dist/components/{p-DEy4gcRj.js.map → p-B86z20mN.js.map} +1 -1
  103. package/dist/components/{p-CB2_BMlD.js → p-B9BW5SHF.js} +6 -6
  104. package/dist/components/{p-CB2_BMlD.js.map → p-B9BW5SHF.js.map} +1 -1
  105. package/dist/components/{p-BuZyzxqv.js → p-B9uipWU2.js} +4 -4
  106. package/dist/components/{p-BuZyzxqv.js.map → p-B9uipWU2.js.map} +1 -1
  107. package/dist/components/{p-DSO080eR.js → p-BDayBBhB.js} +5 -5
  108. package/dist/components/{p-DSO080eR.js.map → p-BDayBBhB.js.map} +1 -1
  109. package/dist/components/{p-BEAD1juA.js → p-BFNg3bKj.js} +5 -5
  110. package/dist/components/{p-BEAD1juA.js.map → p-BFNg3bKj.js.map} +1 -1
  111. package/dist/components/{p-CzJz0rnK.js → p-BI0Stv78.js} +17 -17
  112. package/dist/components/{p-CzJz0rnK.js.map → p-BI0Stv78.js.map} +1 -1
  113. package/dist/components/{p-D-2UWdRa.js → p-BKk2JkBe.js} +5 -5
  114. package/dist/components/{p-D-2UWdRa.js.map → p-BKk2JkBe.js.map} +1 -1
  115. package/dist/components/{p-C1-hLcxk.js → p-BQ1_MrWH.js} +3 -3
  116. package/dist/components/{p-C1-hLcxk.js.map → p-BQ1_MrWH.js.map} +1 -1
  117. package/dist/components/{p-D_R3qufs.js → p-BQIvfRRF.js} +3 -3
  118. package/dist/components/{p-D_R3qufs.js.map → p-BQIvfRRF.js.map} +1 -1
  119. package/dist/components/{p-mN6J_IWv.js → p-BV55-Kie.js} +5 -5
  120. package/dist/components/{p-mN6J_IWv.js.map → p-BV55-Kie.js.map} +1 -1
  121. package/dist/components/{p-CKuq2LL7.js → p-B_imcHCC.js} +5 -5
  122. package/dist/components/{p-CKuq2LL7.js.map → p-B_imcHCC.js.map} +1 -1
  123. package/dist/components/{p-CuHnb1-_.js → p-Bb0z-pD8.js} +5 -5
  124. package/dist/components/{p-CuHnb1-_.js.map → p-Bb0z-pD8.js.map} +1 -1
  125. package/dist/components/{p-5XVfomzJ.js → p-BdOvTsvK.js} +4 -4
  126. package/dist/components/{p-5XVfomzJ.js.map → p-BdOvTsvK.js.map} +1 -1
  127. package/dist/components/{p-DlaQufsy.js → p-Bm9KAv3a.js} +5 -5
  128. package/dist/components/{p-DlaQufsy.js.map → p-Bm9KAv3a.js.map} +1 -1
  129. package/dist/components/{p-DSSPyNIm.js → p-Br9o8ik9.js} +5 -5
  130. package/dist/components/{p-DSSPyNIm.js.map → p-Br9o8ik9.js.map} +1 -1
  131. package/dist/components/{p-Byz3JKQu.js → p-C5CEB4Wv.js} +4 -4
  132. package/dist/components/{p-Byz3JKQu.js.map → p-C5CEB4Wv.js.map} +1 -1
  133. package/dist/components/{p-C2yVHIMC.js → p-C8R_xU8K.js} +4 -4
  134. package/dist/components/{p-C2yVHIMC.js.map → p-C8R_xU8K.js.map} +1 -1
  135. package/dist/components/{p-BeD_Q4wQ.js → p-CEO6ZorI.js} +4 -4
  136. package/dist/components/{p-BeD_Q4wQ.js.map → p-CEO6ZorI.js.map} +1 -1
  137. package/dist/components/{p-BWZppI8r.js → p-CHDVqP3u.js} +5 -5
  138. package/dist/components/{p-BWZppI8r.js.map → p-CHDVqP3u.js.map} +1 -1
  139. package/dist/components/{p-2BdSZySU.js → p-CULO8bTo.js} +10 -3
  140. package/dist/components/{p-2BdSZySU.js.map → p-CULO8bTo.js.map} +1 -1
  141. package/dist/components/{p-Ci-3P4oO.js → p-Ce1kG2WA.js} +3 -3
  142. package/dist/components/{p-Ci-3P4oO.js.map → p-Ce1kG2WA.js.map} +1 -1
  143. package/dist/components/{p-DMDjzHug.js → p-ClSuoTwF.js} +7 -7
  144. package/dist/components/{p-DMDjzHug.js.map → p-ClSuoTwF.js.map} +1 -1
  145. package/dist/components/{p-B02Z2Glh.js → p-ClgCA2l0.js} +3 -3
  146. package/dist/components/{p-B02Z2Glh.js.map → p-ClgCA2l0.js.map} +1 -1
  147. package/dist/components/{p-CBysed0C.js → p-CrQflZZw.js} +8 -8
  148. package/dist/components/{p-CBysed0C.js.map → p-CrQflZZw.js.map} +1 -1
  149. package/dist/components/{p-Vc2ZLSUH.js → p-Cs-xmxxD.js} +4 -4
  150. package/dist/components/{p-Vc2ZLSUH.js.map → p-Cs-xmxxD.js.map} +1 -1
  151. package/dist/components/{p-CKsgq31s.js → p-Cs0aVgFp.js} +6 -6
  152. package/dist/components/{p-CKsgq31s.js.map → p-Cs0aVgFp.js.map} +1 -1
  153. package/dist/components/{p-DZGwcMTu.js → p-CtNJhj7s.js} +3 -3
  154. package/dist/components/{p-DZGwcMTu.js.map → p-CtNJhj7s.js.map} +1 -1
  155. package/dist/components/{p-DjlPLeVk.js → p-Cvb13C1p.js} +4 -4
  156. package/dist/components/{p-DjlPLeVk.js.map → p-Cvb13C1p.js.map} +1 -1
  157. package/dist/components/{p-C16rvsMT.js → p-Cw7ajY2U.js} +4 -4
  158. package/dist/components/{p-C16rvsMT.js.map → p-Cw7ajY2U.js.map} +1 -1
  159. package/dist/components/{p-Cu74bJsj.js → p-D-TAjvsg.js} +6 -6
  160. package/dist/components/{p-Cu74bJsj.js.map → p-D-TAjvsg.js.map} +1 -1
  161. package/dist/components/{p-CHs824QK.js → p-D4-3Jhnx.js} +5 -5
  162. package/dist/components/{p-CHs824QK.js.map → p-D4-3Jhnx.js.map} +1 -1
  163. package/dist/components/{p-NvfvY9LE.js → p-D50fisuR.js} +5 -5
  164. package/dist/components/{p-NvfvY9LE.js.map → p-D50fisuR.js.map} +1 -1
  165. package/dist/components/{p-CKg1LT6_.js → p-D5apK1Vq.js} +4 -4
  166. package/dist/components/{p-CKg1LT6_.js.map → p-D5apK1Vq.js.map} +1 -1
  167. package/dist/components/{p-Dfd5wo37.js → p-D6dFiHrw.js} +4 -4
  168. package/dist/components/{p-Dfd5wo37.js.map → p-D6dFiHrw.js.map} +1 -1
  169. package/dist/components/{p-C6SF5Gq_.js → p-DAJXx2tg.js} +7 -7
  170. package/dist/components/{p-C6SF5Gq_.js.map → p-DAJXx2tg.js.map} +1 -1
  171. package/dist/components/{p-MX2k8GbG.js → p-DBRBbTgP.js} +3 -3
  172. package/dist/components/{p-MX2k8GbG.js.map → p-DBRBbTgP.js.map} +1 -1
  173. package/dist/components/{p-jbmfeNc8.js → p-DCM7ntGT.js} +5 -5
  174. package/dist/components/{p-jbmfeNc8.js.map → p-DCM7ntGT.js.map} +1 -1
  175. package/dist/components/{p-CmY1th_s.js → p-DNkQVYN2.js} +8 -8
  176. package/dist/components/{p-CmY1th_s.js.map → p-DNkQVYN2.js.map} +1 -1
  177. package/dist/components/{p-CLQqLmc2.js → p-DOSWGUBW.js} +4 -4
  178. package/dist/components/{p-CLQqLmc2.js.map → p-DOSWGUBW.js.map} +1 -1
  179. package/dist/components/{p-C9ADvO-t.js → p-DTpqylfB.js} +5 -5
  180. package/dist/components/{p-C9ADvO-t.js.map → p-DTpqylfB.js.map} +1 -1
  181. package/dist/components/{p-DMpwL-p1.js → p-DUV1Jj8E.js} +4 -4
  182. package/dist/components/{p-DMpwL-p1.js.map → p-DUV1Jj8E.js.map} +1 -1
  183. package/dist/components/{p-Dq6X5eqK.js → p-DWA-qoxj.js} +5 -5
  184. package/dist/components/{p-Dq6X5eqK.js.map → p-DWA-qoxj.js.map} +1 -1
  185. package/dist/components/{p-CPMSwD22.js → p-Dh07gHmd.js} +4 -4
  186. package/dist/components/{p-CPMSwD22.js.map → p-Dh07gHmd.js.map} +1 -1
  187. package/dist/components/{p-CFOX1cL3.js → p-DjX1ll1V.js} +4 -4
  188. package/dist/components/{p-CFOX1cL3.js.map → p-DjX1ll1V.js.map} +1 -1
  189. package/dist/components/{p-BEmFBKxz.js → p-DnoDC0Rk.js} +4 -4
  190. package/dist/components/{p-BEmFBKxz.js.map → p-DnoDC0Rk.js.map} +1 -1
  191. package/dist/components/{p-x0Q884CI.js → p-Dnw0IV6v.js} +3 -3
  192. package/dist/components/{p-x0Q884CI.js.map → p-Dnw0IV6v.js.map} +1 -1
  193. package/dist/components/{p-vvfFiGWj.js → p-DpEIiPGz.js} +5 -5
  194. package/dist/components/{p-vvfFiGWj.js.map → p-DpEIiPGz.js.map} +1 -1
  195. package/dist/components/{p-BnY2Hut1.js → p-DpkYFbEV.js} +5 -5
  196. package/dist/components/{p-BnY2Hut1.js.map → p-DpkYFbEV.js.map} +1 -1
  197. package/dist/components/{p--4oNPYSm.js → p-DtDGPXZR.js} +3 -3
  198. package/dist/components/{p--4oNPYSm.js.map → p-DtDGPXZR.js.map} +1 -1
  199. package/dist/components/{p-xh3aXihe.js → p-FoOzqqac.js} +4 -4
  200. package/dist/components/{p-xh3aXihe.js.map → p-FoOzqqac.js.map} +1 -1
  201. package/dist/components/{p-Dv7dtg64.js → p-JCwXrScM.js} +4 -4
  202. package/dist/components/{p-Dv7dtg64.js.map → p-JCwXrScM.js.map} +1 -1
  203. package/dist/components/{p-1rV-8ZUh.js → p-SPJ9n09E.js} +4 -4
  204. package/dist/components/{p-1rV-8ZUh.js.map → p-SPJ9n09E.js.map} +1 -1
  205. package/dist/components/{p-BtGEJFmy.js → p-Y0BOy8RT.js} +5 -5
  206. package/dist/components/{p-BtGEJFmy.js.map → p-Y0BOy8RT.js.map} +1 -1
  207. package/dist/components/{p-Dtd_Ib72.js → p-ZAV15ivS.js} +4 -4
  208. package/dist/components/{p-Dtd_Ib72.js.map → p-ZAV15ivS.js.map} +1 -1
  209. package/dist/components/{p-Br3ELPNn.js → p-b2NfdiFD.js} +7 -7
  210. package/dist/components/{p-Br3ELPNn.js.map → p-b2NfdiFD.js.map} +1 -1
  211. package/dist/components/{p-DcoRpHVy.js → p-cT1Q8Q-G.js} +3 -3
  212. package/dist/components/{p-DcoRpHVy.js.map → p-cT1Q8Q-G.js.map} +1 -1
  213. package/dist/components/{p-BWEpzVzc.js → p-do98tB-v.js} +49 -49
  214. package/dist/components/{p-BWEpzVzc.js.map → p-do98tB-v.js.map} +1 -1
  215. package/dist/components/{p-BnOrZCZZ.js → p-eeUTE5dj.js} +5 -5
  216. package/dist/components/{p-BnOrZCZZ.js.map → p-eeUTE5dj.js.map} +1 -1
  217. package/dist/components/{p-D3Env71G.js → p-y65kyIKd.js} +5 -5
  218. package/dist/components/{p-D3Env71G.js.map → p-y65kyIKd.js.map} +1 -1
  219. package/dist/components/textarea-component.js +1 -1
  220. package/dist/components/time-period-selector.js +1 -1
  221. package/dist/esm/{abstract-provider-Q7IKOl7h.js → abstract-provider-BB9roR3Q.js} +3 -3
  222. package/dist/esm/{abstract-provider-Q7IKOl7h.js.map → abstract-provider-BB9roR3Q.js.map} +1 -1
  223. package/dist/esm/calendar-agenda-fill-icon_37.entry.js +2 -2
  224. package/dist/esm/checkbox-group_4.entry.js +3 -3
  225. package/dist/esm/checkmark-icon_15.entry.js +2 -2
  226. package/dist/esm/{customParseFormat-gHKplwOp.js → customParseFormat-CjpPVRFa.js} +3 -3
  227. package/dist/esm/{customParseFormat-gHKplwOp.js.map → customParseFormat-CjpPVRFa.js.map} +1 -1
  228. package/dist/esm/google-logo-icon_6.entry.js +6 -6
  229. package/dist/esm/index.js +2 -2
  230. package/dist/esm/input-component.entry.js +1 -1
  231. package/dist/esm/input-dropdown_2.entry.js +1 -1
  232. package/dist/esm/multi-select-dropdown.entry.js +1 -1
  233. package/dist/esm/{nylas-api-request-Coaaqm1X.js → nylas-api-request-CbAsnDfU.js} +3 -3
  234. package/dist/esm/{nylas-api-request-Coaaqm1X.js.map → nylas-api-request-CbAsnDfU.js.map} +1 -1
  235. package/dist/esm/nylas-booked-event-card_11.entry.js +2 -2
  236. package/dist/esm/nylas-date-component_2.entry.js +2 -2
  237. package/dist/esm/nylas-form-card.entry.js +2 -2
  238. package/dist/esm/nylas-notification_2.entry.js +1 -1
  239. package/dist/esm/nylas-scheduler-editor.entry.js +5 -5
  240. package/dist/esm/nylas-scheduling.entry.js +5 -5
  241. package/dist/esm/{register-component-Bxz7u8ui.js → register-component-ocgdvMkV.js} +3 -3
  242. package/dist/esm/{register-component-Bxz7u8ui.js.map → register-component-ocgdvMkV.js.map} +1 -1
  243. package/dist/esm/textarea-component.entry.js +1 -1
  244. package/dist/esm/{utils-DnxlJ1jl.js → utils-C_2w_vhw.js} +10 -3
  245. package/dist/{cjs/utils-CwHkARFg.js.map → esm/utils-C_2w_vhw.js.map} +1 -1
  246. package/dist/nylas-web-elements/index.esm.js +1 -1
  247. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  248. package/dist/nylas-web-elements/{p-83fab90d.entry.js → p-188523a9.entry.js} +2 -2
  249. package/dist/nylas-web-elements/{p-dc3e8535.entry.js → p-219e3cc9.entry.js} +2 -2
  250. package/dist/nylas-web-elements/{p-3b6e4413.entry.js → p-2262d385.entry.js} +2 -2
  251. package/dist/nylas-web-elements/{p-2b2206aa.entry.js → p-2a10c747.entry.js} +2 -2
  252. package/dist/nylas-web-elements/{p-aa2b9589.entry.js → p-4d43c9b1.entry.js} +2 -2
  253. package/dist/nylas-web-elements/{p-9efadc84.entry.js → p-4ee0ae59.entry.js} +2 -2
  254. package/dist/nylas-web-elements/{p-74a6fce6.entry.js → p-5cb4f7d7.entry.js} +2 -2
  255. package/dist/nylas-web-elements/{p-2173b61a.entry.js → p-639a80ee.entry.js} +2 -2
  256. package/dist/nylas-web-elements/{p-84c9a2b6.entry.js → p-74891f9e.entry.js} +2 -2
  257. package/dist/nylas-web-elements/{p-B905HoVp.js → p-C5h3pVnq.js} +2 -2
  258. package/dist/nylas-web-elements/{p-B905HoVp.js.map → p-C5h3pVnq.js.map} +1 -1
  259. package/dist/nylas-web-elements/{p-DnxlJ1jl.js → p-C_2w_vhw.js} +2 -2
  260. package/dist/nylas-web-elements/{p-DnxlJ1jl.js.map → p-C_2w_vhw.js.map} +1 -1
  261. package/dist/nylas-web-elements/{p-Bq0zsHur.js → p-D6lQUyrh.js} +2 -2
  262. package/dist/nylas-web-elements/{p-Bq0zsHur.js.map → p-D6lQUyrh.js.map} +1 -1
  263. package/dist/nylas-web-elements/{p-hL_mOqrh.js → p-Dygm6M6b.js} +2 -2
  264. package/dist/nylas-web-elements/{p-hL_mOqrh.js.map → p-Dygm6M6b.js.map} +1 -1
  265. package/dist/nylas-web-elements/{p-e2ad4b2e.entry.js → p-ad78b292.entry.js} +2 -2
  266. package/dist/nylas-web-elements/{p-768e56a0.entry.js → p-d37b7367.entry.js} +2 -2
  267. package/dist/nylas-web-elements/{p-4eb6d084.entry.js → p-e3bdf91a.entry.js} +3 -3
  268. package/dist/nylas-web-elements/{p-f7fcae84.entry.js → p-e40b0d20.entry.js} +2 -2
  269. package/dist/nylas-web-elements/{p-1b2c854d.entry.js → p-f31106cf.entry.js} +2 -2
  270. package/dist/nylas-web-elements/{p-Cpf48kAH.js → p-mqq2iF4Q.js} +2 -2
  271. package/dist/nylas-web-elements/{p-Cpf48kAH.js.map → p-mqq2iF4Q.js.map} +1 -1
  272. package/package.json +1 -1
  273. /package/dist/nylas-web-elements/{p-83fab90d.entry.js.map → p-188523a9.entry.js.map} +0 -0
  274. /package/dist/nylas-web-elements/{p-dc3e8535.entry.js.map → p-219e3cc9.entry.js.map} +0 -0
  275. /package/dist/nylas-web-elements/{p-3b6e4413.entry.js.map → p-2262d385.entry.js.map} +0 -0
  276. /package/dist/nylas-web-elements/{p-2b2206aa.entry.js.map → p-2a10c747.entry.js.map} +0 -0
  277. /package/dist/nylas-web-elements/{p-aa2b9589.entry.js.map → p-4d43c9b1.entry.js.map} +0 -0
  278. /package/dist/nylas-web-elements/{p-9efadc84.entry.js.map → p-4ee0ae59.entry.js.map} +0 -0
  279. /package/dist/nylas-web-elements/{p-74a6fce6.entry.js.map → p-5cb4f7d7.entry.js.map} +0 -0
  280. /package/dist/nylas-web-elements/{p-2173b61a.entry.js.map → p-639a80ee.entry.js.map} +0 -0
  281. /package/dist/nylas-web-elements/{p-84c9a2b6.entry.js.map → p-74891f9e.entry.js.map} +0 -0
  282. /package/dist/nylas-web-elements/{p-e2ad4b2e.entry.js.map → p-ad78b292.entry.js.map} +0 -0
  283. /package/dist/nylas-web-elements/{p-768e56a0.entry.js.map → p-d37b7367.entry.js.map} +0 -0
  284. /package/dist/nylas-web-elements/{p-4eb6d084.entry.js.map → p-e3bdf91a.entry.js.map} +0 -0
  285. /package/dist/nylas-web-elements/{p-f7fcae84.entry.js.map → p-e40b0d20.entry.js.map} +0 -0
  286. /package/dist/nylas-web-elements/{p-1b2c854d.entry.js.map → p-f31106cf.entry.js.map} +0 -0
@@ -490,7 +490,14 @@ export function checkForMissingSlots(slots, host) {
490
490
  });
491
491
  }
492
492
  export function compactStringToUUIDs(compactString) {
493
- debug(`[nylas-scheduler] compactString: ${compactString}`);
493
+ try {
494
+ if (compactString !== decodeURIComponent(compactString)) {
495
+ compactString = decodeURIComponent(compactString);
496
+ }
497
+ }
498
+ catch (error) {
499
+ console.warn(error);
500
+ }
494
501
  let standardBase64 = compactString.replace(/-/g, '+').replace(/_/g, '/');
495
502
  while (standardBase64.length % 4) {
496
503
  standardBase64 += '=';
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAW,MAAM,OAAO,CAAC;AACvC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,iBAAiB,CAAC;AAEzB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,eAAe,GAAG;IACtB,UAAU,EAAE,UAAU,IAAI;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,KAAK,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAC7C,CAAC;AACD,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY;IAChE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC;AAGD,MAAM,UAAU,eAAe,CAAC,GAAQ;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,GAAG,EAAE,EAAE;QAClE,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,IAAW;IAClC,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3G,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,IAAW;IAClC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAI,UAAkB,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;QACpD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAElB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YACnD,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QAGN,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YACnD,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAoB;IAClD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AACrF,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,YAAyB,EAAE,UAAkB,EAAE,EAAE,eAAuB,CAAC,EAAE,MAAc,CAAC;IAC3H,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,MAAM,YAAY,GAAG,MAAM;SACxB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;SAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,CAAC;SAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IACvE,CAAC;SAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC;IACtG,CAAC;AACH,CAAC;AAGD,MAAM,SAAS,GAGV;IACH,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7B,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3B,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;IAClC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,EAAE;IAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACvD,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAW,EAAE,KAAW;IAChD,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;AACrI,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAc,EAAE,cAAoB,EAAE,WAAmB;IAEzF,MAAM,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAGvD,OAAO,CACL,kBAAkB,CAAC,IAAI,EAAE,KAAK,wBAAwB,CAAC,IAAI,EAAE;QAC7D,kBAAkB,CAAC,KAAK,EAAE,KAAK,wBAAwB,CAAC,KAAK,EAAE;QAC/D,kBAAkB,CAAC,IAAI,EAAE,KAAK,wBAAwB,CAAC,IAAI,EAAE,CAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAU,EAAE,WAAmB,EAAE,WAAmB,OAAO;IAE/F,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAW,EAAE,KAAW;IAClD,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,KAAK,GAAG,UAAU,CAAC;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3F,MAAM,kBAAkB,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAGzG,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,IAAI,OAAO,CAAC,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,SAAS,MAAM,CAAC,CAAC;IAC7E,IAAI,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGtC,MAAM,KAAK,GAAG,8BAA8B,CAAC;IAC7C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAElD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/D,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAe,EAAiB,EAAE;IACnE,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;AAC/C,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,EAAE;IAC5C,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,4EAA4E,CAAC;IAClG,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,EAAE;IAE7C,MAAM,KAAK,GAAG,8CAA8C,CAAC;IAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,OAA2B,IAAI;IACrE,IAAI,WAAW,GAAG,KAAK,EAAE,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAGD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAElD,IAAI,WAAW,CAAC;IAEhB,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAE1B,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,eAAe,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QAEN,WAAW,GAAG,WAAW,CAAC;IAC5B,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAK;IAC1C,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAG5B,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,aAAa,GAAG,EAAE,CAAC;IAGvB,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEpE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,aAAa,IAAI,GAAG,GAAG,SAAS,CAAC;IACnC,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,aAAa,IAAI,SAAS,CAAC;IAC7B,CAAC;IAED,aAAa,IAAI,GAAG,CAAC;IAGrB,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,IAAI,EAAE,EAAE,CAAC;QACnE,aAAa,IAAI,IAAI,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,aAAa,IAAI,mBAAmB,GAAG,GAAG,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,aAAa,IAAI,mBAAmB,CAAC;QACvC,CAAC;IACH,CAAC;IAGD,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;QAC1B,aAAa,IAAI,GAAG,CAAC;IACvB,CAAC;IACD,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;QAC1B,aAAa,IAAI,GAAG,CAAC;IACvB,CAAC;IAGD,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACpC,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACxC,aAAa,IAAI,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,aAAa,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,QAAgB;IACzD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IAEnD,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACjF,IAAI,KAAK,GAAG,YAAY,CAAC;IAGzB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAGvC,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;IACnB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAG3B,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAG7D,OAAO,GAAG,cAAc,IAAI,gBAAgB,GAAG,IAAI,EAAE,CAAC;AACxD,CAAC;AAGD,SAAS,aAAa,CAAC,OAAe;IAEpC,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,IAAI,KAAK,GAAG,YAAY,CAAC;IAEzB,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QAClD,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;SAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC3D,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAI;IAChC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;IACrC,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnE,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,IAAI,EAAE,GAAG,EAAE,CAAC;IAClF,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,EAAE,GAAG,EAAE,CAAC;IACpF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAO;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;IACvB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;IAG/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAG1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAG9E,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGrC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGhC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGrC,MAAM,cAAc,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElD,IAAI,cAAc;QAAE,OAAO,iBAAiB,CAAC;IAC7C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,mBAAmB,CAAC;IACrC,IAAI,YAAY;QAAE,OAAO,eAAe,CAAC;IAEzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,MAAM,UAAU,YAAY,CAAU,IAAO,EAAE,QAAkC,IAAI;IACnF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAQD,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAA+B;IAE5E,MAAM,YAAY,GAAG;QACnB,WAAW,EAAE,MAAM,EAAE,EAAE;QACvB,IAAI,EAAE,MAAM,EAAE,EAAE;QAChB,MAAM,EAAE,MAAM,EAAE,IAAI;KACrB,CAAC;IAGF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAK;IAErC,IACE,KAAK,CAAC,OAAO,GAAG,EAAE;QAClB,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QAC1C,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QAC5C,KAAK,CAAC,OAAO,GAAG,GAAG;QACnB,KAAK,CAAC,OAAO,KAAK,EAAE;QACpB,KAAK,CAAC,OAAO,KAAK,EAAE;QACpB,KAAK,CAAC,OAAO,KAAK,EAAE;QACpB,KAAK,CAAC,OAAO,KAAK,EAAE;QACpB,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC;QAC9C,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAC5C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,iBAAiB,GAAG;QACxB,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;KACJ,CAAC;IAEF,IAAI,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAS,EAAE,IAAI;IAClD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzB,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3B,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAAS,EAAE,OAAO;IACxD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC;IAC3D,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAI;IAC3B,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAM,EAAE,MAAM;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAExE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAErF,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAEnD,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBAChC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,cAAc,GAAG,IAAI,CAAC;oBACtB,OAAO,EAAE,GAAG,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;gBAChD,CAAC;gBACD,OAAO,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,CAAC,CAAC;aACD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;oBACrB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,OAAe;IAC7D,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;IAC3C,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,IAAI,CAAC,CAAC,QAAQ,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9H,OAAO,GAAG,KAAK,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAe,EAAE,IAAiB;IACrE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,cAAc,IAAI,IAAI,CAAoB,CAAC;QAC9F,MAAM,SAAS,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC;QAC/C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,kCAAkC,IAAI,IAAI,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,aAAqB;IACxD,KAAK,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;IAE3D,IAAI,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEzE,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,cAAc,IAAI,GAAG,CAAC;IACxB,CAAC;IAGD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAGD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAGlC,SAAS,gBAAgB,CAAC,UAAsB;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aAC/C,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7G,CAAC;IAGD,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAG3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACtC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACtC,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEzG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE;IACrB,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAE,EAAE;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;IAC9C,OAAO,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QACd,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAcF,MAAM,UAAU,aAAa,CAC3B,YAAoB,EACpB,MAAqE,EACrE,OAAgB,EAChB,aAA6B,EAC7B,cAAsB,KAAK;IAE3B,MAAM,UAAU,GAA4B;QAC1C,CAAC,EAAE,KAAK,CAAC,EAAE;QACX,CAAC,EAAE,KAAK,CAAC,EAAE;QACX,CAAC,EAAE,KAAK,CAAC,EAAE;QACX,CAAC,EAAE,KAAK,CAAC,EAAE;QACX,CAAC,EAAE,KAAK,CAAC,EAAE;QACX,CAAC,EAAE,KAAK,CAAC,EAAE;QACX,CAAC,EAAE,KAAK,CAAC,EAAE;KACZ,CAAC;IAGF,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,IAAI,KAAK,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,KAAK;gBACjB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,IAAI,KAAK,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,SAAS,EAAE,SAAS;gBACpB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,IAAI,KAAK,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,OAAO;gBACnB,SAAS,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC7C,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,IAAI,KAAK,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,SAAS,GACb,aAAa,CAAC,SAAS,KAAK,QAAQ;gBAClC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAyB,CAAY,CAAC;gBACnF,CAAC,CAAC,aAAa,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,eAAe;oBACvE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBACpC,CAAC,CAAC,SAAS,CAAC;YAElB,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,KAAK,SAAS,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnJ,OAAO,IAAI,KAAK,CAAC;gBACf,IAAI,EAAE;oBACJ,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,aAAa,CAAC,SAAS,IAAI,OAAO,CAAC;gBACrC,QAAQ,EAAE,aAAa,CAAC,QAAQ,IAAI,CAAC;gBACrC,SAAS;gBACT,UAAU;gBACV,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAK,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC7G,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjF,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,QAAkC;IAElC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,SAAsB,CAAC;IAC3B,IAAI,OAAoB,CAAC;IAEzB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,CAAC;YAEZ,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEpC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM;QACR,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YAEX,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM;QACR,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;QAC3B,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;KACxB,CAAC;AACJ,CAAC","sourcesContent":["import { DataResponseError, DataResponseReturnType } from '@/common/types';\nimport { Configuration, EmailName, Message } from '@nylas/core';\nimport dayjs from 'dayjs';\nimport { RRule, Weekday } from 'rrule';\nimport i18next from '@/utils/i18n';\nimport sanitizeHtml from 'sanitize-html';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/es';\nimport 'dayjs/locale/de';\nimport 'dayjs/locale/nl';\nimport 'dayjs/locale/sv';\nimport 'dayjs/locale/ja';\nimport 'dayjs/locale/zh-cn';\nimport 'dayjs/locale/ko';\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nconst sanitizeOptions = {\n textFilter: function (text) {\n return text.replace(/&amp;/g, '&'); // Replace encoded '&' back to its raw form\n },\n};\n\nexport function getTimezoneOffset(timezone: string) {\n return dayjs().tz(timezone).format('Z');\n}\n\nexport function sanitize(text: string) {\n return sanitizeHtml(text, sanitizeOptions);\n}\nexport function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\n// Utility function to remove undefined values from an object\nexport function removeUndefined(obj: any) {\n return Object.keys(obj).reduce((acc: { [key: string]: any }, key) => {\n if (obj[key] !== undefined) {\n acc[key] = obj[key];\n }\n return acc;\n }, {});\n}\n\nexport function debug(...args: any[]) {\n if (globalThis.window && globalThis.window.localStorage && globalThis.window.localStorage.getItem('debug')) {\n console.groupCollapsed(...args);\n const error = new Error();\n error.name = 'Debug';\n console.debug(error.stack);\n console.groupEnd();\n }\n}\n\nexport function error(...args: any[]) {\n console.error(...args);\n}\n\nexport function isTestEnvironment(): boolean {\n try {\n const env = (globalThis as any)?.process?.env ?? {};\n return !!(env.JEST_WORKER_ID || env.NODE_ENV === 'test');\n } catch (_e) {\n return false;\n }\n}\n\nexport function uniqueID() {\n return Math.random().toString(36).substr(2, 9);\n}\n\nexport function formatEventName(propKey: string) {\n return propKey.toString().replace(/^on/, '');\n}\n\n// Utility function to format a date as a time if it is today, or a short\n// date format if it is not toda, using the new Intl API. For example:\n// If the date is today, it will return \"12:00 PM\"\n// If the date is not today, it will return \"Jan 4, 23\"\nexport function formatDateTime(dateTimestamp: number) {\n const date = new Date(dateTimestamp * 1000);\n const now = new Date();\n const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n if (date >= today) {\n // If the day is not today, we return the month and day (e.g. Jan 4)\n const formatter = new Intl.DateTimeFormat('default', {\n hour: 'numeric',\n minute: 'numeric',\n hour12: true,\n });\n return formatter.format(date);\n } else {\n // If the day is today, we only return the time (e.g. 12:00 PM) without\n // the month and day\n const formatter = new Intl.DateTimeFormat('default', {\n month: 'short',\n day: 'numeric',\n });\n return formatter.format(date);\n }\n}\n\nexport function formatRecipient(recipient: EmailName) {\n return recipient.name ? `${recipient.name} - ${recipient.email}` : recipient.email;\n}\n\n// Formats the particpants of a thread into a string\nexport function formatParticipants(participants: EmailName[], meEmail: string = '', messageCount: number = 1, max: number = 3) {\n const me = participants.find(p => p.email?.toLowerCase() === meEmail.toLowerCase());\n const others = participants.filter(p => p.email?.toLowerCase() !== meEmail.toLowerCase());\n const othersCount = others.length;\n const othersString = others\n .slice(0, max)\n .map(r => r.name || r.email)\n .join(', ');\n if (othersCount === 0) {\n return me ? 'me' : '';\n } else if (othersCount === 1) {\n return me && messageCount > 1 ? `me, ${othersString}` : othersString;\n } else if (othersCount === 2) {\n return me ? `me, ${othersString}` : `${othersString}`;\n } else {\n return me ? `me, ${othersString}, +${othersCount - max}` : `${othersString}, +${othersCount - max}`;\n }\n}\n\n// https://blog.webdevsimplified.com/2020-07/relative-time-format/\nconst DIVISIONS: Array<{\n amount: number;\n name: Intl.RelativeTimeFormatUnit;\n}> = [\n { amount: 60, name: 'seconds' },\n { amount: 60, name: 'minutes' },\n { amount: 24, name: 'hours' },\n { amount: 7, name: 'days' },\n { amount: 4.34524, name: 'weeks' },\n { amount: 12, name: 'months' },\n { amount: Number.POSITIVE_INFINITY, name: 'years' },\n];\n\nexport const formatTimeAgo = (date: Date) => {\n const formatter = new Intl.RelativeTimeFormat(undefined, {\n numeric: 'auto',\n });\n const now = new Date();\n let duration = (date.getTime() - now.getTime()) / 1000;\n\n for (let i = 0; i <= DIVISIONS.length; i++) {\n const division = DIVISIONS[i];\n if (Math.abs(duration) < division.amount) {\n return formatter.format(Math.round(duration), division.name);\n }\n duration /= division.amount;\n }\n};\n\nexport function getLastDayOfMonth(date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\n}\n\nexport function getFirstDayOfMonth(date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport function getFirstHourOfDay(date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0);\n}\n\nexport function isSameDay(date1: Date, date2: Date) {\n return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();\n}\n\nexport function isSameDayTimezone(timeslot: Date, comparisonDate: Date, timezoneStr: string): boolean {\n // Convert both dates to the selected timezone\n const timeslotInTimezone = dayjs(timeslot).tz(timezoneStr);\n const comparisonDateInTimezone = dayjs(comparisonDate);\n\n // Compare the year, month, and day in the specified timezone\n return (\n timeslotInTimezone.year() === comparisonDateInTimezone.year() &&\n timeslotInTimezone.month() === comparisonDateInTimezone.month() &&\n timeslotInTimezone.date() === comparisonDateInTimezone.date()\n );\n}\n\nexport function formatBookedEventDate(date: Date, timezoneStr: string, language: string = 'en-US') {\n // return dayjs(date).tz(timezoneStr).format('dddd, MMMM D, YYYY');\n return dayjs(date).tz(timezoneStr).locale(language).format('dddd, MMMM D, YYYY');\n}\n\nexport function isSameMonth(date1: Date, date2: Date) {\n return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();\n}\n\nexport function toTitleCase(str: string) {\n return str.replace(/\\w\\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());\n}\n\nexport function formatFolderName(folderName: string) {\n return folderName.replace('CATEGORY_', '').replace(/_/g, ' ');\n}\n\nexport function detectHTMLOrPlainText(html: string) {\n const regex = /<[^>]*>/g;\n return regex.test(html) ? 'html' : 'plain';\n}\n\nexport function detectIfMessageIsHTML(message: Message) {\n const headers = message.headers;\n const contentType = (headers && headers.find(h => h.name === 'Content-Type')?.value) || '';\n const contentDisposition = (headers && headers.find(h => h.name === 'Content-Disposition')?.value) || '';\n\n // If the content type is HTML, then we know it's HTML\n if (contentType.includes('text/html')) {\n return true;\n }\n\n // If the content disposition is inline, then we know it's HTML\n if (contentDisposition.includes('inline')) {\n return true;\n }\n\n // If the body is HTML, then we know it's HTML\n if (message.body && detectHTMLOrPlainText(message.body) === 'html') {\n return true;\n }\n\n // Otherwise, we assume it's plain text\n return false;\n}\n\nexport function parsePlainTextToHTML(text: string) {\n const paragraphs = text.split('\\n').filter(line => line.trim().length > 0);\n const wrappedParagraphs = paragraphs.map(paragraph => `<p>${paragraph}</p>`);\n let body = wrappedParagraphs.join('');\n\n // Replace links with anchor tags\n const regex = /((?:https?|ftp):\\/\\/[^\\s]+)/g;\n body = body.replace(regex, '<a href=\"$1\">$1</a>');\n\n return body;\n}\n\nexport function htmlToPlainText(html: string) {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n return doc.body.textContent || '';\n}\n\nexport function getStartHourOfDay(date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0);\n}\n\nexport function getEndHourOfDay(date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23);\n}\n\n// Zero pad a number to two digits\nexport function get24HourTime(date: Date) {\n return `${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;\n}\n\nexport function getUserTimezone() {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n}\n\nexport const getEventRecurrence = (recurrence: any): string | null => {\n if (recurrence.includes('RRULE:')) {\n recurrence = recurrence.replace('RRULE:', '');\n return RRule.fromString(recurrence).toText();\n }\n return RRule.fromString(recurrence).toText();\n};\n\n// Validate time format part\nexport const validateTimeFormatInput = text => {\n if (text === '') {\n return true;\n }\n // Updated regex to support Spanish AM/PM formats (a.m./p.m./am/pm)\n const regexPattern = /^(0[0-9]|1[0-2]|^[0-9])(:[0-5][0-9]([ap]\\.?m\\.?)?|:[0-5][0-9]|:[0-5]|:)?$/i;\n return regexPattern.test(text);\n};\n\n// Validate exact time format\nexport const validateExactTimeFormat = input => {\n // Updated regex to support Spanish AM/PM formats (a.m./p.m./am/pm)\n const regex = /^(0[1-9]|1[0-2]):([0-5][0-9])([ap]\\.?m\\.?)$/i;\n return regex.test(input);\n};\n\nexport function roundToNearest15Minutes(time: dayjs.Dayjs | null = null) {\n let currentTime = dayjs(); // Get the current time\n if (time) {\n currentTime = time;\n }\n\n // Calculate the remainder when dividing the minutes by 15\n const minuteRemainder = currentTime.minute() % 15;\n\n let roundedTime;\n\n if (minuteRemainder !== 0) {\n // Round up to the next 15-minute interval\n roundedTime = currentTime.add(15 - minuteRemainder, 'minute');\n } else {\n // Keep the current time as it is\n roundedTime = currentTime;\n }\n\n return roundedTime;\n}\n\nexport function autocompleteTimeFormat(input) {\n const currentTime = dayjs(); // Get the current time\n\n // Normalize Spanish AM/PM formats first\n const normalizedInput = normalizeAmPm(input);\n\n let completedTime = '';\n\n // Extract the hour and minute components\n const [inputHour, inputMinuteWithAmPm] = normalizedInput.split(':');\n // Autocomplete the hour component\n if (inputHour.length === 1) {\n completedTime += '0' + inputHour;\n } else if (inputHour.length === 2) {\n completedTime += inputHour;\n }\n\n completedTime += ':';\n\n // Autocomplete the minute component\n if (inputMinuteWithAmPm === undefined || inputMinuteWithAmPm == '') {\n completedTime += '00';\n } else {\n if (inputMinuteWithAmPm.length === 1) {\n completedTime += inputMinuteWithAmPm + '0';\n } else {\n completedTime += inputMinuteWithAmPm;\n }\n }\n\n // Set the am/pm indicator based on the provided input\n const amPmIndicator = completedTime.slice(-1); // Extract the am/pm indicator from input\n\n if (amPmIndicator === 'a') {\n completedTime += 'm';\n }\n if (amPmIndicator === 'p') {\n completedTime += 'm';\n }\n\n // Set the am/pm indicator based on the current time if no indecator present inside input\n if (completedTime.slice(-1) !== 'm') {\n if (completedTime.split(':')[0] == '00') {\n completedTime += 'am';\n } else {\n completedTime += currentTime.format('a');\n }\n }\n\n return completedTime;\n}\n\nexport function formatTime(time: string) {\n return dayjs(time, 'hh:mma');\n}\n\nexport function formatTimezone(date: Date, timezone: string) {\n return dayjs(date).tz(timezone).format('hh:mm A'); // 12-hour format with AM/PM\n}\n\nexport function convertTo12HourFormat(timeStr: string) {\n // Split the time into hours and minutes\n const [hoursInitial, minutes] = timeStr.split(':').map(num => parseInt(num, 10));\n let hours = hoursInitial;\n\n // Determine AM or PM\n const ampm = hours >= 12 ? 'pm' : 'am';\n\n // Convert hours from 24-hour to 12-hour format\n hours = hours % 12;\n hours = hours ? hours : 12; // the hour '0' should be '12'\n\n // Format hours and minutes to ensure two digits\n const formattedHours = hours.toString().padStart(2, '0');\n const formattedMinutes = minutes.toString().padStart(2, '0');\n\n // Construct the 12-hour format time string\n return `${formattedHours}:${formattedMinutes}${ampm}`;\n}\n\n// Helper function to normalize AM/PM indicators from different languages\nfunction normalizeAmPm(timeStr: string): string {\n // Normalize Spanish AM/PM formats (a.m./p.m.) to English am/pm\n return timeStr.replace(/a\\.?m\\.?/gi, 'am').replace(/p\\.?m\\.?/gi, 'pm');\n}\n\nexport function convertTo24HourFormat(timeStr: string) {\n const normalizedTimeStr = normalizeAmPm(timeStr);\n const [time, modifier] = normalizedTimeStr.split(/(am|pm)/i);\n const [hoursInitial, minutes] = time.split(':').map(num => parseInt(num, 10));\n let hours = hoursInitial;\n\n if (modifier.toLowerCase() === 'pm' && hours < 12) {\n hours += 12;\n } else if (modifier.toLowerCase() === 'am' && hours === 12) {\n hours = 0;\n }\n\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;\n}\n\nexport function timeToMinutes(time) {\n const normalizedTime = normalizeAmPm(time);\n const match = normalizedTime.match(/(\\d+):(\\d+)(am|pm)/);\n if (!match) {\n return 0; // Return 0 if the time format is invalid\n }\n const [, hours, minutesPart] = match;\n let minutes = parseInt(hours, 10) * 60 + parseInt(minutesPart, 10);\n if (normalizedTime.includes('pm') && parseInt(hours, 10) < 12) minutes += 12 * 60;\n if (normalizedTime.includes('am') && parseInt(hours, 10) === 12) minutes -= 12 * 60;\n return minutes;\n}\n\nexport function minutesToTime(minutes) {\n const h = Math.floor(minutes / 60);\n const m = minutes % 60;\n return `${h}:${m < 10 ? '0' : ''}${m}`;\n}\n\nexport function getBrowser() {\n const ua = navigator.userAgent;\n\n // Check for Chrome (also in Edge and Opera)\n const isChrome = /Chrome/.test(ua) && /Google Inc/.test(navigator.vendor);\n\n // Check for Safari (also in Chrome and Opera)\n const isSafari = /Safari/.test(ua) && /Apple Computer/.test(navigator.vendor);\n\n // Check for Firefox\n const isFirefox = /Firefox/.test(ua);\n\n // Check for Internet Explorer\n const isIE = /Trident/.test(ua);\n\n // Check for Edge (the legacy version)\n const isEdgeLegacy = /Edge/.test(ua);\n\n // Check for Edge (the Chromium-based version)\n const isEdgeChromium = isChrome && /Edg/.test(ua);\n\n if (isEdgeChromium) return 'Edge (Chromium)';\n if (isChrome) return 'Chrome';\n if (isSafari) return 'Safari';\n if (isFirefox) return 'Firefox';\n if (isIE) return 'Internet Explorer';\n if (isEdgeLegacy) return 'Edge (Legacy)';\n\n return 'Unknown';\n}\n\n/**\n * Utility function to create a response object with data and error.\n * @param data any The data to return.\n * @param error DataResponseError The error to return.\n */\nexport function dataResponse<T = any>(data: T, error: DataResponseError | null = null): DataResponseReturnType<T> {\n if (error) {\n return [null, error];\n }\n return [data, null];\n}\n\n/**\n * Utility function to parse a preview link with placeholders.\n * @param link string A preview link with placeholders.\n * @param config Partial<Configuration> The configuration object to use to replace the placeholders.\n * @returns string The preview link with the placeholders replaced.\n */\nexport function parsePreviewLink(link: string, config?: Partial<Configuration>) {\n // Replacements\n const replacements = {\n 'config.id': config?.id,\n 'id': config?.id,\n 'slug': config?.slug,\n };\n\n // Replace the placeholders with the actual values\n Object.keys(replacements).forEach(key => {\n if (replacements[key]) {\n link = link.replace(`{${key}}`, replacements[key]);\n }\n });\n\n return link;\n}\n\nexport function isNonPrintableKey(event) {\n // Check for special keys like backspace, enter, escape, arrow keys, function keys, etc.\n if (\n event.keyCode < 48 || // Before 0\n (event.keyCode > 90 && event.keyCode < 96) || // Between Z and numpad 0\n (event.keyCode > 111 && event.keyCode < 186) || // Between numpad 9 and semi-colon (;)\n event.keyCode > 222 || // After single quote (')\n event.keyCode === 32 || // Spacebar\n event.keyCode === 91 || // Left Window key or left ⌘ key\n event.keyCode === 92 || // Right Window key or right ⌘ key\n event.keyCode === 93 || // Select key / Menu key or right ⌘ key\n (event.keyCode >= 112 && event.keyCode <= 123) || // Function (F1-F12) keys\n (event.keyCode >= 37 && event.keyCode <= 40) // Arrow keys\n ) {\n return true;\n }\n\n // Check for Ctrl, Alt, Shift, CapsLock, etc., by ignoring if any of these are pressed\n if (event.ctrlKey || event.altKey || event.metaKey) {\n return true;\n }\n\n // Check if Shift is combined with a number or special character\n const shiftSpecialChars = [\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57, // Numbers (0-9)\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 219,\n 220,\n 221,\n 222, // Special characters (;=,-./` and []\\')\n ];\n\n if (event.shiftKey && shiftSpecialChars.includes(event.keyCode)) {\n return false;\n }\n\n // If none of the above, it's a character, number, or special character typed without shift\n return false;\n}\n\nexport function addDaysToCurrentDate(startDate, days) {\n const currentDate = new Date(startDate);\n currentDate.setDate(currentDate.getDate() + days);\n currentDate.setHours(23); // Sets the hour to 11 PM\n currentDate.setMinutes(59); // Sets the minute to 59\n currentDate.setSeconds(0); // Optionally, sets the seconds to 0\n currentDate.setMilliseconds(0); // Optionally, sets the milliseconds to 0\n return currentDate;\n}\n\nexport function addMinutesToCurrentTime(startDate, minutes) {\n const currentDate = new Date(startDate);\n currentDate.setMinutes(currentDate.getMinutes() + minutes);\n return currentDate;\n}\n\nexport function isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\n\nexport function mergeDeep(target, source) {\n if (Array.isArray(target) && Array.isArray(source) && target !== source) {\n // Custom handling for participants array\n if (target.some(item => item.is_organizer) && source.some(item => item.is_organizer)) {\n // Ensure all base participants are not organizers if there's an organizer in the selected config\n target = target.map(participant => ({ ...participant, is_organizer: false }));\n } else if (!source.some(item => item.is_organizer)) {\n // Make sure there is at least one organizer in the base if none in selected\n let foundOrganizer = false;\n target = target.map(participant => {\n if (!foundOrganizer) {\n foundOrganizer = true;\n return { ...participant, is_organizer: true };\n }\n return participant;\n });\n }\n // Merge each element of the arrays by index\n return target\n .map((item, index) => {\n return source[index] ? mergeDeep(item, source[index]) : item;\n })\n .concat(source.slice(target.length));\n } else if (isObject(target) && isObject(source)) {\n const output = Object.assign({}, target);\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n output[key] = source[key];\n } else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n } else {\n output[key] = source[key];\n }\n });\n return output;\n }\n return source;\n}\n\nexport function convertMinutesToHoursAndMinutes(minutes: number): string {\n if (minutes < 60) {\n return `${minutes} ${t('time.minutes')}`;\n }\n const hours = Math.floor(minutes / 60);\n const remainingMinutes = minutes % 60;\n const hoursText = t(`time.${hours > 1 ? 'hours' : 'hour'}`);\n const minutesText = remainingMinutes ? `${remainingMinutes} ${t(`time.${remainingMinutes > 1 ? 'minutes' : 'minute'}`)}` : '';\n return `${hours} ${hoursText} ${minutesText}`;\n}\n\nexport function checkForMissingSlots(slots: string[], host: HTMLElement) {\n slots.forEach(slot => {\n const slotElement = host.shadowRoot?.querySelector(`slot[name=\"${slot}\"]`) as HTMLSlotElement;\n const slotNodes = slotElement?.assignedNodes();\n if (slotNodes && slotNodes.length === 0) {\n console.warn(`${host.nodeName} No content provided for slot=\"${slot}\".`);\n }\n });\n}\n\nexport function compactStringToUUIDs(compactString: string) {\n debug(`[nylas-scheduler] compactString: ${compactString}`);\n // Convert URL-safe Base64 to standard Base64 and add padding if needed\n let standardBase64 = compactString.replace(/-/g, '+').replace(/_/g, '/');\n // Add padding if needed\n while (standardBase64.length % 4) {\n standardBase64 += '=';\n }\n\n // Decode the Base64 string to a Uint8Array using browser-native atob()\n const binaryString = atob(standardBase64);\n const uint8Array = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n uint8Array[i] = binaryString.charCodeAt(i);\n }\n\n // Extract each UUID's bytes (16 bytes each)\n const uuidBytes1 = uint8Array.slice(0, 16);\n const uuidBytes2 = uint8Array.slice(16, 32);\n // Extract the remainder as the salt\n const salt = uint8Array.slice(32);\n\n // Function to convert a Uint8Array to UUID string format\n function uint8ArrayToUUID(uint8Array: Uint8Array) {\n const hex = Array.from(uint8Array)\n .map(byte => byte.toString(16).padStart(2, '0'))\n .join('');\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n }\n\n // Convert byte arrays to UUID strings\n const uuid1 = uint8ArrayToUUID(uuidBytes1);\n const uuid2 = uint8ArrayToUUID(uuidBytes2);\n\n // Convert salt Uint8Array to URL-safe base64 without padding using browser-native btoa()\n const saltBinaryString = Array.from(salt)\n .map(byte => String.fromCharCode(byte))\n .join('');\n const b64EncodedSalt = btoa(saltBinaryString).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n\n return [uuid1, uuid2, b64EncodedSalt];\n}\n\nexport const t = key => {\n return i18next.t(key);\n};\n\nexport const capitalizeFirstLetter = (str: string) => {\n if (typeof str !== 'string') return '';\n return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nexport const translateMonth = (month: string) => {\n return t(`months.${month}`);\n};\n\nexport const isValidUrl = (url: string) => {\n try {\n new URL(url);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nexport const isValidImage = (url: string) => {\n return new Promise((resolve, reject) => {\n if (url === '') return resolve(true);\n\n const img = new Image();\n img.src = url;\n img.onerror = () => {\n reject(false);\n };\n img.onload = () => {\n resolve(true);\n };\n });\n};\n\ninterface CustomOptions {\n frequency?: 'daily' | 'weekly' | 'monthly' | 'yearly';\n interval?: number;\n daysOfWeek?: string[]; // Example: ['MO', 'WE']\n monthlySameDate?: boolean;\n end?: {\n type: 'never' | 'on' | 'after';\n date?: string; // ISO date string for 'on'\n count?: number; // Number of occurrences for 'after'\n };\n}\n\nexport function generateRRule(\n selectedDate: string, // ISO date string\n option: 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'custom',\n endDate?: string, // ISO date string for predefined rules\n customOptions?: CustomOptions, // Custom recurrence options\n timezoneStr: string = 'UTC', // Timezone string\n): string | null {\n const daysOfWeek: Record<number, Weekday> = {\n 0: RRule.SU,\n 1: RRule.MO,\n 2: RRule.TU,\n 3: RRule.WE,\n 4: RRule.TH,\n 5: RRule.FR,\n 6: RRule.SA,\n };\n\n // Parse the dates in the specified timezone\n const selectedDay = dayjs.tz(selectedDate, timezoneStr).toDate();\n const dayOfWeek = daysOfWeek[selectedDay.getDay()]; // Get the day of the week (e.g., RRule.TH for Thursday)\n const date = selectedDay.getDate();\n const occurrenceInMonth = Math.ceil(date / 7); // Determine the occurrence in the month (e.g., 2nd Thursday)\n\n const untilDate = endDate ? dayjs.tz(endDate, timezoneStr).toDate() : undefined;\n\n switch (option) {\n case 'none': {\n return null;\n }\n\n case 'daily': {\n return new RRule({\n freq: RRule.DAILY,\n until: untilDate,\n }).toString();\n }\n\n case 'weekly': {\n return new RRule({\n freq: RRule.WEEKLY,\n byweekday: dayOfWeek,\n until: untilDate,\n }).toString();\n }\n\n case 'monthly': {\n return new RRule({\n freq: RRule.MONTHLY,\n byweekday: [dayOfWeek.nth(occurrenceInMonth)],\n until: untilDate,\n }).toString();\n }\n\n case 'yearly': {\n return new RRule({\n freq: RRule.YEARLY,\n dtstart: selectedDay,\n until: untilDate,\n }).toString();\n }\n\n case 'custom': {\n if (!customOptions) {\n throw new Error('Custom options must be provided for custom recurrence.');\n }\n\n const byweekday =\n customOptions.frequency === 'weekly'\n ? customOptions.daysOfWeek?.map(day => RRule[day as keyof typeof RRule] as Weekday) // Map selected days to RRule weekdays\n : customOptions.frequency === 'monthly' && !customOptions.monthlySameDate\n ? [dayOfWeek.nth(occurrenceInMonth)]\n : undefined;\n\n const bymonthday = customOptions.frequency === 'monthly' && customOptions.monthlySameDate ? dayjs.tz(selectedDate, timezoneStr).date() : undefined;\n\n return new RRule({\n freq: {\n daily: RRule.DAILY,\n weekly: RRule.WEEKLY,\n monthly: RRule.MONTHLY,\n yearly: RRule.YEARLY,\n }[customOptions.frequency || 'daily'],\n interval: customOptions.interval || 1,\n byweekday, // Use byweekday array for weekly or monthly (non-same-date) cases\n bymonthday, // Use bymonthday for monthly-same-date case\n until: customOptions.end?.type === 'on' ? dayjs.tz(customOptions.end.date!, timezoneStr).toDate() : undefined,\n count: customOptions.end?.type === 'after' ? customOptions.end.count : undefined,\n }).toString();\n }\n\n default: {\n throw new Error(`Invalid option: ${option}`);\n }\n }\n}\n\nexport function getCalendarRange(\n currentDate: string, // ISO date string\n viewType: 'week' | 'month' | 'day',\n): { startTime: number; endTime: number } {\n const current = dayjs(currentDate).startOf('day'); // Ensure the date starts at midnight\n let startTime: dayjs.Dayjs;\n let endTime: dayjs.Dayjs;\n\n switch (viewType) {\n case 'week': {\n // Start of the week (Sunday)\n startTime = current.startOf('week');\n // End of the week (Saturday, inclusive)\n endTime = current.endOf('week');\n break;\n }\n\n case 'month': {\n startTime = current.startOf('month').startOf('week'); // Start from Sunday of the first week in the month\n endTime = current.endOf('month').endOf('week'); // End on Saturday of the last week + 7 days\n break;\n }\n\n case 'day': {\n // For a day view, just use the current day\n startTime = current.startOf('day');\n endTime = current.endOf('day');\n break;\n }\n\n default: {\n throw new Error('Invalid viewType. Use \"week\", \"month\", or \"day\".');\n }\n }\n\n return {\n startTime: startTime.unix(), // Convert to timestamp\n endTime: endTime.unix(), // Convert to timestamp\n };\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataResponseError, DataResponseReturnType } from '@/common/types';\nimport { Configuration, EmailName, Message } from '@nylas/core';\nimport dayjs from 'dayjs';\nimport { RRule, Weekday } from 'rrule';\nimport i18next from '@/utils/i18n';\nimport sanitizeHtml from 'sanitize-html';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/es';\nimport 'dayjs/locale/de';\nimport 'dayjs/locale/nl';\nimport 'dayjs/locale/sv';\nimport 'dayjs/locale/ja';\nimport 'dayjs/locale/zh-cn';\nimport 'dayjs/locale/ko';\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nconst sanitizeOptions = {\n textFilter: function (text) {\n return text.replace(/&amp;/g, '&'); // Replace encoded '&' back to its raw form\n },\n};\n\nexport function getTimezoneOffset(timezone: string) {\n return dayjs().tz(timezone).format('Z');\n}\n\nexport function sanitize(text: string) {\n return sanitizeHtml(text, sanitizeOptions);\n}\nexport function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\n// Utility function to remove undefined values from an object\nexport function removeUndefined(obj: any) {\n return Object.keys(obj).reduce((acc: { [key: string]: any }, key) => {\n if (obj[key] !== undefined) {\n acc[key] = obj[key];\n }\n return acc;\n }, {});\n}\n\nexport function debug(...args: any[]) {\n if (globalThis.window && globalThis.window.localStorage && globalThis.window.localStorage.getItem('debug')) {\n console.groupCollapsed(...args);\n const error = new Error();\n error.name = 'Debug';\n console.debug(error.stack);\n console.groupEnd();\n }\n}\n\nexport function error(...args: any[]) {\n console.error(...args);\n}\n\nexport function isTestEnvironment(): boolean {\n try {\n const env = (globalThis as any)?.process?.env ?? {};\n return !!(env.JEST_WORKER_ID || env.NODE_ENV === 'test');\n } catch (_e) {\n return false;\n }\n}\n\nexport function uniqueID() {\n return Math.random().toString(36).substr(2, 9);\n}\n\nexport function formatEventName(propKey: string) {\n return propKey.toString().replace(/^on/, '');\n}\n\n// Utility function to format a date as a time if it is today, or a short\n// date format if it is not toda, using the new Intl API. For example:\n// If the date is today, it will return \"12:00 PM\"\n// If the date is not today, it will return \"Jan 4, 23\"\nexport function formatDateTime(dateTimestamp: number) {\n const date = new Date(dateTimestamp * 1000);\n const now = new Date();\n const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n if (date >= today) {\n // If the day is not today, we return the month and day (e.g. Jan 4)\n const formatter = new Intl.DateTimeFormat('default', {\n hour: 'numeric',\n minute: 'numeric',\n hour12: true,\n });\n return formatter.format(date);\n } else {\n // If the day is today, we only return the time (e.g. 12:00 PM) without\n // the month and day\n const formatter = new Intl.DateTimeFormat('default', {\n month: 'short',\n day: 'numeric',\n });\n return formatter.format(date);\n }\n}\n\nexport function formatRecipient(recipient: EmailName) {\n return recipient.name ? `${recipient.name} - ${recipient.email}` : recipient.email;\n}\n\n// Formats the particpants of a thread into a string\nexport function formatParticipants(participants: EmailName[], meEmail: string = '', messageCount: number = 1, max: number = 3) {\n const me = participants.find(p => p.email?.toLowerCase() === meEmail.toLowerCase());\n const others = participants.filter(p => p.email?.toLowerCase() !== meEmail.toLowerCase());\n const othersCount = others.length;\n const othersString = others\n .slice(0, max)\n .map(r => r.name || r.email)\n .join(', ');\n if (othersCount === 0) {\n return me ? 'me' : '';\n } else if (othersCount === 1) {\n return me && messageCount > 1 ? `me, ${othersString}` : othersString;\n } else if (othersCount === 2) {\n return me ? `me, ${othersString}` : `${othersString}`;\n } else {\n return me ? `me, ${othersString}, +${othersCount - max}` : `${othersString}, +${othersCount - max}`;\n }\n}\n\n// https://blog.webdevsimplified.com/2020-07/relative-time-format/\nconst DIVISIONS: Array<{\n amount: number;\n name: Intl.RelativeTimeFormatUnit;\n}> = [\n { amount: 60, name: 'seconds' },\n { amount: 60, name: 'minutes' },\n { amount: 24, name: 'hours' },\n { amount: 7, name: 'days' },\n { amount: 4.34524, name: 'weeks' },\n { amount: 12, name: 'months' },\n { amount: Number.POSITIVE_INFINITY, name: 'years' },\n];\n\nexport const formatTimeAgo = (date: Date) => {\n const formatter = new Intl.RelativeTimeFormat(undefined, {\n numeric: 'auto',\n });\n const now = new Date();\n let duration = (date.getTime() - now.getTime()) / 1000;\n\n for (let i = 0; i <= DIVISIONS.length; i++) {\n const division = DIVISIONS[i];\n if (Math.abs(duration) < division.amount) {\n return formatter.format(Math.round(duration), division.name);\n }\n duration /= division.amount;\n }\n};\n\nexport function getLastDayOfMonth(date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\n}\n\nexport function getFirstDayOfMonth(date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\n\nexport function getFirstHourOfDay(date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0);\n}\n\nexport function isSameDay(date1: Date, date2: Date) {\n return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();\n}\n\nexport function isSameDayTimezone(timeslot: Date, comparisonDate: Date, timezoneStr: string): boolean {\n // Convert both dates to the selected timezone\n const timeslotInTimezone = dayjs(timeslot).tz(timezoneStr);\n const comparisonDateInTimezone = dayjs(comparisonDate);\n\n // Compare the year, month, and day in the specified timezone\n return (\n timeslotInTimezone.year() === comparisonDateInTimezone.year() &&\n timeslotInTimezone.month() === comparisonDateInTimezone.month() &&\n timeslotInTimezone.date() === comparisonDateInTimezone.date()\n );\n}\n\nexport function formatBookedEventDate(date: Date, timezoneStr: string, language: string = 'en-US') {\n // return dayjs(date).tz(timezoneStr).format('dddd, MMMM D, YYYY');\n return dayjs(date).tz(timezoneStr).locale(language).format('dddd, MMMM D, YYYY');\n}\n\nexport function isSameMonth(date1: Date, date2: Date) {\n return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();\n}\n\nexport function toTitleCase(str: string) {\n return str.replace(/\\w\\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());\n}\n\nexport function formatFolderName(folderName: string) {\n return folderName.replace('CATEGORY_', '').replace(/_/g, ' ');\n}\n\nexport function detectHTMLOrPlainText(html: string) {\n const regex = /<[^>]*>/g;\n return regex.test(html) ? 'html' : 'plain';\n}\n\nexport function detectIfMessageIsHTML(message: Message) {\n const headers = message.headers;\n const contentType = (headers && headers.find(h => h.name === 'Content-Type')?.value) || '';\n const contentDisposition = (headers && headers.find(h => h.name === 'Content-Disposition')?.value) || '';\n\n // If the content type is HTML, then we know it's HTML\n if (contentType.includes('text/html')) {\n return true;\n }\n\n // If the content disposition is inline, then we know it's HTML\n if (contentDisposition.includes('inline')) {\n return true;\n }\n\n // If the body is HTML, then we know it's HTML\n if (message.body && detectHTMLOrPlainText(message.body) === 'html') {\n return true;\n }\n\n // Otherwise, we assume it's plain text\n return false;\n}\n\nexport function parsePlainTextToHTML(text: string) {\n const paragraphs = text.split('\\n').filter(line => line.trim().length > 0);\n const wrappedParagraphs = paragraphs.map(paragraph => `<p>${paragraph}</p>`);\n let body = wrappedParagraphs.join('');\n\n // Replace links with anchor tags\n const regex = /((?:https?|ftp):\\/\\/[^\\s]+)/g;\n body = body.replace(regex, '<a href=\"$1\">$1</a>');\n\n return body;\n}\n\nexport function htmlToPlainText(html: string) {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n return doc.body.textContent || '';\n}\n\nexport function getStartHourOfDay(date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0);\n}\n\nexport function getEndHourOfDay(date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23);\n}\n\n// Zero pad a number to two digits\nexport function get24HourTime(date: Date) {\n return `${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;\n}\n\nexport function getUserTimezone() {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n}\n\nexport const getEventRecurrence = (recurrence: any): string | null => {\n if (recurrence.includes('RRULE:')) {\n recurrence = recurrence.replace('RRULE:', '');\n return RRule.fromString(recurrence).toText();\n }\n return RRule.fromString(recurrence).toText();\n};\n\n// Validate time format part\nexport const validateTimeFormatInput = text => {\n if (text === '') {\n return true;\n }\n // Updated regex to support Spanish AM/PM formats (a.m./p.m./am/pm)\n const regexPattern = /^(0[0-9]|1[0-2]|^[0-9])(:[0-5][0-9]([ap]\\.?m\\.?)?|:[0-5][0-9]|:[0-5]|:)?$/i;\n return regexPattern.test(text);\n};\n\n// Validate exact time format\nexport const validateExactTimeFormat = input => {\n // Updated regex to support Spanish AM/PM formats (a.m./p.m./am/pm)\n const regex = /^(0[1-9]|1[0-2]):([0-5][0-9])([ap]\\.?m\\.?)$/i;\n return regex.test(input);\n};\n\nexport function roundToNearest15Minutes(time: dayjs.Dayjs | null = null) {\n let currentTime = dayjs(); // Get the current time\n if (time) {\n currentTime = time;\n }\n\n // Calculate the remainder when dividing the minutes by 15\n const minuteRemainder = currentTime.minute() % 15;\n\n let roundedTime;\n\n if (minuteRemainder !== 0) {\n // Round up to the next 15-minute interval\n roundedTime = currentTime.add(15 - minuteRemainder, 'minute');\n } else {\n // Keep the current time as it is\n roundedTime = currentTime;\n }\n\n return roundedTime;\n}\n\nexport function autocompleteTimeFormat(input) {\n const currentTime = dayjs(); // Get the current time\n\n // Normalize Spanish AM/PM formats first\n const normalizedInput = normalizeAmPm(input);\n\n let completedTime = '';\n\n // Extract the hour and minute components\n const [inputHour, inputMinuteWithAmPm] = normalizedInput.split(':');\n // Autocomplete the hour component\n if (inputHour.length === 1) {\n completedTime += '0' + inputHour;\n } else if (inputHour.length === 2) {\n completedTime += inputHour;\n }\n\n completedTime += ':';\n\n // Autocomplete the minute component\n if (inputMinuteWithAmPm === undefined || inputMinuteWithAmPm == '') {\n completedTime += '00';\n } else {\n if (inputMinuteWithAmPm.length === 1) {\n completedTime += inputMinuteWithAmPm + '0';\n } else {\n completedTime += inputMinuteWithAmPm;\n }\n }\n\n // Set the am/pm indicator based on the provided input\n const amPmIndicator = completedTime.slice(-1); // Extract the am/pm indicator from input\n\n if (amPmIndicator === 'a') {\n completedTime += 'm';\n }\n if (amPmIndicator === 'p') {\n completedTime += 'm';\n }\n\n // Set the am/pm indicator based on the current time if no indecator present inside input\n if (completedTime.slice(-1) !== 'm') {\n if (completedTime.split(':')[0] == '00') {\n completedTime += 'am';\n } else {\n completedTime += currentTime.format('a');\n }\n }\n\n return completedTime;\n}\n\nexport function formatTime(time: string) {\n return dayjs(time, 'hh:mma');\n}\n\nexport function formatTimezone(date: Date, timezone: string) {\n return dayjs(date).tz(timezone).format('hh:mm A'); // 12-hour format with AM/PM\n}\n\nexport function convertTo12HourFormat(timeStr: string) {\n // Split the time into hours and minutes\n const [hoursInitial, minutes] = timeStr.split(':').map(num => parseInt(num, 10));\n let hours = hoursInitial;\n\n // Determine AM or PM\n const ampm = hours >= 12 ? 'pm' : 'am';\n\n // Convert hours from 24-hour to 12-hour format\n hours = hours % 12;\n hours = hours ? hours : 12; // the hour '0' should be '12'\n\n // Format hours and minutes to ensure two digits\n const formattedHours = hours.toString().padStart(2, '0');\n const formattedMinutes = minutes.toString().padStart(2, '0');\n\n // Construct the 12-hour format time string\n return `${formattedHours}:${formattedMinutes}${ampm}`;\n}\n\n// Helper function to normalize AM/PM indicators from different languages\nfunction normalizeAmPm(timeStr: string): string {\n // Normalize Spanish AM/PM formats (a.m./p.m.) to English am/pm\n return timeStr.replace(/a\\.?m\\.?/gi, 'am').replace(/p\\.?m\\.?/gi, 'pm');\n}\n\nexport function convertTo24HourFormat(timeStr: string) {\n const normalizedTimeStr = normalizeAmPm(timeStr);\n const [time, modifier] = normalizedTimeStr.split(/(am|pm)/i);\n const [hoursInitial, minutes] = time.split(':').map(num => parseInt(num, 10));\n let hours = hoursInitial;\n\n if (modifier.toLowerCase() === 'pm' && hours < 12) {\n hours += 12;\n } else if (modifier.toLowerCase() === 'am' && hours === 12) {\n hours = 0;\n }\n\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;\n}\n\nexport function timeToMinutes(time) {\n const normalizedTime = normalizeAmPm(time);\n const match = normalizedTime.match(/(\\d+):(\\d+)(am|pm)/);\n if (!match) {\n return 0; // Return 0 if the time format is invalid\n }\n const [, hours, minutesPart] = match;\n let minutes = parseInt(hours, 10) * 60 + parseInt(minutesPart, 10);\n if (normalizedTime.includes('pm') && parseInt(hours, 10) < 12) minutes += 12 * 60;\n if (normalizedTime.includes('am') && parseInt(hours, 10) === 12) minutes -= 12 * 60;\n return minutes;\n}\n\nexport function minutesToTime(minutes) {\n const h = Math.floor(minutes / 60);\n const m = minutes % 60;\n return `${h}:${m < 10 ? '0' : ''}${m}`;\n}\n\nexport function getBrowser() {\n const ua = navigator.userAgent;\n\n // Check for Chrome (also in Edge and Opera)\n const isChrome = /Chrome/.test(ua) && /Google Inc/.test(navigator.vendor);\n\n // Check for Safari (also in Chrome and Opera)\n const isSafari = /Safari/.test(ua) && /Apple Computer/.test(navigator.vendor);\n\n // Check for Firefox\n const isFirefox = /Firefox/.test(ua);\n\n // Check for Internet Explorer\n const isIE = /Trident/.test(ua);\n\n // Check for Edge (the legacy version)\n const isEdgeLegacy = /Edge/.test(ua);\n\n // Check for Edge (the Chromium-based version)\n const isEdgeChromium = isChrome && /Edg/.test(ua);\n\n if (isEdgeChromium) return 'Edge (Chromium)';\n if (isChrome) return 'Chrome';\n if (isSafari) return 'Safari';\n if (isFirefox) return 'Firefox';\n if (isIE) return 'Internet Explorer';\n if (isEdgeLegacy) return 'Edge (Legacy)';\n\n return 'Unknown';\n}\n\n/**\n * Utility function to create a response object with data and error.\n * @param data any The data to return.\n * @param error DataResponseError The error to return.\n */\nexport function dataResponse<T = any>(data: T, error: DataResponseError | null = null): DataResponseReturnType<T> {\n if (error) {\n return [null, error];\n }\n return [data, null];\n}\n\n/**\n * Utility function to parse a preview link with placeholders.\n * @param link string A preview link with placeholders.\n * @param config Partial<Configuration> The configuration object to use to replace the placeholders.\n * @returns string The preview link with the placeholders replaced.\n */\nexport function parsePreviewLink(link: string, config?: Partial<Configuration>) {\n // Replacements\n const replacements = {\n 'config.id': config?.id,\n 'id': config?.id,\n 'slug': config?.slug,\n };\n\n // Replace the placeholders with the actual values\n Object.keys(replacements).forEach(key => {\n if (replacements[key]) {\n link = link.replace(`{${key}}`, replacements[key]);\n }\n });\n\n return link;\n}\n\nexport function isNonPrintableKey(event) {\n // Check for special keys like backspace, enter, escape, arrow keys, function keys, etc.\n if (\n event.keyCode < 48 || // Before 0\n (event.keyCode > 90 && event.keyCode < 96) || // Between Z and numpad 0\n (event.keyCode > 111 && event.keyCode < 186) || // Between numpad 9 and semi-colon (;)\n event.keyCode > 222 || // After single quote (')\n event.keyCode === 32 || // Spacebar\n event.keyCode === 91 || // Left Window key or left ⌘ key\n event.keyCode === 92 || // Right Window key or right ⌘ key\n event.keyCode === 93 || // Select key / Menu key or right ⌘ key\n (event.keyCode >= 112 && event.keyCode <= 123) || // Function (F1-F12) keys\n (event.keyCode >= 37 && event.keyCode <= 40) // Arrow keys\n ) {\n return true;\n }\n\n // Check for Ctrl, Alt, Shift, CapsLock, etc., by ignoring if any of these are pressed\n if (event.ctrlKey || event.altKey || event.metaKey) {\n return true;\n }\n\n // Check if Shift is combined with a number or special character\n const shiftSpecialChars = [\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57, // Numbers (0-9)\n 186,\n 187,\n 188,\n 189,\n 190,\n 191,\n 192,\n 219,\n 220,\n 221,\n 222, // Special characters (;=,-./` and []\\')\n ];\n\n if (event.shiftKey && shiftSpecialChars.includes(event.keyCode)) {\n return false;\n }\n\n // If none of the above, it's a character, number, or special character typed without shift\n return false;\n}\n\nexport function addDaysToCurrentDate(startDate, days) {\n const currentDate = new Date(startDate);\n currentDate.setDate(currentDate.getDate() + days);\n currentDate.setHours(23); // Sets the hour to 11 PM\n currentDate.setMinutes(59); // Sets the minute to 59\n currentDate.setSeconds(0); // Optionally, sets the seconds to 0\n currentDate.setMilliseconds(0); // Optionally, sets the milliseconds to 0\n return currentDate;\n}\n\nexport function addMinutesToCurrentTime(startDate, minutes) {\n const currentDate = new Date(startDate);\n currentDate.setMinutes(currentDate.getMinutes() + minutes);\n return currentDate;\n}\n\nexport function isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\n\nexport function mergeDeep(target, source) {\n if (Array.isArray(target) && Array.isArray(source) && target !== source) {\n // Custom handling for participants array\n if (target.some(item => item.is_organizer) && source.some(item => item.is_organizer)) {\n // Ensure all base participants are not organizers if there's an organizer in the selected config\n target = target.map(participant => ({ ...participant, is_organizer: false }));\n } else if (!source.some(item => item.is_organizer)) {\n // Make sure there is at least one organizer in the base if none in selected\n let foundOrganizer = false;\n target = target.map(participant => {\n if (!foundOrganizer) {\n foundOrganizer = true;\n return { ...participant, is_organizer: true };\n }\n return participant;\n });\n }\n // Merge each element of the arrays by index\n return target\n .map((item, index) => {\n return source[index] ? mergeDeep(item, source[index]) : item;\n })\n .concat(source.slice(target.length));\n } else if (isObject(target) && isObject(source)) {\n const output = Object.assign({}, target);\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n output[key] = source[key];\n } else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n } else {\n output[key] = source[key];\n }\n });\n return output;\n }\n return source;\n}\n\nexport function convertMinutesToHoursAndMinutes(minutes: number): string {\n if (minutes < 60) {\n return `${minutes} ${t('time.minutes')}`;\n }\n const hours = Math.floor(minutes / 60);\n const remainingMinutes = minutes % 60;\n const hoursText = t(`time.${hours > 1 ? 'hours' : 'hour'}`);\n const minutesText = remainingMinutes ? `${remainingMinutes} ${t(`time.${remainingMinutes > 1 ? 'minutes' : 'minute'}`)}` : '';\n return `${hours} ${hoursText} ${minutesText}`;\n}\n\nexport function checkForMissingSlots(slots: string[], host: HTMLElement) {\n slots.forEach(slot => {\n const slotElement = host.shadowRoot?.querySelector(`slot[name=\"${slot}\"]`) as HTMLSlotElement;\n const slotNodes = slotElement?.assignedNodes();\n if (slotNodes && slotNodes.length === 0) {\n console.warn(`${host.nodeName} No content provided for slot=\"${slot}\".`);\n }\n });\n}\n\nexport function compactStringToUUIDs(compactString: string) {\n // Detect if the string is encoded and decode it\n try {\n if (compactString !== decodeURIComponent(compactString)) {\n compactString = decodeURIComponent(compactString);\n }\n } catch (error) {\n console.warn(error);\n }\n\n // Convert URL-safe base64 back to standard base64 for atob()\n let standardBase64 = compactString.replace(/-/g, '+').replace(/_/g, '/');\n\n // Add padding if needed for atob()\n while (standardBase64.length % 4) {\n standardBase64 += '=';\n }\n\n // Decode the Base64 string to a Uint8Array using browser-native atob()\n const binaryString = atob(standardBase64);\n const uint8Array = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n uint8Array[i] = binaryString.charCodeAt(i);\n }\n\n // Extract each UUID's bytes (16 bytes each)\n const uuidBytes1 = uint8Array.slice(0, 16);\n const uuidBytes2 = uint8Array.slice(16, 32);\n // Extract the remainder as the salt\n const salt = uint8Array.slice(32);\n\n // Function to convert a Uint8Array to UUID string format\n function uint8ArrayToUUID(uint8Array: Uint8Array) {\n const hex = Array.from(uint8Array)\n .map(byte => byte.toString(16).padStart(2, '0'))\n .join('');\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n }\n\n // Convert byte arrays to UUID strings\n const uuid1 = uint8ArrayToUUID(uuidBytes1);\n const uuid2 = uint8ArrayToUUID(uuidBytes2);\n\n // Convert salt Uint8Array to URL-safe base64 without padding using browser-native btoa()\n const saltBinaryString = Array.from(salt)\n .map(byte => String.fromCharCode(byte))\n .join('');\n const b64EncodedSalt = btoa(saltBinaryString).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n\n return [uuid1, uuid2, b64EncodedSalt];\n}\n\nexport const t = key => {\n return i18next.t(key);\n};\n\nexport const capitalizeFirstLetter = (str: string) => {\n if (typeof str !== 'string') return '';\n return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nexport const translateMonth = (month: string) => {\n return t(`months.${month}`);\n};\n\nexport const isValidUrl = (url: string) => {\n try {\n new URL(url);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nexport const isValidImage = (url: string) => {\n return new Promise((resolve, reject) => {\n if (url === '') return resolve(true);\n\n const img = new Image();\n img.src = url;\n img.onerror = () => {\n reject(false);\n };\n img.onload = () => {\n resolve(true);\n };\n });\n};\n\ninterface CustomOptions {\n frequency?: 'daily' | 'weekly' | 'monthly' | 'yearly';\n interval?: number;\n daysOfWeek?: string[]; // Example: ['MO', 'WE']\n monthlySameDate?: boolean;\n end?: {\n type: 'never' | 'on' | 'after';\n date?: string; // ISO date string for 'on'\n count?: number; // Number of occurrences for 'after'\n };\n}\n\nexport function generateRRule(\n selectedDate: string, // ISO date string\n option: 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'custom',\n endDate?: string, // ISO date string for predefined rules\n customOptions?: CustomOptions, // Custom recurrence options\n timezoneStr: string = 'UTC', // Timezone string\n): string | null {\n const daysOfWeek: Record<number, Weekday> = {\n 0: RRule.SU,\n 1: RRule.MO,\n 2: RRule.TU,\n 3: RRule.WE,\n 4: RRule.TH,\n 5: RRule.FR,\n 6: RRule.SA,\n };\n\n // Parse the dates in the specified timezone\n const selectedDay = dayjs.tz(selectedDate, timezoneStr).toDate();\n const dayOfWeek = daysOfWeek[selectedDay.getDay()]; // Get the day of the week (e.g., RRule.TH for Thursday)\n const date = selectedDay.getDate();\n const occurrenceInMonth = Math.ceil(date / 7); // Determine the occurrence in the month (e.g., 2nd Thursday)\n\n const untilDate = endDate ? dayjs.tz(endDate, timezoneStr).toDate() : undefined;\n\n switch (option) {\n case 'none': {\n return null;\n }\n\n case 'daily': {\n return new RRule({\n freq: RRule.DAILY,\n until: untilDate,\n }).toString();\n }\n\n case 'weekly': {\n return new RRule({\n freq: RRule.WEEKLY,\n byweekday: dayOfWeek,\n until: untilDate,\n }).toString();\n }\n\n case 'monthly': {\n return new RRule({\n freq: RRule.MONTHLY,\n byweekday: [dayOfWeek.nth(occurrenceInMonth)],\n until: untilDate,\n }).toString();\n }\n\n case 'yearly': {\n return new RRule({\n freq: RRule.YEARLY,\n dtstart: selectedDay,\n until: untilDate,\n }).toString();\n }\n\n case 'custom': {\n if (!customOptions) {\n throw new Error('Custom options must be provided for custom recurrence.');\n }\n\n const byweekday =\n customOptions.frequency === 'weekly'\n ? customOptions.daysOfWeek?.map(day => RRule[day as keyof typeof RRule] as Weekday) // Map selected days to RRule weekdays\n : customOptions.frequency === 'monthly' && !customOptions.monthlySameDate\n ? [dayOfWeek.nth(occurrenceInMonth)]\n : undefined;\n\n const bymonthday = customOptions.frequency === 'monthly' && customOptions.monthlySameDate ? dayjs.tz(selectedDate, timezoneStr).date() : undefined;\n\n return new RRule({\n freq: {\n daily: RRule.DAILY,\n weekly: RRule.WEEKLY,\n monthly: RRule.MONTHLY,\n yearly: RRule.YEARLY,\n }[customOptions.frequency || 'daily'],\n interval: customOptions.interval || 1,\n byweekday, // Use byweekday array for weekly or monthly (non-same-date) cases\n bymonthday, // Use bymonthday for monthly-same-date case\n until: customOptions.end?.type === 'on' ? dayjs.tz(customOptions.end.date!, timezoneStr).toDate() : undefined,\n count: customOptions.end?.type === 'after' ? customOptions.end.count : undefined,\n }).toString();\n }\n\n default: {\n throw new Error(`Invalid option: ${option}`);\n }\n }\n}\n\nexport function getCalendarRange(\n currentDate: string, // ISO date string\n viewType: 'week' | 'month' | 'day',\n): { startTime: number; endTime: number } {\n const current = dayjs(currentDate).startOf('day'); // Ensure the date starts at midnight\n let startTime: dayjs.Dayjs;\n let endTime: dayjs.Dayjs;\n\n switch (viewType) {\n case 'week': {\n // Start of the week (Sunday)\n startTime = current.startOf('week');\n // End of the week (Saturday, inclusive)\n endTime = current.endOf('week');\n break;\n }\n\n case 'month': {\n startTime = current.startOf('month').startOf('week'); // Start from Sunday of the first week in the month\n endTime = current.endOf('month').endOf('week'); // End on Saturday of the last week + 7 days\n break;\n }\n\n case 'day': {\n // For a day view, just use the current day\n startTime = current.startOf('day');\n endTime = current.endOf('day');\n break;\n }\n\n default: {\n throw new Error('Invalid viewType. Use \"week\", \"month\", or \"day\".');\n }\n }\n\n return {\n startTime: startTime.unix(), // Convert to timestamp\n endTime: endTime.unix(), // Convert to timestamp\n };\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { g as globalScripts } from './p-Bht9ktsW.js';
2
2
  export { a as getAssetPath, r as render, s as setAssetPath, b as setNonce, c as setPlatformOptions } from './p-Bht9ktsW.js';
3
3
  import { c as createStore } from './p-DVWbg8if.js';
4
- export { N as NylasIdentityRequestWrapper } from './p-x0Q884CI.js';
4
+ export { N as NylasIdentityRequestWrapper } from './p-Dnw0IV6v.js';
5
5
 
6
6
  const store = createStore({});
7
7
 
@@ -1,4 +1,4 @@
1
- import { I as InputComponent$1, d as defineCustomElement$1 } from './p-DcoRpHVy.js';
1
+ import { I as InputComponent$1, d as defineCustomElement$1 } from './p-cT1Q8Q-G.js';
2
2
 
3
3
  const InputComponent = InputComponent$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { I as InputImageUrl$1, d as defineCustomElement$1 } from './p-D-2UWdRa.js';
1
+ import { I as InputImageUrl$1, d as defineCustomElement$1 } from './p-BKk2JkBe.js';
2
2
 
3
3
  const InputImageUrl = InputImageUrl$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { M as MultiSelectDropdown$1, d as defineCustomElement$1 } from './p-MX2k8GbG.js';
1
+ import { M as MultiSelectDropdown$1, d as defineCustomElement$1 } from './p-DBRBbTgP.js';
2
2
 
3
3
  const MultiSelectDropdown = MultiSelectDropdown$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasAdditionalParticipants$1, d as defineCustomElement$1 } from './p-Cu74bJsj.js';
1
+ import { N as NylasAdditionalParticipants$1, d as defineCustomElement$1 } from './p-D-TAjvsg.js';
2
2
 
3
3
  const NylasAdditionalParticipants = NylasAdditionalParticipants$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasAvailabilityPicker$1, d as defineCustomElement$1 } from './p-C9ADvO-t.js';
1
+ import { N as NylasAvailabilityPicker$1, d as defineCustomElement$1 } from './p-DTpqylfB.js';
2
2
 
3
3
  const NylasAvailabilityPicker = NylasAvailabilityPicker$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasBookedEventCard$1, d as defineCustomElement$1 } from './p-CKg1LT6_.js';
1
+ import { N as NylasBookedEventCard$1, d as defineCustomElement$1 } from './p-D5apK1Vq.js';
2
2
 
3
3
  const NylasBookedEventCard = NylasBookedEventCard$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasBookingCalendarPicker$1, d as defineCustomElement$1 } from './p-dosNJKV2.js';
1
+ import { N as NylasBookingCalendarPicker$1, d as defineCustomElement$1 } from './p-B1vZbLyd.js';
2
2
 
3
3
  const NylasBookingCalendarPicker = NylasBookingCalendarPicker$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasBookingConfirmationRedirect$1, d as defineCustomElement$1 } from './p-CuHnb1-_.js';
1
+ import { N as NylasBookingConfirmationRedirect$1, d as defineCustomElement$1 } from './p-Bb0z-pD8.js';
2
2
 
3
3
  const NylasBookingConfirmationRedirect = NylasBookingConfirmationRedirect$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasBookingConfirmationType$1, d as defineCustomElement$1 } from './p-xh3aXihe.js';
1
+ import { N as NylasBookingConfirmationType$1, d as defineCustomElement$1 } from './p-FoOzqqac.js';
2
2
 
3
3
  const NylasBookingConfirmationType = NylasBookingConfirmationType$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasBookingFormConfig$1, d as defineCustomElement$1 } from './p-DMDjzHug.js';
1
+ import { N as NylasBookingFormConfig$1, d as defineCustomElement$1 } from './p-ClSuoTwF.js';
2
2
 
3
3
  const NylasBookingFormConfig = NylasBookingFormConfig$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasBookingForm$1, d as defineCustomElement$1 } from './p-CmY1th_s.js';
1
+ import { N as NylasBookingForm$1, d as defineCustomElement$1 } from './p-DNkQVYN2.js';
2
2
 
3
3
  const NylasBookingForm = NylasBookingForm$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasBufferTime$1, d as defineCustomElement$1 } from './p-Dfd5wo37.js';
1
+ import { N as NylasBufferTime$1, d as defineCustomElement$1 } from './p-D6dFiHrw.js';
2
2
 
3
3
  const NylasBufferTime = NylasBufferTime$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasCalendarPicker$1, d as defineCustomElement$1 } from './p-CHs824QK.js';
1
+ import { N as NylasCalendarPicker$1, d as defineCustomElement$1 } from './p-D4-3Jhnx.js';
2
2
 
3
3
  const NylasCalendarPicker = NylasCalendarPicker$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasCancelBookingForm$1, d as defineCustomElement$1 } from './p-Dq6X5eqK.js';
1
+ import { N as NylasCancelBookingForm$1, d as defineCustomElement$1 } from './p-DWA-qoxj.js';
2
2
 
3
3
  const NylasCancelBookingForm = NylasCancelBookingForm$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasCancellationPolicy$1, d as defineCustomElement$1 } from './p-DjlPLeVk.js';
1
+ import { N as NylasCancellationPolicy$1, d as defineCustomElement$1 } from './p-Cvb13C1p.js';
2
2
 
3
3
  const NylasCancellationPolicy = NylasCancellationPolicy$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasCancelledEventCard$1, d as defineCustomElement$1 } from './p-Byz3JKQu.js';
1
+ import { N as NylasCancelledEventCard$1, d as defineCustomElement$1 } from './p-C5CEB4Wv.js';
2
2
 
3
3
  const NylasCancelledEventCard = NylasCancelledEventCard$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasConfirmationEmail$1, d as defineCustomElement$1 } from './p-C6SF5Gq_.js';
1
+ import { N as NylasConfirmationEmail$1, d as defineCustomElement$1 } from './p-DAJXx2tg.js';
2
2
 
3
3
  const NylasConfirmationEmail = NylasConfirmationEmail$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasConfirmedEventCard$1, d as defineCustomElement$1 } from './p-BeD_Q4wQ.js';
1
+ import { N as NylasConfirmedEventCard$1, d as defineCustomElement$1 } from './p-CEO6ZorI.js';
2
2
 
3
3
  const NylasConfirmedEventCard = NylasConfirmedEventCard$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasConnectedCalendars$1, d as defineCustomElement$1 } from './p-CB2_BMlD.js';
1
+ import { N as NylasConnectedCalendars$1, d as defineCustomElement$1 } from './p-B9BW5SHF.js';
2
2
 
3
3
  const NylasConnectedCalendars = NylasConnectedCalendars$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasCustomBookingFlow$1, d as defineCustomElement$1 } from './p-CKuq2LL7.js';
1
+ import { N as NylasCustomBookingFlow$1, d as defineCustomElement$1 } from './p-B_imcHCC.js';
2
2
 
3
3
  const NylasCustomBookingFlow = NylasCustomBookingFlow$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasCustomEventSlug$1, d as defineCustomElement$1 } from './p-jbmfeNc8.js';
1
+ import { N as NylasCustomEventSlug$1, d as defineCustomElement$1 } from './p-DCM7ntGT.js';
2
2
 
3
3
  const NylasCustomEventSlug = NylasCustomEventSlug$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasCustomizeBookingSettings$1, d as defineCustomElement$1 } from './p-Vc2ZLSUH.js';
1
+ import { N as NylasCustomizeBookingSettings$1, d as defineCustomElement$1 } from './p-Cs-xmxxD.js';
2
2
 
3
3
  const NylasCustomizeBookingSettings = NylasCustomizeBookingSettings$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasDateComponent$1, d as defineCustomElement$1 } from './p-C1-hLcxk.js';
1
+ import { N as NylasDateComponent$1, d as defineCustomElement$1 } from './p-BQ1_MrWH.js';
2
2
 
3
3
  const NylasDateComponent = NylasDateComponent$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasDatePicker$1, d as defineCustomElement$1 } from './p-Dv7dtg64.js';
1
+ import { N as NylasDatePicker$1, d as defineCustomElement$1 } from './p-JCwXrScM.js';
2
2
 
3
3
  const NylasDatePicker = NylasDatePicker$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasDisableEmails$1, d as defineCustomElement$1 } from './p-CPMSwD22.js';
1
+ import { N as NylasDisableEmails$1, d as defineCustomElement$1 } from './p-Dh07gHmd.js';
2
2
 
3
3
  const NylasDisableEmails = NylasDisableEmails$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEditorTabsGroup$1, d as defineCustomElement$1 } from './p-DEy4gcRj.js';
1
+ import { N as NylasEditorTabsGroup$1, d as defineCustomElement$1 } from './p-B86z20mN.js';
2
2
 
3
3
  const NylasEditorTabsGroup = NylasEditorTabsGroup$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEditorTabs$1, d as defineCustomElement$1 } from './p-BWEpzVzc.js';
1
+ import { N as NylasEditorTabs$1, d as defineCustomElement$1 } from './p-do98tB-v.js';
2
2
 
3
3
  const NylasEditorTabs = NylasEditorTabs$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventCalendar$1, d as defineCustomElement$1 } from './p-CzJz0rnK.js';
1
+ import { N as NylasEventCalendar$1, d as defineCustomElement$1 } from './p-BI0Stv78.js';
2
2
 
3
3
  const NylasEventCalendar = NylasEventCalendar$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventCapacity$1, d as defineCustomElement$1 } from './p-DSO080eR.js';
1
+ import { N as NylasEventCapacity$1, d as defineCustomElement$1 } from './p-BDayBBhB.js';
2
2
 
3
3
  const NylasEventCapacity = NylasEventCapacity$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventDescription$1, d as defineCustomElement$1 } from './p-BuZyzxqv.js';
1
+ import { N as NylasEventDescription$1, d as defineCustomElement$1 } from './p-B9uipWU2.js';
2
2
 
3
3
  const NylasEventDescription = NylasEventDescription$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventDuration$1, d as defineCustomElement$1 } from './p-CLQqLmc2.js';
1
+ import { N as NylasEventDuration$1, d as defineCustomElement$1 } from './p-DOSWGUBW.js';
2
2
 
3
3
  const NylasEventDuration = NylasEventDuration$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventInfo$1, d as defineCustomElement$1 } from './p-DSSPyNIm.js';
1
+ import { N as NylasEventInfo$1, d as defineCustomElement$1 } from './p-Br9o8ik9.js';
2
2
 
3
3
  const NylasEventInfo = NylasEventInfo$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventLimits$1, d as defineCustomElement$1 } from './p-DlaQufsy.js';
1
+ import { N as NylasEventLimits$1, d as defineCustomElement$1 } from './p-Bm9KAv3a.js';
2
2
 
3
3
  const NylasEventLimits = NylasEventLimits$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventLocation$1, d as defineCustomElement$1 } from './p-DM4H8E4y.js';
1
+ import { N as NylasEventLocation$1, d as defineCustomElement$1 } from './p-B3Mdq6rL.js';
2
2
 
3
3
  const NylasEventLocation = NylasEventLocation$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventTimeslot$1, d as defineCustomElement$1 } from './p-CURQD4Ll.js';
1
+ import { N as NylasEventTimeslot$1, d as defineCustomElement$1 } from './p--1ZpL3Z_.js';
2
2
 
3
3
  const NylasEventTimeslot = NylasEventTimeslot$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasEventTitle$1, d as defineCustomElement$1 } from './p-DMpwL-p1.js';
1
+ import { N as NylasEventTitle$1, d as defineCustomElement$1 } from './p-DUV1Jj8E.js';
2
2
 
3
3
  const NylasEventTitle = NylasEventTitle$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasFeedbackForm$1, d as defineCustomElement$1 } from './p-BnOrZCZZ.js';
1
+ import { N as NylasFeedbackForm$1, d as defineCustomElement$1 } from './p-eeUTE5dj.js';
2
2
 
3
3
  const NylasFeedbackForm = NylasFeedbackForm$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasFormCard$1, d as defineCustomElement$1 } from './p-CFOX1cL3.js';
1
+ import { N as NylasFormCard$1, d as defineCustomElement$1 } from './p-DjX1ll1V.js';
2
2
 
3
3
  const NylasFormCard = NylasFormCard$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasLimitFutureBookings$1, d as defineCustomElement$1 } from './p-BtGEJFmy.js';
1
+ import { N as NylasLimitFutureBookings$1, d as defineCustomElement$1 } from './p-Y0BOy8RT.js';
2
2
 
3
3
  const NylasLimitFutureBookings = NylasLimitFutureBookings$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { N as NylasListConfigurations$1, d as defineCustomElement$1 } from './p-vvfFiGWj.js';
1
+ import { N as NylasListConfigurations$1, d as defineCustomElement$1 } from './p-DpEIiPGz.js';
2
2
 
3
3
  const NylasListConfigurations = NylasListConfigurations$1;
4
4
  const defineCustomElement = defineCustomElement$1;