@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
@@ -1 +1 @@
1
- {"file":"p-Dv7dtg64.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/interval.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/duration.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/day.js","src/components/scheduler/nylas-date-picker/nylas-date-picker.scss?tag=nylas-date-picker&encapsulation=shadow","src/components/scheduler/nylas-date-picker/nylas-date-picker.tsx"],"sourcesContent":["const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n min-height: 444px;\n @include default-css-variables;\n\n @media #{$mobile} {\n min-height: auto;\n }\n}\n\n.nylas-date-picker {\n display: flex;\n gap: 1rem;\n flex-direction: column;\n}\n\n.header {\n margin: 0 0.5rem;\n height: 48px;\n\n h2 {\n font-size: 1.3125rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--nylas-base-800);\n\n strong {\n font-weight: 600;\n }\n }\n}\n\n.title {\n margin: 0 -1.25rem;\n display: flex;\n flex-direction: column;\n padding: 0 1.5rem;\n gap: 0.5rem;\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n color: var(--nylas-base-800);\n\n h1 {\n max-width: 376px;\n margin-bottom: 0;\n font-size: 18px;\n line-height: 20px;\n font-weight: 600;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n\n p {\n margin-top: 0;\n font-size: 16px;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n\n 50% {\n background-color: var(--nylas-base-100);\n }\n\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.dates {\n display: grid;\n justify-items: center;\n grid-template-columns: repeat(7, 1fr);\n gap: 0.5rem;\n margin-bottom: 24px;\n\n .date {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 48px;\n width: 48px;\n min-width: 2rem;\n min-height: 2rem;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n font-weight: 600;\n font-family: inherit;\n color: var(--nylas-base-text);\n background-color: var(--nylas-base-100);\n cursor: pointer;\n\n &:hover:not(:disabled) {\n box-shadow: 0 0 0 2px var(--nylas-base-500) inset;\n }\n\n border: none;\n\n &.date.current-month {\n color: var(--nylas-base-800);\n }\n\n &.date.selected {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n font-weight: 700;\n }\n\n &.date.day-skeleton {\n color: var(--nylas-base-300);\n }\n\n &:disabled {\n color: var(--nylas-base-300);\n background-color: transparent;\n font-weight: 400;\n cursor: not-allowed;\n }\n\n @media #{$mobile} {\n width: -webkit-fill-available;\n width: -moz-available;\n width: fill-available;\n }\n\n @media #{$x-small-mobile} {\n height: 38px;\n min-width: none;\n }\n }\n\n .day {\n font-size: 12px;\n color: var(--nylas-base-800);\n font-weight: 600;\n letter-spacing: 0.5px;\n height: 32px;\n display: flex;\n align-items: center;\n\n @media #{$mobile} {\n font-size: 14px;\n }\n }\n\n .date.day-skeleton {\n height: 48px;\n width: 48px;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n background-color: var(--nylas-base-50);\n\n @media #{$x-small-mobile} {\n width: 38px;\n height: 38px;\n min-width: none;\n }\n }\n\n .date.current-day::after {\n content: '';\n position: absolute;\n bottom: 6px;\n left: 50%;\n transform: translateX(-50%);\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--nylas-base-500);\n }\n\n .date.current-day.selected::after {\n background-color: var(--nylas-base-100);\n }\n}\n\n.pagination {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n min-width: 92px;\n\n .chevron-right {\n transform: rotate(180deg);\n }\n\n .button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 3vh;\n width: 3vh;\n min-width: 3em;\n min-height: 3em;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n\n background-color: transparent;\n color: var(--nylas-base-800);\n cursor: pointer;\n\n &:hover {\n background-color: var(--nylas-base-50);\n }\n\n border: none;\n\n &:active {\n background-color: var(--nylas-base-100);\n }\n\n &:disabled {\n background-color: transparent;\n color: var(--nylas-base-300);\n cursor: not-allowed;\n }\n }\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n color: var(--nylas-base-500);\n}","import { RegisterComponent } from '@/common/register-component';\nimport { addDaysToCurrentDate, convertMinutesToHoursAndMinutes, getFirstDayOfMonth, getLastDayOfMonth, isSameDay, isSameMonth, translateMonth } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { timeDay } from 'd3-time';\nimport { NylasSchedulerConnector } from '../../..';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\nimport { debug } from '@/utils/utils';\nimport { ThemeConfig } from '@nylas/core';\nimport dayjs from 'dayjs';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\n\n// Initialize dayjs plugins needed for timezone handling\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\n/**\n * The `nylas-date-picker` component is a UI component that allows users to select a date.\n *\n * @part ndp - The date picker host.\n * @part ndp__title - The title.\n * @part ndp__month-header - The month header.\n * @part ndp__month-button - The month button.\n * @part ndp__day - The day.\n * @part ndp__date - The date.\n * @part ndp__date--selected - The selected date.\n * @part ndp__date--current-day - The current day.\n * @part ndp__date--current-month - The dates in the current month.\n * @part ndp__date--disabled - The disabled dates.\n */\n@Component({\n tag: 'nylas-date-picker',\n styleUrl: 'nylas-date-picker.scss',\n shadow: true,\n})\nexport class NylasDatePicker {\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasDatePickerElement;\n\n /**\n * @standalone\n * The dates that are selectable.\n */\n @Prop() selectableDates?: Date[];\n\n /**\n * @standalone\n * The config settings.\n */\n @Prop() configSettings?: ConfigSettings;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected date.\n */\n @Prop() selectedDate?: Date;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The event duration.\n */\n @Prop() readonly eventDuration?: number;\n\n /**\n * The month to display.\n */\n @State() month: Date = this.selectedDate || new Date();\n\n /**\n * The dates to render.\n */\n @State() dates: Date[] = this.getDates();\n\n /**\n * The state to disable the next month button.\n */\n @State() disableNextMonthButton: boolean = false;\n\n /**\n * The state to store the selected dates as per the timezone.\n */\n @State() selectableDatesTimezone: Date[] = [];\n\n /**\n * This event is fired when a date is selected.\n */\n @Event() dateSelected!: EventEmitter<Date>;\n\n /**\n * This event is fired when the month is changed.\n */\n @Event() monthChanged!: EventEmitter<Date>;\n\n @Watch('configSettings')\n configSettingsChanged(newConfigSettings: ConfigSettings) {\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = newConfigSettings?.scheduler?.available_days_in_future;\n if (availableDaysInFuture === undefined) {\n return;\n }\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: string) {\n i18next.changeLanguage(newLanguage);\n }\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newSelectedDate: Date) {\n if (!newSelectedDate || !isSameMonth(newSelectedDate, this.month)) {\n this.month = newSelectedDate || new Date();\n }\n this.dates = this.getDates();\n }\n\n /**\n * Helper method to convert dates to the specified timezone, preserving only the date part\n */\n private convertDatesToTimezone(dates: Date[] | undefined, targetTimezone: string): Date[] {\n if (!dates || dates.length === 0) {\n return [];\n }\n\n return dates.map(d => {\n const tzDate = dayjs(d).tz(targetTimezone);\n return new Date(tzDate.year(), tzDate.month(), tzDate.date());\n });\n }\n\n @Watch('selectedTimezone')\n selectedTimezoneChanged(newSelectedTimezone: string) {\n this.selectableDatesTimezone = this.convertDatesToTimezone(this.selectableDates, newSelectedTimezone);\n }\n\n @Watch('selectableDates')\n selectableDatesChanged(newSelectableDates: Date[] | undefined) {\n this.selectableDatesTimezone = this.convertDatesToTimezone(newSelectableDates, this.selectedTimezone);\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n componentDidLoad() {\n debug(`[nylas-date-picker] Component did load`);\n this.applyThemeConfig(this.themeConfig);\n this.month = this.selectedDate || new Date();\n this.dates = this.getDates();\n this.selectableDatesTimezone = this.convertDatesToTimezone(this.selectableDates, this.selectedTimezone);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Get the dates to render, including the days from the previous and next months.\n * @returns The dates to render.\n */\n private getDates() {\n const lastDayOfMonth = getLastDayOfMonth(this.month);\n const firstDayOfMonth = getFirstDayOfMonth(this.month);\n\n return timeDay.range(timeDay.offset(firstDayOfMonth, -firstDayOfMonth.getDay()), timeDay.offset(lastDayOfMonth, 7 - lastDayOfMonth.getDay()));\n }\n\n /**\n * Select a date.\n * @param date The date to select.\n */\n private selectDate(date?: Date) {\n this.dateSelected.emit(date);\n }\n\n /**\n * Change the month.\n * @param change The change in months.\n */\n private changeMonth(change: number) {\n this.month = new Date(this.month.getFullYear(), this.month.getMonth() + change, 1);\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = this.configSettings?.scheduler?.available_days_in_future;\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n this.dates = this.getDates();\n this.monthChanged.emit(this.month);\n }\n\n private isSelected(date: Date | undefined, selectedDate: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectedDate && isSameDay(date, selectedDate) && selectableDates && selectableDates?.length > 0;\n }\n\n private isDisabled(date: Date | undefined) {\n if (!date || !this.selectableDatesTimezone || this.selectableDatesTimezone.length === 0) {\n return true;\n }\n\n // Compare only the date parts (year, month, day), ignoring time\n return !this.selectableDatesTimezone.some(d => {\n return date.getFullYear() === d.getFullYear() && date.getMonth() === d.getMonth() && date.getDate() === d.getDate();\n });\n }\n\n @RegisterComponent<NylasDatePicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-date-picker',\n stateToProps: new Map([\n ['scheduler.selectableDates', 'selectableDates'],\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.eventDuration', 'eventDuration'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.themeConfig', 'themeConfig'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ]),\n eventToProps: {\n dateSelected: async (event: CustomEvent<Date>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'dateSelected', event.detail);\n nylasSchedulerConnector.scheduler.selectDate(event.detail);\n },\n monthChanged: async (event: CustomEvent<Date>, _nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'monthChanged', event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ndp\">\n <div class=\"nylas-date-picker\">\n <div class=\"title\" part=\"ndp__title\">\n {this.configSettings?.name ? (\n <h1>{this.configSettings?.name}</h1>\n ) : (\n this.configSettings?.organizer?.name && (\n <h1>\n <person-icon />\n {this.configSettings?.organizer?.name || 'Organizer'}\n </h1>\n )\n )}\n <p>\n <clock-icon />\n {this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration) : `- ${i18next.t('time.minutes')}`}\n </p>\n </div>\n <div class={'header flex-row'}>\n <h2 part={'ndp__month-header'}>\n <strong>{translateMonth(this.month.toLocaleDateString('en-US', { month: 'long' }).toLowerCase())}</strong>\n &nbsp;\n {this.month.toLocaleDateString(undefined, { year: 'numeric' })}\n </h2>\n <div class={'pagination'}>\n <button\n title=\"Previous month\"\n onClick={() => this.changeMonth(-1)}\n class={{ 'chevron-left': true, 'button': true }}\n disabled={this.month <= new Date()}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n <button\n title=\"Next month\"\n onClick={() => this.changeMonth(1)}\n class={{ 'chevron-right': true, 'button': true }}\n disabled={this.disableNextMonthButton}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n </div>\n </div>\n\n <div class={'dates'}>\n {[\n i18next.t('days.sunday'),\n i18next.t('days.monday'),\n i18next.t('days.tuesday'),\n i18next.t('days.wednesday'),\n i18next.t('days.thursday'),\n i18next.t('days.friday'),\n i18next.t('days.saturday'),\n ].map(day => {\n return (\n <div class={'day'} part=\"ndp__day\">\n {day}\n </div>\n );\n })}\n {this.dates.map((date, i) => {\n const isDisabled = this.isDisabled(date);\n\n if (this.isLoading) {\n return (\n <button\n disabled\n class={{\n 'date day-skeleton': true,\n 'current-month': isSameMonth(date, this.month),\n }}\n style={{ animationDelay: `${i * 20}ms` }}\n part={`ndp__date ndp__date--disabled`}\n >\n {date.getDate()}\n </button>\n );\n }\n return (\n <button\n class={{\n 'date': true,\n 'selected': !!(this.selectedDate && isSameDay(date, this.selectedDate) && this.selectableDates && this.selectableDates?.length > 0),\n 'current-day': isSameDay(date, new Date()),\n 'current-month': isSameMonth(date, this.month),\n }}\n aria-label={date.toLocaleDateString(undefined, { dateStyle: 'full' })}\n disabled={isDisabled}\n onClick={() => this.selectDate(date)}\n part={`ndp__date ${this.isSelected(date, this.selectedDate, this.selectableDates) ? 'ndp__date--selected' : ''} ${isSameDay(date, new Date()) ? 'ndp__date--current-day' : ''} ${isSameMonth(date, this.month) ? 'ndp__date--current-month' : ''}`}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-JCwXrScM.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/interval.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/duration.js","../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/day.js","src/components/scheduler/nylas-date-picker/nylas-date-picker.scss?tag=nylas-date-picker&encapsulation=shadow","src/components/scheduler/nylas-date-picker/nylas-date-picker.tsx"],"sourcesContent":["const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n min-height: 444px;\n @include default-css-variables;\n\n @media #{$mobile} {\n min-height: auto;\n }\n}\n\n.nylas-date-picker {\n display: flex;\n gap: 1rem;\n flex-direction: column;\n}\n\n.header {\n margin: 0 0.5rem;\n height: 48px;\n\n h2 {\n font-size: 1.3125rem;\n font-weight: 400;\n line-height: 1rem;\n color: var(--nylas-base-800);\n\n strong {\n font-weight: 600;\n }\n }\n}\n\n.title {\n margin: 0 -1.25rem;\n display: flex;\n flex-direction: column;\n padding: 0 1.5rem;\n gap: 0.5rem;\n border-bottom: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n color: var(--nylas-base-800);\n\n h1 {\n max-width: 376px;\n margin-bottom: 0;\n font-size: 18px;\n line-height: 20px;\n font-weight: 600;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n\n p {\n margin-top: 0;\n font-size: 16px;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n }\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n\n 50% {\n background-color: var(--nylas-base-100);\n }\n\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.dates {\n display: grid;\n justify-items: center;\n grid-template-columns: repeat(7, 1fr);\n gap: 0.5rem;\n margin-bottom: 24px;\n\n .date {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 48px;\n width: 48px;\n min-width: 2rem;\n min-height: 2rem;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n font-size: 16px;\n font-weight: 600;\n font-family: inherit;\n color: var(--nylas-base-text);\n background-color: var(--nylas-base-100);\n cursor: pointer;\n\n &:hover:not(:disabled) {\n box-shadow: 0 0 0 2px var(--nylas-base-500) inset;\n }\n\n border: none;\n\n &.date.current-month {\n color: var(--nylas-base-800);\n }\n\n &.date.selected {\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n font-weight: 700;\n }\n\n &.date.day-skeleton {\n color: var(--nylas-base-300);\n }\n\n &:disabled {\n color: var(--nylas-base-300);\n background-color: transparent;\n font-weight: 400;\n cursor: not-allowed;\n }\n\n @media #{$mobile} {\n width: -webkit-fill-available;\n width: -moz-available;\n width: fill-available;\n }\n\n @media #{$x-small-mobile} {\n height: 38px;\n min-width: none;\n }\n }\n\n .day {\n font-size: 12px;\n color: var(--nylas-base-800);\n font-weight: 600;\n letter-spacing: 0.5px;\n height: 32px;\n display: flex;\n align-items: center;\n\n @media #{$mobile} {\n font-size: 14px;\n }\n }\n\n .date.day-skeleton {\n height: 48px;\n width: 48px;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n background-color: var(--nylas-base-50);\n\n @media #{$x-small-mobile} {\n width: 38px;\n height: 38px;\n min-width: none;\n }\n }\n\n .date.current-day::after {\n content: '';\n position: absolute;\n bottom: 6px;\n left: 50%;\n transform: translateX(-50%);\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--nylas-base-500);\n }\n\n .date.current-day.selected::after {\n background-color: var(--nylas-base-100);\n }\n}\n\n.pagination {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n min-width: 92px;\n\n .chevron-right {\n transform: rotate(180deg);\n }\n\n .button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: 3vh;\n width: 3vh;\n min-width: 3em;\n min-height: 3em;\n cursor: pointer;\n border-radius: var(--nylas-border-radius-2x);\n\n background-color: transparent;\n color: var(--nylas-base-800);\n cursor: pointer;\n\n &:hover {\n background-color: var(--nylas-base-50);\n }\n\n border: none;\n\n &:active {\n background-color: var(--nylas-base-100);\n }\n\n &:disabled {\n background-color: transparent;\n color: var(--nylas-base-300);\n cursor: not-allowed;\n }\n }\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n color: var(--nylas-base-500);\n}","import { RegisterComponent } from '@/common/register-component';\nimport { addDaysToCurrentDate, convertMinutesToHoursAndMinutes, getFirstDayOfMonth, getLastDayOfMonth, isSameDay, isSameMonth, translateMonth } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { timeDay } from 'd3-time';\nimport { NylasSchedulerConnector } from '../../..';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { ConfigSettings } from '@/stores/scheduler-store';\nimport i18next from '@/utils/i18n';\nimport { debug } from '@/utils/utils';\nimport { ThemeConfig } from '@nylas/core';\nimport dayjs from 'dayjs';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\n\n// Initialize dayjs plugins needed for timezone handling\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\n/**\n * The `nylas-date-picker` component is a UI component that allows users to select a date.\n *\n * @part ndp - The date picker host.\n * @part ndp__title - The title.\n * @part ndp__month-header - The month header.\n * @part ndp__month-button - The month button.\n * @part ndp__day - The day.\n * @part ndp__date - The date.\n * @part ndp__date--selected - The selected date.\n * @part ndp__date--current-day - The current day.\n * @part ndp__date--current-month - The dates in the current month.\n * @part ndp__date--disabled - The disabled dates.\n */\n@Component({\n tag: 'nylas-date-picker',\n styleUrl: 'nylas-date-picker.scss',\n shadow: true,\n})\nexport class NylasDatePicker {\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasDatePickerElement;\n\n /**\n * @standalone\n * The dates that are selectable.\n */\n @Prop() selectableDates?: Date[];\n\n /**\n * @standalone\n * The config settings.\n */\n @Prop() configSettings?: ConfigSettings;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected date.\n */\n @Prop() selectedDate?: Date;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The event duration.\n */\n @Prop() readonly eventDuration?: number;\n\n /**\n * The month to display.\n */\n @State() month: Date = this.selectedDate || new Date();\n\n /**\n * The dates to render.\n */\n @State() dates: Date[] = this.getDates();\n\n /**\n * The state to disable the next month button.\n */\n @State() disableNextMonthButton: boolean = false;\n\n /**\n * The state to store the selected dates as per the timezone.\n */\n @State() selectableDatesTimezone: Date[] = [];\n\n /**\n * This event is fired when a date is selected.\n */\n @Event() dateSelected!: EventEmitter<Date>;\n\n /**\n * This event is fired when the month is changed.\n */\n @Event() monthChanged!: EventEmitter<Date>;\n\n @Watch('configSettings')\n configSettingsChanged(newConfigSettings: ConfigSettings) {\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = newConfigSettings?.scheduler?.available_days_in_future;\n if (availableDaysInFuture === undefined) {\n return;\n }\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: string) {\n i18next.changeLanguage(newLanguage);\n }\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newSelectedDate: Date) {\n if (!newSelectedDate || !isSameMonth(newSelectedDate, this.month)) {\n this.month = newSelectedDate || new Date();\n }\n this.dates = this.getDates();\n }\n\n /**\n * Helper method to convert dates to the specified timezone, preserving only the date part\n */\n private convertDatesToTimezone(dates: Date[] | undefined, targetTimezone: string): Date[] {\n if (!dates || dates.length === 0) {\n return [];\n }\n\n return dates.map(d => {\n const tzDate = dayjs(d).tz(targetTimezone);\n return new Date(tzDate.year(), tzDate.month(), tzDate.date());\n });\n }\n\n @Watch('selectedTimezone')\n selectedTimezoneChanged(newSelectedTimezone: string) {\n this.selectableDatesTimezone = this.convertDatesToTimezone(this.selectableDates, newSelectedTimezone);\n }\n\n @Watch('selectableDates')\n selectableDatesChanged(newSelectableDates: Date[] | undefined) {\n this.selectableDatesTimezone = this.convertDatesToTimezone(newSelectableDates, this.selectedTimezone);\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n componentDidLoad() {\n debug(`[nylas-date-picker] Component did load`);\n this.applyThemeConfig(this.themeConfig);\n this.month = this.selectedDate || new Date();\n this.dates = this.getDates();\n this.selectableDatesTimezone = this.convertDatesToTimezone(this.selectableDates, this.selectedTimezone);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Get the dates to render, including the days from the previous and next months.\n * @returns The dates to render.\n */\n private getDates() {\n const lastDayOfMonth = getLastDayOfMonth(this.month);\n const firstDayOfMonth = getFirstDayOfMonth(this.month);\n\n return timeDay.range(timeDay.offset(firstDayOfMonth, -firstDayOfMonth.getDay()), timeDay.offset(lastDayOfMonth, 7 - lastDayOfMonth.getDay()));\n }\n\n /**\n * Select a date.\n * @param date The date to select.\n */\n private selectDate(date?: Date) {\n this.dateSelected.emit(date);\n }\n\n /**\n * Change the month.\n * @param change The change in months.\n */\n private changeMonth(change: number) {\n this.month = new Date(this.month.getFullYear(), this.month.getMonth() + change, 1);\n const nextMonth = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);\n const availableDaysInFuture = this.configSettings?.scheduler?.available_days_in_future;\n const endDate = addDaysToCurrentDate(new Date(), availableDaysInFuture);\n if (endDate.getTime() < nextMonth.getTime()) {\n this.disableNextMonthButton = true;\n } else {\n this.disableNextMonthButton = false;\n }\n this.dates = this.getDates();\n this.monthChanged.emit(this.month);\n }\n\n private isSelected(date: Date | undefined, selectedDate: Date | undefined, selectableDates: Date[] | undefined) {\n return date && selectedDate && isSameDay(date, selectedDate) && selectableDates && selectableDates?.length > 0;\n }\n\n private isDisabled(date: Date | undefined) {\n if (!date || !this.selectableDatesTimezone || this.selectableDatesTimezone.length === 0) {\n return true;\n }\n\n // Compare only the date parts (year, month, day), ignoring time\n return !this.selectableDatesTimezone.some(d => {\n return date.getFullYear() === d.getFullYear() && date.getMonth() === d.getMonth() && date.getDate() === d.getDate();\n });\n }\n\n @RegisterComponent<NylasDatePicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-date-picker',\n stateToProps: new Map([\n ['scheduler.selectableDates', 'selectableDates'],\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.configSettings', 'configSettings'],\n ['scheduler.eventDuration', 'eventDuration'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.themeConfig', 'themeConfig'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ]),\n eventToProps: {\n dateSelected: async (event: CustomEvent<Date>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'dateSelected', event.detail);\n nylasSchedulerConnector.scheduler.selectDate(event.detail);\n },\n monthChanged: async (event: CustomEvent<Date>, _nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-date-picker', 'monthChanged', event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ndp\">\n <div class=\"nylas-date-picker\">\n <div class=\"title\" part=\"ndp__title\">\n {this.configSettings?.name ? (\n <h1>{this.configSettings?.name}</h1>\n ) : (\n this.configSettings?.organizer?.name && (\n <h1>\n <person-icon />\n {this.configSettings?.organizer?.name || 'Organizer'}\n </h1>\n )\n )}\n <p>\n <clock-icon />\n {this.eventDuration ? convertMinutesToHoursAndMinutes(this.eventDuration) : `- ${i18next.t('time.minutes')}`}\n </p>\n </div>\n <div class={'header flex-row'}>\n <h2 part={'ndp__month-header'}>\n <strong>{translateMonth(this.month.toLocaleDateString('en-US', { month: 'long' }).toLowerCase())}</strong>\n &nbsp;\n {this.month.toLocaleDateString(undefined, { year: 'numeric' })}\n </h2>\n <div class={'pagination'}>\n <button\n title=\"Previous month\"\n onClick={() => this.changeMonth(-1)}\n class={{ 'chevron-left': true, 'button': true }}\n disabled={this.month <= new Date()}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n <button\n title=\"Next month\"\n onClick={() => this.changeMonth(1)}\n class={{ 'chevron-right': true, 'button': true }}\n disabled={this.disableNextMonthButton}\n part=\"ndp__month-button\"\n >\n <chevron-icon />\n </button>\n </div>\n </div>\n\n <div class={'dates'}>\n {[\n i18next.t('days.sunday'),\n i18next.t('days.monday'),\n i18next.t('days.tuesday'),\n i18next.t('days.wednesday'),\n i18next.t('days.thursday'),\n i18next.t('days.friday'),\n i18next.t('days.saturday'),\n ].map(day => {\n return (\n <div class={'day'} part=\"ndp__day\">\n {day}\n </div>\n );\n })}\n {this.dates.map((date, i) => {\n const isDisabled = this.isDisabled(date);\n\n if (this.isLoading) {\n return (\n <button\n disabled\n class={{\n 'date day-skeleton': true,\n 'current-month': isSameMonth(date, this.month),\n }}\n style={{ animationDelay: `${i * 20}ms` }}\n part={`ndp__date ndp__date--disabled`}\n >\n {date.getDate()}\n </button>\n );\n }\n return (\n <button\n class={{\n 'date': true,\n 'selected': !!(this.selectedDate && isSameDay(date, this.selectedDate) && this.selectableDates && this.selectableDates?.length > 0),\n 'current-day': isSameDay(date, new Date()),\n 'current-month': isSameMonth(date, this.month),\n }}\n aria-label={date.toLocaleDateString(undefined, { dateStyle: 'full' })}\n disabled={isDisabled}\n onClick={() => this.selectDate(date)}\n part={`ndp__date ${this.isSelected(date, this.selectedDate, this.selectableDates) ? 'ndp__date--selected' : ''} ${isSameDay(date, new Date()) ? 'ndp__date--current-day' : ''} ${isSameMonth(date, this.month) ? 'ndp__date--current-month' : ''}`}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
2
- import { R as RegisterComponent } from './p--4oNPYSm.js';
3
- import { a as debug, b as instance, Q as isSameDayTimezone } from './p-2BdSZySU.js';
2
+ import { R as RegisterComponent } from './p-DtDGPXZR.js';
3
+ import { a as debug, b as instance, Q as isSameDayTimezone } from './p-CULO8bTo.js';
4
4
  import { a as LANGUAGE_CODE_TO_LOCALE_MAP } from './p-DUCeQ1R4.js';
5
5
  import { d as defineCustomElement$2 } from './p-Captxtpo.js';
6
6
  import { d as defineCustomElement$1 } from './p-S2TOEjUD.js';
@@ -250,6 +250,6 @@ function defineCustomElement() {
250
250
  }
251
251
 
252
252
  export { NylasTimeslotPicker as N, defineCustomElement as d };
253
- //# sourceMappingURL=p-1rV-8ZUh.js.map
253
+ //# sourceMappingURL=p-SPJ9n09E.js.map
254
254
 
255
- //# sourceMappingURL=p-1rV-8ZUh.js.map
255
+ //# sourceMappingURL=p-SPJ9n09E.js.map
@@ -1 +1 @@
1
- {"file":"p-1rV-8ZUh.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.scss?tag=nylas-timeslot-picker&encapsulation=shadow","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n height: calc(100% - 48px); //48px is the height of the header\n @include default-css-variables;\n}\n\n.time-picker-wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.timeslots {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n align-items: center;\n overflow-y: scroll;\n padding: 0.5rem 1.5rem 1.5rem;\n flex: 1;\n}\n\n.time {\n /* Frame 12 */\n box-sizing: border-box;\n\n /* Auto layout */\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 4px 12px;\n gap: 0.5rem;\n font-size: 16px;\n font-weight: 500;\n font-family: inherit;\n\n width: 100%;\n height: 48px;\n\n color: var(--nylas-base-800);\n background: var(--nylas-base-0);\n border: none;\n outline: 1.5px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n\n flex: none;\n order: 4;\n align-self: stretch;\n flex-grow: 0;\n\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: var(--nylas-primary);\n outline-color: var(--nylas-primary);\n }\n\n &.selected {\n font-weight: 600;\n color: var(--nylas-primary);\n outline: 2px solid var(--nylas-primary);\n border-color: transparent;\n box-shadow: 0 0 0 2px var(--nylas-primary);\n }\n\n .time-label {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n\n span.spots {\n font-size: 14px;\n font-family: var(--nylas-font-family);\n font-weight: 400;\n color: var(--nylas-base-600);\n }\n }\n}\n\n.empty {\n text-align: center;\n padding: 0 1.5rem;\n color: var(--nylas-base-600);\n font-size: min(max(12px, 2vw), 14px);\n height: 450px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n\n 50% {\n background-color: var(--nylas-base-100);\n }\n\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.loading {\n padding: 0 1.5rem;\n\n .timeslot-skeleton {\n width: 100%;\n height: 4rem;\n background-color: var(--nylas-base-50);\n margin-bottom: 0.5rem;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n }\n}\n\n.footer {\n width: 100%;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n}","import { RegisterComponent } from '@/common/register-component';\nimport { debug, isSameDayTimezone } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { AvailabilityTimeslot } from '@/stores/scheduler-store';\nimport type { ThemeConfig, Timeslot } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE, LANGUAGE_CODE_TO_LOCALE_MAP } from '@/common/constants';\n\n/**\n * The `nylas-timeslot-picker` component is a UI component that allows users to select a timeslot from a list of available timeslots.\n *\n * @slot timeslot-picker-cta-label - The label for the timeslot picker CTA. Default is \"Next\".\n * @part ntp - The timeslot picker component.\n * @part ntp__timeslot - The timeslot button.\n * @part ntp__timeslot--selected - The selected timeslot button.\n * @part ntp__button-primary - The timeslot picker CTA.\n * @part ntp__time-picker-wrapper - The timeslot picker wrapper.\n * @part ntp__timeslots - The timeslot picker timeslots.\n */\n@Component({\n tag: 'nylas-timeslot-picker',\n styleUrl: 'nylas-timeslot-picker.scss',\n shadow: true,\n})\nexport class NylasTimeslotPicker {\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasTimeslotPickerElement;\n /**\n * @standalone\n * The available timeslots.\n */\n @Prop({ attribute: 'availability' }) readonly availability?: AvailabilityTimeslot[];\n /**\n * @standalone\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop({ attribute: 'loading-state' }) readonly isLoading?: boolean;\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n /**\n * The selected timeslot.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date = new Date();\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: string;\n /**\n * The 12-hour time format.\n */\n @Prop() hour12?: boolean;\n\n /**\n * This event is fired when a timeslot is selected.\n */\n @Event() readonly timeslotSelected!: EventEmitter<Timeslot>;\n /**\n * This event is fired when a timeslot is confirmed. By default, this will proceed to the booking form page.\n */\n @Event() readonly timeslotConfirmed!: EventEmitter<{ timeslot: Timeslot; host: HTMLNylasTimeslotPickerElement }>;\n\n @Event() readonly validateTimeslotError!: EventEmitter<{ error: string; type: 'error' | 'info' }>;\n\n @State() times: AvailabilityTimeslot[] = [];\n @State() hoveredTimeslotIndex?: number;\n @State() selectedTimeslotIndex?: string;\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: LANGUAGE_CODE) {\n i18next.changeLanguage(newLanguage);\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newVal: Date | null | undefined) {\n debug(`[nylas-timeslot-picker] Selected date changed`, { newVal });\n\n if (newVal) {\n this.selectedTimeslotIndex = '';\n if (typeof newVal !== 'undefined') {\n const availableTimes = this.availability?.filter(timeslot => isSameDayTimezone(timeslot.start_time, newVal, this.selectedTimezone)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n }\n\n @Watch('availability')\n availabilityChanged(newVal: AvailabilityTimeslot[] | undefined) {\n debug(`[nylas-timeslot-picker] Available times changed`, { newVal, selectedDate: this.selectedDate });\n if (typeof newVal !== 'undefined') {\n const availableTimes = newVal\n ?.filter(timeslot => this.selectedDate && isSameDayTimezone(timeslot.start_time, this.selectedDate, this.selectedTimezone))\n .map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-timeslot-picker] Component will load`, { selectedDate: this.selectedDate, availability: this.availability, times: this.times });\n }\n\n async componentDidLoad() {\n debug(`[nylas-timeslot-picker] Component did load`);\n const availableTimes = this.availability\n ?.filter(timeslot => this.selectedDate && isSameDayTimezone(timeslot.start_time, this.selectedDate, this.selectedTimezone))\n .map(timeslot => timeslot);\n this.times = availableTimes || [];\n this.applyThemeConfig(this.themeConfig);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n private getTimeslotId(timeslot: Timeslot, index: number) {\n const date = new Date(timeslot.start_time);\n const eventId = timeslot.event_id;\n return `${date.toLocaleDateString()}-${index}${eventId ? `-${eventId}` : ''}`;\n }\n\n private onClickSelectTime(timeslot: Timeslot, index: number) {\n debug(`[nylas-timeslot-picker] Time selected`, timeslot, index);\n this.selectedTimeslotIndex = this.getTimeslotId(timeslot, index);\n this.timeslotSelected.emit({\n start_time: timeslot.start_time,\n end_time: timeslot.end_time,\n emails: timeslot.emails,\n capacity: timeslot?.capacity,\n event_id: timeslot?.event_id,\n master_id: timeslot?.master_id,\n calendar_id: timeslot?.calendar_id,\n });\n }\n\n private handleConfirmedTimeslot = async (event: Event, timeslot: Timeslot | undefined) => {\n event.preventDefault();\n debug(`[nylas-timeslot-picker] Confirm timeslot`, timeslot);\n if (timeslot) {\n this.timeslotConfirmed.emit({ timeslot, host: this.host });\n }\n };\n\n @Method()\n async emitValidateTimeslotError(error: string, type: 'error' | 'info') {\n this.validateTimeslotError.emit({ error, type });\n }\n\n private handleMouseEnter = (index: number) => {\n this.hoveredTimeslotIndex = index;\n };\n\n private handleMouseLeave = () => {\n this.hoveredTimeslotIndex = -1;\n };\n\n private getTimeSlotLabel(timeslot: Timeslot) {\n const locale = LANGUAGE_CODE_TO_LOCALE_MAP[this.selectedLanguage || 'en'];\n const timeFormat = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: this.selectedTimezone,\n hour12: this.hour12,\n });\n return `${timeFormat.format(timeslot.start_time)} - ${timeFormat.format(timeslot.end_time)}`;\n }\n\n @RegisterComponent<NylasTimeslotPicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-timeslot-picker',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.availability', 'availability'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.themeConfig', 'themeConfig'],\n ['scheduler.hour12', 'hour12'],\n ]),\n eventToProps: {\n timeslotSelected: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-timeslot-picker', 'timeslotSelected', event.detail);\n nylasSchedulerConnector.scheduler.selectTime(event.detail);\n },\n timeslotConfirmed: async (event: CustomEvent<{ timeslot: Timeslot; host: HTMLNylasTimeslotPickerElement }>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-timeslot-picker', 'timeslotConfirmed', event.detail);\n const { timeslot, host } = event.detail;\n if (timeslot && timeslot?.event_id && timeslot?.capacity) {\n const result = await nylasSchedulerConnector.scheduler.validateGroupEventTimeslot(timeslot);\n if (result && 'error' in result) {\n const errorMessage = result.error?.message || 'An error occurred while validating the timeslot';\n if (errorMessage === 'Event is full') {\n host.emitValidateTimeslotError(errorMessage, 'info');\n } else {\n host.emitValidateTimeslotError(errorMessage, 'error');\n }\n }\n } else {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(true);\n }\n },\n validateTimeslotError: async (event: CustomEvent<{ error: string }>, _nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-timeslot-picker', 'validateTimeslotError', event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const locale = LANGUAGE_CODE_TO_LOCALE_MAP[this.selectedLanguage || 'en'];\n if (this.isLoading) {\n return (\n <Host>\n <div class={'loading'}>\n {new Array(6).fill(0).map((_, i) => (\n <div class={'timeslot-skeleton'} style={{ animationDelay: `${i * 20}ms` }} />\n ))}\n </div>\n </Host>\n );\n }\n\n if (this.availability && this.availability.length === 0) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No dates available</span>\n </div>\n </Host>\n );\n }\n\n const filteredTimes = this.times.filter(timeslot => {\n const groupEvent = timeslot?.event_id || timeslot?.master_id;\n const showCapacity = typeof timeslot?.capacity === 'number' && timeslot?.capacity > 0;\n return !(groupEvent && !showCapacity);\n });\n\n if ((!this.times || this.times.length === 0 || filteredTimes.length === 0) && !!this.selectedDate) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No time slots available for selected date</span>\n </div>\n </Host>\n );\n }\n\n if (!this.selectedDate) return <Host></Host>;\n\n return (\n <Host part=\"ntp\">\n <div class={'time-picker-wrapper'} part=\"ntp__time-picker-wrapper\">\n <div class={'timeslots'} part=\"ntp__timeslots\">\n {filteredTimes.map((timeslot, index) => {\n const showCapacity = typeof timeslot?.capacity === 'number' && timeslot?.capacity > 0;\n const isSelected = this.selectedTimeslotIndex == this.getTimeslotId(timeslot, index);\n return (\n <button\n part={`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`}\n class={{\n time: true,\n selected: typeof this.selectedTimeslot !== 'undefined' && isSelected,\n }}\n onClick={() => this.onClickSelectTime(timeslot, index)}\n onMouseEnter={() => this.handleMouseEnter(index)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n <div class=\"time-label\" part=\"ntp__time-label\">\n {this.hoveredTimeslotIndex == index || isSelected\n ? this.getTimeSlotLabel(timeslot)\n : timeslot.start_time.toLocaleTimeString(locale, { hour: '2-digit', minute: '2-digit', timeZone: this.selectedTimezone, hour12: this.hour12 })}\n <span class=\"spots\">{showCapacity ? i18next.t('spotsLeft', { count: timeslot?.capacity }) : null}</span>\n </div>\n </button>\n );\n })}\n </div>\n {this.selectedTimeslot && (\n <div class={'footer'}>\n <button-component variant={'primary'} onClick={(event: Event) => this.handleConfirmedTimeslot(event, this.selectedTimeslot)} part=\"ntp__button-primary\">\n <slot name=\"timeslot-picker-cta-label\">{i18next.t('nextButton')}</slot>\n </button-component>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-SPJ9n09E.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.scss?tag=nylas-timeslot-picker&encapsulation=shadow","src/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n height: calc(100% - 48px); //48px is the height of the header\n @include default-css-variables;\n}\n\n.time-picker-wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.timeslots {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n align-items: center;\n overflow-y: scroll;\n padding: 0.5rem 1.5rem 1.5rem;\n flex: 1;\n}\n\n.time {\n /* Frame 12 */\n box-sizing: border-box;\n\n /* Auto layout */\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 4px 12px;\n gap: 0.5rem;\n font-size: 16px;\n font-weight: 500;\n font-family: inherit;\n\n width: 100%;\n height: 48px;\n\n color: var(--nylas-base-800);\n background: var(--nylas-base-0);\n border: none;\n outline: 1.5px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n\n flex: none;\n order: 4;\n align-self: stretch;\n flex-grow: 0;\n\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: var(--nylas-primary);\n outline-color: var(--nylas-primary);\n }\n\n &.selected {\n font-weight: 600;\n color: var(--nylas-primary);\n outline: 2px solid var(--nylas-primary);\n border-color: transparent;\n box-shadow: 0 0 0 2px var(--nylas-primary);\n }\n\n .time-label {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n\n span.spots {\n font-size: 14px;\n font-family: var(--nylas-font-family);\n font-weight: 400;\n color: var(--nylas-base-600);\n }\n }\n}\n\n.empty {\n text-align: center;\n padding: 0 1.5rem;\n color: var(--nylas-base-600);\n font-size: min(max(12px, 2vw), 14px);\n height: 450px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@keyframes pulsate {\n 0% {\n background-color: var(--nylas-base-50);\n }\n\n 50% {\n background-color: var(--nylas-base-100);\n }\n\n 100% {\n background-color: var(--nylas-base-50);\n }\n}\n\n.loading {\n padding: 0 1.5rem;\n\n .timeslot-skeleton {\n width: 100%;\n height: 4rem;\n background-color: var(--nylas-base-50);\n margin-bottom: 0.5rem;\n border-radius: var(--nylas-border-radius-2x);\n animation: pulsate 1.5s infinite ease-in-out;\n }\n}\n\n.footer {\n width: 100%;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n}","import { RegisterComponent } from '@/common/register-component';\nimport { debug, isSameDayTimezone } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerConnector } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { AvailabilityTimeslot } from '@/stores/scheduler-store';\nimport type { ThemeConfig, Timeslot } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE, LANGUAGE_CODE_TO_LOCALE_MAP } from '@/common/constants';\n\n/**\n * The `nylas-timeslot-picker` component is a UI component that allows users to select a timeslot from a list of available timeslots.\n *\n * @slot timeslot-picker-cta-label - The label for the timeslot picker CTA. Default is \"Next\".\n * @part ntp - The timeslot picker component.\n * @part ntp__timeslot - The timeslot button.\n * @part ntp__timeslot--selected - The selected timeslot button.\n * @part ntp__button-primary - The timeslot picker CTA.\n * @part ntp__time-picker-wrapper - The timeslot picker wrapper.\n * @part ntp__timeslots - The timeslot picker timeslots.\n */\n@Component({\n tag: 'nylas-timeslot-picker',\n styleUrl: 'nylas-timeslot-picker.scss',\n shadow: true,\n})\nexport class NylasTimeslotPicker {\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasTimeslotPickerElement;\n /**\n * @standalone\n * The available timeslots.\n */\n @Prop({ attribute: 'availability' }) readonly availability?: AvailabilityTimeslot[];\n /**\n * @standalone\n * The loading state prop. Used to display loading state when fetching availability.\n */\n @Prop({ attribute: 'loading-state' }) readonly isLoading?: boolean;\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n /**\n * The selected timeslot.\n */\n @Prop({ attribute: 'selected-timeslot' }) readonly selectedTimeslot?: Timeslot;\n /**\n * The selected timezone.\n */\n @Prop({ attribute: 'selected-timezone' }) readonly selectedTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n /**\n * The selected date.\n */\n @Prop({ attribute: 'selected-date' }) readonly selectedDate?: Date = new Date();\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: string;\n /**\n * The 12-hour time format.\n */\n @Prop() hour12?: boolean;\n\n /**\n * This event is fired when a timeslot is selected.\n */\n @Event() readonly timeslotSelected!: EventEmitter<Timeslot>;\n /**\n * This event is fired when a timeslot is confirmed. By default, this will proceed to the booking form page.\n */\n @Event() readonly timeslotConfirmed!: EventEmitter<{ timeslot: Timeslot; host: HTMLNylasTimeslotPickerElement }>;\n\n @Event() readonly validateTimeslotError!: EventEmitter<{ error: string; type: 'error' | 'info' }>;\n\n @State() times: AvailabilityTimeslot[] = [];\n @State() hoveredTimeslotIndex?: number;\n @State() selectedTimeslotIndex?: string;\n\n @Watch('selectedLanguage')\n selectedLanguageChanged(newLanguage: LANGUAGE_CODE) {\n i18next.changeLanguage(newLanguage);\n }\n\n @Watch('selectedDate')\n selectedDateChanged(newVal: Date | null | undefined) {\n debug(`[nylas-timeslot-picker] Selected date changed`, { newVal });\n\n if (newVal) {\n this.selectedTimeslotIndex = '';\n if (typeof newVal !== 'undefined') {\n const availableTimes = this.availability?.filter(timeslot => isSameDayTimezone(timeslot.start_time, newVal, this.selectedTimezone)).map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n }\n\n @Watch('availability')\n availabilityChanged(newVal: AvailabilityTimeslot[] | undefined) {\n debug(`[nylas-timeslot-picker] Available times changed`, { newVal, selectedDate: this.selectedDate });\n if (typeof newVal !== 'undefined') {\n const availableTimes = newVal\n ?.filter(timeslot => this.selectedDate && isSameDayTimezone(timeslot.start_time, this.selectedDate, this.selectedTimezone))\n .map(timeslot => timeslot);\n this.times = availableTimes || [];\n }\n }\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n async componentWillLoad() {\n debug(`[nylas-timeslot-picker] Component will load`, { selectedDate: this.selectedDate, availability: this.availability, times: this.times });\n }\n\n async componentDidLoad() {\n debug(`[nylas-timeslot-picker] Component did load`);\n const availableTimes = this.availability\n ?.filter(timeslot => this.selectedDate && isSameDayTimezone(timeslot.start_time, this.selectedDate, this.selectedTimezone))\n .map(timeslot => timeslot);\n this.times = availableTimes || [];\n this.applyThemeConfig(this.themeConfig);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n private getTimeslotId(timeslot: Timeslot, index: number) {\n const date = new Date(timeslot.start_time);\n const eventId = timeslot.event_id;\n return `${date.toLocaleDateString()}-${index}${eventId ? `-${eventId}` : ''}`;\n }\n\n private onClickSelectTime(timeslot: Timeslot, index: number) {\n debug(`[nylas-timeslot-picker] Time selected`, timeslot, index);\n this.selectedTimeslotIndex = this.getTimeslotId(timeslot, index);\n this.timeslotSelected.emit({\n start_time: timeslot.start_time,\n end_time: timeslot.end_time,\n emails: timeslot.emails,\n capacity: timeslot?.capacity,\n event_id: timeslot?.event_id,\n master_id: timeslot?.master_id,\n calendar_id: timeslot?.calendar_id,\n });\n }\n\n private handleConfirmedTimeslot = async (event: Event, timeslot: Timeslot | undefined) => {\n event.preventDefault();\n debug(`[nylas-timeslot-picker] Confirm timeslot`, timeslot);\n if (timeslot) {\n this.timeslotConfirmed.emit({ timeslot, host: this.host });\n }\n };\n\n @Method()\n async emitValidateTimeslotError(error: string, type: 'error' | 'info') {\n this.validateTimeslotError.emit({ error, type });\n }\n\n private handleMouseEnter = (index: number) => {\n this.hoveredTimeslotIndex = index;\n };\n\n private handleMouseLeave = () => {\n this.hoveredTimeslotIndex = -1;\n };\n\n private getTimeSlotLabel(timeslot: Timeslot) {\n const locale = LANGUAGE_CODE_TO_LOCALE_MAP[this.selectedLanguage || 'en'];\n const timeFormat = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: this.selectedTimezone,\n hour12: this.hour12,\n });\n return `${timeFormat.format(timeslot.start_time)} - ${timeFormat.format(timeslot.end_time)}`;\n }\n\n @RegisterComponent<NylasTimeslotPicker, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-timeslot-picker',\n stateToProps: new Map([\n ['scheduler.selectedDate', 'selectedDate'],\n ['scheduler.availability', 'availability'],\n ['scheduler.selectedTimeslot', 'selectedTimeslot'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.themeConfig', 'themeConfig'],\n ['scheduler.hour12', 'hour12'],\n ]),\n eventToProps: {\n timeslotSelected: async (event: CustomEvent<Timeslot>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-timeslot-picker', 'timeslotSelected', event.detail);\n nylasSchedulerConnector.scheduler.selectTime(event.detail);\n },\n timeslotConfirmed: async (event: CustomEvent<{ timeslot: Timeslot; host: HTMLNylasTimeslotPickerElement }>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-timeslot-picker', 'timeslotConfirmed', event.detail);\n const { timeslot, host } = event.detail;\n if (timeslot && timeslot?.event_id && timeslot?.capacity) {\n const result = await nylasSchedulerConnector.scheduler.validateGroupEventTimeslot(timeslot);\n if (result && 'error' in result) {\n const errorMessage = result.error?.message || 'An error occurred while validating the timeslot';\n if (errorMessage === 'Event is full') {\n host.emitValidateTimeslotError(errorMessage, 'info');\n } else {\n host.emitValidateTimeslotError(errorMessage, 'error');\n }\n }\n } else {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(true);\n }\n },\n validateTimeslotError: async (event: CustomEvent<{ error: string }>, _nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-timeslot-picker', 'validateTimeslotError', event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const locale = LANGUAGE_CODE_TO_LOCALE_MAP[this.selectedLanguage || 'en'];\n if (this.isLoading) {\n return (\n <Host>\n <div class={'loading'}>\n {new Array(6).fill(0).map((_, i) => (\n <div class={'timeslot-skeleton'} style={{ animationDelay: `${i * 20}ms` }} />\n ))}\n </div>\n </Host>\n );\n }\n\n if (this.availability && this.availability.length === 0) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No dates available</span>\n </div>\n </Host>\n );\n }\n\n const filteredTimes = this.times.filter(timeslot => {\n const groupEvent = timeslot?.event_id || timeslot?.master_id;\n const showCapacity = typeof timeslot?.capacity === 'number' && timeslot?.capacity > 0;\n return !(groupEvent && !showCapacity);\n });\n\n if ((!this.times || this.times.length === 0 || filteredTimes.length === 0) && !!this.selectedDate) {\n return (\n <Host>\n <div class={'empty'}>\n <span>No time slots available for selected date</span>\n </div>\n </Host>\n );\n }\n\n if (!this.selectedDate) return <Host></Host>;\n\n return (\n <Host part=\"ntp\">\n <div class={'time-picker-wrapper'} part=\"ntp__time-picker-wrapper\">\n <div class={'timeslots'} part=\"ntp__timeslots\">\n {filteredTimes.map((timeslot, index) => {\n const showCapacity = typeof timeslot?.capacity === 'number' && timeslot?.capacity > 0;\n const isSelected = this.selectedTimeslotIndex == this.getTimeslotId(timeslot, index);\n return (\n <button\n part={`ntp__timeslot ${this.selectedTimeslot?.start_time?.getTime() === timeslot.start_time.getTime() ? 'ntp__timeslot--selected' : ''}`}\n class={{\n time: true,\n selected: typeof this.selectedTimeslot !== 'undefined' && isSelected,\n }}\n onClick={() => this.onClickSelectTime(timeslot, index)}\n onMouseEnter={() => this.handleMouseEnter(index)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n <div class=\"time-label\" part=\"ntp__time-label\">\n {this.hoveredTimeslotIndex == index || isSelected\n ? this.getTimeSlotLabel(timeslot)\n : timeslot.start_time.toLocaleTimeString(locale, { hour: '2-digit', minute: '2-digit', timeZone: this.selectedTimezone, hour12: this.hour12 })}\n <span class=\"spots\">{showCapacity ? i18next.t('spotsLeft', { count: timeslot?.capacity }) : null}</span>\n </div>\n </button>\n );\n })}\n </div>\n {this.selectedTimeslot && (\n <div class={'footer'}>\n <button-component variant={'primary'} onClick={(event: Event) => this.handleConfirmedTimeslot(event, this.selectedTimeslot)} part=\"ntp__button-primary\">\n <slot name=\"timeslot-picker-cta-label\">{i18next.t('nextButton')}</slot>\n </button-component>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,12 +1,12 @@
1
1
  import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
2
- import { R as RegisterComponent } from './p--4oNPYSm.js';
3
- import { a as debug, b as instance } from './p-2BdSZySU.js';
2
+ import { R as RegisterComponent } from './p-DtDGPXZR.js';
3
+ import { a as debug, b as instance } from './p-CULO8bTo.js';
4
4
  import { d as defineCustomElement$7 } from './p-PeEnpB8P.js';
5
5
  import { d as defineCustomElement$6 } from './p-7S1M5IE9.js';
6
6
  import { d as defineCustomElement$5 } from './p-CEoh34h7.js';
7
7
  import { d as defineCustomElement$4 } from './p-ClTk9Ttz.js';
8
8
  import { d as defineCustomElement$3 } from './p-D7lRYhTx.js';
9
- import { d as defineCustomElement$2 } from './p-Ci-3P4oO.js';
9
+ import { d as defineCustomElement$2 } from './p-Ce1kG2WA.js';
10
10
  import { d as defineCustomElement$1 } from './p-C6fgjGAL.js';
11
11
 
12
12
  const nylasLimitFutureBookingsCss = ":host{--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:\"Inter\", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.nylas-limit-future-bookings{display:flex;justify-content:space-between;font-family:var(--nylas-font-family)}@media screen and (max-width: 768px){.nylas-limit-future-bookings{flex-direction:column;gap:0.5rem}}.nylas-limit-future-bookings label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:16px;font-style:normal;font-weight:400;line-height:150%;}.nylas-limit-future-bookings label span.label-icon{margin-left:4px}.nylas-limit-future-bookings label span.label-icon tooltip-component{display:flex}select-dropdown::part(sd_dropdown-button){border:none}";
@@ -215,6 +215,6 @@ function defineCustomElement() {
215
215
  }
216
216
 
217
217
  export { NylasLimitFutureBookings as N, defineCustomElement as d };
218
- //# sourceMappingURL=p-BtGEJFmy.js.map
218
+ //# sourceMappingURL=p-Y0BOy8RT.js.map
219
219
 
220
- //# sourceMappingURL=p-BtGEJFmy.js.map
220
+ //# sourceMappingURL=p-Y0BOy8RT.js.map
@@ -1 +1 @@
1
- {"file":"p-BtGEJFmy.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.scss?tag=nylas-limit-future-bookings&encapsulation=shadow","src/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n @include default-css-variables;\n}\n\n.nylas-limit-future-bookings {\n display: flex;\n justify-content: space-between;\n font-family: var(--nylas-font-family);\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n }\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 21px */\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n border: none;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, State, h, Element, Prop, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-limit-future-bookings` component is a form input for the number of days in the future a guest is allowed to book an event.\n *\n * @part nlfb - The limit future bookings container\n * @part nlfb__number-dropdown - The number dropdown container\n * @part nlfb__number-dropdown-button - The number dropdown button\n * @part nlfb__number-dropdown-content - The number dropdown content\n * @part nlfb__period-dropdown - The period dropdown container\n * @part nlfb__period-dropdown-button - The period dropdown button\n * @part nlfb__period-dropdown-content - The period dropdown content\n */\n@Component({\n tag: 'nylas-limit-future-bookings',\n styleUrl: 'nylas-limit-future-bookings.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasLimitFutureBookings {\n /**\n * The host element <nylas-limit-future-bookings>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The number of days into the future that invitees will see availability, as set in the configuration.\n */\n @Prop() availableDaysInFuture?: number;\n /**\n * @standalone\n * The name of the limit future bookings input.\n */\n @Prop() name: string = 'limit-future-bookings';\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * The selected number for the available days in the future.\n */\n @State() selectedNumber;\n /**\n * The selected period for the available days in the future.\n */\n @State() selectedPeriod;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-limit-future-bookings', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const daysInFuture = newVal?.scheduler?.available_days_in_future || this.availableDaysInFuture || 1;\n if (daysInFuture) {\n this.updateNumberAndPeriodFromDays(daysInFuture);\n }\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(daysInFuture?.toString(), this.name);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Event emitted when the future booking limit changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-limit-future-bookings', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-limit-future-bookings', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-limit-future-bookings', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n this.updateNumberAndPeriodFromDays(this.availableDaysInFuture || 1);\n }\n }\n\n disconnectedCallback() {\n debug('nylas-limit-future-bookings', 'disconnectedCallback');\n }\n\n @Listen('timePeriodChanged')\n timePeriodChangedHandler(\n event: CustomEvent<{\n number: number;\n period: string;\n }>,\n ) {\n const { number, period } = event.detail;\n let availableDaysInFuture;\n if (period === 'day') {\n availableDaysInFuture = number;\n } else if (period === 'week') {\n availableDaysInFuture = number * 7;\n } else {\n availableDaysInFuture = number * 30;\n }\n this.valueChanged.emit({ value: availableDaysInFuture, name: this.name });\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(availableDaysInFuture.toString(), this.name);\n }\n\n updateNumberAndPeriodFromDays(days: number): void {\n let number, period;\n if (days >= 30 && days % 30 === 0) {\n number = days / 30;\n period = 'month';\n } else if (days >= 7 && days % 7 === 0) {\n number = days / 7;\n period = 'week';\n } else {\n number = days;\n period = 'day';\n }\n this.selectedNumber = number;\n this.selectedPeriod = period;\n }\n\n @RegisterComponent<NylasLimitFutureBookings, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-limit-future-bookings',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const showTImePeriodSelector = typeof this.selectedNumber == 'number' && typeof this.selectedPeriod == 'string';\n return (\n <Host>\n <div class=\"nylas-limit-future-bookings\" part=\"nlfb\">\n <label>\n {i18next.t('nylasLimitFutureBookings.headerTitle')}\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasLimitFutureBookings.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n </label>\n {showTImePeriodSelector && (\n <time-period-selector\n id=\"limit-future-bookings\"\n timePeriods={[\n { value: 'day', label: i18next.t('timePeriod', { context: 'day' }) },\n { value: 'week', label: i18next.t('timePeriod', { context: 'week' }) },\n { value: 'month', label: i18next.t('timePeriod', { context: 'month' }) },\n ]}\n exportparts=\"tps__number-dropdown: nlfb__number-dropdown, tps__number-dropdown-button: nlfb__number-dropdown-button, tps__number-dropdown-content: nlfb__number-dropdown-content, tps__period-dropdown: nlfb__period-dropdown, tps__period-dropdown-button: nlfb__period-dropdown-button, tps__period-dropdown-content: nlfb__period-dropdown-content\"\n defaultSelectedNumber={this.selectedNumber}\n defaultSelectedPeriod={this.selectedPeriod}\n themeConfig={this.themeConfig}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-Y0BOy8RT.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.scss?tag=nylas-limit-future-bookings&encapsulation=shadow","src/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n @include default-css-variables;\n}\n\n.nylas-limit-future-bookings {\n display: flex;\n justify-content: space-between;\n font-family: var(--nylas-font-family);\n @media #{$mobile} {\n flex-direction: column;\n gap: 0.5rem;\n }\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 21px */\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n border: none;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, State, h, Element, Prop, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-limit-future-bookings` component is a form input for the number of days in the future a guest is allowed to book an event.\n *\n * @part nlfb - The limit future bookings container\n * @part nlfb__number-dropdown - The number dropdown container\n * @part nlfb__number-dropdown-button - The number dropdown button\n * @part nlfb__number-dropdown-content - The number dropdown content\n * @part nlfb__period-dropdown - The period dropdown container\n * @part nlfb__period-dropdown-button - The period dropdown button\n * @part nlfb__period-dropdown-content - The period dropdown content\n */\n@Component({\n tag: 'nylas-limit-future-bookings',\n styleUrl: 'nylas-limit-future-bookings.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasLimitFutureBookings {\n /**\n * The host element <nylas-limit-future-bookings>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @standalone\n * The number of days into the future that invitees will see availability, as set in the configuration.\n */\n @Prop() availableDaysInFuture?: number;\n /**\n * @standalone\n * The name of the limit future bookings input.\n */\n @Prop() name: string = 'limit-future-bookings';\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n /**\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n /**\n * The selected number for the available days in the future.\n */\n @State() selectedNumber;\n /**\n * The selected period for the available days in the future.\n */\n @State() selectedPeriod;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-limit-future-bookings', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const daysInFuture = newVal?.scheduler?.available_days_in_future || this.availableDaysInFuture || 1;\n if (daysInFuture) {\n this.updateNumberAndPeriodFromDays(daysInFuture);\n }\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(daysInFuture?.toString(), this.name);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @Watch('themeConfig')\n themeConfigChangedHandler(newVal: ThemeConfig, oldVal: ThemeConfig) {\n if (newVal === oldVal) return;\n this.applyThemeConfig(newVal);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Event emitted when the future booking limit changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-limit-future-bookings', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-limit-future-bookings', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-limit-future-bookings', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n } else {\n this.updateNumberAndPeriodFromDays(this.availableDaysInFuture || 1);\n }\n }\n\n disconnectedCallback() {\n debug('nylas-limit-future-bookings', 'disconnectedCallback');\n }\n\n @Listen('timePeriodChanged')\n timePeriodChangedHandler(\n event: CustomEvent<{\n number: number;\n period: string;\n }>,\n ) {\n const { number, period } = event.detail;\n let availableDaysInFuture;\n if (period === 'day') {\n availableDaysInFuture = number;\n } else if (period === 'week') {\n availableDaysInFuture = number * 7;\n } else {\n availableDaysInFuture = number * 30;\n }\n this.valueChanged.emit({ value: availableDaysInFuture, name: this.name });\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(availableDaysInFuture.toString(), this.name);\n }\n\n updateNumberAndPeriodFromDays(days: number): void {\n let number, period;\n if (days >= 30 && days % 30 === 0) {\n number = days / 30;\n period = 'month';\n } else if (days >= 7 && days % 7 === 0) {\n number = days / 7;\n period = 'week';\n } else {\n number = days;\n period = 'day';\n }\n this.selectedNumber = number;\n this.selectedPeriod = period;\n }\n\n @RegisterComponent<NylasLimitFutureBookings, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-limit-future-bookings',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n const showTImePeriodSelector = typeof this.selectedNumber == 'number' && typeof this.selectedPeriod == 'string';\n return (\n <Host>\n <div class=\"nylas-limit-future-bookings\" part=\"nlfb\">\n <label>\n {i18next.t('nylasLimitFutureBookings.headerTitle')}\n <span class=\"label-icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">{i18next.t('nylasLimitFutureBookings.tooltip.desc')}</span>\n </tooltip-component>\n </span>\n </label>\n {showTImePeriodSelector && (\n <time-period-selector\n id=\"limit-future-bookings\"\n timePeriods={[\n { value: 'day', label: i18next.t('timePeriod', { context: 'day' }) },\n { value: 'week', label: i18next.t('timePeriod', { context: 'week' }) },\n { value: 'month', label: i18next.t('timePeriod', { context: 'month' }) },\n ]}\n exportparts=\"tps__number-dropdown: nlfb__number-dropdown, tps__number-dropdown-button: nlfb__number-dropdown-button, tps__number-dropdown-content: nlfb__number-dropdown-content, tps__period-dropdown: nlfb__period-dropdown, tps__period-dropdown-button: nlfb__period-dropdown-button, tps__period-dropdown-content: nlfb__period-dropdown-content\"\n defaultSelectedNumber={this.selectedNumber}\n defaultSelectedPeriod={this.selectedPeriod}\n themeConfig={this.themeConfig}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
2
2
  import { T as TIMEZONE_MAP, c as LANGUAGE_MAP } from './p-DUCeQ1R4.js';
3
- import { R as RegisterComponent } from './p--4oNPYSm.js';
4
- import { b as instance, a as debug, K as getTimezoneOffset } from './p-2BdSZySU.js';
3
+ import { R as RegisterComponent } from './p-DtDGPXZR.js';
4
+ import { b as instance, a as debug, K as getTimezoneOffset } from './p-CULO8bTo.js';
5
5
  import { d as defineCustomElement$5 } from './p-PeEnpB8P.js';
6
6
  import { d as defineCustomElement$4 } from './p-CRehZg0N.js';
7
7
  import { d as defineCustomElement$3 } from './p-ClTk9Ttz.js';
@@ -199,6 +199,6 @@ function defineCustomElement() {
199
199
  }
200
200
 
201
201
  export { NylasLocaleSwitch as N, defineCustomElement as d };
202
- //# sourceMappingURL=p-Dtd_Ib72.js.map
202
+ //# sourceMappingURL=p-ZAV15ivS.js.map
203
203
 
204
- //# sourceMappingURL=p-Dtd_Ib72.js.map
204
+ //# sourceMappingURL=p-ZAV15ivS.js.map
@@ -1 +1 @@
1
- {"file":"p-Dtd_Ib72.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler/nylas-locale-switch/nylas-locale-switch.scss?tag=nylas-locale-switch&encapsulation=shadow","src/components/scheduler/nylas-locale-switch/nylas-locale-switch.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-locale-switch {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-left: none;\n border-right: none;\n color: var(--nylas-base-50);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n font-family: inherit;\n\n @media #{$mobile} {\n font-size: 16px;\n }\n}\n\n.select-wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\nselect {\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n background-color: transparent;\n margin: 0 0 1px;\n padding: 4px;\n vertical-align: middle;\n\n &#timezone {\n width: 140px;\n }\n\n &#language {\n width: 80px;\n }\n}\n\nspan.timezone-label {\n display: flex;\n width: -webkit-fill-available;\n justify-content: space-between;\n}\n\nselect-dropdown {\n width: auto;\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n border: none;\n padding: 10px;\n}\n\nselect-dropdown::part(sd_dropdown-content) {\n max-width: 306px;\n}\n\n@media #{$mobile} {\n select-dropdown::part(sd_dropdown-button-selected-label) {\n max-width: 80px; // To make sure the selected label doesn't overflow on mobile\n }\n\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-width: none;\n }\n}","import { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { LANGUAGE_MAP, TIMEZONE_MAP } from '@/common/constants';\nimport { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConnector } from '../../../components';\nimport type { NylasSchedulerBookingData } from '@/common/types';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug, getTimezoneOffset } from '@/utils/utils';\nimport { ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\n/**\n * The `nylas-locale-switch` component is a UI component that allows users to select a timezone and language.\n * @part nls - The locale switch container\n * @part nls__timezone - The timezone select container\n * @part nls__timezone-dropdown - The timezone dropdown\n * @part nls__timezone-drop-button - The timezone dropdown button\n * @part nls__timezone-drop-button-selected-label - The timezone dropdown button selected label\n * @part nls__timezone-drop-content - The timezone dropdown content\n * @part nls__timezone-drop-label - The timezone dropdown label\n * @part nls__language - The language select container\n * @part nls__language-dropdown - The language dropdown\n * @part nls__language-drop-button - The language dropdown button\n * @part nls__language-drop-content - The language dropdown content\n * @part nls__language-drop-label - The language dropdown label\n *\n */\n@Component({\n tag: 'nylas-locale-switch',\n styleUrl: 'nylas-locale-switch.scss',\n shadow: true,\n})\nexport class NylasLocaleSwitch {\n private timezoneRef?: HTMLSelectDropdownElement;\n private languageRef?: HTMLSelectDropdownElement;\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasLocaleSwitchElement;\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n /**\n * @standalone\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The selected timezone.\n */\n @Prop({ mutable: true }) selectedTimezone: string = this.bookingInfo?.timezone || Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected language.\n */\n @Prop({ mutable: true }) selectedLanguage: string = this.bookingInfo?.language || navigator.language;\n\n @State() searchPlaceholder: string = i18next.t('search');\n\n /**\n * This event is fired when the timezone is changed.\n */\n @Event() timezoneChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the language is changed.\n */\n @Event() languageChanged!: EventEmitter<string>;\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue?.timezone) {\n this.changeTimezone(newValue.timezone);\n }\n if (newValue && newValue?.language) {\n this.changeLanguage(newValue.language);\n }\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n componentDidLoad() {\n debug(`[nylas-locale-switch] Component did load`);\n this.applyThemeConfig(this.themeConfig);\n if (this.bookingInfo && this.bookingInfo?.timezone) {\n this.changeTimezone(this.bookingInfo.timezone);\n }\n if (this.bookingInfo && this.bookingInfo?.language) {\n this.changeLanguage(this.bookingInfo.language);\n }\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n this.timezoneRef?.style.setProperty(`${key}`, value);\n this.languageRef?.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Change the timezone.\n * @param timezone The timezone to select.\n */\n private changeTimezone(timezone: string) {\n this.selectedTimezone = timezone;\n this.timezoneChanged.emit(timezone);\n }\n\n /**\n * Change the language.\n * @param language The language to select.\n */\n private changeLanguage(language: string) {\n this.selectedLanguage = language;\n i18next.changeLanguage(language);\n this.searchPlaceholder = i18next.t('search');\n this.languageChanged.emit(language);\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.changeTimezone(value);\n } else if (name === 'language') {\n this.changeLanguage(value);\n }\n }\n\n getTimezoneLabelHTML(timezone: string) {\n const offset = getTimezoneOffset(timezone);\n return (\n <span\n class=\"timezone-label\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '-webkit-fill-available',\n }}\n >\n {TIMEZONE_MAP[timezone]}{' '}\n <span\n class=\"timezone-offset\"\n style={{\n fontSize: '14px',\n fontWeight: '400',\n color: 'var(--nylas-base-500)',\n }}\n >\n {offset}\n </span>\n </span>\n );\n }\n\n @RegisterComponent<NylasLocaleSwitch, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-locale-switch',\n stateToProps: new Map([\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n timezoneChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-locale-switch', 'timezoneChanged', event.detail);\n nylasSchedulerConnector.scheduler.selectTimezone(event.detail);\n },\n languageChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-locale-switch', 'languageChanged', event.detail);\n nylasSchedulerConnector.scheduler.selectLanguage(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n labelHTML: this.getTimezoneLabelHTML(key),\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-locale-switch\" part=\"nls\">\n <div\n class={{\n 'select-wrapper': true,\n 'timezone': true,\n }}\n part=\"nls__timezone\"\n >\n <select-dropdown\n name=\"timezone\"\n searchPlaceholder={this.searchPlaceholder}\n options={timezoneOptions}\n ref={el => (this.timezoneRef = el)}\n defaultSelectedOption={timezoneOptions.find(op => op.value == this.selectedTimezone)}\n exportparts=\"sd_dropdown: nls__timezone-dropdown, sd_dropdown-button: nls__timezone-drop-button, sd_dropdown-button-selected-label: nls__timezone-drop-button-selected-label, sd_dropdown-content: nls__timezone-drop-content, sd_dropdown_label: nls__timezone-drop-label\"\n >\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div\n class={{\n 'select-wrapper': true,\n 'language': true,\n }}\n part=\"nls__language\"\n >\n <select-dropdown\n name=\"language\"\n searchPlaceholder={this.searchPlaceholder}\n options={languageOptions}\n ref={el => (this.languageRef = el)}\n defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}\n exportparts=\"sd_dropdown: nls__language-dropdown, sd_dropdown-button: nls__language-drop-button, sd_dropdown-content: nls__language-drop-content, sd_dropdown_label: nls__language-drop-label\"\n >\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-ZAV15ivS.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler/nylas-locale-switch/nylas-locale-switch.scss?tag=nylas-locale-switch&encapsulation=shadow","src/components/scheduler/nylas-locale-switch/nylas-locale-switch.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-locale-switch {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-left: none;\n border-right: none;\n color: var(--nylas-base-50);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n font-family: inherit;\n\n @media #{$mobile} {\n font-size: 16px;\n }\n}\n\n.select-wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\nselect {\n border: none;\n background: transparent;\n cursor: pointer;\n outline: none;\n background-color: transparent;\n margin: 0 0 1px;\n padding: 4px;\n vertical-align: middle;\n\n &#timezone {\n width: 140px;\n }\n\n &#language {\n width: 80px;\n }\n}\n\nspan.timezone-label {\n display: flex;\n width: -webkit-fill-available;\n justify-content: space-between;\n}\n\nselect-dropdown {\n width: auto;\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n border: none;\n padding: 10px;\n}\n\nselect-dropdown::part(sd_dropdown-content) {\n max-width: 306px;\n}\n\n@media #{$mobile} {\n select-dropdown::part(sd_dropdown-button-selected-label) {\n max-width: 80px; // To make sure the selected label doesn't overflow on mobile\n }\n\n select-dropdown::part(sd_dropdown-content) {\n width: 100%;\n max-width: none;\n }\n}","import { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { LANGUAGE_MAP, TIMEZONE_MAP } from '@/common/constants';\nimport { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConnector } from '../../../components';\nimport type { NylasSchedulerBookingData } from '@/common/types';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug, getTimezoneOffset } from '@/utils/utils';\nimport { ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\n/**\n * The `nylas-locale-switch` component is a UI component that allows users to select a timezone and language.\n * @part nls - The locale switch container\n * @part nls__timezone - The timezone select container\n * @part nls__timezone-dropdown - The timezone dropdown\n * @part nls__timezone-drop-button - The timezone dropdown button\n * @part nls__timezone-drop-button-selected-label - The timezone dropdown button selected label\n * @part nls__timezone-drop-content - The timezone dropdown content\n * @part nls__timezone-drop-label - The timezone dropdown label\n * @part nls__language - The language select container\n * @part nls__language-dropdown - The language dropdown\n * @part nls__language-drop-button - The language dropdown button\n * @part nls__language-drop-content - The language dropdown content\n * @part nls__language-drop-label - The language dropdown label\n *\n */\n@Component({\n tag: 'nylas-locale-switch',\n styleUrl: 'nylas-locale-switch.scss',\n shadow: true,\n})\nexport class NylasLocaleSwitch {\n private timezoneRef?: HTMLSelectDropdownElement;\n private languageRef?: HTMLSelectDropdownElement;\n /**\n * The host element.\n * Used to manage the host element of the provider.\n */\n @Element() private host!: HTMLNylasLocaleSwitchElement;\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: any;\n /**\n * @standalone\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The selected timezone.\n */\n @Prop({ mutable: true }) selectedTimezone: string = this.bookingInfo?.timezone || Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * The selected language.\n */\n @Prop({ mutable: true }) selectedLanguage: string = this.bookingInfo?.language || navigator.language;\n\n @State() searchPlaceholder: string = i18next.t('search');\n\n /**\n * This event is fired when the timezone is changed.\n */\n @Event() timezoneChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the language is changed.\n */\n @Event() languageChanged!: EventEmitter<string>;\n\n @Watch('themeConfig')\n themeConfigChanged(newThemeConfig: ThemeConfig) {\n this.applyThemeConfig(newThemeConfig);\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue?.timezone) {\n this.changeTimezone(newValue.timezone);\n }\n if (newValue && newValue?.language) {\n this.changeLanguage(newValue.language);\n }\n }\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {}\n\n componentDidLoad() {\n debug(`[nylas-locale-switch] Component did load`);\n this.applyThemeConfig(this.themeConfig);\n if (this.bookingInfo && this.bookingInfo?.timezone) {\n this.changeTimezone(this.bookingInfo.timezone);\n }\n if (this.bookingInfo && this.bookingInfo?.language) {\n this.changeLanguage(this.bookingInfo.language);\n }\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.host.style.setProperty(`${key}`, value);\n this.timezoneRef?.style.setProperty(`${key}`, value);\n this.languageRef?.style.setProperty(`${key}`, value);\n }\n }\n }\n\n /**\n * Change the timezone.\n * @param timezone The timezone to select.\n */\n private changeTimezone(timezone: string) {\n this.selectedTimezone = timezone;\n this.timezoneChanged.emit(timezone);\n }\n\n /**\n * Change the language.\n * @param language The language to select.\n */\n private changeLanguage(language: string) {\n this.selectedLanguage = language;\n i18next.changeLanguage(language);\n this.searchPlaceholder = i18next.t('search');\n this.languageChanged.emit(language);\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.changeTimezone(value);\n } else if (name === 'language') {\n this.changeLanguage(value);\n }\n }\n\n getTimezoneLabelHTML(timezone: string) {\n const offset = getTimezoneOffset(timezone);\n return (\n <span\n class=\"timezone-label\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '-webkit-fill-available',\n }}\n >\n {TIMEZONE_MAP[timezone]}{' '}\n <span\n class=\"timezone-offset\"\n style={{\n fontSize: '14px',\n fontWeight: '400',\n color: 'var(--nylas-base-500)',\n }}\n >\n {offset}\n </span>\n </span>\n );\n }\n\n @RegisterComponent<NylasLocaleSwitch, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-locale-switch',\n stateToProps: new Map([\n ['scheduler.selectedLanguage', 'selectedLanguage'],\n ['scheduler.selectedTimezone', 'selectedTimezone'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n timezoneChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-locale-switch', 'timezoneChanged', event.detail);\n nylasSchedulerConnector.scheduler.selectTimezone(event.detail);\n },\n languageChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n debug('nylas-locale-switch', 'languageChanged', event.detail);\n nylasSchedulerConnector.scheduler.selectLanguage(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n labelHTML: this.getTimezoneLabelHTML(key),\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n const languageOptions = Object.keys(LANGUAGE_MAP).map(key => ({\n label: LANGUAGE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-locale-switch\" part=\"nls\">\n <div\n class={{\n 'select-wrapper': true,\n 'timezone': true,\n }}\n part=\"nls__timezone\"\n >\n <select-dropdown\n name=\"timezone\"\n searchPlaceholder={this.searchPlaceholder}\n options={timezoneOptions}\n ref={el => (this.timezoneRef = el)}\n defaultSelectedOption={timezoneOptions.find(op => op.value == this.selectedTimezone)}\n exportparts=\"sd_dropdown: nls__timezone-dropdown, sd_dropdown-button: nls__timezone-drop-button, sd_dropdown-button-selected-label: nls__timezone-drop-button-selected-label, sd_dropdown-content: nls__timezone-drop-content, sd_dropdown_label: nls__timezone-drop-label\"\n >\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div\n class={{\n 'select-wrapper': true,\n 'language': true,\n }}\n part=\"nls__language\"\n >\n <select-dropdown\n name=\"language\"\n searchPlaceholder={this.searchPlaceholder}\n options={languageOptions}\n ref={el => (this.languageRef = el)}\n defaultSelectedOption={languageOptions.find(lang => lang.value == this.selectedLanguage)}\n exportparts=\"sd_dropdown: nls__language-dropdown, sd_dropdown-button: nls__language-drop-button, sd_dropdown-content: nls__language-drop-content, sd_dropdown_label: nls__language-drop-label\"\n >\n <span slot=\"select-icon\">\n <translate-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,20 +1,20 @@
1
1
  import { p as proxyCustomElement, H, e as createEvent, h, i as Host } from './p-Bht9ktsW.js';
2
- import { R as RegisterComponent } from './p--4oNPYSm.js';
3
- import { a as debug, b as instance } from './p-2BdSZySU.js';
2
+ import { R as RegisterComponent } from './p-DtDGPXZR.js';
3
+ import { a as debug, b as instance } from './p-CULO8bTo.js';
4
4
  import { d as defineCustomElement$g } from './p-Captxtpo.js';
5
5
  import { d as defineCustomElement$f } from './p-PeEnpB8P.js';
6
6
  import { d as defineCustomElement$e } from './p-zy6kOSTc.js';
7
7
  import { d as defineCustomElement$d } from './p-C0ViN1Q3.js';
8
8
  import { d as defineCustomElement$c } from './p-7S1M5IE9.js';
9
- import { d as defineCustomElement$b } from './p-DcoRpHVy.js';
9
+ import { d as defineCustomElement$b } from './p-cT1Q8Q-G.js';
10
10
  import { d as defineCustomElement$a } from './p-CEoh34h7.js';
11
11
  import { d as defineCustomElement$9 } from './p-S2TOEjUD.js';
12
- import { d as defineCustomElement$8 } from './p-mN6J_IWv.js';
12
+ import { d as defineCustomElement$8 } from './p-BV55-Kie.js';
13
13
  import { d as defineCustomElement$7 } from './p-aUsZeU-H.js';
14
14
  import { d as defineCustomElement$6 } from './p-DlcSImKX.js';
15
15
  import { d as defineCustomElement$5 } from './p-ClTk9Ttz.js';
16
16
  import { d as defineCustomElement$4 } from './p-D7lRYhTx.js';
17
- import { d as defineCustomElement$3 } from './p-Ci-3P4oO.js';
17
+ import { d as defineCustomElement$3 } from './p-Ce1kG2WA.js';
18
18
  import { d as defineCustomElement$2 } from './p-C6fgjGAL.js';
19
19
  import { d as defineCustomElement$1 } from './p-CeiWfySh.js';
20
20
 
@@ -394,6 +394,6 @@ function defineCustomElement() {
394
394
  }
395
395
 
396
396
  export { NylasReminderEmails as N, defineCustomElement as d };
397
- //# sourceMappingURL=p-Br3ELPNn.js.map
397
+ //# sourceMappingURL=p-b2NfdiFD.js.map
398
398
 
399
- //# sourceMappingURL=p-Br3ELPNn.js.map
399
+ //# sourceMappingURL=p-b2NfdiFD.js.map