@nylas/web-elements 1.1.0-canary.15 → 1.1.0-canary.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 (430) hide show
  1. package/dist/cjs/add-circle-icon_2.cjs.entry.js +10 -17
  2. package/dist/cjs/add-circle-icon_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{calendar-info-icon_25.cjs.entry.js → calendar-info-icon_27.cjs.entry.js} +161 -27
  4. package/dist/cjs/calendar-info-icon_27.cjs.entry.js.map +1 -0
  5. package/dist/cjs/google-logo-icon_4.cjs.entry.js +12 -7
  6. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
  7. package/dist/cjs/index-7af03e3f.js +8 -16
  8. package/dist/cjs/index-c14ea8f5.js +12 -12
  9. package/dist/cjs/input-dropdown.cjs.entry.js +9 -2
  10. package/dist/cjs/input-dropdown.cjs.entry.js.map +1 -1
  11. package/dist/cjs/input-dropdown_2.cjs.entry.js +9 -2
  12. package/dist/cjs/input-dropdown_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/nylas-additional-participants.cjs.entry.js +34 -14
  15. package/dist/cjs/nylas-additional-participants.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +2 -2
  17. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nylas-booking-form.cjs.entry.js +2 -2
  19. package/dist/cjs/nylas-booking-form.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nylas-cancellation-policy.cjs.entry.js +1 -1
  21. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +1 -1
  22. package/dist/cjs/nylas-customize-booking-settings.cjs.entry.js +4 -4
  23. package/dist/cjs/nylas-customize-booking-settings.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +12 -7
  25. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nylas-event-info.cjs.entry.js +1 -1
  27. package/dist/cjs/nylas-event-limits.cjs.entry.js +1 -1
  28. package/dist/cjs/nylas-event-location.cjs.entry.js +3 -3
  29. package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
  30. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +1 -1
  31. package/dist/cjs/nylas-min-booking-notice.cjs.entry.js +1 -1
  32. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +1 -1
  33. package/dist/cjs/nylas-provider.cjs.entry.js +1 -1
  34. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +4 -2
  35. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nylas-scheduling.cjs.entry.js +1 -1
  37. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +1 -1
  39. package/dist/cjs/nylas-timeslot-interval.cjs.entry.js +2 -2
  40. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  41. package/dist/cjs/{scheduler-config-store-a5b7c08b.js → scheduler-config-store-0266631b.js} +2 -1
  42. package/dist/cjs/scheduler-config-store-0266631b.js.map +1 -0
  43. package/dist/cjs/{scheduler-config-store-918c20d5.js → scheduler-config-store-9f19c7a9.js} +2 -1
  44. package/dist/cjs/scheduler-config-store-9f19c7a9.js.map +1 -0
  45. package/dist/cjs/scheduler-store-0f7328f1.js.map +1 -1
  46. package/dist/cjs/scheduler-store-743ed238.js.map +1 -1
  47. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +10 -1
  48. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js.map +1 -1
  49. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js +2 -2
  50. package/dist/collection/components/scheduler/nylas-booking-form/nylas-booking-form.js.map +1 -1
  51. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
  52. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
  53. package/dist/collection/components/scheduler/nylas-date-picker/nylas-date-picker.js +1 -1
  54. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.css +1 -0
  55. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.css +20 -1
  56. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +62 -13
  57. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  58. package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +1 -1
  59. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  60. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js +5 -5
  61. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js.map +1 -1
  62. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +9 -7
  63. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  64. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +2 -0
  65. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -1
  66. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  67. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  68. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +3 -3
  69. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  70. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +1 -1
  71. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js +1 -1
  72. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
  73. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +25 -2
  74. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  75. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +1 -1
  76. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +2 -2
  77. package/dist/collection/stores/scheduler-config-store.js +1 -0
  78. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  79. package/dist/collection/stores/scheduler-store.js.map +1 -1
  80. package/dist/components/input-dropdown2.js +11 -3
  81. package/dist/components/input-dropdown2.js.map +1 -1
  82. package/dist/components/nylas-additional-participants.js +1 -127
  83. package/dist/components/nylas-additional-participants.js.map +1 -1
  84. package/dist/components/nylas-additional-participants2.js +164 -0
  85. package/dist/components/nylas-additional-participants2.js.map +1 -0
  86. package/dist/components/nylas-booking-form2.js +2 -2
  87. package/dist/components/nylas-booking-form2.js.map +1 -1
  88. package/dist/components/nylas-cancellation-policy2.js +1 -1
  89. package/dist/components/nylas-custom-booking-flow.js +1 -1
  90. package/dist/components/nylas-customize-booking-settings2.js +4 -4
  91. package/dist/components/nylas-customize-booking-settings2.js.map +1 -1
  92. package/dist/components/nylas-editor-tabs2.js +90 -73
  93. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  94. package/dist/components/nylas-event-info2.js +1 -1
  95. package/dist/components/nylas-event-limits2.js +1 -1
  96. package/dist/components/nylas-event-location2.js +3 -3
  97. package/dist/components/nylas-form-card2.js +1 -1
  98. package/dist/components/nylas-limit-future-bookings2.js +1 -1
  99. package/dist/components/nylas-min-booking-notice2.js +1 -1
  100. package/dist/components/nylas-min-cancellation-notice2.js +1 -1
  101. package/dist/components/nylas-scheduler-editor.js +92 -77
  102. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  103. package/dist/components/nylas-scheduling.js +1 -1
  104. package/dist/components/nylas-scheduling.js.map +1 -1
  105. package/dist/components/nylas-time-window-picker2.js +1 -1
  106. package/dist/components/nylas-timeslot-interval2.js +2 -2
  107. package/dist/components/people-icon.js +1 -32
  108. package/dist/components/people-icon.js.map +1 -1
  109. package/dist/components/people.js +36 -0
  110. package/dist/components/people.js.map +1 -0
  111. package/dist/components/scheduler-config-store.js +1 -0
  112. package/dist/components/scheduler-config-store.js.map +1 -1
  113. package/dist/components/scheduler-store.js.map +1 -1
  114. package/dist/esm/add-circle-icon.entry.js +1 -1
  115. package/dist/esm/add-circle-icon_2.entry.js +10 -17
  116. package/dist/esm/add-circle-icon_2.entry.js.map +1 -1
  117. package/dist/esm/archive-icon.entry.js +1 -1
  118. package/dist/esm/arrow-icon.entry.js +1 -1
  119. package/dist/esm/bold-icon.entry.js +1 -1
  120. package/dist/esm/button-component.entry.js +1 -1
  121. package/dist/esm/calendar-cancel-icon.entry.js +1 -1
  122. package/dist/esm/calendar-check-icon.entry.js +1 -1
  123. package/dist/esm/calendar-icon.entry.js +1 -1
  124. package/dist/esm/calendar-info-icon.entry.js +1 -1
  125. package/dist/esm/{calendar-info-icon_25.entry.js → calendar-info-icon_27.entry.js} +160 -28
  126. package/dist/esm/calendar-info-icon_27.entry.js.map +1 -0
  127. package/dist/esm/calendar-patterns-icon.entry.js +1 -1
  128. package/dist/esm/checkbox-component.entry.js +1 -1
  129. package/dist/esm/checkmark-circle-icon.entry.js +1 -1
  130. package/dist/esm/chevron-icon.entry.js +1 -1
  131. package/dist/esm/clock-icon.entry.js +1 -1
  132. package/dist/esm/close-icon.entry.js +1 -1
  133. package/dist/esm/document-refresh-icon.entry.js +1 -1
  134. package/dist/esm/flow-icon.entry.js +1 -1
  135. package/dist/esm/folder-icon.entry.js +1 -1
  136. package/dist/esm/forward-icon.entry.js +1 -1
  137. package/dist/esm/globe-icon.entry.js +1 -1
  138. package/dist/esm/google-logo-icon.entry.js +1 -1
  139. package/dist/esm/google-logo-icon_4.entry.js +12 -7
  140. package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
  141. package/dist/esm/inbox-icon.entry.js +1 -1
  142. package/dist/esm/{index-11d12497.js → index-2c7e4f4b.js} +2 -2
  143. package/dist/esm/{index-11d12497.js.map → index-2c7e4f4b.js.map} +1 -1
  144. package/dist/esm/{index-8362ce5c.js → index-582cfc93.js} +14 -14
  145. package/dist/esm/{index-8362ce5c.js.map → index-582cfc93.js.map} +1 -1
  146. package/dist/esm/index-7cb0dd3d.js +8 -16
  147. package/dist/esm/index.js +2 -2
  148. package/dist/esm/info-icon.entry.js +1 -1
  149. package/dist/esm/input-component.entry.js +1 -1
  150. package/dist/esm/input-dropdown.entry.js +10 -3
  151. package/dist/esm/input-dropdown.entry.js.map +1 -1
  152. package/dist/esm/input-dropdown_2.entry.js +9 -2
  153. package/dist/esm/input-dropdown_2.entry.js.map +1 -1
  154. package/dist/esm/italic-icon.entry.js +1 -1
  155. package/dist/esm/loader.js +3 -3
  156. package/dist/esm/loading-icon.entry.js +1 -1
  157. package/dist/esm/location-icon.entry.js +1 -1
  158. package/dist/esm/location-off-icon.entry.js +1 -1
  159. package/dist/esm/{mailbox-store-11fa8387.js → mailbox-store-c9b2a4fd.js} +2 -2
  160. package/dist/esm/{mailbox-store-11fa8387.js.map → mailbox-store-c9b2a4fd.js.map} +1 -1
  161. package/dist/esm/microsoft-logo-icon.entry.js +1 -1
  162. package/dist/esm/multi-select-dropdown.entry.js +1 -1
  163. package/dist/esm/nylas-additional-participants.entry.js +36 -16
  164. package/dist/esm/nylas-additional-participants.entry.js.map +1 -1
  165. package/dist/esm/nylas-availability-picker.entry.js +2 -2
  166. package/dist/esm/nylas-booked-event-card.entry.js +2 -2
  167. package/dist/esm/nylas-booked-event-card_10.entry.js +2 -2
  168. package/dist/esm/nylas-booked-event-card_10.entry.js.map +1 -1
  169. package/dist/esm/nylas-booking-calendar-picker.entry.js +2 -2
  170. package/dist/esm/nylas-booking-form.entry.js +4 -4
  171. package/dist/esm/nylas-booking-form.entry.js.map +1 -1
  172. package/dist/esm/nylas-buffer-time.entry.js +2 -2
  173. package/dist/esm/nylas-calendar-picker.entry.js +2 -2
  174. package/dist/esm/nylas-cancel-booking-form.entry.js +2 -2
  175. package/dist/esm/nylas-cancellation-policy.entry.js +3 -3
  176. package/dist/esm/nylas-cancelled-event-card.entry.js +2 -2
  177. package/dist/esm/nylas-composer.entry.js +1 -1
  178. package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
  179. package/dist/esm/nylas-customize-booking-settings.entry.js +6 -6
  180. package/dist/esm/nylas-customize-booking-settings.entry.js.map +1 -1
  181. package/dist/esm/nylas-date-picker.entry.js +2 -2
  182. package/dist/esm/nylas-editor-tabs.entry.js +14 -9
  183. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  184. package/dist/esm/nylas-event-description.entry.js +2 -2
  185. package/dist/esm/nylas-event-duration.entry.js +2 -2
  186. package/dist/esm/nylas-event-info.entry.js +3 -3
  187. package/dist/esm/nylas-event-limits.entry.js +3 -3
  188. package/dist/esm/nylas-event-location.entry.js +5 -5
  189. package/dist/esm/nylas-event-title.entry.js +2 -2
  190. package/dist/esm/nylas-form-card.entry.js +3 -3
  191. package/dist/esm/nylas-if-state.entry.js +2 -2
  192. package/dist/esm/nylas-limit-future-bookings.entry.js +3 -3
  193. package/dist/esm/nylas-list-configurations.entry.js +2 -2
  194. package/dist/esm/nylas-list-folders.entry.js +2 -2
  195. package/dist/esm/nylas-list-threads.entry.js +2 -2
  196. package/dist/esm/nylas-locale-switch.entry.js +2 -2
  197. package/dist/esm/nylas-login.entry.js +2 -2
  198. package/dist/esm/nylas-logo.entry.js +1 -1
  199. package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
  200. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +2 -2
  201. package/dist/esm/nylas-mailbox.entry.js +3 -3
  202. package/dist/esm/nylas-min-booking-notice.entry.js +3 -3
  203. package/dist/esm/nylas-min-cancellation-notice.entry.js +3 -3
  204. package/dist/esm/nylas-notification.entry.js +1 -1
  205. package/dist/esm/nylas-provider.entry.js +5 -5
  206. package/dist/esm/nylas-scheduler-editor.entry.js +6 -4
  207. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  208. package/dist/esm/nylas-scheduling.entry.js +4 -4
  209. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  210. package/dist/esm/nylas-selected-event-card.entry.js +2 -2
  211. package/dist/esm/nylas-summarize-message-button.entry.js +2 -2
  212. package/dist/esm/nylas-threads-refresh.entry.js +2 -2
  213. package/dist/esm/nylas-threads-search.entry.js +2 -2
  214. package/dist/esm/nylas-time-window-picker.entry.js +2 -2
  215. package/dist/esm/nylas-timeslot-interval.entry.js +4 -4
  216. package/dist/esm/nylas-timeslot-picker.entry.js +2 -2
  217. package/dist/esm/nylas-view-email.entry.js +1 -1
  218. package/dist/esm/nylas-view-thread.entry.js +2 -2
  219. package/dist/esm/nylas-web-elements.js +3 -3
  220. package/dist/esm/people-icon.entry.js +1 -1
  221. package/dist/esm/person-icon.entry.js +1 -1
  222. package/dist/esm/play-icon.entry.js +1 -1
  223. package/dist/esm/radio-button-group.entry.js +1 -1
  224. package/dist/esm/refresh-icon.entry.js +1 -1
  225. package/dist/esm/{register-component-8e4e394f.js → register-component-6ae95538.js} +2 -2
  226. package/dist/esm/{register-component-8e4e394f.js.map → register-component-6ae95538.js.map} +1 -1
  227. package/dist/esm/reply-all-icon.entry.js +1 -1
  228. package/dist/esm/reply-icon.entry.js +1 -1
  229. package/dist/esm/{scheduler-config-store-ec3b6190.js → scheduler-config-store-4a50a03d.js} +2 -1
  230. package/dist/esm/scheduler-config-store-4a50a03d.js.map +1 -0
  231. package/dist/{nylas-web-elements/scheduler-config-store-8ccc8dc7.js → esm/scheduler-config-store-f20845ad.js} +3 -2
  232. package/dist/esm/scheduler-config-store-f20845ad.js.map +1 -0
  233. package/dist/{nylas-web-elements/scheduler-store-c3af2560.js → esm/scheduler-store-17f7f1c8.js} +2 -2
  234. package/dist/esm/{scheduler-store-c3af2560.js.map → scheduler-store-17f7f1c8.js.map} +1 -1
  235. package/dist/esm/scheduler-store-f02ce045.js.map +1 -1
  236. package/dist/esm/search-icon.entry.js +1 -1
  237. package/dist/esm/select-dropdown.entry.js +1 -1
  238. package/dist/esm/sent-icon.entry.js +1 -1
  239. package/dist/esm/spam-icon.entry.js +1 -1
  240. package/dist/esm/star-icon.entry.js +1 -1
  241. package/dist/esm/stop-icon.entry.js +1 -1
  242. package/dist/esm/textarea-component.entry.js +1 -1
  243. package/dist/esm/time-period-selector.entry.js +1 -1
  244. package/dist/esm/toggle-switch.entry.js +1 -1
  245. package/dist/esm/tooltip-component.entry.js +1 -1
  246. package/dist/esm/translate-icon.entry.js +1 -1
  247. package/dist/esm/trash-icon.entry.js +1 -1
  248. package/dist/esm/underline-icon.entry.js +1 -1
  249. package/dist/esm/warning-icon.entry.js +1 -1
  250. package/dist/nylas-web-elements/add-circle-icon.entry.js +1 -1
  251. package/dist/nylas-web-elements/archive-icon.entry.js +1 -1
  252. package/dist/nylas-web-elements/arrow-icon.entry.js +1 -1
  253. package/dist/nylas-web-elements/bold-icon.entry.js +1 -1
  254. package/dist/nylas-web-elements/button-component.entry.js +1 -1
  255. package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +1 -1
  256. package/dist/nylas-web-elements/calendar-check-icon.entry.js +1 -1
  257. package/dist/nylas-web-elements/calendar-icon.entry.js +1 -1
  258. package/dist/nylas-web-elements/calendar-info-icon.entry.js +1 -1
  259. package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +1 -1
  260. package/dist/nylas-web-elements/checkbox-component.entry.js +1 -1
  261. package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +1 -1
  262. package/dist/nylas-web-elements/chevron-icon.entry.js +1 -1
  263. package/dist/nylas-web-elements/clock-icon.entry.js +1 -1
  264. package/dist/nylas-web-elements/close-icon.entry.js +1 -1
  265. package/dist/nylas-web-elements/document-refresh-icon.entry.js +1 -1
  266. package/dist/nylas-web-elements/flow-icon.entry.js +1 -1
  267. package/dist/nylas-web-elements/folder-icon.entry.js +1 -1
  268. package/dist/nylas-web-elements/forward-icon.entry.js +1 -1
  269. package/dist/nylas-web-elements/globe-icon.entry.js +1 -1
  270. package/dist/nylas-web-elements/google-logo-icon.entry.js +1 -1
  271. package/dist/nylas-web-elements/inbox-icon.entry.js +1 -1
  272. package/dist/nylas-web-elements/{index-11d12497.js → index-2c7e4f4b.js} +2 -2
  273. package/dist/nylas-web-elements/{index-11d12497.js.map → index-2c7e4f4b.js.map} +1 -1
  274. package/dist/nylas-web-elements/{index-8362ce5c.js → index-582cfc93.js} +2 -2
  275. package/dist/nylas-web-elements/{index-8362ce5c.js.map → index-582cfc93.js.map} +1 -1
  276. package/dist/nylas-web-elements/index.esm.js +2 -2
  277. package/dist/nylas-web-elements/info-icon.entry.js +1 -1
  278. package/dist/nylas-web-elements/input-component.entry.js +1 -1
  279. package/dist/nylas-web-elements/input-dropdown.entry.js +10 -3
  280. package/dist/nylas-web-elements/input-dropdown.entry.js.map +1 -1
  281. package/dist/nylas-web-elements/italic-icon.entry.js +1 -1
  282. package/dist/nylas-web-elements/loading-icon.entry.js +1 -1
  283. package/dist/nylas-web-elements/location-icon.entry.js +1 -1
  284. package/dist/nylas-web-elements/location-off-icon.entry.js +1 -1
  285. package/dist/nylas-web-elements/{mailbox-store-11fa8387.js → mailbox-store-c9b2a4fd.js} +2 -2
  286. package/dist/nylas-web-elements/{mailbox-store-11fa8387.js.map → mailbox-store-c9b2a4fd.js.map} +1 -1
  287. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +1 -1
  288. package/dist/nylas-web-elements/multi-select-dropdown.entry.js +1 -1
  289. package/dist/nylas-web-elements/nylas-additional-participants.entry.js +36 -16
  290. package/dist/nylas-web-elements/nylas-additional-participants.entry.js.map +1 -1
  291. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +2 -2
  292. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +2 -2
  293. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +2 -2
  294. package/dist/nylas-web-elements/nylas-booking-form.entry.js +4 -4
  295. package/dist/nylas-web-elements/nylas-booking-form.entry.js.map +1 -1
  296. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +2 -2
  297. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +2 -2
  298. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +2 -2
  299. package/dist/nylas-web-elements/nylas-cancellation-policy.entry.js +3 -3
  300. package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +2 -2
  301. package/dist/nylas-web-elements/nylas-composer.entry.js +1 -1
  302. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
  303. package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js +6 -6
  304. package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js.map +1 -1
  305. package/dist/nylas-web-elements/nylas-date-picker.entry.js +2 -2
  306. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +14 -9
  307. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  308. package/dist/nylas-web-elements/nylas-event-description.entry.js +2 -2
  309. package/dist/nylas-web-elements/nylas-event-duration.entry.js +2 -2
  310. package/dist/nylas-web-elements/nylas-event-info.entry.js +3 -3
  311. package/dist/nylas-web-elements/nylas-event-limits.entry.js +3 -3
  312. package/dist/nylas-web-elements/nylas-event-location.entry.js +5 -5
  313. package/dist/nylas-web-elements/nylas-event-title.entry.js +2 -2
  314. package/dist/nylas-web-elements/nylas-form-card.entry.js +3 -3
  315. package/dist/nylas-web-elements/nylas-if-state.entry.js +2 -2
  316. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +3 -3
  317. package/dist/nylas-web-elements/nylas-list-configurations.entry.js +2 -2
  318. package/dist/nylas-web-elements/nylas-list-folders.entry.js +2 -2
  319. package/dist/nylas-web-elements/nylas-list-threads.entry.js +2 -2
  320. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +2 -2
  321. package/dist/nylas-web-elements/nylas-login.entry.js +2 -2
  322. package/dist/nylas-web-elements/nylas-logo.entry.js +1 -1
  323. package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
  324. package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +2 -2
  325. package/dist/nylas-web-elements/nylas-mailbox.entry.js +3 -3
  326. package/dist/nylas-web-elements/nylas-min-booking-notice.entry.js +3 -3
  327. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +3 -3
  328. package/dist/nylas-web-elements/nylas-notification.entry.js +1 -1
  329. package/dist/nylas-web-elements/nylas-provider.entry.js +5 -5
  330. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +6 -4
  331. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js.map +1 -1
  332. package/dist/nylas-web-elements/nylas-scheduling.entry.js +4 -4
  333. package/dist/nylas-web-elements/nylas-scheduling.entry.js.map +1 -1
  334. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +2 -2
  335. package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +2 -2
  336. package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +2 -2
  337. package/dist/nylas-web-elements/nylas-threads-search.entry.js +2 -2
  338. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +2 -2
  339. package/dist/nylas-web-elements/nylas-timeslot-interval.entry.js +4 -4
  340. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +2 -2
  341. package/dist/nylas-web-elements/nylas-view-email.entry.js +1 -1
  342. package/dist/nylas-web-elements/nylas-view-thread.entry.js +2 -2
  343. package/dist/nylas-web-elements/nylas-web-elements.esm.js +3 -3
  344. package/dist/nylas-web-elements/p-05833164.entry.js +2 -0
  345. package/dist/nylas-web-elements/p-05833164.entry.js.map +1 -0
  346. package/dist/nylas-web-elements/{p-a804616a.entry.js → p-09fec39c.entry.js} +2 -2
  347. package/dist/nylas-web-elements/{p-df2b34ee.entry.js → p-13b003b5.entry.js} +2 -2
  348. package/dist/nylas-web-elements/p-29938263.js +2 -0
  349. package/dist/nylas-web-elements/p-29938263.js.map +1 -0
  350. package/dist/nylas-web-elements/{p-afd34a25.entry.js → p-2f656fb3.entry.js} +3 -3
  351. package/dist/nylas-web-elements/p-2f656fb3.entry.js.map +1 -0
  352. package/dist/nylas-web-elements/p-427548f5.entry.js +2 -0
  353. package/dist/nylas-web-elements/p-427548f5.entry.js.map +1 -0
  354. package/dist/nylas-web-elements/p-470536e0.entry.js +2 -0
  355. package/dist/nylas-web-elements/p-470536e0.entry.js.map +1 -0
  356. package/dist/nylas-web-elements/p-4f548e66.entry.js +2 -0
  357. package/dist/nylas-web-elements/p-4f548e66.entry.js.map +1 -0
  358. package/dist/nylas-web-elements/p-823c8aa2.js.map +1 -1
  359. package/dist/nylas-web-elements/p-96418bc6.entry.js +2 -0
  360. package/dist/nylas-web-elements/p-96418bc6.entry.js.map +1 -0
  361. package/dist/nylas-web-elements/p-9acfea5f.entry.js +2 -0
  362. package/dist/nylas-web-elements/p-9acfea5f.entry.js.map +1 -0
  363. package/dist/nylas-web-elements/{p-84529d9b.entry.js → p-b27e34a9.entry.js} +2 -2
  364. package/dist/nylas-web-elements/p-efd5b80a.entry.js +2 -0
  365. package/dist/nylas-web-elements/p-efd5b80a.entry.js.map +1 -0
  366. package/dist/nylas-web-elements/people-icon.entry.js +1 -1
  367. package/dist/nylas-web-elements/person-icon.entry.js +1 -1
  368. package/dist/nylas-web-elements/play-icon.entry.js +1 -1
  369. package/dist/nylas-web-elements/radio-button-group.entry.js +1 -1
  370. package/dist/nylas-web-elements/refresh-icon.entry.js +1 -1
  371. package/dist/nylas-web-elements/{register-component-8e4e394f.js → register-component-6ae95538.js} +2 -2
  372. package/dist/nylas-web-elements/{register-component-8e4e394f.js.map → register-component-6ae95538.js.map} +1 -1
  373. package/dist/nylas-web-elements/reply-all-icon.entry.js +1 -1
  374. package/dist/nylas-web-elements/reply-icon.entry.js +1 -1
  375. package/dist/{esm/scheduler-config-store-8ccc8dc7.js → nylas-web-elements/scheduler-config-store-f20845ad.js} +3 -2
  376. package/dist/nylas-web-elements/scheduler-config-store-f20845ad.js.map +1 -0
  377. package/dist/{esm/scheduler-store-c3af2560.js → nylas-web-elements/scheduler-store-17f7f1c8.js} +2 -2
  378. package/dist/nylas-web-elements/{scheduler-store-c3af2560.js.map → scheduler-store-17f7f1c8.js.map} +1 -1
  379. package/dist/nylas-web-elements/search-icon.entry.js +1 -1
  380. package/dist/nylas-web-elements/select-dropdown.entry.js +1 -1
  381. package/dist/nylas-web-elements/sent-icon.entry.js +1 -1
  382. package/dist/nylas-web-elements/spam-icon.entry.js +1 -1
  383. package/dist/nylas-web-elements/star-icon.entry.js +1 -1
  384. package/dist/nylas-web-elements/stop-icon.entry.js +1 -1
  385. package/dist/nylas-web-elements/textarea-component.entry.js +1 -1
  386. package/dist/nylas-web-elements/time-period-selector.entry.js +1 -1
  387. package/dist/nylas-web-elements/toggle-switch.entry.js +1 -1
  388. package/dist/nylas-web-elements/tooltip-component.entry.js +1 -1
  389. package/dist/nylas-web-elements/translate-icon.entry.js +1 -1
  390. package/dist/nylas-web-elements/trash-icon.entry.js +1 -1
  391. package/dist/nylas-web-elements/underline-icon.entry.js +1 -1
  392. package/dist/nylas-web-elements/warning-icon.entry.js +1 -1
  393. package/dist/types/components/design-system/input-dropdown/input-dropdown.d.ts +1 -0
  394. package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +11 -1
  395. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +2 -0
  396. package/dist/types/components.d.ts +12 -2
  397. package/dist/types/stores/scheduler-config-store.d.ts +2 -1
  398. package/dist/types/stores/scheduler-store.d.ts +1 -1
  399. package/package.json +2 -2
  400. package/dist/cjs/calendar-info-icon_25.cjs.entry.js.map +0 -1
  401. package/dist/cjs/scheduler-config-store-918c20d5.js.map +0 -1
  402. package/dist/cjs/scheduler-config-store-a5b7c08b.js.map +0 -1
  403. package/dist/esm/calendar-info-icon_25.entry.js.map +0 -1
  404. package/dist/esm/scheduler-config-store-8ccc8dc7.js.map +0 -1
  405. package/dist/esm/scheduler-config-store-ec3b6190.js.map +0 -1
  406. package/dist/nylas-web-elements/p-155942d0.entry.js +0 -2
  407. package/dist/nylas-web-elements/p-155942d0.entry.js.map +0 -1
  408. package/dist/nylas-web-elements/p-237d2b4e.entry.js +0 -2
  409. package/dist/nylas-web-elements/p-237d2b4e.entry.js.map +0 -1
  410. package/dist/nylas-web-elements/p-2e813dd0.entry.js +0 -2
  411. package/dist/nylas-web-elements/p-2e813dd0.entry.js.map +0 -1
  412. package/dist/nylas-web-elements/p-35b66ab6.entry.js +0 -2
  413. package/dist/nylas-web-elements/p-35b66ab6.entry.js.map +0 -1
  414. package/dist/nylas-web-elements/p-6239608c.entry.js +0 -2
  415. package/dist/nylas-web-elements/p-6239608c.entry.js.map +0 -1
  416. package/dist/nylas-web-elements/p-86895fc4.entry.js +0 -2
  417. package/dist/nylas-web-elements/p-86895fc4.entry.js.map +0 -1
  418. package/dist/nylas-web-elements/p-afd34a25.entry.js.map +0 -1
  419. package/dist/nylas-web-elements/p-b406bf70.entry.js +0 -2
  420. package/dist/nylas-web-elements/p-b406bf70.entry.js.map +0 -1
  421. package/dist/nylas-web-elements/p-ee91a2a0.js +0 -2
  422. package/dist/nylas-web-elements/p-ee91a2a0.js.map +0 -1
  423. package/dist/nylas-web-elements/p-f1bd124d.entry.js +0 -2
  424. package/dist/nylas-web-elements/p-f1bd124d.entry.js.map +0 -1
  425. package/dist/nylas-web-elements/p-fac4d89e.entry.js +0 -2
  426. package/dist/nylas-web-elements/p-fac4d89e.entry.js.map +0 -1
  427. package/dist/nylas-web-elements/scheduler-config-store-8ccc8dc7.js.map +0 -1
  428. /package/dist/nylas-web-elements/{p-a804616a.entry.js.map → p-09fec39c.entry.js.map} +0 -0
  429. /package/dist/nylas-web-elements/{p-df2b34ee.entry.js.map → p-13b003b5.entry.js.map} +0 -0
  430. /package/dist/nylas-web-elements/{p-84529d9b.entry.js.map → p-b27e34a9.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"nylas-additional-participants.entry.esm.js","mappings":"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","names":[],"sources":["src/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.scss?tag=nylas-additional-participants&encapsulation=shadow","src/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n margin: 1rem;\n @include default-css-variables;\n}\n\n.nylas-additional-participants__title {\n color: var(--nylas-base-nylas-base-900-aaa, #101323);\n font-size: 16px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px; /* 125% */\n margin: 0;\n text-align: left;\n}\n.nylas-additional-participants__subtitle {\n color: var(--nylas-base-600);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px; /* 142.857% */\n margin: 0.25rem 0px 0px;\n text-align: left;\n}\n.nylas-additional-participants__content {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.nylas-additional-participants__input_group {\n padding-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n }\n}\n.nylas-additional-participants__input_wrapper {\n display: flex;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-300);\n button {\n padding: 12px;\n border: none;\n background: none;\n cursor: pointer;\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n }\n}\n.nylas-additional-participants__input_wrapper_organizer {\n background: var(--nylas-base-50);\n}\n\n.nylas-additional-participants__input {\n flex: 1;\n padding: 12px 16px;\n border-right: 1px solid var(--nylas-base-300);\n input {\n border: none;\n outline: none;\n background: none;\n width: 100%;\n }\n}\n\n.nylas-additional-participants__add {\n padding: 12px;\n display: flex;\n align-items: center;\n border: none;\n background: none;\n cursor: pointer;\n span {\n padding: 0 8px;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n }\n &:hover,\n &:active {\n color: var(--nylas-primary);\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, Prop, State, Watch, h, Element } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\n\ntype Participant = {\n name?: string;\n email: string;\n is_valid?: boolean;\n is_organizer: boolean;\n availability?: Availability;\n booking?: Booking;\n};\ntype Availability = {\n calendar_ids: string[];\n};\ntype Booking = {\n calendar_id: string;\n};\n\n/**\n * The `nylas-additional-participants` component is a form input for adding additional participants to an event.\n *\n * @part nap__title - The title of the component.\n * @part nap__subtitle - The subtitle of the component.\n * @part nap__content - The content of the component.\n * @part nap__input_group - The input group of the component.\n * @part nap__input_wrapper - The input wrapper of the component.\n * @part nap__input - The input of the component.\n * @part nap__remove-participant - The remove participant button of the component.\n * @part nap__add-participant - The add participant button of the component.\n *\n */\n@Component({\n tag: 'nylas-additional-participants',\n styleUrl: 'nylas-additional-participants.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasAdditionalParticipants {\n @Element() host!: HTMLNylasAdditionalParticipantsElement;\n @Prop() name: string = 'participants';\n @Prop() eventParticipants?: Participant[];\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-additional-participants', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @State() participants: Participant[] = this.eventParticipants ?? [];\n @State() participantsValid: boolean = true;\n connectedCallback() {\n debug('nylas-additional-participants', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-additional-participants', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-additional-participants', 'componentDidLoad');\n this.internals.setFormValue(JSON.stringify(this.participants), 'participants');\n }\n\n disconnectedCallback() {\n debug('nylas-additional-participants', 'disconnectedCallback');\n }\n onParticipantChange(event, index) {\n debug('nylas-additional-participants', 'onParticipantChange');\n this.participants[index].email = event.target.value;\n this.internals.setFormValue(JSON.stringify(this.participants), 'participants');\n }\n addParticipant() {\n debug('nylas-additional-participants', 'addParticipant');\n this.participants = [...this.participants, { email: '', is_organizer: false, availability: { calendar_ids: ['primary'] } }];\n this.internals.setFormValue(JSON.stringify(this.participants), 'participants');\n }\n removeParticipant(email: string) {\n debug('nylas-additional-participants', 'addParticipant');\n this.participants = this.participants.filter(p => p.email !== email);\n this.internals.setFormValue(JSON.stringify(this.participants), 'participants');\n }\n validate(email, index) {\n debug('nylas-additional-participants', 'validate');\n const regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n const valid = regex.test(String(email).toLowerCase());\n this.participants[index].is_valid = valid;\n this.internals.setFormValue(JSON.stringify(this.participants), 'participants');\n }\n\n @RegisterComponent<NylasAdditionalParticipants, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-additional-participants',\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <nylas-form-card>\n <h3 slot=\"header-title\" class=\"nylas-additional-participants__title\" part=\"nap__title\">\n Additional participants\n </h3>\n <p slot=\"header-subtitle\" class=\"nylas-additional-participants__subtitle\" part=\"nap__subtitle\">\n Add anyone else who would be joining for this event.\n </p>\n <div slot=\"content\" class=\"nylas-additional-participants__content\">\n <div>\n {this.participants.map((participant, index) => {\n return (\n <div class={'nylas-additional-participants__input_group'} part=\"nap__input_group\">\n <label>{participant.is_organizer ? 'Organizer' : `Participant ${index}`}</label>\n <div\n part=\"nap__input_wrapper\"\n class={`nylas-additional-participants__input_wrapper ${participant.is_organizer && 'nylas-additional-participants__input_wrapper_organizer'} ${participant.is_valid === false && 'nylas-additional-participants__input_wrapper_invalid'}`}\n >\n <div class=\"nylas-additional-participants__input\" part=\"nap__input\">\n <input\n type=\"text\"\n value={participant.email}\n onInput={e => {\n this.onParticipantChange(e, index);\n }}\n readOnly={participant.is_organizer}\n onBlur={() => this.validate(participant.email, index)}\n />\n </div>\n {!participant.is_organizer && (\n <button onClick={() => this.removeParticipant(participant.email)} part=\"nap__remove-participant\">\n <close-icon />\n </button>\n )}\n </div>\n </div>\n );\n })}\n </div>\n {/* <button class=\"nylas-additional-participants__add\" part=\"nap__add-participant\" onClick={() => this.addParticipant()}>\n <add-circle-icon /> <span>Add a participant</span>\n </button> */}\n </div>\n </nylas-form-card>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nylas-additional-participants.entry.esm.js","mappings":"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","names":[],"sources":["src/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.scss?tag=nylas-additional-participants&encapsulation=shadow","src/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n margin: 1rem;\n @include default-css-variables;\n}\n\n.nylas-additional-participants__title {\n color: var(--nylas-base-nylas-base-900-aaa, #101323);\n font-size: 16px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px; /* 125% */\n margin: 0;\n text-align: left;\n}\n.nylas-additional-participants__subtitle {\n color: var(--nylas-base-600);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px; /* 142.857% */\n margin: 0.25rem 0px 0px;\n text-align: left;\n}\n.nylas-additional-participants__content {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.nylas-additional-participants__input_group {\n padding-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n label {\n display: flex;\n align-items: center;\n color: var(--nylas-base-800);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n }\n}\n.nylas-additional-participants__input_wrapper {\n display: flex;\n border-width: 1;\n border-radius: 8px;\n border: 1px solid var(--nylas-base-300);\n button {\n padding: 12px;\n border: none;\n border-left: 1px solid var(--nylas-base-300);\n background: none;\n cursor: pointer;\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n }\n}\n.nylas-additional-participants__input_wrapper_organizer {\n background: var(--nylas-base-50);\n}\n\n.nylas-additional-participants__input {\n flex: 1;\n display: flex;\n justify-content: space-between;\n &.organizer {\n padding: 12px 16px;\n }\n input {\n border: none;\n outline: none;\n background: none;\n width: 100%;\n }\n input-dropdown {\n width: 100%;\n }\n input-dropdown::part(id_dropdown) {\n width: 100%;\n height: 100%;\n }\n input-dropdown::part(id_dropdown-input) {\n height: 100%;\n border-radius: var(--nylas-border-radius-2x);\n border: none;\n border-top-right-radius: initial;\n border-bottom-right-radius: initial;\n padding-left: 16px;\n }\n}\n\n.nylas-additional-participants__add {\n padding: 12px;\n display: flex;\n align-items: center;\n border: none;\n background: none;\n cursor: pointer;\n span {\n padding: 0 8px;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n }\n &:hover,\n &:active {\n color: var(--nylas-primary);\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, Prop, State, Watch, h, Element, Listen } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\n\ntype Participant = {\n name?: string;\n email: string;\n is_valid?: boolean;\n is_organizer: boolean;\n availability?: Availability;\n booking?: Booking;\n};\ntype Availability = {\n calendar_ids: string[];\n};\ntype Booking = {\n calendar_id: string;\n};\n\n/**\n * The `nylas-additional-participants` component is a form input for adding additional participants to an event.\n *\n * @part nap__title - The title of the component.\n * @part nap__subtitle - The subtitle of the component.\n * @part nap__content - The content of the component.\n * @part nap__input_group - The input group of the component.\n * @part nap__input_wrapper - The input wrapper of the component.\n * @part nap__input - The input of the component.\n * @part nap__remove-participant - The remove participant button of the component.\n * @part nap__add-participant - The add participant button of the component.\n *\n */\n@Component({\n tag: 'nylas-additional-participants',\n styleUrl: 'nylas-additional-participants.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasAdditionalParticipants {\n @Element() host!: HTMLNylasAdditionalParticipantsElement;\n @Prop() name: string = 'participants';\n @Prop() eventParticipants?: Participant[];\n @Prop() participantOptions?: Participant[];\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-additional-participants', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @State() participants: Participant[] = this.eventParticipants ?? [];\n @State() participantsValid: boolean = true;\n connectedCallback() {\n debug('nylas-additional-participants', 'connectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-additional-participants', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-additional-participants', 'componentDidLoad');\n this.internals.setFormValue(JSON.stringify(this.participantsWithouOrganizer()), 'participants');\n }\n\n disconnectedCallback() {\n debug('nylas-additional-participants', 'disconnectedCallback');\n }\n\n @Listen('inputOptionChanged')\n onInputOptionChanged(event: CustomEvent<{ value: string; name: string }>) {\n debug('nylas-additional-participants', 'onInputOptionChanged');\n const index = event.detail.name;\n this.participants[index].email = event.detail.value;\n const participant = this.participantOptions?.find(participant => participant.email === event.detail.value);\n this.participants[index].name = participant?.name || event.detail.value;\n this.participants = [...this.participants];\n this.internals.setFormValue(JSON.stringify(this.participantsWithouOrganizer()), 'participants');\n }\n onParticipantChange(event, index) {\n debug('nylas-additional-participants', 'onParticipantChange');\n this.participants[index].email = event.target.value;\n this.internals.setFormValue(JSON.stringify(this.participantsWithouOrganizer()), 'participants');\n }\n addParticipant() {\n debug('nylas-additional-participants', 'addParticipant');\n this.participants = [...this.participants, { name: '', email: '', is_organizer: false, availability: { calendar_ids: ['primary'] } }];\n this.internals.setFormValue(JSON.stringify(this.participantsWithouOrganizer()), 'participants');\n }\n removeParticipant(index: number) {\n debug('nylas-additional-participants', 'removeParticipant');\n this.participants = this.participants.filter((_, i) => i !== index);\n this.internals.setFormValue(JSON.stringify(this.participantsWithouOrganizer()), 'participants');\n }\n validate(email, index) {\n debug('nylas-additional-participants', 'validate');\n const regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n const valid = regex.test(String(email).toLowerCase());\n this.participants[index].is_valid = valid;\n this.internals.setFormValue(JSON.stringify(this.participantsWithouOrganizer()), 'participants');\n }\n\n participantsWithouOrganizer() {\n return this.participants.filter(participant => !participant.is_organizer);\n }\n\n // Filter out the participants that are already added\n getArrayDifference(array1: Participant[], array2: Participant[]) {\n const filtered = array1.filter(participant1 => !array2.some(participant2 => participant1.email === participant2.email));\n return filtered.map(participant => {\n return { value: participant.email, label: participant.email };\n });\n }\n\n @RegisterComponent<NylasAdditionalParticipants, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-additional-participants',\n stateToProps: new Map([['schedulerConfig.additionalParticipants', 'participantOptions']]),\n eventToProps: {},\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <nylas-form-card>\n <h3 slot=\"header-title\" class=\"nylas-additional-participants__title\" part=\"nap__title\">\n Additional participants\n </h3>\n <p slot=\"header-subtitle\" class=\"nylas-additional-participants__subtitle\" part=\"nap__subtitle\">\n Add anyone else who would be joining for this event.\n </p>\n <div slot=\"content\" class=\"nylas-additional-participants__content\">\n <div>\n {this.participants.map((participant, index) => {\n return (\n <div class={'nylas-additional-participants__input_group'} part=\"nap__input_group\">\n <label>{participant.is_organizer ? 'Organizer' : `Participant ${index}`}</label>\n <div\n part=\"nap__input_wrapper\"\n class={`nylas-additional-participants__input_wrapper ${participant.is_organizer && 'nylas-additional-participants__input_wrapper_organizer'} ${participant.is_valid === false && 'nylas-additional-participants__input_wrapper_invalid'}`}\n >\n <div class={{ 'nylas-additional-participants__input': true, 'organizer': participant.is_organizer }} part=\"nap__input\">\n {participant.is_organizer ? (\n <input\n type=\"text\"\n value={participant.email}\n onInput={e => {\n this.onParticipantChange(e, index);\n }}\n readOnly={participant.is_organizer}\n onBlur={() => this.validate(participant.email, index)}\n />\n ) : (\n <input-dropdown name={`${index}`} inputValue={participant.email} options={this.getArrayDifference(this.participantOptions || [], this.participants)} />\n )}\n {!participant.is_organizer && (\n <button onClick={() => this.removeParticipant(index)} part=\"nap__remove-participant\">\n <close-icon />\n </button>\n )}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n <button class=\"nylas-additional-participants__add\" part=\"nap__add-participant\" onClick={() => this.addParticipant()}>\n <add-circle-icon /> <span>Add {this.participants.length > 1 ? 'another' : 'a'} participant</span>\n </button>\n </div>\n </nylas-form-card>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug, y as timeToMinutes, z as convertTo12HourFormat, A as minutesToTime, B as convertTo24HourFormat } from './utils-49a1d17b.js';
4
4
  import { T as TIMEZONE_MAP } from './constants-b20948c9.js';
5
5
  import './buffer-es6-5510d761.js';
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import { T as TIMEZONE_MAP } from './constants-b20948c9.js';
5
5
  import './buffer-es6-5510d761.js';
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import './buffer-es6-5510d761.js';
5
5
  import './_commonjsHelpers-6cbf8316.js';
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import { s as sanitizeHtml_1 } from './index-ac065dce.js';
5
5
  import './buffer-es6-5510d761.js';
@@ -232,7 +232,7 @@ const NylasBookingForm = class {
232
232
  this.updateAdditionalFields(event.detail.label, event.detail.checked ? 'true' : 'false', 'checkbox');
233
233
  }
234
234
  render() {
235
- return (h(Host, { key: '5a4ca2feb2f89ada6abada8dd3f6dc4909cb3500' }, h("form", { key: '1df9fb2f5a519f4e3ed189f9a11623caa86f3dee', onSubmit: e => this.bookButtonClickedHandler(e), noValidate: true }, h("div", { key: '86a4548532291a4aec3f004eeeb6edde6064248b', class: "nylas-booking-form" }, h("div", { key: '7749795a2086658ef53cbe1e6dfa073b29b8b880', class: "input-wrapper" }, h("input-component", { key: 'b2fd6473fa91b144cb2a23d1db9059f7aafce20b', label: "Name", name: "name", id: "name", defaultValue: this.bookingInfo?.primaryParticipant?.name || this.name, placeholder: "Enter your name", type: "text", required: true, part: "nbf__input-textfield" })), h("div", { key: 'cf6fca8e8ced455047b555905e5b21ad7307505d', class: "input-wrapper" }, h("input-component", { key: '0a5639811623911f7ed59fa12bd45ceb76ae0373', label: "Email", name: "email", id: "email", pattern: emailRegex, defaultValue: this.bookingInfo?.primaryParticipant?.email || this.email, placeholder: "Enter your email", type: "email", required: true, part: "nbf__input-textfield" })), this.configSettings?.scheduler?.additional_guests_hidden !== true && (h("div", { class: "input-wrapper" }, this.guestEmails.map((email, index) => (h("div", { class: "input-wrapper button-wrapper" }, h("label", { class: {
235
+ return (h(Host, { key: '5a4ca2feb2f89ada6abada8dd3f6dc4909cb3500' }, h("form", { key: '1df9fb2f5a519f4e3ed189f9a11623caa86f3dee', onSubmit: e => this.bookButtonClickedHandler(e), noValidate: true }, h("div", { key: '86a4548532291a4aec3f004eeeb6edde6064248b', class: "nylas-booking-form" }, h("div", { key: '7749795a2086658ef53cbe1e6dfa073b29b8b880', class: "input-wrapper" }, h("input-component", { key: 'b2fd6473fa91b144cb2a23d1db9059f7aafce20b', label: "Name", name: "name", id: "name", defaultValue: this.bookingInfo?.primaryParticipant?.name || this.name, placeholder: "Enter your name", type: "text", required: true, part: "nbf__input-textfield" })), h("div", { key: 'cf6fca8e8ced455047b555905e5b21ad7307505d', class: "input-wrapper" }, h("input-component", { key: '0a5639811623911f7ed59fa12bd45ceb76ae0373', label: "Email", name: "email", id: "email", pattern: emailRegex, defaultValue: this.bookingInfo?.primaryParticipant?.email || this.email, placeholder: "Enter your email", type: "email", required: true, part: "nbf__input-textfield" })), this.configSettings?.scheduler?.hide_additional_guests !== true && (h("div", { class: "input-wrapper" }, this.guestEmails.map((email, index) => (h("div", { class: "input-wrapper button-wrapper" }, h("label", { class: {
236
236
  error: !!this.guestEmailErrors[index],
237
237
  } }, "Guest email"), h("div", { class: "guest-email-input" }, h("input", { type: "email", id: `guest-email-${index}`, maxLength: 100, class: {
238
238
  'guest-email': true,
@@ -240,7 +240,7 @@ const NylasBookingForm = class {
240
240
  }, placeholder: "Enter guest email", value: email, "data-index": index, part: "nbf__input-textfield", onBlur: (e) => this.handleGuestBlur(index, e.target?.value), onInput: (e) => this.handleGuestChange(index, e.target?.value) }), h("button-component", { variant: "basic", onClick: (e) => this.removeGuestButtonClickHandler(e, index), class: {
241
241
  'remove-guest': true,
242
242
  'error': !!this.guestEmailErrors[index],
243
- } }, h("close-icon", null))), h("p", { class: "help-text" }, this.guestEmailErrors[index])))), h("button-component", { class: "add-guest", variant: "invisible", part: "nbf__button-ghost", onClick: e => this.addGuestButtonClickedHandler(e) }, h("div", { class: "button-content" }, h("add-circle-icon", { slot: "icon" }), "Add ", this.guestEmails.length > 0 ? 'another ' : '', "guest")))), h("slot", { key: 'd803e320680a184cf9f88956312f202c353ad8ab', name: "custom-booking-form" })), h("div", { key: '133c6d4edc0cce58ad2c3b1c81f1f4db3af62867', class: "cta" }, h("sp-button", { key: '7c918d85c91574a13c5554f3e3cfea913860cb33', treatment: "outline", variant: "secondary", class: 'back', part: "nbf__button-outline", onClick: this.handleBackButtonClicked }, h("slot", { key: '91e718bf54cb2a9bd6cf387da927888a73608be0', name: "booking-form-back-label" }, "Back")), h("sp-button", { key: '8ee30e206049de131bf443413e914027f9e48d3f', variant: "primary", class: 'book', part: "nbf__button-primary", type: "submit" }, this.isLoading && h("loading-icon", { slot: "icon" }), h("slot", { key: '302f27c0705119d4c20d634c4d94c3569cc18c92', name: "booking-form-book-label" }, "Book now"))))));
243
+ } }, h("close-icon", null))), h("p", { class: "help-text" }, this.guestEmailErrors[index])))), h("button-component", { class: "add-guest", variant: "invisible", part: "nbf__button-ghost", onClick: e => this.addGuestButtonClickedHandler(e) }, h("div", { class: "button-content" }, h("add-circle-icon", { slot: "icon" }), "Add ", this.guestEmails.length > 0 ? 'another ' : '', "guest")))), h("slot", { key: 'd853e1e084cb8c769fa0eb0b1e94b09473f6e670', name: "custom-booking-form" })), h("div", { key: '5239eabf55e8be79d1c17b71c6d7f392f563d54d', class: "cta" }, h("sp-button", { key: '7b11d64985c876327144ef026934357b37b09cb2', treatment: "outline", variant: "secondary", class: 'back', part: "nbf__button-outline", onClick: this.handleBackButtonClicked }, h("slot", { key: '160c368859256544a236a6a010f06eab039dc2ce', name: "booking-form-back-label" }, "Back")), h("sp-button", { key: '6f6c79cf9d8bef6178af788e427f62262d873738', variant: "primary", class: 'book', part: "nbf__button-primary", type: "submit" }, this.isLoading && h("loading-icon", { slot: "icon" }), h("slot", { key: '6fedba0ecc756ceb8941158b6620cdf1df6fe3c0', name: "booking-form-book-label" }, "Book now"))))));
244
244
  }
245
245
  get host() { return getElement(this); }
246
246
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"nylas-booking-form.entry.esm.js","mappings":"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","names":["sanitizeHtml"],"sources":["src/components/scheduler/nylas-booking-form/nylas-booking-form.scss?tag=nylas-booking-form&encapsulation=shadow","src/components/scheduler/nylas-booking-form/nylas-booking-form.tsx"],"sourcesContent":["@import '../../../common/mixins/inputs.scss';\n@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n height: 100%;\n @include default-css-variables;\n}\n\n.nylas-booking-form {\n width: 100%;\n padding: 1.5rem;\n box-sizing: border-box;\n height: 450px;\n overflow-y: auto;\n height: 100%;\n}\n\nform {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n}\n\nsp-textfield {\n --spectrum-corner-radius-100: var(--nylas-border-radius-2x); // Set guest input radius\n --spectrum-textfield-border-color: var(--nylas-base-300);\n position: relative;\n width: 100%;\n height: 48px;\n margin-bottom: 16px;\n color: var(--nylas-base-500);\n}\n\n.cta {\n width: 100%;\n display: flex;\n flex-direction: row;\n @media #{$mobile} {\n flex-direction: column-reverse;\n }\n align-items: flex-start;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n}\n\nsp-button {\n background-color: transparent;\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n --button-width: 50%;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n font-weight: 600;\n border: none;\n height: 48px;\n padding: 14px;\n @media #{$mobile} {\n --button-width: 100%;\n }\n\n &:hover,\n &:focus {\n background-color: var(--nylas-base-100);\n color: var(--nylas-primary);\n border-radius: var(--nylas-border-radius-2x);\n }\n &:active {\n background-color: var(--nylas-base-200);\n color: var(--nylas-base-800);\n }\n\n &.back {\n width: var(--button-width);\n background-color: transparent;\n color: var(--nylas-base-700);\n outline: 1px solid var(--nylas-base-300);\n &:hover,\n &:focus {\n outline-color: var(--nylas-primary);\n }\n &:active {\n outline: 2px solid var(--nylas-base-600);\n }\n }\n\n &.book {\n width: var(--button-width);\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}\n\n.input-wrapper {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 4px;\n margin-bottom: 1rem;\n input::placeholder {\n color: var(--nylas-base-300);\n }\n label,\n input {\n font-family: var(--nylas-font-family);\n font-size: 16px;\n }\n .help-text {\n margin: 0;\n color: var(--nylas-error);\n }\n}\n\n.button-wrapper {\n width: 100%;\n align-items: flex-start;\n height: max-content;\n position: relative;\n}\n\n.button-content {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n\nsp-infield-button {\n --spectrum-infield-button-background-color: transparent;\n --spectrum-infield-button-background-color-hover: transparent;\n --spectrum-infield-button-background-color-active: transparent;\n --spectrum-infield-button-border-color: transparent;\n --spectrum-infield-button-border-width: 1px;\n --spectrum-infield-button-border-radius: 0;\n color: var(--nylas-base-600);\n background: transparent;\n border: none;\n outline: 1px solid var(--nylas-base-300);\n border-radius: 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x) 0;\n height: 52px;\n width: 52px;\n display: flex;\n position: absolute;\n right: 0;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n sp-icon-cross300 {\n color: var(--nylas-base-600);\n }\n &.error {\n border-width: 2px;\n border-color: var(--nylas-error);\n }\n}\n\ninput[type='text'],\ninput[type='email'] {\n @include textfield;\n &.guest-email {\n color: var(--nylas-base-900);\n padding-right: 52px; // Infield button width\n }\n}\n\nlabel {\n @include input-label;\n}\n\nbutton-component.remove-guest {\n position: absolute;\n height: 51px;\n right: 0;\n &.error {\n button {\n border-color: var(--nylas-error);\n }\n }\n button {\n height: inherit;\n border-top-left-radius: initial;\n border-bottom-left-radius: initial;\n border: none !important;\n border-left: 1px solid var(--nylas-base-300) !important;\n &:hover,\n &:focus {\n outline: 1px solid var(--nylas-primary) !important;\n color: var(--nylas-primary);\n }\n }\n}\n\n.guest-email-input {\n position: relative;\n display: flex;\n width: 100%;\n}\n","import { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { RegisterComponent } from '@/common/register-component';\nimport { ConfigSettings, NylasSchedulerConnector } from '../../..';\nimport type { NylasEvent, NylasSchedulerBookingData } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Notification, NylasSchedulerBookingParticipant } from '@nylas/core';\nimport sanitizeHtml from 'sanitize-html';\n\nconst emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n/**\n * The `nylas-booking-form` component is a UI component that allows users to book an event.\n *\n * The booking form component.\n * @part nbf - The booking form host.\n * @part nbf__input-label - The input label.\n * @part nbf__input-textfield - The input textfield.\n * @part nbf__button-ghost - The ghost button for adding guests.\n * @part nbf__button-primary - The primary button for booking.\n * @part nbf__button-outline - The outline button for canceling.\n * @slot custom-booking-form - The custom booking form.\n */\n@Component({\n tag: 'nylas-booking-form',\n styleUrl: 'nylas-booking-form.scss',\n shadow: true,\n})\nexport class NylasBookingForm {\n /**\n * The host element\n */\n @Element() readonly host!: HTMLElement;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The booked event (Used to track if a booking is created in an eventOverride).\n */\n @Prop() readonly eventInfo?: NylasEvent;\n\n /**\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * This event is fired when the name is changed.\n */\n @Event() nameChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the email is changed.\n */\n @Event() emailChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the cancel button is clicked.\n */\n @Event() backButtonClicked!: EventEmitter<boolean>;\n\n /**\n * This event is fired when the book button is clicked and the form is valid.\n */\n @Event() detailsConfirmed!: EventEmitter<NylasSchedulerBookingData>;\n\n /**\n * This event is fired when an error occurs in the booking form.\n */\n @Event() bookingFormError!: EventEmitter<Partial<Notification>>;\n\n /**\n * This event is fired when the booking form is submitted.\n */\n @Event() bookingFormSubmitted!: EventEmitter<void>;\n\n /**\n * The name of the user.\n */\n @State() name: string = '';\n\n /**\n * The email address of the user.\n */\n @State() email: string = '';\n\n /**\n * The guests of the user.\n */\n @State() guestEmails: string[] = [];\n\n /**\n * Guest email input errors.\n */\n @State() guestEmailErrors: { [key: number]: string } = {};\n\n /**\n * State to check if name is valid.\n */\n @State() isNameValid: boolean = true;\n\n /**\n * State to check if email is valid.\n */\n @State() isEmailValid: boolean = true;\n\n @State() additionalFields: {\n name: string;\n value: string;\n type: string;\n }[] = [];\n\n /**\n * Error message state.\n */\n @State() validationError: { name: string; email: string } = { name: '', email: '' };\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {\n debug('nylas-booking-form', 'componentWillLoad', this.bookingInfo);\n if (this.bookingInfo && this.bookingInfo?.primaryParticipant) {\n this.name = this.bookingInfo.primaryParticipant?.name;\n this.email = this.bookingInfo.primaryParticipant?.email;\n }\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue.primaryParticipant) {\n this.name = newValue.primaryParticipant.name;\n this.email = newValue.primaryParticipant.email;\n }\n }\n\n /**\n * Change the name.\n * @param name The name to select.\n */\n changeName(name: string) {\n // Reset the validation error\n this.isNameValid = true;\n this.validationError.name = '';\n\n this.name = sanitizeHtml(name);\n this.nameChanged.emit(name);\n }\n\n /**\n * Change the email.\n * @param email The email to select.\n */\n changeEmail(email: string) {\n // Reset the validation error\n this.isEmailValid = true;\n this.validationError.email = '';\n\n this.email = sanitizeHtml(email);\n this.emailChanged.emit(email);\n }\n\n resetGuestEmailError(guestIndex: number) {\n const errors = { ...this.guestEmailErrors };\n delete errors[guestIndex];\n this.guestEmailErrors = { ...errors };\n }\n\n /**\n * Handle guest emails changed.\n */\n handleGuestChange = (guestIndex: number, email: string) => {\n // Reset the validation error\n this.resetGuestEmailError(guestIndex);\n const guests = [...this.guestEmails];\n guests[guestIndex] = sanitizeHtml(email);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle guest input blur.\n */\n handleGuestBlur = (guestIndex: number, email: string) => {\n this.resetGuestEmailError(guestIndex);\n\n if (email === '') {\n this.guestEmailErrors[guestIndex] = 'Email is required';\n return;\n }\n if (!emailRegex.test(email)) {\n this.guestEmailErrors[guestIndex] = 'Enter a valid email address';\n return;\n }\n this.handleGuestChange(guestIndex, email);\n };\n\n /**\n * Handle add guest button clicked.\n */\n addGuestButtonClickedHandler = e => {\n e.preventDefault();\n this.guestEmails = [...this.guestEmails, ''];\n };\n\n /**\n * Handle remove guest button clicked.\n */\n removeGuestButtonClickHandler = (e: Event, guestIndex: number) => {\n e.preventDefault();\n this.resetGuestEmailError(guestIndex);\n\n const guests = [...this.guestEmails];\n guests.splice(guestIndex, 1);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle back button clicked.\n */\n handleBackButtonClicked = () => {\n this.backButtonClicked.emit();\n };\n\n /**\n * Handle book button clicked.\n */\n bookButtonClickedHandler = async (e: Event) => {\n e.preventDefault();\n const formSubmittedEvent = this.bookingFormSubmitted.emit();\n if (formSubmittedEvent.defaultPrevented) {\n return;\n }\n\n debug('nylas-booking-form', 'bookButtonClickedHandler', this.bookingInfo);\n const name = this.name || this.bookingInfo?.primaryParticipant?.name;\n const email = this.email || this.bookingInfo?.primaryParticipant?.email;\n\n if (!name || name === '') {\n this.isNameValid = false;\n this.validationError.name = 'Name is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Name is required',\n });\n return;\n }\n if (!email || email === '') {\n this.isEmailValid = false;\n this.validationError.email = 'Email is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Email is required',\n });\n return;\n }\n if (!emailRegex.test(email)) {\n this.isEmailValid = false;\n this.validationError.email = 'Enter a valid email address';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Invalid email',\n });\n return;\n }\n\n let guests: NylasSchedulerBookingParticipant[] = [];\n if (this.guestEmails.length > 0) {\n let hasError = false;\n this.guestEmails.forEach((email: string, i: number) => {\n if (email === '') {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: 'Email is required' };\n } else if (!emailRegex.test(email)) {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: 'Enter a valid email address' };\n }\n });\n if (hasError) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Invalid guest email',\n });\n return;\n }\n guests = this.guestEmails.map((email: string) => ({ name: email.trim(), email: email.trim() }));\n } else if (this.bookingInfo?.guests) {\n guests = this.bookingInfo?.guests;\n }\n\n const bookingInfoAdditionalFields = this.bookingInfo?.additionalFields || [];\n this.detailsConfirmed.emit({\n primaryParticipant: {\n name: name,\n email: email,\n },\n guests: guests,\n additionalFields: [...bookingInfoAdditionalFields, ...this.additionalFields],\n });\n };\n\n updateAdditionalFields = (name: string, value: string, type?: string) => {\n const index = this.additionalFields.findIndex(field => field.name === name);\n if (index > -1) {\n this.additionalFields[index].value = value;\n } else {\n this.additionalFields.push({ name: name, value: value, type: type || 'text' });\n }\n };\n\n @Listen('nylasFormInputChanged')\n nylasFormInputChangedHandler(event: CustomEvent<{ value: string; name: string; error: string; label: string; type?: string }>) {\n switch (event.detail.name) {\n case 'name':\n this.changeName(event.detail.value);\n break;\n case 'email':\n this.changeEmail(event.detail.value);\n break;\n default:\n if (event.detail.error) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: event.detail.error,\n });\n return;\n }\n this.updateAdditionalFields(event.detail.label, event.detail.value, event.detail.type);\n break;\n }\n if (event.detail.name === 'name') {\n this.changeName(event.detail.value);\n } else if (event.detail.name === 'email') {\n this.changeEmail(event.detail.value);\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n selectOptionChangedHandler(event: CustomEvent<{ value: string; name: string; label: string; error?: string }>) {\n if (event.detail.error) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: event.detail.error,\n });\n return;\n }\n this.updateAdditionalFields(event.detail.label, event.detail.value, 'dropdown');\n }\n\n @Listen('nylasFormSwitchToggled')\n switchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.label, event.detail.checked ? 'true' : 'false', 'checkbox');\n }\n\n @Listen('nylasFormCheckboxToggled')\n checkboxToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.label, event.detail.checked ? 'true' : 'false', 'checkbox');\n }\n\n @RegisterComponent<NylasBookingForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-booking-form',\n stateToProps: new Map([\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.eventInfo', 'eventInfo'],\n ['scheduler.configSettings', 'configSettings'],\n ]),\n eventToProps: {\n backButtonClicked: async (_event: CustomEvent<boolean>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(false);\n },\n nameChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantName(event.detail);\n },\n emailChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantEmail(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <form onSubmit={e => this.bookButtonClickedHandler(e)} noValidate>\n <div class=\"nylas-booking-form\">\n <div class=\"input-wrapper\">\n <input-component\n label=\"Name\"\n name=\"name\"\n id=\"name\"\n defaultValue={this.bookingInfo?.primaryParticipant?.name || this.name}\n placeholder=\"Enter your name\"\n type=\"text\"\n required={true}\n part=\"nbf__input-textfield\"\n />\n </div>\n <div class=\"input-wrapper\">\n <input-component\n label=\"Email\"\n name=\"email\"\n id=\"email\"\n pattern={emailRegex}\n defaultValue={this.bookingInfo?.primaryParticipant?.email || this.email}\n placeholder=\"Enter your email\"\n type=\"email\"\n required={true}\n part=\"nbf__input-textfield\"\n />\n </div>\n {this.configSettings?.scheduler?.additional_guests_hidden !== true && (\n <div class=\"input-wrapper\">\n {this.guestEmails.map((email, index) => (\n <div class=\"input-wrapper button-wrapper\">\n <label\n class={{\n error: !!this.guestEmailErrors[index],\n }}\n >\n Guest email\n </label>\n <div class=\"guest-email-input\">\n <input\n type=\"email\"\n id={`guest-email-${index}`}\n maxLength={100}\n class={{\n 'guest-email': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n placeholder=\"Enter guest email\"\n value={email}\n data-index={index}\n part=\"nbf__input-textfield\"\n onBlur={(e: Event) => this.handleGuestBlur(index, (e.target as HTMLInputElement)?.value)}\n onInput={(e: Event) => this.handleGuestChange(index, (e.target as HTMLInputElement)?.value)}\n ></input>\n <button-component\n variant=\"basic\"\n onClick={(e: Event) => this.removeGuestButtonClickHandler(e, index)}\n class={{\n 'remove-guest': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n >\n <close-icon />\n </button-component>\n </div>\n <p class=\"help-text\">{this.guestEmailErrors[index]}</p>\n </div>\n ))}\n <button-component class=\"add-guest\" variant=\"invisible\" part=\"nbf__button-ghost\" onClick={e => this.addGuestButtonClickedHandler(e)}>\n <div class=\"button-content\">\n <add-circle-icon slot=\"icon\"></add-circle-icon>\n Add {this.guestEmails.length > 0 ? 'another ' : ''}guest\n </div>\n </button-component>\n </div>\n )}\n <slot name=\"custom-booking-form\"></slot>\n </div>\n <div class=\"cta\">\n <sp-button treatment=\"outline\" variant=\"secondary\" class={'back'} part=\"nbf__button-outline\" onClick={this.handleBackButtonClicked}>\n <slot name=\"booking-form-back-label\">Back</slot>\n </sp-button>\n <sp-button variant=\"primary\" class={'book'} part=\"nbf__button-primary\" type=\"submit\">\n {this.isLoading && <loading-icon slot=\"icon\"></loading-icon>}\n <slot name=\"booking-form-book-label\">Book now</slot>\n </sp-button>\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nylas-booking-form.entry.esm.js","mappings":"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","names":["sanitizeHtml"],"sources":["src/components/scheduler/nylas-booking-form/nylas-booking-form.scss?tag=nylas-booking-form&encapsulation=shadow","src/components/scheduler/nylas-booking-form/nylas-booking-form.tsx"],"sourcesContent":["@import '../../../common/mixins/inputs.scss';\n@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n height: 100%;\n @include default-css-variables;\n}\n\n.nylas-booking-form {\n width: 100%;\n padding: 1.5rem;\n box-sizing: border-box;\n height: 450px;\n overflow-y: auto;\n height: 100%;\n}\n\nform {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n}\n\nsp-textfield {\n --spectrum-corner-radius-100: var(--nylas-border-radius-2x); // Set guest input radius\n --spectrum-textfield-border-color: var(--nylas-base-300);\n position: relative;\n width: 100%;\n height: 48px;\n margin-bottom: 16px;\n color: var(--nylas-base-500);\n}\n\n.cta {\n width: 100%;\n display: flex;\n flex-direction: row;\n @media #{$mobile} {\n flex-direction: column-reverse;\n }\n align-items: flex-start;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 14px;\n box-sizing: border-box;\n border-top: 1px solid var(--nylas-base-200);\n}\n\nsp-button {\n background-color: transparent;\n color: var(--nylas-base-800);\n border-radius: var(--nylas-border-radius-2x);\n --button-width: 50%;\n font-family: var(--nylas-font-family);\n font-size: 16px;\n font-weight: 600;\n border: none;\n height: 48px;\n padding: 14px;\n @media #{$mobile} {\n --button-width: 100%;\n }\n\n &:hover,\n &:focus {\n background-color: var(--nylas-base-100);\n color: var(--nylas-primary);\n border-radius: var(--nylas-border-radius-2x);\n }\n &:active {\n background-color: var(--nylas-base-200);\n color: var(--nylas-base-800);\n }\n\n &.back {\n width: var(--button-width);\n background-color: transparent;\n color: var(--nylas-base-700);\n outline: 1px solid var(--nylas-base-300);\n &:hover,\n &:focus {\n outline-color: var(--nylas-primary);\n }\n &:active {\n outline: 2px solid var(--nylas-base-600);\n }\n }\n\n &.book {\n width: var(--button-width);\n background-color: var(--nylas-primary);\n color: var(--nylas-base-0);\n &:hover,\n &:focus {\n background-color: var(--nylas-base-600);\n }\n &:active {\n background-color: var(--nylas-base-800);\n }\n }\n}\n\n.input-wrapper {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 4px;\n margin-bottom: 1rem;\n input::placeholder {\n color: var(--nylas-base-300);\n }\n label,\n input {\n font-family: var(--nylas-font-family);\n font-size: 16px;\n }\n .help-text {\n margin: 0;\n color: var(--nylas-error);\n }\n}\n\n.button-wrapper {\n width: 100%;\n align-items: flex-start;\n height: max-content;\n position: relative;\n}\n\n.button-content {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n\nsp-infield-button {\n --spectrum-infield-button-background-color: transparent;\n --spectrum-infield-button-background-color-hover: transparent;\n --spectrum-infield-button-background-color-active: transparent;\n --spectrum-infield-button-border-color: transparent;\n --spectrum-infield-button-border-width: 1px;\n --spectrum-infield-button-border-radius: 0;\n color: var(--nylas-base-600);\n background: transparent;\n border: none;\n outline: 1px solid var(--nylas-base-300);\n border-radius: 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x) 0;\n height: 52px;\n width: 52px;\n display: flex;\n position: absolute;\n right: 0;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n sp-icon-cross300 {\n color: var(--nylas-base-600);\n }\n &.error {\n border-width: 2px;\n border-color: var(--nylas-error);\n }\n}\n\ninput[type='text'],\ninput[type='email'] {\n @include textfield;\n &.guest-email {\n color: var(--nylas-base-900);\n padding-right: 52px; // Infield button width\n }\n}\n\nlabel {\n @include input-label;\n}\n\nbutton-component.remove-guest {\n position: absolute;\n height: 51px;\n right: 0;\n &.error {\n button {\n border-color: var(--nylas-error);\n }\n }\n button {\n height: inherit;\n border-top-left-radius: initial;\n border-bottom-left-radius: initial;\n border: none !important;\n border-left: 1px solid var(--nylas-base-300) !important;\n &:hover,\n &:focus {\n outline: 1px solid var(--nylas-primary) !important;\n color: var(--nylas-primary);\n }\n }\n}\n\n.guest-email-input {\n position: relative;\n display: flex;\n width: 100%;\n}\n","import { Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { RegisterComponent } from '@/common/register-component';\nimport { ConfigSettings, NylasSchedulerConnector } from '../../..';\nimport type { NylasEvent, NylasSchedulerBookingData } from '../../..';\nimport { NylasScheduling } from '../nylas-scheduling/nylas-scheduling';\nimport { debug } from '@/utils/utils';\nimport { Notification, NylasSchedulerBookingParticipant } from '@nylas/core';\nimport sanitizeHtml from 'sanitize-html';\n\nconst emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\n/**\n * The `nylas-booking-form` component is a UI component that allows users to book an event.\n *\n * The booking form component.\n * @part nbf - The booking form host.\n * @part nbf__input-label - The input label.\n * @part nbf__input-textfield - The input textfield.\n * @part nbf__button-ghost - The ghost button for adding guests.\n * @part nbf__button-primary - The primary button for booking.\n * @part nbf__button-outline - The outline button for canceling.\n * @slot custom-booking-form - The custom booking form.\n */\n@Component({\n tag: 'nylas-booking-form',\n styleUrl: 'nylas-booking-form.scss',\n shadow: true,\n})\nexport class NylasBookingForm {\n /**\n * The host element\n */\n @Element() readonly host!: HTMLElement;\n\n /**\n * The loading state.\n */\n @Prop() readonly isLoading?: boolean;\n\n /**\n * The booking info.\n */\n @Prop() readonly bookingInfo?: NylasSchedulerBookingData;\n\n /**\n * The booked event (Used to track if a booking is created in an eventOverride).\n */\n @Prop() readonly eventInfo?: NylasEvent;\n\n /**\n * The config settings for the scheduler.\n */\n @Prop() readonly configSettings?: ConfigSettings;\n\n /**\n * This event is fired when the name is changed.\n */\n @Event() nameChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the email is changed.\n */\n @Event() emailChanged!: EventEmitter<string>;\n\n /**\n * This event is fired when the cancel button is clicked.\n */\n @Event() backButtonClicked!: EventEmitter<boolean>;\n\n /**\n * This event is fired when the book button is clicked and the form is valid.\n */\n @Event() detailsConfirmed!: EventEmitter<NylasSchedulerBookingData>;\n\n /**\n * This event is fired when an error occurs in the booking form.\n */\n @Event() bookingFormError!: EventEmitter<Partial<Notification>>;\n\n /**\n * This event is fired when the booking form is submitted.\n */\n @Event() bookingFormSubmitted!: EventEmitter<void>;\n\n /**\n * The name of the user.\n */\n @State() name: string = '';\n\n /**\n * The email address of the user.\n */\n @State() email: string = '';\n\n /**\n * The guests of the user.\n */\n @State() guestEmails: string[] = [];\n\n /**\n * Guest email input errors.\n */\n @State() guestEmailErrors: { [key: number]: string } = {};\n\n /**\n * State to check if name is valid.\n */\n @State() isNameValid: boolean = true;\n\n /**\n * State to check if email is valid.\n */\n @State() isEmailValid: boolean = true;\n\n @State() additionalFields: {\n name: string;\n value: string;\n type: string;\n }[] = [];\n\n /**\n * Error message state.\n */\n @State() validationError: { name: string; email: string } = { name: '', email: '' };\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n componentWillLoad() {\n debug('nylas-booking-form', 'componentWillLoad', this.bookingInfo);\n if (this.bookingInfo && this.bookingInfo?.primaryParticipant) {\n this.name = this.bookingInfo.primaryParticipant?.name;\n this.email = this.bookingInfo.primaryParticipant?.email;\n }\n }\n\n @Watch('bookingInfo')\n bookingInfoChangedHandler(newValue: NylasSchedulerBookingData | undefined) {\n if (newValue && newValue.primaryParticipant) {\n this.name = newValue.primaryParticipant.name;\n this.email = newValue.primaryParticipant.email;\n }\n }\n\n /**\n * Change the name.\n * @param name The name to select.\n */\n changeName(name: string) {\n // Reset the validation error\n this.isNameValid = true;\n this.validationError.name = '';\n\n this.name = sanitizeHtml(name);\n this.nameChanged.emit(name);\n }\n\n /**\n * Change the email.\n * @param email The email to select.\n */\n changeEmail(email: string) {\n // Reset the validation error\n this.isEmailValid = true;\n this.validationError.email = '';\n\n this.email = sanitizeHtml(email);\n this.emailChanged.emit(email);\n }\n\n resetGuestEmailError(guestIndex: number) {\n const errors = { ...this.guestEmailErrors };\n delete errors[guestIndex];\n this.guestEmailErrors = { ...errors };\n }\n\n /**\n * Handle guest emails changed.\n */\n handleGuestChange = (guestIndex: number, email: string) => {\n // Reset the validation error\n this.resetGuestEmailError(guestIndex);\n const guests = [...this.guestEmails];\n guests[guestIndex] = sanitizeHtml(email);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle guest input blur.\n */\n handleGuestBlur = (guestIndex: number, email: string) => {\n this.resetGuestEmailError(guestIndex);\n\n if (email === '') {\n this.guestEmailErrors[guestIndex] = 'Email is required';\n return;\n }\n if (!emailRegex.test(email)) {\n this.guestEmailErrors[guestIndex] = 'Enter a valid email address';\n return;\n }\n this.handleGuestChange(guestIndex, email);\n };\n\n /**\n * Handle add guest button clicked.\n */\n addGuestButtonClickedHandler = e => {\n e.preventDefault();\n this.guestEmails = [...this.guestEmails, ''];\n };\n\n /**\n * Handle remove guest button clicked.\n */\n removeGuestButtonClickHandler = (e: Event, guestIndex: number) => {\n e.preventDefault();\n this.resetGuestEmailError(guestIndex);\n\n const guests = [...this.guestEmails];\n guests.splice(guestIndex, 1);\n this.guestEmails = [...guests];\n };\n\n /**\n * Handle back button clicked.\n */\n handleBackButtonClicked = () => {\n this.backButtonClicked.emit();\n };\n\n /**\n * Handle book button clicked.\n */\n bookButtonClickedHandler = async (e: Event) => {\n e.preventDefault();\n const formSubmittedEvent = this.bookingFormSubmitted.emit();\n if (formSubmittedEvent.defaultPrevented) {\n return;\n }\n\n debug('nylas-booking-form', 'bookButtonClickedHandler', this.bookingInfo);\n const name = this.name || this.bookingInfo?.primaryParticipant?.name;\n const email = this.email || this.bookingInfo?.primaryParticipant?.email;\n\n if (!name || name === '') {\n this.isNameValid = false;\n this.validationError.name = 'Name is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Name is required',\n });\n return;\n }\n if (!email || email === '') {\n this.isEmailValid = false;\n this.validationError.email = 'Email is required';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Email is required',\n });\n return;\n }\n if (!emailRegex.test(email)) {\n this.isEmailValid = false;\n this.validationError.email = 'Enter a valid email address';\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Invalid email',\n });\n return;\n }\n\n let guests: NylasSchedulerBookingParticipant[] = [];\n if (this.guestEmails.length > 0) {\n let hasError = false;\n this.guestEmails.forEach((email: string, i: number) => {\n if (email === '') {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: 'Email is required' };\n } else if (!emailRegex.test(email)) {\n hasError = true;\n this.guestEmailErrors = { ...this.guestEmailErrors, [i]: 'Enter a valid email address' };\n }\n });\n if (hasError) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: 'Invalid guest email',\n });\n return;\n }\n guests = this.guestEmails.map((email: string) => ({ name: email.trim(), email: email.trim() }));\n } else if (this.bookingInfo?.guests) {\n guests = this.bookingInfo?.guests;\n }\n\n const bookingInfoAdditionalFields = this.bookingInfo?.additionalFields || [];\n this.detailsConfirmed.emit({\n primaryParticipant: {\n name: name,\n email: email,\n },\n guests: guests,\n additionalFields: [...bookingInfoAdditionalFields, ...this.additionalFields],\n });\n };\n\n updateAdditionalFields = (name: string, value: string, type?: string) => {\n const index = this.additionalFields.findIndex(field => field.name === name);\n if (index > -1) {\n this.additionalFields[index].value = value;\n } else {\n this.additionalFields.push({ name: name, value: value, type: type || 'text' });\n }\n };\n\n @Listen('nylasFormInputChanged')\n nylasFormInputChangedHandler(event: CustomEvent<{ value: string; name: string; error: string; label: string; type?: string }>) {\n switch (event.detail.name) {\n case 'name':\n this.changeName(event.detail.value);\n break;\n case 'email':\n this.changeEmail(event.detail.value);\n break;\n default:\n if (event.detail.error) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: event.detail.error,\n });\n return;\n }\n this.updateAdditionalFields(event.detail.label, event.detail.value, event.detail.type);\n break;\n }\n if (event.detail.name === 'name') {\n this.changeName(event.detail.value);\n } else if (event.detail.name === 'email') {\n this.changeEmail(event.detail.value);\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n selectOptionChangedHandler(event: CustomEvent<{ value: string; name: string; label: string; error?: string }>) {\n if (event.detail.error) {\n this.bookingFormError.emit({\n title: 'Booking form error',\n description: event.detail.error,\n });\n return;\n }\n this.updateAdditionalFields(event.detail.label, event.detail.value, 'dropdown');\n }\n\n @Listen('nylasFormSwitchToggled')\n switchToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.label, event.detail.checked ? 'true' : 'false', 'checkbox');\n }\n\n @Listen('nylasFormCheckboxToggled')\n checkboxToggledHandler(event: CustomEvent<{ checked: boolean; name: string; label: string }>) {\n this.updateAdditionalFields(event.detail.label, event.detail.checked ? 'true' : 'false', 'checkbox');\n }\n\n @RegisterComponent<NylasBookingForm, NylasSchedulerConnector, Exclude<NylasScheduling['stores'], undefined>>({\n name: 'nylas-booking-form',\n stateToProps: new Map([\n ['scheduler.isLoading', 'isLoading'],\n ['scheduler.bookingInfo', 'bookingInfo'],\n ['scheduler.eventInfo', 'eventInfo'],\n ['scheduler.configSettings', 'configSettings'],\n ]),\n eventToProps: {\n backButtonClicked: async (_event: CustomEvent<boolean>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.toggleAdditionalData(false);\n },\n nameChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantName(event.detail);\n },\n emailChanged: async (event: CustomEvent<string>, nylasSchedulerConnector: NylasSchedulerConnector) => {\n nylasSchedulerConnector.scheduler.setParticipantEmail(event.detail);\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <form onSubmit={e => this.bookButtonClickedHandler(e)} noValidate>\n <div class=\"nylas-booking-form\">\n <div class=\"input-wrapper\">\n <input-component\n label=\"Name\"\n name=\"name\"\n id=\"name\"\n defaultValue={this.bookingInfo?.primaryParticipant?.name || this.name}\n placeholder=\"Enter your name\"\n type=\"text\"\n required={true}\n part=\"nbf__input-textfield\"\n />\n </div>\n <div class=\"input-wrapper\">\n <input-component\n label=\"Email\"\n name=\"email\"\n id=\"email\"\n pattern={emailRegex}\n defaultValue={this.bookingInfo?.primaryParticipant?.email || this.email}\n placeholder=\"Enter your email\"\n type=\"email\"\n required={true}\n part=\"nbf__input-textfield\"\n />\n </div>\n {this.configSettings?.scheduler?.hide_additional_guests !== true && (\n <div class=\"input-wrapper\">\n {this.guestEmails.map((email, index) => (\n <div class=\"input-wrapper button-wrapper\">\n <label\n class={{\n error: !!this.guestEmailErrors[index],\n }}\n >\n Guest email\n </label>\n <div class=\"guest-email-input\">\n <input\n type=\"email\"\n id={`guest-email-${index}`}\n maxLength={100}\n class={{\n 'guest-email': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n placeholder=\"Enter guest email\"\n value={email}\n data-index={index}\n part=\"nbf__input-textfield\"\n onBlur={(e: Event) => this.handleGuestBlur(index, (e.target as HTMLInputElement)?.value)}\n onInput={(e: Event) => this.handleGuestChange(index, (e.target as HTMLInputElement)?.value)}\n ></input>\n <button-component\n variant=\"basic\"\n onClick={(e: Event) => this.removeGuestButtonClickHandler(e, index)}\n class={{\n 'remove-guest': true,\n 'error': !!this.guestEmailErrors[index],\n }}\n >\n <close-icon />\n </button-component>\n </div>\n <p class=\"help-text\">{this.guestEmailErrors[index]}</p>\n </div>\n ))}\n <button-component class=\"add-guest\" variant=\"invisible\" part=\"nbf__button-ghost\" onClick={e => this.addGuestButtonClickedHandler(e)}>\n <div class=\"button-content\">\n <add-circle-icon slot=\"icon\"></add-circle-icon>\n Add {this.guestEmails.length > 0 ? 'another ' : ''}guest\n </div>\n </button-component>\n </div>\n )}\n <slot name=\"custom-booking-form\"></slot>\n </div>\n <div class=\"cta\">\n <sp-button treatment=\"outline\" variant=\"secondary\" class={'back'} part=\"nbf__button-outline\" onClick={this.handleBackButtonClicked}>\n <slot name=\"booking-form-back-label\">Back</slot>\n </sp-button>\n <sp-button variant=\"primary\" class={'book'} part=\"nbf__button-primary\" type=\"submit\">\n {this.isLoading && <loading-icon slot=\"icon\"></loading-icon>}\n <slot name=\"booking-form-book-label\">Book now</slot>\n </sp-button>\n </div>\n </form>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import './buffer-es6-5510d761.js';
5
5
  import './_commonjsHelpers-6cbf8316.js';
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import './buffer-es6-5510d761.js';
5
5
  import './_commonjsHelpers-6cbf8316.js';
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import './buffer-es6-5510d761.js';
5
5
  import './_commonjsHelpers-6cbf8316.js';
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import { s as sanitizeHtml_1 } from './index-ac065dce.js';
5
5
  import './buffer-es6-5510d761.js';
@@ -68,7 +68,7 @@ const NylasCancellationPolicy = class {
68
68
  this.valueChanged.emit({ value: value, name: this.name });
69
69
  }
70
70
  render() {
71
- return (h(Host, { key: '9ad194925cfb18c323d3f75aec51c4ac5ad67230' }, h("div", { key: 'a4ae061a504a0cd6a91dd6dd23adcf7c3b8f43d5', class: "nylas-cancellation-policy", part: "ncpolicy" }, h("label", { key: 'ea742ee8fba2e50a5694c210172e8783fa3d5e7b', htmlFor: this.name }, "Cancellation policy message", h("span", { key: '5c7143f8da100b650aa386c9fb895c3fd9ed2e04', class: "label-icon" }, h("tooltip-component", { key: 'f46c7b94a1a58bd7162e5cfffc14a88b04a18a4c' }, h("info-icon", { key: '9d85ce578da1db7b080f3152b8fdb43834968829', slot: "tooltip-icon" }), h("span", { key: '0e4d0c4f98d1529179622c22fa6bf9d56d085ffb', slot: "tooltip-content" }, "Attendees receive this message if trying to cancel the event. Attendees are asked to provide a reason for cancellation.")))), h("textarea", { key: '570404ef8450c4ef2bb28fad4d1c6359b735abae', id: this.name, part: "ncpolicy__textarea", name: this.name, value: this.message, maxlength: "250", onInput: e => this.handleChange(e) }))));
71
+ return (h(Host, { key: '34cd25b32015d276305a1655cec0e7d943189a4d' }, h("div", { key: '811fd581db9ce4c0aa80dceca9e66d00d1cafb7d', class: "nylas-cancellation-policy", part: "ncpolicy" }, h("label", { key: 'c6693d8f18794177754e708ef725c237f92455d7', htmlFor: this.name }, "Cancellation policy message", h("span", { key: '5c0d9238690e368b63c099625277b85734be5b5c', class: "label-icon" }, h("tooltip-component", { key: '031d9a347cdd9a349747e87ffe68ea0ba611f96f' }, h("info-icon", { key: 'f4e086eb34bfb3eb4fb1997b1047ba22e865f1bc', slot: "tooltip-icon" }), h("span", { key: 'b8dfa32c6c5505561049b0ad2b177c0a912142bf', slot: "tooltip-content" }, "Attendees receive this message if trying to cancel the event. Attendees are asked to provide a reason for cancellation.")))), h("textarea", { key: '2d92b92f7a30f58d0307915293000e4de337808d', id: this.name, part: "ncpolicy__textarea", name: this.name, value: this.message, maxlength: "250", onInput: e => this.handleChange(e) }))));
72
72
  }
73
73
  static get formAssociated() { return true; }
74
74
  get host() { return getElement(this); }
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import './buffer-es6-5510d761.js';
5
5
  import './_commonjsHelpers-6cbf8316.js';
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
2
  import { a as debug } from './utils-49a1d17b.js';
3
3
  import './buffer-es6-5510d761.js';
4
4
  import './_commonjsHelpers-6cbf8316.js';
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import './buffer-es6-5510d761.js';
5
5
  import './_commonjsHelpers-6cbf8316.js';
@@ -95,7 +95,7 @@ const NylasCustomBookingFlow = class {
95
95
  value: 'pre-booking',
96
96
  },
97
97
  ];
98
- return (h(Host, { key: '6202233ce5955be9542db05e648ef2ea2d8c45c2' }, h("div", { key: '990ca595cc8f541902a4bccc7b0bf7f9f029c32a', class: "nylas-custom-booking-flow", part: "ncbf" }, h("div", { key: 'fc8e126be280ce56f968b4759ce549ebfcba5883', class: "header", part: "ncbf__header" }, h("h3", { key: 'b08624ee0a3fbb31c136be140e7c63d2862ae55d' }, "Customize booking flow"), h("p", { key: '0a21993fc37169030332858b01a6b4a4ad838424' }, "Customize how new bookings are handled when a booking is completed.")), bookingOptions.length > 0 ? (h("div", { class: "nylas-custom-booking-flow__dropdown" }, h("span", { class: "label" }, "After a booking is confirmed", h("tooltip-component", null, h("info-icon", { slot: "tooltip-icon" }), h("span", { slot: "tooltip-content" }, "Choose how you\u2019d like to handle new bookings. If you choose to manually confirm/decline bookings, you will be able to review and accept or decline each booking request."))), h("select-dropdown", { name: "booking-type", options: bookingOptions, withSearch: false, exportparts: "sd_dropdown: ncbf__dropdown, sd_dropdown-button: ncbf__dropdown-button, sd_dropdown-content: ncbf__dropdown-content", defaultSelectedOption: bookingOptions.find(cal => cal.value == this.bookingType) ?? bookingOptions[0] }))) : (h("div", { class: "nylas-custom-booking-flow__loading" }, h("span", { class: "label" }, "Select a calendar to book meetings on ", h("info-icon", null)), h("div", { class: "loading-button" }, h("span", null, "Loading...")))))));
98
+ return (h(Host, { key: '21319a4631f1c0990936623d6458ad80c424e508' }, h("div", { key: '314ed4bd9b3057d209825cd93b3bcdde32c00a0d', class: "nylas-custom-booking-flow", part: "ncbf" }, h("div", { key: 'ce531904154c284cd4692ab3e31564be5fe826b1', class: "header", part: "ncbf__header" }, h("h3", { key: '403ef6532fcf5b0ecd79944a02aa287537c677e1' }, "Customize booking flow"), h("p", { key: 'c8a5fb5fb02b7b4687778654b91b983ca210a0da' }, "Customize how new bookings are handled when a booking is completed.")), bookingOptions.length > 0 ? (h("div", { class: "nylas-custom-booking-flow__dropdown" }, h("span", { class: "label" }, "After a booking is confirmed", h("tooltip-component", null, h("info-icon", { slot: "tooltip-icon" }), h("span", { slot: "tooltip-content" }, "Choose how you\u2019d like to handle new bookings. If you choose to manually confirm/decline bookings, you will be able to review and accept or decline each booking request."))), h("select-dropdown", { name: "booking-type", options: bookingOptions, withSearch: false, exportparts: "sd_dropdown: ncbf__dropdown, sd_dropdown-button: ncbf__dropdown-button, sd_dropdown-content: ncbf__dropdown-content", defaultSelectedOption: bookingOptions.find(cal => cal.value == this.bookingType) ?? bookingOptions[0] }))) : (h("div", { class: "nylas-custom-booking-flow__loading" }, h("span", { class: "label" }, "Select a calendar to book meetings on ", h("info-icon", null)), h("div", { class: "loading-button" }, h("span", null, "Loading...")))))));
99
99
  }
100
100
  static get formAssociated() { return true; }
101
101
  get host() { return getElement(this); }
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host, e as getElement } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host, i as getElement } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { a as debug } from './utils-49a1d17b.js';
4
4
  import './buffer-es6-5510d761.js';
5
5
  import './_commonjsHelpers-6cbf8316.js';
@@ -32,7 +32,7 @@ const NylasCustomizeBookingSettings = class {
32
32
  hostRef.$hostElement$["s-ei"] = this.internals;
33
33
  }
34
34
  this.selectedConfiguration = undefined;
35
- this.defaultAdditionalGuestsHidden = this.selectedConfiguration?.scheduler?.additional_guests_hidden ?? false;
35
+ this.defaultAdditionalGuestsHidden = this.selectedConfiguration?.scheduler?.hide_additional_guests ?? false;
36
36
  this.defaultHideCancellationOptions = this.selectedConfiguration?.scheduler?.hide_cancellation_options ?? false;
37
37
  this.defaultHideReschedulingOptions = this.selectedConfiguration?.scheduler?.hide_rescheduling_options ?? false;
38
38
  this.name = 'customize-booking-settings';
@@ -46,7 +46,7 @@ const NylasCustomizeBookingSettings = class {
46
46
  }
47
47
  selectedConfigurationChangedHandler(newValue) {
48
48
  debug('nylas-customize-booking-settings', 'selectedConfigurationChangedHandler', newValue);
49
- this.allowGuestsToInvite = !newValue?.scheduler?.additional_guests_hidden;
49
+ this.allowGuestsToInvite = !newValue?.scheduler?.hide_additional_guests;
50
50
  this.hideCancellationOptions = newValue?.scheduler?.hide_cancellation_options ?? false;
51
51
  this.hideReschedulingOptions = newValue?.scheduler?.hide_rescheduling_options ?? false;
52
52
  }
@@ -78,7 +78,7 @@ const NylasCustomizeBookingSettings = class {
78
78
  checkboxToggledHandler(event) {
79
79
  const { name, checked } = event.detail;
80
80
  switch (name) {
81
- case 'additional_guests_hidden':
81
+ case 'hide_additional_guests':
82
82
  this.allowGuestsToInvite = checked;
83
83
  break;
84
84
  case 'hide_cancellation_options':
@@ -103,7 +103,7 @@ const NylasCustomizeBookingSettings = class {
103
103
  }), this.name);
104
104
  }
105
105
  render() {
106
- return (h(Host, { key: '992ccff7eab4869bf8b845713417b95e3389fd4e' }, h("div", { key: 'b6ef35657d2bbad229988c0b49583230db54161f', class: "nylas-customize-booking-settings", part: "ncbs" }, h("div", { key: 'ff4e03f5c0e9f7d0dae8e231aecc051e6c4c0e19', class: "header", part: "ncbs__header" }, h("h3", { key: 'd2bec3aa510726cbf74972eb88adf5f138ba0b1e' }, "Additional settings"), h("p", { key: 'd77ad0ca1cad6ee54fc7324732d54a8b4a3b8169' }, "Booking settings for the event.")), h("div", { key: '24e2811534d1ecf7fa8581e9fc55c34ceb3ef6d2', class: "nylas-customize-booking-settings__settings", part: "ncbs__settings" }, h("div", { key: '61a22cc50cdc6e625d25c5970cf853e5dd8187ab', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__additional_guests" }, h("checkbox-component", { key: '79b6079f75f2fd1b1c850a29ab5b0c15a8ed7d18', name: "additional_guests_hidden", label: "Allow guests to invite additional guests.", checked: this.allowGuestsToInvite }, h("span", { key: '11955e5ef0d789692ccb6c4657eaa4c45da26706', slot: "label", class: "label" }, h("p", { key: '9b968109bbabf45eab71c2c44534983138f04f23', class: "label-contents" }, "Allow guests to invite additional guests to the booking."), h("tooltip-component", { key: 'a07a91c34ae38dda51d598fb4468df21adb3f7be', id: "guests" }, h("info-icon", { key: '007977190eff2a79fe50de5f46b8fd51ce331cbe', slot: "tooltip-icon" }), h("span", { key: '10f385796d8872f4a2568192ec707268defe89e9', slot: "tooltip-content" }, "Allow guests to invite additional guests to the event. If enabled, the guest will be able to add additional guests' email addresses."))))), h("div", { key: 'a134a6ac8b3908c6fa9c512ee110bcd577aac029', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__rescheduling_options" }, h("checkbox-component", { key: '5ad8ad1c3fb1c937335dd8e0d82a0dd3d5a635dd', name: "hide_rescheduling_options", label: "Hide 'Reschedule' option on booking page and emails.", checked: this.hideReschedulingOptions }, h("span", { key: '40c94ef2bf663ac961eb7aec4bc39691ac6b0818', slot: "label", class: "label" }, h("p", { key: 'd3417ba815f5ab78e503ae6cf9fc7bffcc12d111', class: "label-contents" }, "Hide the\u00A0", h("strong", { key: '7b1c6e8327f76fa552ff9f285bb7d7e88d601a0b' }, "Reschedule"), "\u00A0button on the Scheduling Page and in the email notifications."), h("tooltip-component", { key: '4c9acdacae74c069b6d9c4f2bab65f2f2a8bd3f7', id: "reschedule" }, h("info-icon", { key: '2a16cac01e270b0383377692de9ae13717a2d3d0', slot: "tooltip-icon" }), h("span", { key: '17b130ce1be45cce38f72450bc4e6f63aa0bad41', slot: "tooltip-content" }, "Hide the 'Reschedule' button on the Scheduling page and in the email notifications. If enabled, the guest will not be able to reschedule the booking."))))), h("div", { key: '1ab5fe25b44eae2f53b2018b6f68f14f1845cf77', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__cancellation_options" }, h("checkbox-component", { key: '48502f280cdc6bd9dd4ddfd3b56ee91209b7dec5', name: "hide_cancellation_options", label: "Hide 'Cancel' option on booking page and emails.", checked: this.hideCancellationOptions }, h("span", { key: '4a71756f70076e96ed5eb109f54b679f2267bf69', slot: "label", class: "label" }, h("p", { key: '838fdd1635b8f0ce3f3918adbdd70f516d0fa6bc', class: "label-contents" }, "Hide the\u00A0", h("strong", { key: '85529b0715b538ac7f783d599269bb47bcc5634c' }, "Cancel"), "\u00A0button on the Scheduling Page and in the email notifications."), h("tooltip-component", { key: '748342d43b711d3e3dc28424fe404195c1857c38', id: "cancel" }, h("info-icon", { key: '96e121ef01d79273cd6d170271caadc0aab5e821', slot: "tooltip-icon" }), h("span", { key: '13c99611d0f63cda85aafaf09f29ae283bf52fd5', slot: "tooltip-content" }, "Hide the 'Cancel' button on the Scheduling page and in the email notifications. If enabled, the guest will not be able to cancel the booking.")))))))));
106
+ return (h(Host, { key: '289e0e8ff03e0f033bdedc44a66002d971a01a4a' }, h("div", { key: '198e4e31a02a362c393b0b9395c7ab884dd04928', class: "nylas-customize-booking-settings", part: "ncbs" }, h("div", { key: '4ac0939989b64eec0f4cbe6eebe4132be85112d0', class: "header", part: "ncbs__header" }, h("h3", { key: 'a64955a52821d22f1afab025bf18b0505d0aebcd' }, "Additional settings"), h("p", { key: '413d26d3102c624acd77f1b2d6aaa01e9abf8240' }, "Booking settings for the event.")), h("div", { key: 'e6ddf5653c6188773f59dbd6ca683cf2e5bd2c1d', class: "nylas-customize-booking-settings__settings", part: "ncbs__settings" }, h("div", { key: '47ec40306877e710bc53494e0cb23bd17ec1c803', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__additional_guests" }, h("checkbox-component", { key: '9e5a9452ff0ffe8b590702b91d8dba82512db6cf', name: "hide_additional_guests", label: "Allow guests to invite additional guests.", checked: this.allowGuestsToInvite }, h("span", { key: 'f32cc44ad67e2f135a7581fc72772c156a4f2df6', slot: "label", class: "label" }, h("p", { key: '314d47c72d9a76cca9e94e11bf785b61c6786a48', class: "label-contents" }, "Allow guests to invite additional guests to the booking."), h("tooltip-component", { key: 'd286d724e35b7a8c82c65f42923646c09462fadf', id: "guests" }, h("info-icon", { key: '1feafcf384686c0613c0fe764c09db5b7c1ddae8', slot: "tooltip-icon" }), h("span", { key: '0f17b5425ed3663184150933a86e406a197b18fa', slot: "tooltip-content" }, "Allow guests to invite additional guests to the event. If enabled, the guest will be able to add additional guests' email addresses."))))), h("div", { key: '340b0fcd9d6f263550c347f2a87229a86c674cae', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__rescheduling_options" }, h("checkbox-component", { key: '2453ac1996fd178d363a712b4d378591be3ee32a', name: "hide_rescheduling_options", label: "Hide 'Reschedule' option on booking page and emails.", checked: this.hideReschedulingOptions }, h("span", { key: '2420f028dc654f9a8ce01ec9a924f7e0694da05b', slot: "label", class: "label" }, h("p", { key: '31bdc2ff59f7cef6ebd1c21329e34e001bfb6235', class: "label-contents" }, "Hide the\u00A0", h("strong", { key: '76ecdab15e2fdb90dd1c34f826f0392b145291dc' }, "Reschedule"), "\u00A0button on the Scheduling Page and in the email notifications."), h("tooltip-component", { key: '489a219e2854cd6aae0df6ec8064d262e74a4dfd', id: "reschedule" }, h("info-icon", { key: '6e727527c025b00ae8907a9381fa45f2b30c325b', slot: "tooltip-icon" }), h("span", { key: '732c2be03c7a37d1ba80d99315c462ec65f24406', slot: "tooltip-content" }, "Hide the 'Reschedule' button on the Scheduling page and in the email notifications. If enabled, the guest will not be able to reschedule the booking."))))), h("div", { key: '4b92782d796cd57802c333e72cce4cb56c2424b5', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__cancellation_options" }, h("checkbox-component", { key: 'c27bb8a583f782659c7a8c3fb6320f9bc653f005', name: "hide_cancellation_options", label: "Hide 'Cancel' option on booking page and emails.", checked: this.hideCancellationOptions }, h("span", { key: '9feb0f1f1c9cfc9438317ac1e860265b0365d73c', slot: "label", class: "label" }, h("p", { key: 'e5a072e8381efdd81d96cda680bce8408699988e', class: "label-contents" }, "Hide the\u00A0", h("strong", { key: '7451a2ffc3815301afe3c8c6ae80ecaf7f16075f' }, "Cancel"), "\u00A0button on the Scheduling Page and in the email notifications."), h("tooltip-component", { key: '12ba9c92d34cb63dc3ce23b2ab9b00c54e83afd4', id: "cancel" }, h("info-icon", { key: '159518806d8f14c1b9a6b4b36877d3174883bd7d', slot: "tooltip-icon" }), h("span", { key: '075096f27117b4318f883efe2b523c394394e230', slot: "tooltip-content" }, "Hide the 'Cancel' button on the Scheduling page and in the email notifications. If enabled, the guest will not be able to cancel the booking.")))))))));
107
107
  }
108
108
  static get formAssociated() { return true; }
109
109
  get host() { return getElement(this); }
@@ -1 +1 @@
1
- {"file":"nylas-customize-booking-settings.entry.esm.js","mappings":";;;;;;AAAA,MAAM,gCAAgC,GAAG,iqEAAiqE;;;;;;;;;;;;;;;;MCuB7rE,6BAA6B;;;;;;;;;;;;6CAUS,IAAI,CAAC,qBAAqB,EAAE,SAAS,EAAE,wBAAwB,IAAI,KAAK;8CAKvE,IAAI,CAAC,qBAAqB,EAAE,SAAS,EAAE,yBAAyB,IAAI,KAAK;8CAKzE,IAAI,CAAC,qBAAqB,EAAE,SAAS,EAAE,yBAAyB,IAAI,KAAK;oBAKpG,4BAA4B;mCAKX,IAAI,CAAC,6BAA6B;uCAK9B,IAAI,CAAC,8BAA8B;uCAKnC,IAAI,CAAC,8BAA8B;;IAsB/E,yBAAyB,CAAC,QAAgB;QACxC,KAAK,CAAC,kCAAkC,EAAE,2BAA2B,EAAE,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC1C;IAGD,mCAAmC,CAAC,QAAuB;QACzD,KAAK,CAAC,kCAAkC,EAAE,qCAAqC,EAAE,QAAQ,CAAC,CAAC;QAC3F,IAAI,CAAC,mBAAmB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,wBAAwB,CAAC;QAC1E,IAAI,CAAC,uBAAuB,GAAG,QAAQ,EAAE,SAAS,EAAE,yBAAyB,IAAI,KAAK,CAAC;QACvF,IAAI,CAAC,uBAAuB,GAAG,QAAQ,EAAE,SAAS,EAAE,yBAAyB,IAAI,KAAK,CAAC;KACxF;IAGD,iBAAiB;QACf,KAAK,CAAC,kCAAkC,EAAE,mBAAmB,CAAC,CAAC;KAChE;IAED,oBAAoB;QAClB,KAAK,CAAC,kCAAkC,EAAE,sBAAsB,CAAC,CAAC;KACnE;IAED,iBAAiB;QACf,KAAK,CAAC,kCAAkC,EAAE,mBAAmB,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3C;IAED,gBAAgB;QACd,KAAK,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC;KAC/D;IAED,mBAAmB;QACjB,KAAK,CAAC,kCAAkC,EAAE,qBAAqB,CAAC,CAAC;KAClE;IAED,kBAAkB;QAChB,KAAK,CAAC,kCAAkC,EAAE,oBAAoB,CAAC,CAAC;KACjE;IAED,mBAAmB;QACjB,KAAK,CAAC,kCAAkC,EAAE,qBAAqB,CAAC,CAAC;KAClE;IAED,kBAAkB;QAChB,KAAK,CAAC,kCAAkC,EAAE,oBAAoB,CAAC,CAAC;KACjE;IAGD,sBAAsB,CAAC,KAAsD;QAC3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,QAAQ,IAAI;YACV,KAAK,0BAA0B;gBAC7B,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;gBACnC,MAAM;YACR,KAAK,2BAA2B;gBAC9B,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;gBACvC,MAAM;YACR,KAAK,2BAA2B;gBAC9B,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;gBACvC,MAAM;SACT;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,sBAAsB,EAAE,CAAC,IAAI,CAAC,mBAAmB;gBACjD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;gBACrD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;aACtD,CAAC;YACF,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,IAAI,CAAC,SAAS,CAAC;YACb,sBAAsB,EAAE,CAAC,IAAI,CAAC,mBAAmB;YACjD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;SACtD,CAAC,EACF,IAAI,CAAC,IAAI,CACV,CAAC;KACH;IAOD,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAC,kCAAkC,EAAC,IAAI,EAAC,MAAM,IACvD,4DAAK,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,cAAc,IACrC,mFAA4B,EAC5B,8FAAsC,CAClC,EAEN,4DAAK,KAAK,EAAC,4CAA4C,EAAC,IAAI,EAAC,gBAAgB,IAC3E,4DAAK,KAAK,EAAC,gDAAgD,EAAC,IAAI,EAAC,8CAA8C,IAC7G,2EAAoB,IAAI,EAAC,0BAA0B,EAAC,KAAK,EAAC,2CAA2C,EAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,IACrI,6DAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,IAC9B,0DAAG,KAAK,EAAC,gBAAgB,+DAA6D,EACtF,0EAAmB,EAAE,EAAC,QAAQ,IAC5B,kEAAW,IAAI,EAAC,cAAc,GAAG,EACjC,6DAAM,IAAI,EAAC,iBAAiB,2IAErB,CACW,CACf,CACY,CACjB,EACN,4DAAK,KAAK,EAAC,gDAAgD,EAAC,IAAI,EAAC,iDAAiD,IAChH,2EAAoB,IAAI,EAAC,2BAA2B,EAAC,KAAK,EAAC,sDAAsD,EAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,IACrJ,6DAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,IAC9B,0DAAG,KAAK,EAAC,gBAAgB,sBACT,8EAA2B,wEACvC,EACJ,0EAAmB,EAAE,EAAC,YAAY,IAChC,kEAAW,IAAI,EAAC,cAAc,GAAG,EACjC,6DAAM,IAAI,EAAC,iBAAiB,4JAErB,CACW,CACf,CACY,CACjB,EACN,4DAAK,KAAK,EAAC,gDAAgD,EAAC,IAAI,EAAC,iDAAiD,IAChH,2EAAoB,IAAI,EAAC,2BAA2B,EAAC,KAAK,EAAC,kDAAkD,EAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,IACjJ,6DAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,IAC9B,0DAAG,KAAK,EAAC,gBAAgB,sBACT,0EAAuB,wEACnC,EACJ,0EAAmB,EAAE,EAAC,QAAQ,IAC5B,kEAAW,IAAI,EAAC,cAAc,GAAG,EACjC,6DAAM,IAAI,EAAC,iBAAiB,oJAErB,CACW,CACf,CACY,CACjB,CACF,CACF,CACD,EACP;KACH;;;;;;;;AAzDD;IALC,iBAAiB,CAAmH;QACnI,IAAI,EAAE,kCAAkC;QACxC,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,uCAAuC,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAC3F,iBAAiB,EAAE,IAAI;KACxB,CAAC;;;;2DA0DD;;;;;","names":[],"sources":["src/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.scss?tag=nylas-customize-booking-settings&encapsulation=shadow","src/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-customize-booking-settings {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n .header {\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n h3 {\n margin: 0;\n font-size: 1rem;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n .nylas-customize-booking-settings__settings {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n padding: 1rem;\n margin: 1rem 0;\n .nylas-customize-booking-settings__settings-div {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n }\n}\n\n.label {\n margin-left: 32px;\n font-size: 16px;\n font-weight: 400;\n color: var(--nylas-base-800);\n line-height: 24px;\n .label-contents {\n margin: 0;\n display: inline-block;\n @media #{$mobile} {\n display: block;\n }\n }\n tooltip-component {\n display: inline-block;\n }\n}\n\ntooltip-component#guests::part(tc__content) {\n @media #{$mobile} {\n left: 58px;\n }\n}\n\ntooltip-component#reschedule::part(tc__content) {\n left: 58px;\n @media #{$mobile} {\n left: 58px;\n }\n}\n\ntooltip-component#cancel::part(tc__content) {\n left: -58px;\n @media #{$mobile} {\n left: 58px;\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\n/**\n * The `nylas-customize-booking-settings` component is a UI component that displays the booking calendar picker.\n * @part ncbs - The booking calendar picker container\n * @part ncbs__header - The header of the booking calendar picker\n * @part ncbs__settings - The settings container\n * @part ncbs__settings-div - The div inside the settings container that contains the checkbox and tooltip for each setting\n * @part ncbs__additional_guests - The additional guests setting\n * @part ncbs__cancellation_options - The cancellation options setting\n * @part ncbs__rescheduling_options - The rescheduling options setting\n */\n@Component({\n tag: 'nylas-customize-booking-settings',\n styleUrl: 'nylas-customize-booking-settings.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasCustomizeBookingSettings {\n @Element() host!: HTMLNylasCustomizeBookingSettingsElement;\n /**\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * The default additional guests hidden setting as set in the configuration.\n */\n @Prop() defaultAdditionalGuestsHidden: boolean = this.selectedConfiguration?.scheduler?.additional_guests_hidden ?? false;\n\n /**\n * The default hide cancellation options setting as set in the configuration.\n */\n @Prop() defaultHideCancellationOptions: boolean = this.selectedConfiguration?.scheduler?.hide_cancellation_options ?? false;\n\n /**\n * The default hide rescheduling options setting as set in the configuration.\n */\n @Prop() defaultHideReschedulingOptions: boolean = this.selectedConfiguration?.scheduler?.hide_rescheduling_options ?? false;\n\n /**\n * The name of the calendar picker.\n */\n @Prop() name: string = 'customize-booking-settings';\n\n /**\n * State to store the allowed additional guests setting.\n */\n @State() allowGuestsToInvite: boolean = this.defaultAdditionalGuestsHidden;\n\n /**\n * State to store the hide cancel booking setting.\n */\n @State() hideCancellationOptions: boolean = this.defaultHideCancellationOptions;\n\n /**\n * State to store the hide reschedule booking setting.\n */\n @State() hideReschedulingOptions: boolean = this.defaultHideReschedulingOptions;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * This event is fired when the selected booking calendar changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\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-customize-booking-settings', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-customize-booking-settings', 'selectedConfigurationChangedHandler', newValue);\n this.allowGuestsToInvite = !newValue?.scheduler?.additional_guests_hidden;\n this.hideCancellationOptions = newValue?.scheduler?.hide_cancellation_options ?? false;\n this.hideReschedulingOptions = newValue?.scheduler?.hide_rescheduling_options ?? false;\n }\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-customize-booking-settings', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-customize-booking-settings', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-customize-booking-settings', '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-customize-booking-settings', 'componentDidLoad');\n }\n\n componentWillUpdate() {\n debug('nylas-customize-booking-settings', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-customize-booking-settings', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-customize-booking-settings', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-customize-booking-settings', 'componentDidRender');\n }\n\n @Listen('nylasFormCheckboxToggled')\n checkboxToggledHandler(event: CustomEvent<{ name: string; checked: boolean }>) {\n const { name, checked } = event.detail;\n switch (name) {\n case 'additional_guests_hidden':\n this.allowGuestsToInvite = checked;\n break;\n case 'hide_cancellation_options':\n this.hideCancellationOptions = checked;\n break;\n case 'hide_rescheduling_options':\n this.hideReschedulingOptions = checked;\n break;\n }\n this.valueChanged.emit({\n value: JSON.stringify({\n additionalGuestsHidden: !this.allowGuestsToInvite,\n hideCancellationOptions: this.hideCancellationOptions,\n hideReschedulingOptions: this.hideReschedulingOptions,\n }),\n name: this.name,\n });\n this.internals.setFormValue(\n JSON.stringify({\n additionalGuestsHidden: !this.allowGuestsToInvite,\n hideCancellationOptions: this.hideCancellationOptions,\n hideReschedulingOptions: this.hideReschedulingOptions,\n }),\n this.name,\n );\n }\n\n @RegisterComponent<NylasCustomizeBookingSettings, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-customize-booking-settings',\n stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"nylas-customize-booking-settings\" part=\"ncbs\">\n <div class=\"header\" part=\"ncbs__header\">\n <h3>Additional settings</h3>\n <p>Booking settings for the event.</p>\n </div>\n\n <div class=\"nylas-customize-booking-settings__settings\" part=\"ncbs__settings\">\n <div class=\"nylas-customize-booking-settings__settings-div\" part=\"ncbs__settings-div , ncbs__additional_guests\">\n <checkbox-component name=\"additional_guests_hidden\" label=\"Allow guests to invite additional guests.\" checked={this.allowGuestsToInvite}>\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">Allow guests to invite additional guests to the booking.</p>\n <tooltip-component id=\"guests\">\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n Allow guests to invite additional guests to the event. If enabled, the guest will be able to add additional guests' email addresses.\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n <div class=\"nylas-customize-booking-settings__settings-div\" part=\"ncbs__settings-div , ncbs__rescheduling_options\">\n <checkbox-component name=\"hide_rescheduling_options\" label=\"Hide 'Reschedule' option on booking page and emails.\" checked={this.hideReschedulingOptions}>\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">\n Hide the&nbsp;<strong>Reschedule</strong>&nbsp;button on the Scheduling Page and in the email notifications.\n </p>\n <tooltip-component id=\"reschedule\">\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n Hide the 'Reschedule' button on the Scheduling page and in the email notifications. If enabled, the guest will not be able to reschedule the booking.\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n <div class=\"nylas-customize-booking-settings__settings-div\" part=\"ncbs__settings-div , ncbs__cancellation_options\">\n <checkbox-component name=\"hide_cancellation_options\" label=\"Hide 'Cancel' option on booking page and emails.\" checked={this.hideCancellationOptions}>\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">\n Hide the&nbsp;<strong>Cancel</strong>&nbsp;button on the Scheduling Page and in the email notifications.\n </p>\n <tooltip-component id=\"cancel\">\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n Hide the 'Cancel' button on the Scheduling page and in the email notifications. If enabled, the guest will not be able to cancel the booking.\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nylas-customize-booking-settings.entry.esm.js","mappings":"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","names":[],"sources":["src/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.scss?tag=nylas-customize-booking-settings&encapsulation=shadow","src/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-customize-booking-settings {\n width: inherit;\n display: flex;\n flex-direction: column;\n margin: 1rem;\n border-radius: var(--nylas-border-radius-2x);\n border: 1px solid var(--nylas-base-200);\n .header {\n padding: 1rem;\n border-bottom: 1px solid var(--nylas-base-200);\n h3 {\n margin: 0;\n font-size: 1rem;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n p {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 20px;\n color: var(--nylas-base-600);\n text-align: left;\n }\n }\n .nylas-customize-booking-settings__settings {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n padding: 1rem;\n margin: 1rem 0;\n .nylas-customize-booking-settings__settings-div {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n }\n}\n\n.label {\n margin-left: 32px;\n font-size: 16px;\n font-weight: 400;\n color: var(--nylas-base-800);\n line-height: 24px;\n .label-contents {\n margin: 0;\n display: inline-block;\n @media #{$mobile} {\n display: block;\n }\n }\n tooltip-component {\n display: inline-block;\n }\n}\n\ntooltip-component#guests::part(tc__content) {\n @media #{$mobile} {\n left: 58px;\n }\n}\n\ntooltip-component#reschedule::part(tc__content) {\n left: 58px;\n @media #{$mobile} {\n left: 58px;\n }\n}\n\ntooltip-component#cancel::part(tc__content) {\n left: -58px;\n @media #{$mobile} {\n left: 58px;\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport { Configuration } from '@nylas/core';\n\n/**\n * The `nylas-customize-booking-settings` component is a UI component that displays the booking calendar picker.\n * @part ncbs - The booking calendar picker container\n * @part ncbs__header - The header of the booking calendar picker\n * @part ncbs__settings - The settings container\n * @part ncbs__settings-div - The div inside the settings container that contains the checkbox and tooltip for each setting\n * @part ncbs__additional_guests - The additional guests setting\n * @part ncbs__cancellation_options - The cancellation options setting\n * @part ncbs__rescheduling_options - The rescheduling options setting\n */\n@Component({\n tag: 'nylas-customize-booking-settings',\n styleUrl: 'nylas-customize-booking-settings.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasCustomizeBookingSettings {\n @Element() host!: HTMLNylasCustomizeBookingSettingsElement;\n /**\n * The selected config\n */\n @Prop() selectedConfiguration?: Configuration;\n\n /**\n * The default additional guests hidden setting as set in the configuration.\n */\n @Prop() defaultAdditionalGuestsHidden: boolean = this.selectedConfiguration?.scheduler?.hide_additional_guests ?? false;\n\n /**\n * The default hide cancellation options setting as set in the configuration.\n */\n @Prop() defaultHideCancellationOptions: boolean = this.selectedConfiguration?.scheduler?.hide_cancellation_options ?? false;\n\n /**\n * The default hide rescheduling options setting as set in the configuration.\n */\n @Prop() defaultHideReschedulingOptions: boolean = this.selectedConfiguration?.scheduler?.hide_rescheduling_options ?? false;\n\n /**\n * The name of the calendar picker.\n */\n @Prop() name: string = 'customize-booking-settings';\n\n /**\n * State to store the allowed additional guests setting.\n */\n @State() allowGuestsToInvite: boolean = this.defaultAdditionalGuestsHidden;\n\n /**\n * State to store the hide cancel booking setting.\n */\n @State() hideCancellationOptions: boolean = this.defaultHideCancellationOptions;\n\n /**\n * State to store the hide reschedule booking setting.\n */\n @State() hideReschedulingOptions: boolean = this.defaultHideReschedulingOptions;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * This event is fired when the selected booking calendar changes.\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n valueChanged?: (event: CustomEvent<{ value: string; name: string }>) => void;\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-customize-booking-settings', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n selectedConfigurationChangedHandler(newValue: Configuration) {\n debug('nylas-customize-booking-settings', 'selectedConfigurationChangedHandler', newValue);\n this.allowGuestsToInvite = !newValue?.scheduler?.hide_additional_guests;\n this.hideCancellationOptions = newValue?.scheduler?.hide_cancellation_options ?? false;\n this.hideReschedulingOptions = newValue?.scheduler?.hide_rescheduling_options ?? false;\n }\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-customize-booking-settings', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-customize-booking-settings', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-customize-booking-settings', '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-customize-booking-settings', 'componentDidLoad');\n }\n\n componentWillUpdate() {\n debug('nylas-customize-booking-settings', 'componentWillUpdate');\n }\n\n componentDidUpdate() {\n debug('nylas-customize-booking-settings', 'componentDidUpdate');\n }\n\n componentWillRender() {\n debug('nylas-customize-booking-settings', 'componentWillRender');\n }\n\n componentDidRender() {\n debug('nylas-customize-booking-settings', 'componentDidRender');\n }\n\n @Listen('nylasFormCheckboxToggled')\n checkboxToggledHandler(event: CustomEvent<{ name: string; checked: boolean }>) {\n const { name, checked } = event.detail;\n switch (name) {\n case 'hide_additional_guests':\n this.allowGuestsToInvite = checked;\n break;\n case 'hide_cancellation_options':\n this.hideCancellationOptions = checked;\n break;\n case 'hide_rescheduling_options':\n this.hideReschedulingOptions = checked;\n break;\n }\n this.valueChanged.emit({\n value: JSON.stringify({\n additionalGuestsHidden: !this.allowGuestsToInvite,\n hideCancellationOptions: this.hideCancellationOptions,\n hideReschedulingOptions: this.hideReschedulingOptions,\n }),\n name: this.name,\n });\n this.internals.setFormValue(\n JSON.stringify({\n additionalGuestsHidden: !this.allowGuestsToInvite,\n hideCancellationOptions: this.hideCancellationOptions,\n hideReschedulingOptions: this.hideReschedulingOptions,\n }),\n this.name,\n );\n }\n\n @RegisterComponent<NylasCustomizeBookingSettings, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-customize-booking-settings',\n stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),\n fireRegisterEvent: true,\n })\n render() {\n return (\n <Host>\n <div class=\"nylas-customize-booking-settings\" part=\"ncbs\">\n <div class=\"header\" part=\"ncbs__header\">\n <h3>Additional settings</h3>\n <p>Booking settings for the event.</p>\n </div>\n\n <div class=\"nylas-customize-booking-settings__settings\" part=\"ncbs__settings\">\n <div class=\"nylas-customize-booking-settings__settings-div\" part=\"ncbs__settings-div , ncbs__additional_guests\">\n <checkbox-component name=\"hide_additional_guests\" label=\"Allow guests to invite additional guests.\" checked={this.allowGuestsToInvite}>\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">Allow guests to invite additional guests to the booking.</p>\n <tooltip-component id=\"guests\">\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n Allow guests to invite additional guests to the event. If enabled, the guest will be able to add additional guests' email addresses.\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n <div class=\"nylas-customize-booking-settings__settings-div\" part=\"ncbs__settings-div , ncbs__rescheduling_options\">\n <checkbox-component name=\"hide_rescheduling_options\" label=\"Hide 'Reschedule' option on booking page and emails.\" checked={this.hideReschedulingOptions}>\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">\n Hide the&nbsp;<strong>Reschedule</strong>&nbsp;button on the Scheduling Page and in the email notifications.\n </p>\n <tooltip-component id=\"reschedule\">\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n Hide the 'Reschedule' button on the Scheduling page and in the email notifications. If enabled, the guest will not be able to reschedule the booking.\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n <div class=\"nylas-customize-booking-settings__settings-div\" part=\"ncbs__settings-div , ncbs__cancellation_options\">\n <checkbox-component name=\"hide_cancellation_options\" label=\"Hide 'Cancel' option on booking page and emails.\" checked={this.hideCancellationOptions}>\n <span slot=\"label\" class=\"label\">\n <p class=\"label-contents\">\n Hide the&nbsp;<strong>Cancel</strong>&nbsp;button on the Scheduling Page and in the email notifications.\n </p>\n <tooltip-component id=\"cancel\">\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">\n Hide the 'Cancel' button on the Scheduling page and in the email notifications. If enabled, the guest will not be able to cancel the booking.\n </span>\n </tooltip-component>\n </span>\n </checkbox-component>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, i as createEvent, h, a as Host } from './index-8362ce5c.js';
2
- import { R as RegisterComponent } from './register-component-8e4e394f.js';
1
+ import { r as registerInstance, a as createEvent, h, e as Host } from './index-582cfc93.js';
2
+ import { R as RegisterComponent } from './register-component-6ae95538.js';
3
3
  import { h as addDaysToCurrentDate, l as getLastDayOfMonth, m as getFirstDayOfMonth, n as isSameDay, o as convertMinutesToHoursAndMinutes, p as isSameMonth } from './utils-49a1d17b.js';
4
4
  import './buffer-es6-5510d761.js';
5
5
  import './_commonjsHelpers-6cbf8316.js';