@nylas/web-elements 2.5.13 → 2.5.16

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 (306) hide show
  1. package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +2991 -2998
  2. package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +1 -1
  3. package/dist/cjs/calendar-agenda-fill-icon_39.cjs.entry.js +13 -13
  4. package/dist/cjs/calendar-agenda-fill-icon_39.cjs.entry.js.map +1 -1
  5. package/dist/cjs/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.cjs.js.map +1 -1
  6. package/dist/cjs/google-logo-icon_6.cjs.entry.js +21 -13
  7. package/dist/cjs/google-logo-icon_6.cjs.entry.js.map +1 -1
  8. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +1 -1
  9. package/dist/cjs/nylas-scheduling.cjs.entry.js +1 -1
  10. package/dist/cjs/{version-BspChjso.js → version-Cc3rTMtG.js} +3 -3
  11. package/dist/cjs/{version-BspChjso.js.map → version-Cc3rTMtG.js.map} +1 -1
  12. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +10 -6
  13. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  14. package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js +10 -6
  15. package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js.map +1 -1
  16. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +9 -10
  17. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js.map +1 -1
  18. package/dist/collection/components/scheduler-editor/nylas-specific-time-availability-picker/nylas-specific-time-availability-picker.js +4 -3
  19. package/dist/collection/components/scheduler-editor/nylas-specific-time-availability-picker/nylas-specific-time-availability-picker.js.map +1 -1
  20. package/dist/collection/version.js +1 -1
  21. package/dist/collection/version.js.map +1 -1
  22. package/dist/components/index.js +1 -1
  23. package/dist/components/input-component.js +1 -1
  24. package/dist/components/input-image-url.js +1 -1
  25. package/dist/components/multi-select-dropdown.js +1 -1
  26. package/dist/components/nylas-additional-participants.js +1 -1
  27. package/dist/components/nylas-availability-picker.js +1 -1
  28. package/dist/components/nylas-booked-event-card.js +1 -1
  29. package/dist/components/nylas-booking-calendar-picker.js +1 -1
  30. package/dist/components/nylas-booking-confirmation-redirect.js +1 -1
  31. package/dist/components/nylas-booking-confirmation-type.js +1 -1
  32. package/dist/components/nylas-booking-form-config.js +1 -1
  33. package/dist/components/nylas-booking-form.js +1 -1
  34. package/dist/components/nylas-buffer-time.js +1 -1
  35. package/dist/components/nylas-calendar-picker.js +1 -1
  36. package/dist/components/nylas-cancel-booking-form.js +1 -1
  37. package/dist/components/nylas-cancellation-policy.js +1 -1
  38. package/dist/components/nylas-cancelled-event-card.js +1 -1
  39. package/dist/components/nylas-confirmation-email.js +1 -1
  40. package/dist/components/nylas-confirmed-event-card.js +1 -1
  41. package/dist/components/nylas-connected-calendars.js +1 -1
  42. package/dist/components/nylas-custom-booking-flow.js +1 -1
  43. package/dist/components/nylas-custom-event-slug.js +1 -1
  44. package/dist/components/nylas-customize-booking-settings.js +1 -1
  45. package/dist/components/nylas-date-component.js +1 -1
  46. package/dist/components/nylas-date-picker.js +1 -1
  47. package/dist/components/nylas-disable-emails.js +1 -1
  48. package/dist/components/nylas-editor-tabs-group.js +1 -1
  49. package/dist/components/nylas-editor-tabs.js +1 -1
  50. package/dist/components/nylas-event-calendar.js +1 -1
  51. package/dist/components/nylas-event-capacity.js +1 -1
  52. package/dist/components/nylas-event-description.js +1 -1
  53. package/dist/components/nylas-event-duration.js +1 -1
  54. package/dist/components/nylas-event-info.js +1 -1
  55. package/dist/components/nylas-event-limits.js +1 -1
  56. package/dist/components/nylas-event-location.js +1 -1
  57. package/dist/components/nylas-event-timeslot.js +1 -1
  58. package/dist/components/nylas-event-title.js +1 -1
  59. package/dist/components/nylas-feedback-form.js +1 -1
  60. package/dist/components/nylas-form-card.js +1 -1
  61. package/dist/components/nylas-limit-future-bookings.js +1 -1
  62. package/dist/components/nylas-list-configurations.js +1 -1
  63. package/dist/components/nylas-locale-switch.js +1 -1
  64. package/dist/components/nylas-min-booking-notice.js +1 -1
  65. package/dist/components/nylas-min-cancellation-notice.js +1 -1
  66. package/dist/components/nylas-notetaker-config.js +1 -1
  67. package/dist/components/nylas-notification.js +1 -1
  68. package/dist/components/nylas-only-specific-time-availability.js +1 -1
  69. package/dist/components/nylas-organizer-confirmation-card.js +1 -1
  70. package/dist/components/nylas-page-name.js +1 -1
  71. package/dist/components/nylas-page-styling.js +1 -1
  72. package/dist/components/nylas-participant-booking-calendars.js +1 -1
  73. package/dist/components/nylas-participants-custom-availability.js +1 -1
  74. package/dist/components/nylas-reminder-emails.js +1 -1
  75. package/dist/components/nylas-reminder-time.js +1 -1
  76. package/dist/components/nylas-scheduler-editor.js +56 -56
  77. package/dist/components/nylas-scheduling-method.js +1 -1
  78. package/dist/components/nylas-scheduling.js +19 -19
  79. package/dist/components/nylas-select-event-type.js +1 -1
  80. package/dist/components/nylas-selected-event-card.js +1 -1
  81. package/dist/components/nylas-specific-time-availability-picker.js +1 -1
  82. package/dist/components/nylas-time-window-picker.js +1 -1
  83. package/dist/components/nylas-timeslot-interval.js +1 -1
  84. package/dist/components/nylas-timeslot-picker.js +1 -1
  85. package/dist/components/{p-BNzrPoR6.js → p-37a4h3J_.js} +5 -5
  86. package/dist/components/{p-BNzrPoR6.js.map → p-37a4h3J_.js.map} +1 -1
  87. package/dist/components/{p-CiJgH0CI.js → p-3FTb1-in.js} +17 -17
  88. package/dist/components/{p-CiJgH0CI.js.map → p-3FTb1-in.js.map} +1 -1
  89. package/dist/components/{p-Dlku8PCX.js → p-96zW11tR.js} +4 -4
  90. package/dist/components/{p-Dlku8PCX.js.map → p-96zW11tR.js.map} +1 -1
  91. package/dist/components/{p-CSECxNkF.js → p-B2cPNmM_.js} +6 -6
  92. package/dist/components/{p-CSECxNkF.js.map → p-B2cPNmM_.js.map} +1 -1
  93. package/dist/components/{p-DqgGszYv.js → p-B3cnALr8.js} +8 -8
  94. package/dist/components/{p-DqgGszYv.js.map → p-B3cnALr8.js.map} +1 -1
  95. package/dist/components/{p-FBEildbE.js → p-BBxu-pwN.js} +8 -8
  96. package/dist/components/{p-FBEildbE.js.map → p-BBxu-pwN.js.map} +1 -1
  97. package/dist/components/{p-Cx6l-C7e.js → p-BGbMXlLy.js} +4 -4
  98. package/dist/components/{p-Cx6l-C7e.js.map → p-BGbMXlLy.js.map} +1 -1
  99. package/dist/components/{p-DfNywLNk.js → p-BJ5a9k3B.js} +4 -4
  100. package/dist/components/{p-DfNywLNk.js.map → p-BJ5a9k3B.js.map} +1 -1
  101. package/dist/components/{p-Csux9e4C.js → p-BJsBeE4_.js} +60 -56
  102. package/dist/components/p-BJsBeE4_.js.map +1 -0
  103. package/dist/components/{p-rODq8j3H.js → p-BMmtU0fv.js} +5 -5
  104. package/dist/components/{p-rODq8j3H.js.map → p-BMmtU0fv.js.map} +1 -1
  105. package/dist/components/{p-uQf7jw6y.js → p-BTwTmU9e.js} +7 -7
  106. package/dist/components/{p-uQf7jw6y.js.map → p-BTwTmU9e.js.map} +1 -1
  107. package/dist/components/{p-B5zQj3-Z.js → p-BWbQSVNH.js} +4 -4
  108. package/dist/components/{p-B5zQj3-Z.js.map → p-BWbQSVNH.js.map} +1 -1
  109. package/dist/components/{p-D_CPIneS.js → p-BYzkNeMW.js} +3 -3
  110. package/dist/components/{p-D_CPIneS.js.map → p-BYzkNeMW.js.map} +1 -1
  111. package/dist/components/{p-B9G8DJJr.js → p-BqD6DKLT.js} +4 -4
  112. package/dist/components/{p-B9G8DJJr.js.map → p-BqD6DKLT.js.map} +1 -1
  113. package/dist/components/{p-Ch03cZa9.js → p-Bsd63RFi.js} +3 -3
  114. package/dist/components/{p-Ch03cZa9.js.map → p-Bsd63RFi.js.map} +1 -1
  115. package/dist/components/{p-BTo3RJwU.js → p-BuJdnN6-.js} +5 -5
  116. package/dist/components/{p-BTo3RJwU.js.map → p-BuJdnN6-.js.map} +1 -1
  117. package/dist/components/{p-Bj4ZUpbc.js → p-Bvnci8k8.js} +4 -4
  118. package/dist/components/{p-Bj4ZUpbc.js.map → p-Bvnci8k8.js.map} +1 -1
  119. package/dist/components/{p-DclMe63w.js → p-BxrC0Rsf.js} +3 -3
  120. package/dist/components/{p-DclMe63w.js.map → p-BxrC0Rsf.js.map} +1 -1
  121. package/dist/components/{p-W0q3GPje.js → p-BzLxndYA.js} +3 -3
  122. package/dist/components/{p-W0q3GPje.js.map → p-BzLxndYA.js.map} +1 -1
  123. package/dist/components/{p-CfNiz60j.js → p-CL8ugNmu.js} +5 -5
  124. package/dist/components/{p-CfNiz60j.js.map → p-CL8ugNmu.js.map} +1 -1
  125. package/dist/components/{p-BCUF1qcs.js → p-CMNiSC4o.js} +3 -3
  126. package/dist/components/{p-BCUF1qcs.js.map → p-CMNiSC4o.js.map} +1 -1
  127. package/dist/components/{p-CM9l-8zy.js → p-CRIlyxX5.js} +5 -5
  128. package/dist/components/{p-CM9l-8zy.js.map → p-CRIlyxX5.js.map} +1 -1
  129. package/dist/components/{p-xnXT49TS.js → p-CUe11ohy.js} +4 -4
  130. package/dist/components/{p-xnXT49TS.js.map → p-CUe11ohy.js.map} +1 -1
  131. package/dist/components/{p-CpP2uaEo.js → p-CUlV7ZGv.js} +3 -3
  132. package/dist/components/{p-CpP2uaEo.js.map → p-CUlV7ZGv.js.map} +1 -1
  133. package/dist/components/{p-BWCjcWGP.js → p-CXkCnHr5.js} +4 -4
  134. package/dist/components/{p-BWCjcWGP.js.map → p-CXkCnHr5.js.map} +1 -1
  135. package/dist/components/{p-Czoh6-K4.js → p-CdBb4zI5.js} +10 -9
  136. package/dist/components/p-CdBb4zI5.js.map +1 -0
  137. package/dist/components/{p-OAhdn1vx.js → p-CdPtFwy6.js} +3 -3
  138. package/dist/components/{p-OAhdn1vx.js.map → p-CdPtFwy6.js.map} +1 -1
  139. package/dist/components/{p-umrdj-23.js → p-CeKOSPvz.js} +5 -5
  140. package/dist/components/{p-umrdj-23.js.map → p-CeKOSPvz.js.map} +1 -1
  141. package/dist/components/{p-CNvWFjFr.js → p-Ch_HOS-9.js} +4 -4
  142. package/dist/components/{p-CNvWFjFr.js.map → p-Ch_HOS-9.js.map} +1 -1
  143. package/dist/components/{p-sH4nuWqV.js → p-Ci-pKDnr.js} +4 -4
  144. package/dist/components/{p-sH4nuWqV.js.map → p-Ci-pKDnr.js.map} +1 -1
  145. package/dist/components/{p-Co08mMKn.js → p-CpGRDWt9.js} +4 -4
  146. package/dist/components/{p-Co08mMKn.js.map → p-CpGRDWt9.js.map} +1 -1
  147. package/dist/components/{p-DjFQHhGY.js → p-CuaQW941.js} +4 -4
  148. package/dist/components/{p-DjFQHhGY.js.map → p-CuaQW941.js.map} +1 -1
  149. package/dist/components/{p-Dwxouxgj.js → p-CzSowwcD.js} +4 -4
  150. package/dist/components/{p-Dwxouxgj.js.map → p-CzSowwcD.js.map} +1 -1
  151. package/dist/components/{p-i8gpwgDT.js → p-D0137Jos.js} +4 -4
  152. package/dist/components/{p-i8gpwgDT.js.map → p-D0137Jos.js.map} +1 -1
  153. package/dist/components/{p-4jS2598L.js → p-D04Mu9fK.js} +3 -3
  154. package/dist/components/{p-4jS2598L.js.map → p-D04Mu9fK.js.map} +1 -1
  155. package/dist/components/{p-BlxYpYrq.js → p-D0qMgeBc.js} +4 -4
  156. package/dist/components/{p-BlxYpYrq.js.map → p-D0qMgeBc.js.map} +1 -1
  157. package/dist/components/{p-DswqiER3.js → p-D42UGkjM.js} +3 -3
  158. package/dist/components/{p-DswqiER3.js.map → p-D42UGkjM.js.map} +1 -1
  159. package/dist/components/{p-TOG3UyB_.js → p-D4gKLnje.js} +7 -7
  160. package/dist/components/{p-TOG3UyB_.js.map → p-D4gKLnje.js.map} +1 -1
  161. package/dist/components/{p-DjQuy9Lc.js → p-D5Swz0J4.js} +5 -5
  162. package/dist/components/{p-DjQuy9Lc.js.map → p-D5Swz0J4.js.map} +1 -1
  163. package/dist/components/{p-D6yyOiee.js → p-D9mHh12b.js} +5 -5
  164. package/dist/components/{p-D6yyOiee.js.map → p-D9mHh12b.js.map} +1 -1
  165. package/dist/components/{p-B2_cvJns.js → p-DDd7Mjvz.js} +5 -5
  166. package/dist/components/{p-B2_cvJns.js.map → p-DDd7Mjvz.js.map} +1 -1
  167. package/dist/components/{p-C1Z2qktB.js → p-DGDbXfHm.js} +7 -7
  168. package/dist/components/{p-C1Z2qktB.js.map → p-DGDbXfHm.js.map} +1 -1
  169. package/dist/components/{p-CjMpnxmP.js → p-DMwaGWVu.js} +3 -3
  170. package/dist/components/{p-CjMpnxmP.js.map → p-DMwaGWVu.js.map} +1 -1
  171. package/dist/components/{p-C2EKszp0.js → p-DOryfnIf.js} +3 -3
  172. package/dist/components/{p-C2EKszp0.js.map → p-DOryfnIf.js.map} +1 -1
  173. package/dist/components/{p-D8f8zHZu.js → p-DPL6BIu2.js} +5 -5
  174. package/dist/components/{p-D8f8zHZu.js.map → p-DPL6BIu2.js.map} +1 -1
  175. package/dist/components/{p-B2iddmWd.js → p-DPPqmJvY.js} +5 -5
  176. package/dist/components/{p-B2iddmWd.js.map → p-DPPqmJvY.js.map} +1 -1
  177. package/dist/components/{p-KPbwxUCV.js → p-DRMxunL6.js} +3 -3
  178. package/dist/components/{p-KPbwxUCV.js.map → p-DRMxunL6.js.map} +1 -1
  179. package/dist/components/{p-D7Xfdt74.js → p-DUVwWh7e.js} +4 -4
  180. package/dist/components/{p-D7Xfdt74.js.map → p-DUVwWh7e.js.map} +1 -1
  181. package/dist/components/{p-f0IvxSr9.js → p-DZwGCUUK.js} +6 -6
  182. package/dist/components/{p-f0IvxSr9.js.map → p-DZwGCUUK.js.map} +1 -1
  183. package/dist/components/{p-tIcs9Qo5.js → p-D_daFt1t.js} +5 -5
  184. package/dist/components/{p-tIcs9Qo5.js.map → p-D_daFt1t.js.map} +1 -1
  185. package/dist/components/{p-DGUo_p68.js → p-DcXycU5_.js} +4 -4
  186. package/dist/components/{p-DGUo_p68.js.map → p-DcXycU5_.js.map} +1 -1
  187. package/dist/components/{p-w9ANRXbn.js → p-DfxhC7Fd.js} +5 -5
  188. package/dist/components/{p-w9ANRXbn.js.map → p-DfxhC7Fd.js.map} +1 -1
  189. package/dist/components/{p-eej_Ksq1.js → p-DjJOgfxK.js} +5 -5
  190. package/dist/components/{p-eej_Ksq1.js.map → p-DjJOgfxK.js.map} +1 -1
  191. package/dist/components/{p-BDVZl2EG.js → p-KzMRmaBa.js} +50 -46
  192. package/dist/components/p-KzMRmaBa.js.map +1 -0
  193. package/dist/components/{p-ixTtdC_2.js → p-LOCJMijY.js} +5 -5
  194. package/dist/components/{p-ixTtdC_2.js.map → p-LOCJMijY.js.map} +1 -1
  195. package/dist/components/{p-DGwr7E6J.js → p-NA5f_7b7.js} +4 -4
  196. package/dist/components/{p-DGwr7E6J.js.map → p-NA5f_7b7.js.map} +1 -1
  197. package/dist/components/{p-Cf-rjo7-.js → p-O9btdnkK.js} +6 -6
  198. package/dist/components/{p-Cf-rjo7-.js.map → p-O9btdnkK.js.map} +1 -1
  199. package/dist/components/{p-B6bT8J6p.js → p-RPocf_FZ.js} +17 -18
  200. package/dist/components/p-RPocf_FZ.js.map +1 -0
  201. package/dist/components/{p-EKeBVTKB.js → p-UTn_XnKO.js} +5 -5
  202. package/dist/components/{p-EKeBVTKB.js.map → p-UTn_XnKO.js.map} +1 -1
  203. package/dist/components/{p-CeWOPOaM.js → p-eV80kRKP.js} +4 -4
  204. package/dist/components/{p-CeWOPOaM.js.map → p-eV80kRKP.js.map} +1 -1
  205. package/dist/components/{p-CbB5JFln.js → p-fwU4mtR0.js} +4 -4
  206. package/dist/components/{p-CbB5JFln.js.map → p-fwU4mtR0.js.map} +1 -1
  207. package/dist/components/{p-DrmjHhDH.js → p-g9YD1HRv.js} +5 -5
  208. package/dist/components/{p-DrmjHhDH.js.map → p-g9YD1HRv.js.map} +1 -1
  209. package/dist/components/{p-DvPuyp-I.js → p-nhhVpJed.js} +7 -7
  210. package/dist/components/{p-DvPuyp-I.js.map → p-nhhVpJed.js.map} +1 -1
  211. package/dist/components/{p-oVDOs1AN.js → p-oRjUujH5.js} +4 -4
  212. package/dist/components/{p-oVDOs1AN.js.map → p-oRjUujH5.js.map} +1 -1
  213. package/dist/components/{p-hmiyEk6L.js → p-qo42Sy8T.js} +5 -5
  214. package/dist/components/{p-hmiyEk6L.js.map → p-qo42Sy8T.js.map} +1 -1
  215. package/dist/components/{p-D_8c_n1h.js → p-uxA_4Zq1.js} +4 -4
  216. package/dist/components/{p-D_8c_n1h.js.map → p-uxA_4Zq1.js.map} +1 -1
  217. package/dist/components/{p-DWMCGYZt.js → p-wJgbEd5m.js} +5 -5
  218. package/dist/components/{p-DWMCGYZt.js.map → p-wJgbEd5m.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-DfvNw5fP.js → abstract-provider-C4xP8KoA.js} +3 -3
  222. package/dist/esm/{abstract-provider-DfvNw5fP.js.map → abstract-provider-C4xP8KoA.js.map} +1 -1
  223. package/dist/esm/calendar-agenda-fill-icon_39.entry.js +15 -15
  224. package/dist/esm/calendar-agenda-fill-icon_39.entry.js.map +1 -1
  225. package/dist/esm/checkbox-group_4.entry.js +3 -3
  226. package/dist/esm/checkmark-icon_14.entry.js +2 -2
  227. package/dist/esm/{customParseFormat-BUZsRKas.js → customParseFormat-oEkUiMUN.js} +3 -3
  228. package/dist/esm/{customParseFormat-BUZsRKas.js.map → customParseFormat-oEkUiMUN.js.map} +1 -1
  229. package/dist/esm/globe-icon_3.entry.js +2 -2
  230. package/dist/esm/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.js.map +1 -1
  231. package/dist/esm/google-logo-icon_6.entry.js +23 -15
  232. package/dist/esm/google-logo-icon_6.entry.js.map +1 -1
  233. package/dist/esm/index.js +2 -2
  234. package/dist/esm/input-component.entry.js +1 -1
  235. package/dist/esm/input-dropdown_2.entry.js +1 -1
  236. package/dist/esm/input-image-url_2.entry.js +2 -2
  237. package/dist/esm/multi-select-dropdown.entry.js +1 -1
  238. package/dist/esm/{nylas-api-request-B3Fj4B-L.js → nylas-api-request-CWLncKIc.js} +3 -3
  239. package/dist/esm/{nylas-api-request-B3Fj4B-L.js.map → nylas-api-request-CWLncKIc.js.map} +1 -1
  240. package/dist/esm/nylas-booked-event-card_11.entry.js +2 -2
  241. package/dist/esm/nylas-form-card.entry.js +2 -2
  242. package/dist/esm/nylas-notification_2.entry.js +1 -1
  243. package/dist/esm/nylas-scheduler-editor.entry.js +4 -4
  244. package/dist/esm/nylas-scheduling.entry.js +3 -3
  245. package/dist/esm/{register-component-B9YP9nha.js → register-component-4Wk1RjFK.js} +3 -3
  246. package/dist/esm/{register-component-B9YP9nha.js.map → register-component-4Wk1RjFK.js.map} +1 -1
  247. package/dist/esm/textarea-component.entry.js +1 -1
  248. package/dist/esm/{utils-OpKyWV8q.js → utils-DfIu4gMZ.js} +3 -3
  249. package/dist/esm/{utils-OpKyWV8q.js.map → utils-DfIu4gMZ.js.map} +1 -1
  250. package/dist/esm/{version-xO_cryq5.js → version-Ce04N_Lo.js} +3 -3
  251. package/dist/esm/{version-xO_cryq5.js.map → version-Ce04N_Lo.js.map} +1 -1
  252. package/dist/nylas-web-elements/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.esm.js.map +1 -1
  253. package/dist/nylas-web-elements/index.esm.js +1 -1
  254. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  255. package/dist/nylas-web-elements/{p-2f3a33e1.entry.js → p-0745cbcc.entry.js} +2 -2
  256. package/dist/nylas-web-elements/{p-ad920702.entry.js → p-0c276fdb.entry.js} +2 -2
  257. package/dist/nylas-web-elements/{p-ccc9d9d2.entry.js → p-1618c8ac.entry.js} +3 -3
  258. package/dist/nylas-web-elements/p-1618c8ac.entry.js.map +1 -0
  259. package/dist/nylas-web-elements/{p-97034347.entry.js → p-2491c840.entry.js} +2 -2
  260. package/dist/nylas-web-elements/p-71137e94.entry.js +2 -0
  261. package/dist/nylas-web-elements/p-71137e94.entry.js.map +1 -0
  262. package/dist/nylas-web-elements/{p-330c2159.entry.js → p-81af9950.entry.js} +2 -2
  263. package/dist/nylas-web-elements/{p-4d9bdaa0.entry.js → p-95c4f538.entry.js} +2 -2
  264. package/dist/nylas-web-elements/{p-xO_cryq5.js → p-Ce04N_Lo.js} +2 -2
  265. package/dist/nylas-web-elements/{p-xO_cryq5.js.map → p-Ce04N_Lo.js.map} +1 -1
  266. package/dist/nylas-web-elements/{p-S0IPwRIR.js → p-DNbD_8zD.js} +2 -2
  267. package/dist/nylas-web-elements/{p-S0IPwRIR.js.map → p-DNbD_8zD.js.map} +1 -1
  268. package/dist/nylas-web-elements/{p-OpKyWV8q.js → p-DfIu4gMZ.js} +2 -2
  269. package/dist/nylas-web-elements/{p-OpKyWV8q.js.map → p-DfIu4gMZ.js.map} +1 -1
  270. package/dist/nylas-web-elements/{p-C-mOw2iU.js → p-Dgl7p7tZ.js} +2 -2
  271. package/dist/nylas-web-elements/{p-C-mOw2iU.js.map → p-Dgl7p7tZ.js.map} +1 -1
  272. package/dist/nylas-web-elements/p-VQ6-FdEA.js +2 -0
  273. package/dist/nylas-web-elements/{p-D8VJgipo.js.map → p-VQ6-FdEA.js.map} +1 -1
  274. package/dist/nylas-web-elements/{p-db79a1ca.entry.js → p-a5bb5b9d.entry.js} +2 -2
  275. package/dist/nylas-web-elements/{p-e0de5436.entry.js → p-b607eace.entry.js} +2 -2
  276. package/dist/nylas-web-elements/{p-3f66ac98.entry.js → p-c7f4c268.entry.js} +2 -2
  277. package/dist/nylas-web-elements/{p-f235211e.entry.js → p-d48d8562.entry.js} +2 -2
  278. package/dist/nylas-web-elements/{p-9a5ddc21.entry.js → p-eb5b77ab.entry.js} +2 -2
  279. package/dist/nylas-web-elements/{p-38806f4d.entry.js → p-f45da541.entry.js} +2 -2
  280. package/dist/nylas-web-elements/{p-f5cf565f.entry.js → p-fed4cb19.entry.js} +2 -2
  281. package/dist/nylas-web-elements/{p-ca824e25.entry.js → p-ff693a85.entry.js} +3 -3
  282. package/dist/nylas-web-elements/{p-FlNKXp4j.js → p-gXPNb-6F.js} +2 -2
  283. package/dist/nylas-web-elements/{p-FlNKXp4j.js.map → p-gXPNb-6F.js.map} +1 -1
  284. package/dist/types/version.d.ts +1 -1
  285. package/package.json +1 -1
  286. package/dist/components/p-B6bT8J6p.js.map +0 -1
  287. package/dist/components/p-BDVZl2EG.js.map +0 -1
  288. package/dist/components/p-Csux9e4C.js.map +0 -1
  289. package/dist/components/p-Czoh6-K4.js.map +0 -1
  290. package/dist/nylas-web-elements/p-0716662b.entry.js +0 -2
  291. package/dist/nylas-web-elements/p-0716662b.entry.js.map +0 -1
  292. package/dist/nylas-web-elements/p-D8VJgipo.js +0 -2
  293. package/dist/nylas-web-elements/p-ccc9d9d2.entry.js.map +0 -1
  294. /package/dist/nylas-web-elements/{p-2f3a33e1.entry.js.map → p-0745cbcc.entry.js.map} +0 -0
  295. /package/dist/nylas-web-elements/{p-ad920702.entry.js.map → p-0c276fdb.entry.js.map} +0 -0
  296. /package/dist/nylas-web-elements/{p-97034347.entry.js.map → p-2491c840.entry.js.map} +0 -0
  297. /package/dist/nylas-web-elements/{p-330c2159.entry.js.map → p-81af9950.entry.js.map} +0 -0
  298. /package/dist/nylas-web-elements/{p-4d9bdaa0.entry.js.map → p-95c4f538.entry.js.map} +0 -0
  299. /package/dist/nylas-web-elements/{p-db79a1ca.entry.js.map → p-a5bb5b9d.entry.js.map} +0 -0
  300. /package/dist/nylas-web-elements/{p-e0de5436.entry.js.map → p-b607eace.entry.js.map} +0 -0
  301. /package/dist/nylas-web-elements/{p-3f66ac98.entry.js.map → p-c7f4c268.entry.js.map} +0 -0
  302. /package/dist/nylas-web-elements/{p-f235211e.entry.js.map → p-d48d8562.entry.js.map} +0 -0
  303. /package/dist/nylas-web-elements/{p-9a5ddc21.entry.js.map → p-eb5b77ab.entry.js.map} +0 -0
  304. /package/dist/nylas-web-elements/{p-38806f4d.entry.js.map → p-f45da541.entry.js.map} +0 -0
  305. /package/dist/nylas-web-elements/{p-f5cf565f.entry.js.map → p-fed4cb19.entry.js.map} +0 -0
  306. /package/dist/nylas-web-elements/{p-ca824e25.entry.js.map → p-ff693a85.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"p-DrmjHhDH.js","mappings":";;;;;;AAAA,MAAM,yBAAyB,GAAG,4tFAA4tF;;;;;;;;;;;;;;;;MC8BjvF,sBAAsB,GAAAA,kBAAA,CAAA,MAAA,sBAAA,SAAAC,CAAA,CAAA;;;;;;;IAoBjC,8BAA8B,CAAC,MAAqB,EAAE,MAAqB,EAAA;QACzE,IAAI,MAAM,KAAK,MAAM;YAAE;AACvB,QAAAC,QAAO,CAAC,cAAc,CAAC,MAAM,CAAC;;IAIhC,yBAAyB,CAAC,MAAmB,EAAE,MAAmB,EAAA;QAChE,IAAI,MAAM,KAAK,MAAM;YAAE;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;;IAI/B,iBAAiB,GAAA;AACf,QAAA,KAAK,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;QAGvD,cAAc,CAAC,MAAK;AAClB,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;;AAE3C,SAAC,CAAC;;IAEJ,oBAAoB,GAAA;AAClB,QAAA,KAAK,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;;IAG5D,iBAAiB,GAAA;AACf,QAAA,KAAK,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;;IAGzD,gBAAgB,GAAA;AACd,QAAA,KAAK,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;QACtD,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;;AAG3C,IAAA,gBAAgB,CAAC,WAAyB,EAAA;QACxC,IAAI,WAAW,EAAE;AACf,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACtD,gBAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA,EAAG,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC;;;;IAchD,MAAM,GAAA;QACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAClB,CAAiB,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAW,EAAC,8BAA8B,EAAA,EACzD,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,kCAAkC,EAAC,IAAI,EAAC,gBAAgB,IACnFA,QAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAC7C,EACL,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,oCAAoC,EAAC,IAAI,EAAC,kBAAkB,EAAA,EACpF,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,CACU,CACb;;;;;;;;;;;;;;;;AAXX,UAAA,CAAA;AATC,IAAA,iBAAiB,CAA4G;AAC5H,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,IAAI,GAAG,CAAC;YACpB,CAAC,kCAAkC,EAAE,kBAAkB,CAAC;YACxD,CAAC,6BAA6B,EAAE,aAAa,CAAC;SAC/C,CAAC;AACF,QAAA,iBAAiB,EAAE,IAAI;KACxB,CAAC;;;;CAcD,EAAA,sBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.scss?tag=nylas-custom-booking-flow&encapsulation=shadow","src/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n margin: 1rem;\n @include default-css-variables;\n}\n\n.nylas-custom-booking-flow__title {\n color: var(--nylas-base-900);\n font-size: 16px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n /* 125% */\n margin: 0;\n text-align: left;\n}\n\n.nylas-custom-booking-flow__subtitle {\n color: var(--nylas-base-600);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n /* 142.857% */\n margin: 0.25rem 0px 0px;\n text-align: left;\n}\n\n.nylas-custom-booking-flow__content {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n background-color: var(--nylas-base-25);\n}\n\n.nylas-custom-booking-flow__block {\n display: flex;\n justify-content: space-between;\n gap: 0.5rem;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { checkForMissingSlots, debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Host, Prop, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-custom-booking-flow` component is an input form for booking type (automatically or manually accept bookings) and confirmation redirect URL (default or custom).\n * This component is a container for the `nylas-booking-confirmation-type`, `nylas-booking-confirmation-redirect` components.\n *\n * ```html\n * <nylas-custom-booking-flow>\n * <div slot=\"inputs\">\n * <nylas-booking-confirmation-type></nylas-booking-confirmation-type>\n * <nylas-booking-confirmation-redirect></nylas-booking-confirmation-redirect>\n * </div>\n * </nylas-custom-booking-flow>\n * ```\n *\n * @slot inputs - The custom booking flow inputs. This includes the booking type, confirmation redirect type, and custom redirect URL components.\n */\n@Component({\n tag: 'nylas-custom-booking-flow',\n styleUrl: 'nylas-custom-booking-flow.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasCustomBookingFlow {\n @Element() el!: HTMLElement;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\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 // Lifecycle methods\n connectedCallback() {\n debug('nylas-custom-booking-flow', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.el.setAttribute('data-themed', '');\n }\n });\n }\n disconnectedCallback() {\n debug('nylas-custom-booking-flow', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-custom-booking-flow', 'componentWillLoad');\n }\n\n componentDidLoad() {\n debug('nylas-custom-booking-flow', 'componentDidLoad');\n checkForMissingSlots(['inputs'], this.el);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @RegisterComponent<NylasCustomBookingFlow, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-custom-booking-flow',\n eventToProps: {},\n stateToProps: new Map([\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncbflow\">\n <nylas-form-card exportparts=\"nfc__header: ncbflow__header\">\n <h1 slot=\"header-title\" class=\"nylas-custom-booking-flow__title\" part=\"ncbflow__title\">\n {i18next.t('nylasCustomBookingFlow.headerTitle')}\n </h1>\n <div slot=\"content\" class=\"nylas-custom-booking-flow__content\" part=\"ncbflow__content\">\n <slot name=\"inputs\"></slot>\n </div>\n </nylas-form-card>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-g9YD1HRv.js","mappings":";;;;;;AAAA,MAAM,yBAAyB,GAAG,4tFAA4tF;;;;;;;;;;;;;;;;MC8BjvF,sBAAsB,GAAAA,kBAAA,CAAA,MAAA,sBAAA,SAAAC,CAAA,CAAA;;;;;;;IAoBjC,8BAA8B,CAAC,MAAqB,EAAE,MAAqB,EAAA;QACzE,IAAI,MAAM,KAAK,MAAM;YAAE;AACvB,QAAAC,QAAO,CAAC,cAAc,CAAC,MAAM,CAAC;;IAIhC,yBAAyB,CAAC,MAAmB,EAAE,MAAmB,EAAA;QAChE,IAAI,MAAM,KAAK,MAAM;YAAE;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;;IAI/B,iBAAiB,GAAA;AACf,QAAA,KAAK,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;QAGvD,cAAc,CAAC,MAAK;AAClB,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;;AAE3C,SAAC,CAAC;;IAEJ,oBAAoB,GAAA;AAClB,QAAA,KAAK,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;;IAG5D,iBAAiB,GAAA;AACf,QAAA,KAAK,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;;IAGzD,gBAAgB,GAAA;AACd,QAAA,KAAK,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;QACtD,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;;AAG3C,IAAA,gBAAgB,CAAC,WAAyB,EAAA;QACxC,IAAI,WAAW,EAAE;AACf,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACtD,gBAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA,EAAG,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC;;;;IAchD,MAAM,GAAA;QACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAClB,CAAiB,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAW,EAAC,8BAA8B,EAAA,EACzD,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,kCAAkC,EAAC,IAAI,EAAC,gBAAgB,IACnFA,QAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAC7C,EACL,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,oCAAoC,EAAC,IAAI,EAAC,kBAAkB,EAAA,EACpF,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,CACU,CACb;;;;;;;;;;;;;;;;AAXX,UAAA,CAAA;AATC,IAAA,iBAAiB,CAA4G;AAC5H,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,IAAI,GAAG,CAAC;YACpB,CAAC,kCAAkC,EAAE,kBAAkB,CAAC;YACxD,CAAC,6BAA6B,EAAE,aAAa,CAAC;SAC/C,CAAC;AACF,QAAA,iBAAiB,EAAE,IAAI;KACxB,CAAC;;;;CAcD,EAAA,sBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.scss?tag=nylas-custom-booking-flow&encapsulation=shadow","src/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n margin: 1rem;\n @include default-css-variables;\n}\n\n.nylas-custom-booking-flow__title {\n color: var(--nylas-base-900);\n font-size: 16px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n /* 125% */\n margin: 0;\n text-align: left;\n}\n\n.nylas-custom-booking-flow__subtitle {\n color: var(--nylas-base-600);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n /* 142.857% */\n margin: 0.25rem 0px 0px;\n text-align: left;\n}\n\n.nylas-custom-booking-flow__content {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n background-color: var(--nylas-base-25);\n}\n\n.nylas-custom-booking-flow__block {\n display: flex;\n justify-content: space-between;\n gap: 0.5rem;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { checkForMissingSlots, debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Host, Prop, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\nimport { ThemeConfig } from '@nylas/core';\n\n/**\n * The `nylas-custom-booking-flow` component is an input form for booking type (automatically or manually accept bookings) and confirmation redirect URL (default or custom).\n * This component is a container for the `nylas-booking-confirmation-type`, `nylas-booking-confirmation-redirect` components.\n *\n * ```html\n * <nylas-custom-booking-flow>\n * <div slot=\"inputs\">\n * <nylas-booking-confirmation-type></nylas-booking-confirmation-type>\n * <nylas-booking-confirmation-redirect></nylas-booking-confirmation-redirect>\n * </div>\n * </nylas-custom-booking-flow>\n * ```\n *\n * @slot inputs - The custom booking flow inputs. This includes the booking type, confirmation redirect type, and custom redirect URL components.\n */\n@Component({\n tag: 'nylas-custom-booking-flow',\n styleUrl: 'nylas-custom-booking-flow.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasCustomBookingFlow {\n @Element() el!: HTMLElement;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\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 // Lifecycle methods\n connectedCallback() {\n debug('nylas-custom-booking-flow', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.el.setAttribute('data-themed', '');\n }\n });\n }\n disconnectedCallback() {\n debug('nylas-custom-booking-flow', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-custom-booking-flow', 'componentWillLoad');\n }\n\n componentDidLoad() {\n debug('nylas-custom-booking-flow', 'componentDidLoad');\n checkForMissingSlots(['inputs'], this.el);\n }\n\n applyThemeConfig(themeConfig?: ThemeConfig) {\n if (themeConfig) {\n for (const [key, value] of Object.entries(themeConfig)) {\n this.el.style.setProperty(`${key}`, value);\n }\n }\n }\n\n @RegisterComponent<NylasCustomBookingFlow, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-custom-booking-flow',\n eventToProps: {},\n stateToProps: new Map([\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host part=\"ncbflow\">\n <nylas-form-card exportparts=\"nfc__header: ncbflow__header\">\n <h1 slot=\"header-title\" class=\"nylas-custom-booking-flow__title\" part=\"ncbflow__title\">\n {i18next.t('nylasCustomBookingFlow.headerTitle')}\n </h1>\n <div slot=\"content\" class=\"nylas-custom-booking-flow__content\" part=\"ncbflow__content\">\n <slot name=\"inputs\"></slot>\n </div>\n </nylas-form-card>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,13 +1,13 @@
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-CpP2uaEo.js';
3
- import { a as debug, e as error, s as sanitize } from './p-BCUF1qcs.js';
2
+ import { R as RegisterComponent } from './p-CUlV7ZGv.js';
3
+ import { a as debug, e as error, s as sanitize } from './p-CMNiSC4o.js';
4
4
  import { i as instance } from './p-BjxQTsOy.js';
5
5
  import { d as defineCustomElement$7 } from './p-ao6VxuAL.js';
6
6
  import { d as defineCustomElement$6 } from './p-d3kelm3z.js';
7
7
  import { d as defineCustomElement$5 } from './p-Begx19Z9.js';
8
- import { d as defineCustomElement$4 } from './p-DswqiER3.js';
9
- import { d as defineCustomElement$3 } from './p-BTo3RJwU.js';
10
- import { d as defineCustomElement$2 } from './p-OAhdn1vx.js';
8
+ import { d as defineCustomElement$4 } from './p-D42UGkjM.js';
9
+ import { d as defineCustomElement$3 } from './p-BuJdnN6-.js';
10
+ import { d as defineCustomElement$2 } from './p-CdPtFwy6.js';
11
11
  import { d as defineCustomElement$1 } from './p-DxDoo-4C.js';
12
12
 
13
13
  const nylasPageStylingCss = ":host{display:block;--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;width:inherit}.nylas-page-styling{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200);text-align:left}.nylas-page-styling .hidden{display:none}.nylas-page-styling.no-border{border:none}.nylas-page-styling .header{padding:1rem;display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--nylas-base-200)}.nylas-page-styling .header h3{border-radius:var(--nylas-border-radius-2x);margin:0;font-size:16px;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-page-styling .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-page-styling .header .drawer-toggle{display:flex;gap:24px;align-items:center}.nylas-page-styling .header .drawer-toggle .chevron{display:flex;align-self:center;cursor:pointer}.nylas-page-styling .header .drawer-toggle .chevron:hover,.nylas-page-styling .header .drawer-toggle .chevron:active{color:var(--nylas-primary)}.nylas-page-styling .header .drawer-toggle .chevron.open{transform:rotate(90deg)}.nylas-page-styling .header .drawer-toggle .chevron.closed{transform:rotate(270deg)}.nylas-page-styling .header .drawer-toggle .chevron.disabled{cursor:not-allowed;color:var(--nylas-base-300)}.nylas-page-styling .header .drawer-toggle .chevron.disabled:hover{color:var(--nylas-base-300)}.nylas-page-styling .nylas-page-styling__body{display:grid;grid-template-columns:1fr auto;background-color:var(--nylas-base-25);border-radius:0 0 var(--nylas-border-radius-2x)}@media screen and (max-width: 768px){.nylas-page-styling .nylas-page-styling__body{grid-template-columns:1fr}}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section{padding:1rem;display:flex;flex-direction:column;gap:1rem;color:var(--nylas-base-800)}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section.no-padding{padding:0}@media screen and (max-width: 768px){.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section{border:none}}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row{display:grid;grid-template-columns:1fr;align-items:center}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row label{display:flex;align-items:center}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row label span.required{color:var(--nylas-error, #cc4841)}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row label span.label-icon{margin-left:4px}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row label span.label-icon tooltip-component{display:flex}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row p{margin:0.25rem 0 0 0;font-size:16px;font-weight:500;line-height:24px;color:var(--nylas-base-900)}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row .subsection{display:flex;flex-direction:column;gap:1rem}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row .subsection.hide{display:none}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row .subsection h3{margin:0;font-size:16px;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row .subsection .input-container,.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row .subsection>*{display:flex;flex-direction:column;column-gap:2rem;row-gap:0.25rem;width:100%;flex:1}.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row .subsection .input-container textarea,.nylas-page-styling .nylas-page-styling__body .nylas-page-styling__section .nylas-page-styling__row .subsection>* textarea{padding:12px 16px;border-width:1;resize:vertical;border-radius:8px;font-family:var(--nylas-font-family);font-size:16px;line-height:24px;border:1px solid var(--nylas-base-200)}.nylas-page-styling .nylas-page-styling__body span.error-message{color:var(--nylas-error)}.nylas-page-styling .nylas-page-styling__body span.help-text{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}";
@@ -389,6 +389,6 @@ function defineCustomElement() {
389
389
  }
390
390
 
391
391
  export { NylasPageStyling as N, defineCustomElement as d };
392
- //# sourceMappingURL=p-DvPuyp-I.js.map
392
+ //# sourceMappingURL=p-nhhVpJed.js.map
393
393
 
394
- //# sourceMappingURL=p-DvPuyp-I.js.map
394
+ //# sourceMappingURL=p-nhhVpJed.js.map
@@ -1 +1 @@
1
- {"file":"p-DvPuyp-I.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-page-styling/nylas-page-styling.scss?tag=nylas-page-styling&encapsulation=shadow","src/components/scheduler-editor/nylas-page-styling/nylas-page-styling.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-page-styling {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n text-align: left;\n\n .hidden {\n display: none;\n }\n\n &.no-border {\n border: none;\n }\n\n .header {\n padding: 1rem;\n display: grid;\n grid-template-columns: 1fr auto;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h3 {\n border-radius: var(--nylas-border-radius-2x);\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n\n .drawer-toggle {\n display: flex;\n gap: 24px;\n align-items: center;\n\n .chevron {\n display: flex;\n align-self: center;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n\n &.open {\n transform: rotate(90deg);\n }\n\n &.closed {\n transform: rotate(270deg);\n }\n\n &.disabled {\n cursor: not-allowed;\n color: var(--nylas-base-300);\n\n &:hover {\n color: var(--nylas-base-300);\n }\n }\n }\n }\n }\n\n .nylas-page-styling__body {\n display: grid;\n grid-template-columns: 1fr auto;\n background-color: var(--nylas-base-25);\n border-radius: 0 0 var(--nylas-border-radius-2x);\n\n @media #{$mobile} {\n grid-template-columns: 1fr;\n }\n\n .nylas-page-styling__section {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n color: var(--nylas-base-800);\n\n &.no-padding {\n padding: 0;\n }\n\n @media #{$mobile} {\n border: none;\n }\n\n .nylas-page-styling__row {\n display: grid;\n grid-template-columns: 1fr;\n align-items: center;\n\n label {\n display: flex;\n align-items: center;\n\n span.required {\n color: var(--nylas-error, #cc4841);\n }\n\n span.label-icon {\n margin-left: 4px;\n\n tooltip-component {\n display: flex;\n }\n }\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 16px;\n font-weight: 500;\n line-height: 24px;\n color: var(--nylas-base-900);\n }\n\n .subsection {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n &.hide {\n display: none;\n }\n\n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n .input-container,\n >* {\n display: flex;\n flex-direction: column;\n column-gap: 2rem;\n row-gap: 0.25rem;\n width: 100%;\n flex: 1;\n\n textarea {\n padding: 12px 16px;\n border-width: 1;\n resize: vertical;\n border-radius: 8px;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n border: 1px solid var(--nylas-base-200);\n }\n }\n }\n }\n }\n\n span.error-message {\n color: var(--nylas-error);\n }\n\n span.help-text {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n}","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, error, sanitize } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Appearance, Configuration, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-page-styling` component is a UI component that allows users to customize the styling of the scheduling page.\n * To use this component, pass a slot `custom-page-style-inputs` to the `nylas-scheduler-editor` component with the input\n * fields you want to display. The component will automatically update the appearance object when the input fields are changed.\n * Ensure that the input fields have the `name` attribute set to the key in the appearance object.\n *\n * If you want to style the Nylas hosted scheduler page, you can use this component to customize the appearance of the page.\n * The fields that can be customized in the Nylas hosted scheduler page are:\n * - Primary color: (name: color)\n * - Company logo: (name: company_logo_url)\n * - Submit button label: (name: submit_button_label)\n * - Thank you message: (name: thank_you_message)\n *\n * This component cannot be used as an independent component. It must be used within the `nylas-scheduler-editor` component.\n *\n * @slot custom-page-style-inputs - This slot is used to pass a custom page style form to the Nylas Scheduler Editor component.\n * @part nps - The nylas-page-styling container\n * @part nps__header - The header of the page styling section\n * @part nps__drawer-toggle--container - The page styling drawer toggle container\n * @part nps__body - The body of the page styling section\n * @part nps__title-input-textfield - The page styling page title input textfield\n * @part nps__company-name-input-textfield - The page styling company name input textfield\n * @part nps__input-image-url - The page styling company logo input textfield\n * @part nps__color-picker - The page styling color picker\n * @part nps__color-picker-button - The page styling color picker button\n * @part nps__color-picker-button-label - The page styling color input field label *\n * @part nps__color-picker-button-selected-label - The page styling color picker label denoting which color is selected\n * @part nps__submit-button-label-input-textfield - The page styling submut button label input textfield\n * @part nps__message-textarea - The page styling thank you message textarea\n */\n@Component({\n tag: 'nylas-page-styling',\n styleUrl: 'nylas-page-styling.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasPageStyling {\n @Element() host!: HTMLNylasPageStylingElement;\n /**\n * @internal\n * The selected configuration.\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @internal\n * The name of the component\n */\n @Prop() name: string = 'page-styling';\n /**\n * @internal\n * The appearance data to display\n */\n @Prop() appearance?: Appearance;\n /**\n * @internal\n * Is the page styling card open\n */\n @Prop() isOpen: boolean = true;\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 element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The confirmation email template state.\n */\n @State() currentAppearance!: Appearance;\n /**\n * The cloned custom slot content provided by consumers.\n */\n @State() customInputsSlot: Element | null = null;\n\n /**\n * Whether a custom slot was provided. When false, default translated inputs are rendered.\n */\n @State() hasCustomSlot: boolean = false;\n\n /**\n * This event is fired when the email reminders change.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\n }>;\n\n /**\n * This event is fired when the form is submitted in the parent component.\n */\n @Event() bookingFormSubmitted!: EventEmitter<void>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-page-styling', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {\n debug('nylas-page-styling', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-page-styling', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-page-styling', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n }\n\n componentWillUpdate() {\n debug('nylas-page-styling', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-page-styling', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-page-styling', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-page-styling', 'componentDidRender');\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-page-styling', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\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 customInputsSlotChangedHandler(newValue: Element | null) {\n debug('nylas-page-styling', 'customInputsSlotChangedHandler', newValue);\n\n const appearance = this.currentAppearance;\n\n function updateInputDefaultValues(element: HTMLElement) {\n // Process elements with a 'name' attribute\n if (element.hasAttribute && element.hasAttribute('name')) {\n const key = element.getAttribute('name');\n if (appearance && key && key in appearance && appearance[key] !== undefined) {\n // Update attributes based on component type\n const componentType = element.getAttribute('component-type');\n\n element.setAttribute('data-page-styling', 'true');\n\n if (componentType === 'checkbox') {\n element.setAttribute('checked', appearance[key]);\n } else if (componentType === 'radio-group') {\n element.setAttribute('default-selected-value', appearance[key]);\n } else if (componentType === 'color-picker') {\n element.setAttribute('default-selected-color', appearance[key]);\n } else if (componentType === 'select-dropdown') {\n const options = element.getAttribute('options');\n const selectedOption = options ? JSON.parse(options).find((option: { value: string }) => option.value === appearance[key]) : null;\n element.setAttribute('default-selected-option', JSON.stringify(selectedOption));\n } else if (componentType === 'image-url') {\n element.setAttribute('image-url', appearance[key]);\n } else {\n // Default case: set the default value\n element.setAttribute('default-value', appearance[key]);\n }\n }\n }\n\n // Recursively process child elements (skip text nodes)\n element.childNodes.forEach(child => {\n if (child.nodeType === Node.ELEMENT_NODE) {\n updateInputDefaultValues(child as HTMLElement); // Cast child to HTMLElement\n }\n });\n }\n\n // Start the recursive process with the cloned element (newValue)\n if (newValue) {\n updateInputDefaultValues(newValue as HTMLElement);\n }\n }\n\n cloneAndCopyProps(element: HTMLElement): HTMLElement {\n // Clone the current element\n const clonedElement = element.cloneNode(false) as HTMLElement; // Do a shallow clone first\n const componentType = element.getAttribute('component-type');\n const key = element.getAttribute('name');\n\n // Copy properties like 'options' and 'value' for custom elements\n if ((element as any).options) {\n const options = (element as any).getAttribute('options');\n debug('page-styling options', element, options);\n if (typeof options === 'string') {\n try {\n const parsedOptions = JSON.parse(options);\n (clonedElement as any).options = parsedOptions; // Parse the 'options' string\n if (componentType === 'select-dropdown' && key && key in this.currentAppearance) {\n const selectedOption = parsedOptions.find((option: { value: string }) => option.value === this.currentAppearance[key]);\n (clonedElement as any).setAttribute('default-selected-option', JSON.stringify(selectedOption));\n }\n } catch (e) {\n error('Error parsing options', e);\n }\n } else {\n (clonedElement as any).options = (element as any).options; // Copy 'options' property\n }\n }\n\n if ((element as any).value) {\n (clonedElement as any).value = (element as any).value; // Copy 'value' property\n }\n\n // Recursively process child elements\n element.childNodes.forEach(child => {\n if (child.nodeType === Node.ELEMENT_NODE) {\n // If the child is an element, recursively clone and process it\n const clonedChild = this.cloneAndCopyProps(child as HTMLElement);\n clonedElement.appendChild(clonedChild); // Append the cloned child to the parent clone\n } else if (child.nodeType === Node.TEXT_NODE) {\n // For text nodes, just clone and append the text content\n clonedElement.appendChild(child.cloneNode(true));\n }\n });\n\n return clonedElement; // Return the cloned element with its children\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-page-styling', 'selectedConfigurationChangedHandler', newValue);\n this.currentAppearance = newValue?.appearance || {};\n // Register the loaded appearance with the form so it is included on submit. The form\n // value was previously only set on user input, so loading/reloading a configuration\n // (initial mount, tab switch, parent re-broadcast) left appearance unregistered and the\n // save sent `appearance: null` — dropping the thank-you message and other page-styling\n // fields. Done before the slot early-returns below so it always runs. (CUST-5437)\n if (typeof this.internals?.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify(this.currentAppearance), this.name);\n }\n // Get the slot element\n const editor = document.querySelector('nylas-scheduler-editor');\n const slotElement = editor?.shadowRoot?.querySelector('slot[name=\"custom-page-style-inputs\"]') as HTMLSlotElement;\n if (!slotElement) {\n this.hasCustomSlot = false;\n return;\n }\n\n // Get the slotted content (the nodes passed into the slot)\n const slottedElements = slotElement?.assignedElements({ flatten: true });\n\n if (!slottedElements || slottedElements.length === 0) {\n this.hasCustomSlot = false;\n return;\n }\n\n this.hasCustomSlot = true;\n\n const divElement = document.createElement('div');\n\n // Clone each of the slotted nodes and append them to the cloned slot\n slottedElements?.forEach(element => {\n const clonedElement = this.cloneAndCopyProps(element as HTMLElement); // Clone recursively and copy properties\n\n // Clone the slotted element (deep clone)\n this.customInputsSlotChangedHandler(clonedElement);\n // Append the cloned element to the document fragment\n divElement.appendChild(clonedElement);\n });\n\n // Replace the original content with the new cloned and updated content\n const bodyElement = this.host.shadowRoot?.querySelector('.nylas-page-styling');\n const slotContainer = bodyElement?.querySelector('.nylas-page-styling__body .subsection');\n\n if (slotContainer) {\n // Remove existing children (if necessary) and append the new content\n slotContainer.innerHTML = ''; // Clear existing content\n divElement.childNodes.forEach(child => {\n slotContainer.appendChild(child); // Append each child of divElement\n });\n this.customInputsSlot = divElement;\n }\n }\n\n checkIfElementIsInSlot(name: string): boolean {\n // Custom slotted inputs (light DOM): embedders set `name` as an HTML attribute.\n const findElement = document?.querySelector(`[slot=\"custom-page-style-inputs\"] [name=\"${name}\"]`);\n if (findElement) return true;\n // Default inputs (shadow DOM): the design-system inputs receive `name` as a Stencil\n // @Prop that is NOT reflected to an HTML attribute, so an attribute selector (`[name=...]`)\n // never matches them. Match the data-page-styling inputs by their `name` property (falling\n // back to the attribute for any input that does reflect it). (CUST-5437)\n const shadowInputs = this.host.shadowRoot?.querySelectorAll('[data-page-styling]') ?? [];\n return Array.from(shadowInputs).some(el => (el as { name?: string }).name === name || el.getAttribute('name') === name);\n }\n\n @Listen('nylasFormInputChanged', { target: 'document' })\n async nylasFormInputChangeHandler(event: CustomEvent<{ value: string; name: string; type?: string }>) {\n const { name, value } = event.detail;\n const type = event.detail?.type;\n\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n switch (name) {\n case 'submit_button_label':\n this.currentAppearance = { ...this.currentAppearance, submit_button_label: value };\n break;\n case 'thank_you_message':\n if (type === 'multi_line_text') {\n const value = sanitize(event.detail.value);\n this.currentAppearance = { ...this.currentAppearance, thank_you_message: value };\n }\n break;\n default:\n this.currentAppearance = { ...this.currentAppearance, [name]: value };\n break;\n }\n this.updateConfirmationFormValue();\n }\n\n @Listen('nylasFormDropdownChanged', { target: 'document' })\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-page-styling', 'nylasFormDropdownChangedHandler', event.detail);\n const { value, name } = event.detail;\n\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n if (name === 'color') {\n this.currentAppearance = { ...this.currentAppearance, color: value };\n } else {\n this.currentAppearance = { ...this.currentAppearance, [name]: value };\n }\n this.updateConfirmationFormValue();\n }\n\n @Listen('valueChanged', { target: 'document' })\n valueChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-page-styling', 'valueChangedHandler', event.detail);\n const { value, name } = event.detail;\n\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n this.currentAppearance = { ...this.currentAppearance, [name]: value };\n this.updateConfirmationFormValue(false);\n }\n\n @Listen('nylasFormCheckboxToggled', { target: 'document' })\n checkboxToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n const { checked, name } = event.detail;\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n this.currentAppearance = { ...this.currentAppearance, [name]: checked };\n this.updateConfirmationFormValue();\n }\n\n @Listen('nylasFormRadioChanged', { target: 'document' })\n radioChangedHandler(event: CustomEvent<{ value: string; name: string; label: string; type: string }>) {\n const { value, name } = event.detail;\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n this.currentAppearance = { ...this.currentAppearance, [name]: value };\n this.updateConfirmationFormValue();\n }\n\n updateConfirmationFormValue(valueChanged: boolean = true) {\n debug('nylas-page-styling', 'updateConfirmationFormValue');\n this.internals.setFormValue(JSON.stringify(this.currentAppearance), this.name);\n if (valueChanged) {\n this.valueChanged.emit({ value: JSON.stringify(this.currentAppearance), name: this.name });\n }\n }\n\n toggleConfirmationEmail() {\n this.isOpen = !this.isOpen;\n }\n\n renderDefaultInputs() {\n return (\n <div>\n <div>\n <label part=\"nps__input-image-url\">{i18next.t('nylasPageStyling.companyLogoUrl')}</label>\n <input-image-url name=\"company_logo_url\" image-url={this.currentAppearance?.company_logo_url} data-page-styling=\"true\" />\n </div>\n <div>\n <label part=\"nps__color-picker-button-label\">{i18next.t('nylasPageStyling.primaryColor')}</label>\n <div>\n <div class=\"color-picker-container\">\n <input-color-picker name=\"color\" default-selected-color={this.currentAppearance?.color} data-page-styling=\"true\" />\n </div>\n </div>\n </div>\n <div>\n <label part=\"nps__submit-button-label-input-textfield\">{i18next.t('nylasPageStyling.submitButtonLabel')}</label>\n <div>\n <input-component name=\"submit_button_label\" type=\"text\" default-value={this.currentAppearance?.submit_button_label} data-page-styling=\"true\" />\n </div>\n </div>\n <div>\n <label part=\"nps__message-textarea\">{i18next.t('nylasPageStyling.thankYouMessage')}</label>\n <div>\n <textarea-component\n name=\"thank_you_message\"\n placeholder={i18next.t('nylasPageStyling.thankYouMessagePlaceholder')}\n default-value={this.currentAppearance?.thank_you_message}\n maxLength={500}\n data-page-styling=\"true\"\n />\n </div>\n </div>\n </div>\n );\n }\n\n @RegisterComponent<NylasPageStyling, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-page-styling',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n valueChanged: async (\n event: CustomEvent<{ value: string; name: string; valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void }>,\n _nylasSchedulerConfigConnector: NylasSchedulerConfigConnector,\n ) => {\n const { valueChanged } = event.detail;\n // If a handler is passed, call it.\n if (valueChanged) {\n valueChanged(event);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const showContent = this.customInputsSlot || (!this.hasCustomSlot && !!this.currentAppearance);\n\n return (\n <Host>\n <div part=\"nps\" class={{ 'nylas-page-styling': true, 'no-border': !showContent }}>\n {showContent ? (\n <div class=\"header\" part=\"nps__header\">\n <div>\n <h3>{i18next.t('nylasPageStyling.headerTitle')}</h3>\n </div>\n <div class=\"drawer-toggle\" part=\"nps__drawer-toggle--container\">\n <span class={`chevron ${this.isOpen ? 'open' : 'closed'} `} onClick={() => this.toggleConfirmationEmail()}>\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n </div>\n ) : null}\n <div class=\"hidden\">\n <input-color-picker name=\"color-picker\" />\n </div>\n <div id=\"nylas-page-styling__body\" class=\"nylas-page-styling__body\" part=\"nps__body\">\n <div class={{ 'nylas-page-styling__section': true, 'no-padding': !showContent }}>\n <div class=\"nylas-page-styling__row\">\n <div class={{ subsection: true, hide: !this.isOpen }}>{!this.hasCustomSlot && this.currentAppearance ? this.renderDefaultInputs() : null}</div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-nhhVpJed.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-page-styling/nylas-page-styling.scss?tag=nylas-page-styling&encapsulation=shadow","src/components/scheduler-editor/nylas-page-styling/nylas-page-styling.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-page-styling {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n text-align: left;\n\n .hidden {\n display: none;\n }\n\n &.no-border {\n border: none;\n }\n\n .header {\n padding: 1rem;\n display: grid;\n grid-template-columns: 1fr auto;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h3 {\n border-radius: var(--nylas-border-radius-2x);\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n\n .drawer-toggle {\n display: flex;\n gap: 24px;\n align-items: center;\n\n .chevron {\n display: flex;\n align-self: center;\n cursor: pointer;\n\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n\n &.open {\n transform: rotate(90deg);\n }\n\n &.closed {\n transform: rotate(270deg);\n }\n\n &.disabled {\n cursor: not-allowed;\n color: var(--nylas-base-300);\n\n &:hover {\n color: var(--nylas-base-300);\n }\n }\n }\n }\n }\n\n .nylas-page-styling__body {\n display: grid;\n grid-template-columns: 1fr auto;\n background-color: var(--nylas-base-25);\n border-radius: 0 0 var(--nylas-border-radius-2x);\n\n @media #{$mobile} {\n grid-template-columns: 1fr;\n }\n\n .nylas-page-styling__section {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n color: var(--nylas-base-800);\n\n &.no-padding {\n padding: 0;\n }\n\n @media #{$mobile} {\n border: none;\n }\n\n .nylas-page-styling__row {\n display: grid;\n grid-template-columns: 1fr;\n align-items: center;\n\n label {\n display: flex;\n align-items: center;\n\n span.required {\n color: var(--nylas-error, #cc4841);\n }\n\n span.label-icon {\n margin-left: 4px;\n\n tooltip-component {\n display: flex;\n }\n }\n }\n\n p {\n margin: 0.25rem 0 0 0;\n font-size: 16px;\n font-weight: 500;\n line-height: 24px;\n color: var(--nylas-base-900);\n }\n\n .subsection {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n &.hide {\n display: none;\n }\n\n h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n\n .input-container,\n >* {\n display: flex;\n flex-direction: column;\n column-gap: 2rem;\n row-gap: 0.25rem;\n width: 100%;\n flex: 1;\n\n textarea {\n padding: 12px 16px;\n border-width: 1;\n resize: vertical;\n border-radius: 8px;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n border: 1px solid var(--nylas-base-200);\n }\n }\n }\n }\n }\n\n span.error-message {\n color: var(--nylas-error);\n }\n\n span.help-text {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n}","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug, error, sanitize } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Appearance, Configuration, ThemeConfig } from '@nylas/core';\nimport i18next from '@/utils/i18n';\nimport { LANGUAGE_CODE } from '@/common/constants';\n\n/**\n * The `nylas-page-styling` component is a UI component that allows users to customize the styling of the scheduling page.\n * To use this component, pass a slot `custom-page-style-inputs` to the `nylas-scheduler-editor` component with the input\n * fields you want to display. The component will automatically update the appearance object when the input fields are changed.\n * Ensure that the input fields have the `name` attribute set to the key in the appearance object.\n *\n * If you want to style the Nylas hosted scheduler page, you can use this component to customize the appearance of the page.\n * The fields that can be customized in the Nylas hosted scheduler page are:\n * - Primary color: (name: color)\n * - Company logo: (name: company_logo_url)\n * - Submit button label: (name: submit_button_label)\n * - Thank you message: (name: thank_you_message)\n *\n * This component cannot be used as an independent component. It must be used within the `nylas-scheduler-editor` component.\n *\n * @slot custom-page-style-inputs - This slot is used to pass a custom page style form to the Nylas Scheduler Editor component.\n * @part nps - The nylas-page-styling container\n * @part nps__header - The header of the page styling section\n * @part nps__drawer-toggle--container - The page styling drawer toggle container\n * @part nps__body - The body of the page styling section\n * @part nps__title-input-textfield - The page styling page title input textfield\n * @part nps__company-name-input-textfield - The page styling company name input textfield\n * @part nps__input-image-url - The page styling company logo input textfield\n * @part nps__color-picker - The page styling color picker\n * @part nps__color-picker-button - The page styling color picker button\n * @part nps__color-picker-button-label - The page styling color input field label *\n * @part nps__color-picker-button-selected-label - The page styling color picker label denoting which color is selected\n * @part nps__submit-button-label-input-textfield - The page styling submut button label input textfield\n * @part nps__message-textarea - The page styling thank you message textarea\n */\n@Component({\n tag: 'nylas-page-styling',\n styleUrl: 'nylas-page-styling.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasPageStyling {\n @Element() host!: HTMLNylasPageStylingElement;\n /**\n * @internal\n * The selected configuration.\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * @internal\n * The name of the component\n */\n @Prop() name: string = 'page-styling';\n /**\n * @internal\n * The appearance data to display\n */\n @Prop() appearance?: Appearance;\n /**\n * @internal\n * Is the page styling card open\n */\n @Prop() isOpen: boolean = true;\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 element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * The confirmation email template state.\n */\n @State() currentAppearance!: Appearance;\n /**\n * The cloned custom slot content provided by consumers.\n */\n @State() customInputsSlot: Element | null = null;\n\n /**\n * Whether a custom slot was provided. When false, default translated inputs are rendered.\n */\n @State() hasCustomSlot: boolean = false;\n\n /**\n * This event is fired when the email reminders change.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\n }>;\n\n /**\n * This event is fired when the form is submitted in the parent component.\n */\n @Event() bookingFormSubmitted!: EventEmitter<void>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-page-styling', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n disconnectedCallback() {\n debug('nylas-page-styling', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-page-styling', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-page-styling', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n }\n\n componentWillUpdate() {\n debug('nylas-page-styling', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-page-styling', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-page-styling', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-page-styling', 'componentDidRender');\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-page-styling', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\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 customInputsSlotChangedHandler(newValue: Element | null) {\n debug('nylas-page-styling', 'customInputsSlotChangedHandler', newValue);\n\n const appearance = this.currentAppearance;\n\n function updateInputDefaultValues(element: HTMLElement) {\n // Process elements with a 'name' attribute\n if (element.hasAttribute && element.hasAttribute('name')) {\n const key = element.getAttribute('name');\n if (appearance && key && key in appearance && appearance[key] !== undefined) {\n // Update attributes based on component type\n const componentType = element.getAttribute('component-type');\n\n element.setAttribute('data-page-styling', 'true');\n\n if (componentType === 'checkbox') {\n element.setAttribute('checked', appearance[key]);\n } else if (componentType === 'radio-group') {\n element.setAttribute('default-selected-value', appearance[key]);\n } else if (componentType === 'color-picker') {\n element.setAttribute('default-selected-color', appearance[key]);\n } else if (componentType === 'select-dropdown') {\n const options = element.getAttribute('options');\n const selectedOption = options ? JSON.parse(options).find((option: { value: string }) => option.value === appearance[key]) : null;\n element.setAttribute('default-selected-option', JSON.stringify(selectedOption));\n } else if (componentType === 'image-url') {\n element.setAttribute('image-url', appearance[key]);\n } else {\n // Default case: set the default value\n element.setAttribute('default-value', appearance[key]);\n }\n }\n }\n\n // Recursively process child elements (skip text nodes)\n element.childNodes.forEach(child => {\n if (child.nodeType === Node.ELEMENT_NODE) {\n updateInputDefaultValues(child as HTMLElement); // Cast child to HTMLElement\n }\n });\n }\n\n // Start the recursive process with the cloned element (newValue)\n if (newValue) {\n updateInputDefaultValues(newValue as HTMLElement);\n }\n }\n\n cloneAndCopyProps(element: HTMLElement): HTMLElement {\n // Clone the current element\n const clonedElement = element.cloneNode(false) as HTMLElement; // Do a shallow clone first\n const componentType = element.getAttribute('component-type');\n const key = element.getAttribute('name');\n\n // Copy properties like 'options' and 'value' for custom elements\n if ((element as any).options) {\n const options = (element as any).getAttribute('options');\n debug('page-styling options', element, options);\n if (typeof options === 'string') {\n try {\n const parsedOptions = JSON.parse(options);\n (clonedElement as any).options = parsedOptions; // Parse the 'options' string\n if (componentType === 'select-dropdown' && key && key in this.currentAppearance) {\n const selectedOption = parsedOptions.find((option: { value: string }) => option.value === this.currentAppearance[key]);\n (clonedElement as any).setAttribute('default-selected-option', JSON.stringify(selectedOption));\n }\n } catch (e) {\n error('Error parsing options', e);\n }\n } else {\n (clonedElement as any).options = (element as any).options; // Copy 'options' property\n }\n }\n\n if ((element as any).value) {\n (clonedElement as any).value = (element as any).value; // Copy 'value' property\n }\n\n // Recursively process child elements\n element.childNodes.forEach(child => {\n if (child.nodeType === Node.ELEMENT_NODE) {\n // If the child is an element, recursively clone and process it\n const clonedChild = this.cloneAndCopyProps(child as HTMLElement);\n clonedElement.appendChild(clonedChild); // Append the cloned child to the parent clone\n } else if (child.nodeType === Node.TEXT_NODE) {\n // For text nodes, just clone and append the text content\n clonedElement.appendChild(child.cloneNode(true));\n }\n });\n\n return clonedElement; // Return the cloned element with its children\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-page-styling', 'selectedConfigurationChangedHandler', newValue);\n this.currentAppearance = newValue?.appearance || {};\n // Register the loaded appearance with the form so it is included on submit. The form\n // value was previously only set on user input, so loading/reloading a configuration\n // (initial mount, tab switch, parent re-broadcast) left appearance unregistered and the\n // save sent `appearance: null` — dropping the thank-you message and other page-styling\n // fields. Done before the slot early-returns below so it always runs. (CUST-5437)\n if (typeof this.internals?.setFormValue === 'function') {\n this.internals.setFormValue(JSON.stringify(this.currentAppearance), this.name);\n }\n // Get the slot element\n const editor = document.querySelector('nylas-scheduler-editor');\n const slotElement = editor?.shadowRoot?.querySelector('slot[name=\"custom-page-style-inputs\"]') as HTMLSlotElement;\n if (!slotElement) {\n this.hasCustomSlot = false;\n return;\n }\n\n // Get the slotted content (the nodes passed into the slot)\n const slottedElements = slotElement?.assignedElements({ flatten: true });\n\n if (!slottedElements || slottedElements.length === 0) {\n this.hasCustomSlot = false;\n return;\n }\n\n this.hasCustomSlot = true;\n\n const divElement = document.createElement('div');\n\n // Clone each of the slotted nodes and append them to the cloned slot\n slottedElements?.forEach(element => {\n const clonedElement = this.cloneAndCopyProps(element as HTMLElement); // Clone recursively and copy properties\n\n // Clone the slotted element (deep clone)\n this.customInputsSlotChangedHandler(clonedElement);\n // Append the cloned element to the document fragment\n divElement.appendChild(clonedElement);\n });\n\n // Replace the original content with the new cloned and updated content\n const bodyElement = this.host.shadowRoot?.querySelector('.nylas-page-styling');\n const slotContainer = bodyElement?.querySelector('.nylas-page-styling__body .subsection');\n\n if (slotContainer) {\n // Remove existing children (if necessary) and append the new content\n slotContainer.innerHTML = ''; // Clear existing content\n divElement.childNodes.forEach(child => {\n slotContainer.appendChild(child); // Append each child of divElement\n });\n this.customInputsSlot = divElement;\n }\n }\n\n checkIfElementIsInSlot(name: string): boolean {\n // Custom slotted inputs (light DOM): embedders set `name` as an HTML attribute.\n const findElement = document?.querySelector(`[slot=\"custom-page-style-inputs\"] [name=\"${name}\"]`);\n if (findElement) return true;\n // Default inputs (shadow DOM): the design-system inputs receive `name` as a Stencil\n // @Prop that is NOT reflected to an HTML attribute, so an attribute selector (`[name=...]`)\n // never matches them. Match the data-page-styling inputs by their `name` property (falling\n // back to the attribute for any input that does reflect it). (CUST-5437)\n const shadowInputs = this.host.shadowRoot?.querySelectorAll('[data-page-styling]') ?? [];\n return Array.from(shadowInputs).some(el => (el as { name?: string }).name === name || el.getAttribute('name') === name);\n }\n\n @Listen('nylasFormInputChanged', { target: 'document' })\n async nylasFormInputChangeHandler(event: CustomEvent<{ value: string; name: string; type?: string }>) {\n const { name, value } = event.detail;\n const type = event.detail?.type;\n\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n switch (name) {\n case 'submit_button_label':\n this.currentAppearance = { ...this.currentAppearance, submit_button_label: value };\n break;\n case 'thank_you_message':\n if (type === 'multi_line_text') {\n const value = sanitize(event.detail.value);\n this.currentAppearance = { ...this.currentAppearance, thank_you_message: value };\n }\n break;\n default:\n this.currentAppearance = { ...this.currentAppearance, [name]: value };\n break;\n }\n this.updateConfirmationFormValue();\n }\n\n @Listen('nylasFormDropdownChanged', { target: 'document' })\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-page-styling', 'nylasFormDropdownChangedHandler', event.detail);\n const { value, name } = event.detail;\n\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n if (name === 'color') {\n this.currentAppearance = { ...this.currentAppearance, color: value };\n } else {\n this.currentAppearance = { ...this.currentAppearance, [name]: value };\n }\n this.updateConfirmationFormValue();\n }\n\n @Listen('valueChanged', { target: 'document' })\n valueChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-page-styling', 'valueChangedHandler', event.detail);\n const { value, name } = event.detail;\n\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n this.currentAppearance = { ...this.currentAppearance, [name]: value };\n this.updateConfirmationFormValue(false);\n }\n\n @Listen('nylasFormCheckboxToggled', { target: 'document' })\n checkboxToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n const { checked, name } = event.detail;\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n this.currentAppearance = { ...this.currentAppearance, [name]: checked };\n this.updateConfirmationFormValue();\n }\n\n @Listen('nylasFormRadioChanged', { target: 'document' })\n radioChangedHandler(event: CustomEvent<{ value: string; name: string; label: string; type: string }>) {\n const { value, name } = event.detail;\n if (!this.checkIfElementIsInSlot(name)) {\n return;\n }\n this.currentAppearance = { ...this.currentAppearance, [name]: value };\n this.updateConfirmationFormValue();\n }\n\n updateConfirmationFormValue(valueChanged: boolean = true) {\n debug('nylas-page-styling', 'updateConfirmationFormValue');\n this.internals.setFormValue(JSON.stringify(this.currentAppearance), this.name);\n if (valueChanged) {\n this.valueChanged.emit({ value: JSON.stringify(this.currentAppearance), name: this.name });\n }\n }\n\n toggleConfirmationEmail() {\n this.isOpen = !this.isOpen;\n }\n\n renderDefaultInputs() {\n return (\n <div>\n <div>\n <label part=\"nps__input-image-url\">{i18next.t('nylasPageStyling.companyLogoUrl')}</label>\n <input-image-url name=\"company_logo_url\" image-url={this.currentAppearance?.company_logo_url} data-page-styling=\"true\" />\n </div>\n <div>\n <label part=\"nps__color-picker-button-label\">{i18next.t('nylasPageStyling.primaryColor')}</label>\n <div>\n <div class=\"color-picker-container\">\n <input-color-picker name=\"color\" default-selected-color={this.currentAppearance?.color} data-page-styling=\"true\" />\n </div>\n </div>\n </div>\n <div>\n <label part=\"nps__submit-button-label-input-textfield\">{i18next.t('nylasPageStyling.submitButtonLabel')}</label>\n <div>\n <input-component name=\"submit_button_label\" type=\"text\" default-value={this.currentAppearance?.submit_button_label} data-page-styling=\"true\" />\n </div>\n </div>\n <div>\n <label part=\"nps__message-textarea\">{i18next.t('nylasPageStyling.thankYouMessage')}</label>\n <div>\n <textarea-component\n name=\"thank_you_message\"\n placeholder={i18next.t('nylasPageStyling.thankYouMessagePlaceholder')}\n default-value={this.currentAppearance?.thank_you_message}\n maxLength={500}\n data-page-styling=\"true\"\n />\n </div>\n </div>\n </div>\n );\n }\n\n @RegisterComponent<NylasPageStyling, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-page-styling',\n stateToProps: new Map([\n ['schedulerConfig.selectedConfiguration', 'selectedConfiguration'],\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.themeConfig', 'themeConfig'],\n ]),\n eventToProps: {\n valueChanged: async (\n event: CustomEvent<{ value: string; name: string; valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void }>,\n _nylasSchedulerConfigConnector: NylasSchedulerConfigConnector,\n ) => {\n const { valueChanged } = event.detail;\n // If a handler is passed, call it.\n if (valueChanged) {\n valueChanged(event);\n }\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const showContent = this.customInputsSlot || (!this.hasCustomSlot && !!this.currentAppearance);\n\n return (\n <Host>\n <div part=\"nps\" class={{ 'nylas-page-styling': true, 'no-border': !showContent }}>\n {showContent ? (\n <div class=\"header\" part=\"nps__header\">\n <div>\n <h3>{i18next.t('nylasPageStyling.headerTitle')}</h3>\n </div>\n <div class=\"drawer-toggle\" part=\"nps__drawer-toggle--container\">\n <span class={`chevron ${this.isOpen ? 'open' : 'closed'} `} onClick={() => this.toggleConfirmationEmail()}>\n <chevron-icon width=\"24\" height=\"24\" />\n </span>\n </div>\n </div>\n ) : null}\n <div class=\"hidden\">\n <input-color-picker name=\"color-picker\" />\n </div>\n <div id=\"nylas-page-styling__body\" class=\"nylas-page-styling__body\" part=\"nps__body\">\n <div class={{ 'nylas-page-styling__section': true, 'no-padding': !showContent }}>\n <div class=\"nylas-page-styling__row\">\n <div class={{ subsection: true, hide: !this.isOpen }}>{!this.hasCustomSlot && this.currentAppearance ? this.renderDefaultInputs() : null}</div>\n </div>\n </div>\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-CpP2uaEo.js';
3
- import { a as debug } from './p-BCUF1qcs.js';
2
+ import { R as RegisterComponent } from './p-CUlV7ZGv.js';
3
+ import { a as debug } from './p-CMNiSC4o.js';
4
4
  import { i as instance } from './p-BjxQTsOy.js';
5
5
  import { d as defineCustomElement$4 } from './p-ao6VxuAL.js';
6
6
  import { d as defineCustomElement$3 } from './p-BF0muZ9G.js';
@@ -246,6 +246,6 @@ function defineCustomElement() {
246
246
  }
247
247
 
248
248
  export { NylasEventDuration as N, defineCustomElement as d };
249
- //# sourceMappingURL=p-oVDOs1AN.js.map
249
+ //# sourceMappingURL=p-oRjUujH5.js.map
250
250
 
251
- //# sourceMappingURL=p-oVDOs1AN.js.map
251
+ //# sourceMappingURL=p-oRjUujH5.js.map
@@ -1 +1 @@
1
- {"file":"p-oVDOs1AN.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.scss?tag=nylas-event-duration&encapsulation=shadow","src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-event-duration {\n display: flex;\n flex-direction: column;\n gap: 4px;\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.required {\n color: var(--nylas-error, #cc4841);\n }\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\n.nylas-event-duration__error-container {\n max-height: 0;\n opacity: 0;\n overflow: hidden;\n transition:\n max-height 0.3s ease,\n opacity 0.3s ease;\n\n &.visible {\n max-height: 20px;\n opacity: 1;\n }\n .nylas-event-duration__error {\n color: var(--nylas-error);\n font-family: var(--nylas-font-family);\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 18px */\n }\n}\n\n.nylas-event-duration__wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n input {\n padding: 12px 16px;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n width: 48px;\n }\n\n input-dropdown::part(id_dropdown-input) {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 14px 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n }\n\n input-dropdown::part(id_dropdown-content) {\n width: 100%;\n min-width: unset;\n height: 200px;\n }\n\n input-dropdown {\n width: 80px;\n\n &.error {\n &::part(id_dropdown-input) {\n border: 1px solid var(--nylas-error);\n }\n }\n }\n select-dropdown {\n width: 120px;\n @media #{$mobile} {\n width: 100%;\n }\n }\n\n select-dropdown::part(sd_dropdown-button) {\n border: 1px solid var(--nylas-base-200);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, Listen, State, h, Element, Prop, Watch, Event, EventEmitter } 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-event-duration` component is a form input for the duration of an event.\n *\n * @part ned - The event duration container\n * @part ned__dropdown - The dropdown container for the duration increment\n * @part ned__dropdown-button - The dropdown button for the duration increment\n * @part ned__dropdown-content - The dropdown content for the duration increment\n * @part ned__input_dropdown - The input dropdown container for the duration minutes\n * @part ned__input_dropdown-input - The input for the duration minutes\n * @part ned__input_dropdown-content - The dropdown content for the input duration minutes\n */\n@Component({\n tag: 'nylas-event-duration',\n styleUrl: 'nylas-event-duration.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasEventDuration {\n /**\n * The host element <nylas-event-duration>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the event duration. Default is 'duration'.\n */\n @Prop() name: string = 'duration';\n /**\n * @standalone\n * The event duration in minutes as set in the configuration.\n */\n @Prop() eventDurationMinutes?: number;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The selected event duration state. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() duration: number = this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n /**\n * The duration in minutes. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() durationMinutes!: number;\n /**\n * The duration increment. This defaults to minute(s).\n */\n @State() durationIncrement!: number;\n /**\n * The error message for the duration.\n */\n @State() error: string = '';\n /**\n * The durationMinutesOptions for the dropdown.\n */\n @State() durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\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-event-duration', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const configDuration = newVal?.availability?.duration_minutes;\n if (configDuration) {\n this.duration = configDuration >= 60 ? configDuration / 60 : configDuration;\n this.durationMinutes = configDuration ? configDuration : 30;\n this.durationIncrement = configDuration >= 60 ? 60 : 1;\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n if (this.error) {\n this.validateDuration();\n }\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 event duration changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-event-duration', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n componentWillLoad() {\n debug('nylas-event-duration', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-event-duration', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n this.duration = this.duration ? this.duration : this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n this.durationMinutes = this.durationMinutes ? this.durationMinutes : this.duration ? this.duration : 30;\n this.durationIncrement = this.durationIncrement ? this.durationIncrement : this.duration >= 60 ? 60 : 1;\n this.setDurationMintueOptions();\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n\n disconnectedCallback() {\n debug('nylas-event-duration', 'disconnectedCallback');\n }\n\n get isInternalsAvailable() {\n return typeof this.internals !== 'undefined' && typeof this.internals.setFormValue === 'function';\n }\n\n setDurationMintueOptions() {\n if (this.durationIncrement === 1) {\n this.durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n } else {\n this.durationMinutesOptions = Array.from({ length: 23 }, (_, i) => ({ value: (i + 1).toString(), label: (i + 1).toString() }));\n }\n return this.durationMinutesOptions;\n }\n\n validateDuration() {\n if (this.durationMinutes % 5 !== 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeMultipleOf5');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else if (this.durationMinutes <= 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeGreaterThan0');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else {\n this.error = '';\n this.isInternalsAvailable && this.internals.setValidity({});\n }\n return this.error;\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-calendar-picker', 'nylasFormDropdownChangedHandler', event.detail);\n const { value } = event.detail;\n this.durationIncrement = parseInt(value.toString());\n if (this.durationIncrement === 1) {\n this.duration = 60;\n } else {\n this.duration = 1;\n }\n this.setDurationMintueOptions();\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @Listen('inputOptionChanged')\n inputOptionChangedHandler(event: CustomEvent<{ value: number; name: string }>) {\n debug('nylas-calendar-picker', 'inputOptionChangedHandler', event.detail);\n const { value } = event.detail;\n this.duration = parseFloat(value.toString());\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @RegisterComponent<NylasEventDuration, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-event-duration',\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 durationOptions = [\n { value: (1).toString(), label: i18next.t('timeDuration', { context: 'minute' }) },\n { value: (60).toString(), label: i18next.t('timeDuration', { context: 'hour' }) },\n ];\n\n return (\n <Host>\n <div class=\"nylas-event-duration\" part=\"ned\">\n <label htmlFor=\"duration\">\n {i18next.t('nylasEventDuration.headerTitle')}\n <span class=\"required\">*</span>\n </label>\n <div class=\"nylas-event-duration__wrapper\">\n <input-dropdown\n class={this.error ? 'error' : ''}\n name={'event-duration'}\n options={this.durationMinutesOptions}\n inputValue={this.duration.toString()}\n exportparts=\"id_dropdown: ned__input_dropdown, id_dropdown-input: ned__input_dropdown-input, id_dropdown-content: ned__input_dropdown-content\"\n defaultInputOption={this.durationMinutesOptions.find(i => i.value === this.duration.toString())}\n themeConfig={this.themeConfig}\n />\n {this.durationIncrement && (\n <select-dropdown\n name={'event-duration'}\n options={durationOptions}\n pluralizedLabel={\n this.duration > 1\n ? i18next.t(`time.${this.durationIncrement === 60 ? 'hours' : 'minutes'}`)\n : i18next.t(`time.${this.durationIncrement === 60 ? 'hour' : 'minute'}`)\n }\n themeConfig={this.themeConfig}\n exportparts=\"sd_dropdown: ned__dropdown, sd_dropdown-button: ned__dropdown-button, sd_dropdown-content: ned__dropdown-content\"\n defaultSelectedOption={durationOptions.find(i => i.value === this.durationIncrement.toString())}\n withSearch={false}\n />\n )}\n </div>\n <div class={`nylas-event-duration__error-container ${this.error ? 'visible' : ''}`} part=\"ned__error-container\">\n <div class=\"nylas-event-duration__error\" part=\"ned__error\">\n {this.error}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-oRjUujH5.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement","i18next"],"sources":["src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.scss?tag=nylas-event-duration&encapsulation=shadow","src/components/scheduler-editor/nylas-event-duration/nylas-event-duration.tsx"],"sourcesContent":["@use '../../../common/styles/variables' as *;\n\n:host {\n display: block;\n @include default-css-variables;\n}\n\n.nylas-event-duration {\n display: flex;\n flex-direction: column;\n gap: 4px;\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.required {\n color: var(--nylas-error, #cc4841);\n }\n span.label-icon {\n margin-left: 4px;\n tooltip-component {\n display: flex;\n }\n }\n }\n}\n\n.nylas-event-duration__error-container {\n max-height: 0;\n opacity: 0;\n overflow: hidden;\n transition:\n max-height 0.3s ease,\n opacity 0.3s ease;\n\n &.visible {\n max-height: 20px;\n opacity: 1;\n }\n .nylas-event-duration__error {\n color: var(--nylas-error);\n font-family: var(--nylas-font-family);\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%; /* 18px */\n }\n}\n\n.nylas-event-duration__wrapper {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n input {\n padding: 12px 16px;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-200);\n font-family: var(--nylas-font-family);\n font-size: 16px;\n line-height: 24px;\n width: 48px;\n }\n\n input-dropdown::part(id_dropdown-input) {\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-2x);\n padding: 14px 16px;\n background-color: var(--nylas-base-0);\n color: var(--nylas-base-900);\n }\n\n input-dropdown::part(id_dropdown-content) {\n width: 100%;\n min-width: unset;\n height: 200px;\n }\n\n input-dropdown {\n width: 80px;\n\n &.error {\n &::part(id_dropdown-input) {\n border: 1px solid var(--nylas-error);\n }\n }\n }\n select-dropdown {\n width: 120px;\n @media #{$mobile} {\n width: 100%;\n }\n }\n\n select-dropdown::part(sd_dropdown-button) {\n border: 1px solid var(--nylas-base-200);\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Host, Listen, State, h, Element, Prop, Watch, Event, EventEmitter } 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-event-duration` component is a form input for the duration of an event.\n *\n * @part ned - The event duration container\n * @part ned__dropdown - The dropdown container for the duration increment\n * @part ned__dropdown-button - The dropdown button for the duration increment\n * @part ned__dropdown-content - The dropdown content for the duration increment\n * @part ned__input_dropdown - The input dropdown container for the duration minutes\n * @part ned__input_dropdown-input - The input for the duration minutes\n * @part ned__input_dropdown-content - The dropdown content for the input duration minutes\n */\n@Component({\n tag: 'nylas-event-duration',\n styleUrl: 'nylas-event-duration.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasEventDuration {\n /**\n * The host element <nylas-event-duration>\n */\n @Element() host!: HTMLElement;\n /**\n * @standalone\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * @standalone\n * The name of the event duration. Default is 'duration'.\n */\n @Prop() name: string = 'duration';\n /**\n * @standalone\n * The event duration in minutes as set in the configuration.\n */\n @Prop() eventDurationMinutes?: number;\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * @standalone\n * The theme configuration.\n */\n @Prop({ attribute: 'theme-config' }) readonly themeConfig?: ThemeConfig;\n\n /**\n * The selected event duration state. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() duration: number = this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n /**\n * The duration in minutes. This defaults to the event duration from the configuration or 30 minutes.\n */\n @State() durationMinutes!: number;\n /**\n * The duration increment. This defaults to minute(s).\n */\n @State() durationIncrement!: number;\n /**\n * The error message for the duration.\n */\n @State() error: string = '';\n /**\n * The durationMinutesOptions for the dropdown.\n */\n @State() durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\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-event-duration', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newVal: Configuration) {\n const configDuration = newVal?.availability?.duration_minutes;\n if (configDuration) {\n this.duration = configDuration >= 60 ? configDuration / 60 : configDuration;\n this.durationMinutes = configDuration ? configDuration : 30;\n this.durationIncrement = configDuration >= 60 ? 60 : 1;\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n if (this.error) {\n this.validateDuration();\n }\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 event duration changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n connectedCallback() {\n debug('nylas-event-duration', 'connectedCallback');\n // Use queueMicrotask to defer theme application until after React has set props.\n // This fixes the timing issue where connectedCallback fires before React sets themeConfig.\n queueMicrotask(() => {\n if (this.themeConfig) {\n this.applyThemeConfig(this.themeConfig);\n this.host.setAttribute('data-themed', '');\n }\n });\n }\n\n componentWillLoad() {\n debug('nylas-event-duration', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-event-duration', 'componentDidLoad');\n if (this.selectedConfiguration) {\n this.selectedConfigurationChangedHandler(this.selectedConfiguration);\n }\n this.duration = this.duration ? this.duration : this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;\n this.durationMinutes = this.durationMinutes ? this.durationMinutes : this.duration ? this.duration : 30;\n this.durationIncrement = this.durationIncrement ? this.durationIncrement : this.duration >= 60 ? 60 : 1;\n this.setDurationMintueOptions();\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), 'duration');\n }\n\n disconnectedCallback() {\n debug('nylas-event-duration', 'disconnectedCallback');\n }\n\n get isInternalsAvailable() {\n return typeof this.internals !== 'undefined' && typeof this.internals.setFormValue === 'function';\n }\n\n setDurationMintueOptions() {\n if (this.durationIncrement === 1) {\n this.durationMinutesOptions = [\n { value: (15).toString(), label: '15' },\n { value: (30).toString(), label: '30' },\n { value: (45).toString(), label: '45' },\n { value: (60).toString(), label: '60' },\n ];\n } else {\n this.durationMinutesOptions = Array.from({ length: 23 }, (_, i) => ({ value: (i + 1).toString(), label: (i + 1).toString() }));\n }\n return this.durationMinutesOptions;\n }\n\n validateDuration() {\n if (this.durationMinutes % 5 !== 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeMultipleOf5');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else if (this.durationMinutes <= 0) {\n this.error = i18next.t('nylasEventDuration.error.durationMustBeGreaterThan0');\n this.isInternalsAvailable && this.internals.setValidity({ customError: true }, this.error);\n } else {\n this.error = '';\n this.isInternalsAvailable && this.internals.setValidity({});\n }\n return this.error;\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-calendar-picker', 'nylasFormDropdownChangedHandler', event.detail);\n const { value } = event.detail;\n this.durationIncrement = parseInt(value.toString());\n if (this.durationIncrement === 1) {\n this.duration = 60;\n } else {\n this.duration = 1;\n }\n this.setDurationMintueOptions();\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @Listen('inputOptionChanged')\n inputOptionChangedHandler(event: CustomEvent<{ value: number; name: string }>) {\n debug('nylas-calendar-picker', 'inputOptionChangedHandler', event.detail);\n const { value } = event.detail;\n this.duration = parseFloat(value.toString());\n this.durationMinutes = this.duration * this.durationIncrement;\n if (this.validateDuration() !== '') {\n return;\n }\n this.isInternalsAvailable && this.internals.setFormValue(this.durationMinutes.toString(), this.name);\n this.valueChanged.emit({ value: this.durationMinutes.toString(), name: this.name });\n }\n\n @RegisterComponent<NylasEventDuration, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-event-duration',\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 durationOptions = [\n { value: (1).toString(), label: i18next.t('timeDuration', { context: 'minute' }) },\n { value: (60).toString(), label: i18next.t('timeDuration', { context: 'hour' }) },\n ];\n\n return (\n <Host>\n <div class=\"nylas-event-duration\" part=\"ned\">\n <label htmlFor=\"duration\">\n {i18next.t('nylasEventDuration.headerTitle')}\n <span class=\"required\">*</span>\n </label>\n <div class=\"nylas-event-duration__wrapper\">\n <input-dropdown\n class={this.error ? 'error' : ''}\n name={'event-duration'}\n options={this.durationMinutesOptions}\n inputValue={this.duration.toString()}\n exportparts=\"id_dropdown: ned__input_dropdown, id_dropdown-input: ned__input_dropdown-input, id_dropdown-content: ned__input_dropdown-content\"\n defaultInputOption={this.durationMinutesOptions.find(i => i.value === this.duration.toString())}\n themeConfig={this.themeConfig}\n />\n {this.durationIncrement && (\n <select-dropdown\n name={'event-duration'}\n options={durationOptions}\n pluralizedLabel={\n this.duration > 1\n ? i18next.t(`time.${this.durationIncrement === 60 ? 'hours' : 'minutes'}`)\n : i18next.t(`time.${this.durationIncrement === 60 ? 'hour' : 'minute'}`)\n }\n themeConfig={this.themeConfig}\n exportparts=\"sd_dropdown: ned__dropdown, sd_dropdown-button: ned__dropdown-button, sd_dropdown-content: ned__dropdown-content\"\n defaultSelectedOption={durationOptions.find(i => i.value === this.durationIncrement.toString())}\n withSearch={false}\n />\n )}\n </div>\n <div class={`nylas-event-duration__error-container ${this.error ? 'visible' : ''}`} part=\"ned__error-container\">\n <div class=\"nylas-event-duration__error\" part=\"ned__error\">\n {this.error}\n </div>\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-CpP2uaEo.js';
3
- import { a as debug, N as parsePreviewLink, _ as getCalendarRange, O as CONFIGURATION_EVENT_TYPE } from './p-BCUF1qcs.js';
2
+ import { R as RegisterComponent } from './p-CUlV7ZGv.js';
3
+ import { a as debug, N as parsePreviewLink, _ as getCalendarRange, O as CONFIGURATION_EVENT_TYPE } from './p-CMNiSC4o.js';
4
4
  import { E as ErrorCategory, u } from './p-CWplx7sA.js';
5
5
  import { i as instance } from './p-BjxQTsOy.js';
6
6
  import { d as defineCustomElement$d } from './p-BVH0Klhu.js';
@@ -12,7 +12,7 @@ import { d as defineCustomElement$8 } from './p-C9Mlv9rC.js';
12
12
  import { d as defineCustomElement$7 } from './p-CvLWbTI_.js';
13
13
  import { d as defineCustomElement$6 } from './p-B2LU95MT.js';
14
14
  import { d as defineCustomElement$5 } from './p-C7ZpwRD0.js';
15
- import { d as defineCustomElement$4 } from './p-C2EKszp0.js';
15
+ import { d as defineCustomElement$4 } from './p-DOryfnIf.js';
16
16
  import { d as defineCustomElement$3 } from './p-DBHtQK2b.js';
17
17
  import { d as defineCustomElement$2 } from './p-wphqTozF.js';
18
18
  import { d as defineCustomElement$1 } from './p-OhUC7F_g.js';
@@ -464,6 +464,6 @@ function defineCustomElement() {
464
464
  }
465
465
 
466
466
  export { NylasListConfigurations as N, defineCustomElement as d };
467
- //# sourceMappingURL=p-hmiyEk6L.js.map
467
+ //# sourceMappingURL=p-qo42Sy8T.js.map
468
468
 
469
- //# sourceMappingURL=p-hmiyEk6L.js.map
469
+ //# sourceMappingURL=p-qo42Sy8T.js.map