@nylas/web-elements 1.1.0-canary.16 → 1.1.0-canary.17

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 (672) hide show
  1. package/dist/cjs/add-circle-icon.cjs.entry.js +1 -1
  2. package/dist/cjs/add-circle-icon_2.cjs.entry.js +2 -2
  3. package/dist/cjs/archive-icon.cjs.entry.js +1 -1
  4. package/dist/cjs/archive-icon_7.cjs.entry.js +7 -7
  5. package/dist/cjs/arrow-icon.cjs.entry.js +1 -1
  6. package/dist/cjs/bold-icon.cjs.entry.js +1 -1
  7. package/dist/cjs/bold-icon_3.cjs.entry.js +3 -3
  8. package/dist/cjs/button-component.cjs.entry.js +1 -1
  9. package/dist/cjs/calendar-cancel-icon.cjs.entry.js +1 -1
  10. package/dist/cjs/calendar-check-icon.cjs.entry.js +1 -1
  11. package/dist/cjs/calendar-check-icon_2.cjs.entry.js +2 -2
  12. package/dist/cjs/calendar-icon.cjs.entry.js +1 -1
  13. package/dist/cjs/calendar-info-icon.cjs.entry.js +1 -1
  14. package/dist/cjs/{calendar-info-icon_27.cjs.entry.js → calendar-info-icon_28.cjs.entry.js} +300 -412
  15. package/dist/cjs/calendar-info-icon_28.cjs.entry.js.map +1 -0
  16. package/dist/cjs/calendar-patterns-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/checkbox-component.cjs.entry.js +1 -1
  18. package/dist/cjs/checkbox-component.cjs.entry.js.map +1 -1
  19. package/dist/cjs/checkmark-circle-icon.cjs.entry.js +1 -1
  20. package/dist/cjs/chevron-icon.cjs.entry.js +1 -1
  21. package/dist/cjs/chevron-icon_3.cjs.entry.js +4 -4
  22. package/dist/cjs/clock-icon.cjs.entry.js +1 -1
  23. package/dist/cjs/clock-icon_2.cjs.entry.js +2 -2
  24. package/dist/cjs/close-icon.cjs.entry.js +1 -1
  25. package/dist/cjs/document-refresh-icon.cjs.entry.js +1 -1
  26. package/dist/cjs/flow-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/folder-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/forward-icon.cjs.entry.js +1 -1
  29. package/dist/cjs/forward-icon_6.cjs.entry.js +7 -7
  30. package/dist/cjs/globe-icon.cjs.entry.js +1 -1
  31. package/dist/cjs/google-logo-icon.cjs.entry.js +1 -1
  32. package/dist/cjs/google-logo-icon_4.cjs.entry.js +96 -78
  33. package/dist/cjs/google-logo-icon_4.cjs.entry.js.map +1 -1
  34. package/dist/cjs/inbox-icon.cjs.entry.js +1 -1
  35. package/dist/cjs/index-7af03e3f.js +10 -10
  36. package/dist/cjs/index-c14ea8f5.js +18 -14
  37. package/dist/cjs/info-icon.cjs.entry.js +1 -1
  38. package/dist/cjs/info-icon_2.cjs.entry.js +2 -2
  39. package/dist/cjs/input-component.cjs.entry.js +1 -1
  40. package/dist/cjs/input-dropdown.cjs.entry.js +13 -3
  41. package/dist/cjs/input-dropdown.cjs.entry.js.map +1 -1
  42. package/dist/cjs/input-dropdown_2.cjs.entry.js +14 -4
  43. package/dist/cjs/input-dropdown_2.cjs.entry.js.map +1 -1
  44. package/dist/cjs/italic-icon.cjs.entry.js +1 -1
  45. package/dist/cjs/loader.cjs.js +1 -1
  46. package/dist/cjs/loading-icon.cjs.entry.js +1 -1
  47. package/dist/cjs/location-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/location-off-icon.cjs.entry.js +1 -1
  49. package/dist/cjs/microsoft-logo-icon.cjs.entry.js +1 -1
  50. package/dist/cjs/multi-select-dropdown.cjs.entry.js +2 -2
  51. package/dist/cjs/nylas-additional-participants.cjs.entry.js +16 -12
  52. package/dist/cjs/nylas-additional-participants.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nylas-availability-picker.cjs.entry.js +27 -16
  54. package/dist/cjs/nylas-availability-picker.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nylas-booked-event-card_10.cjs.entry.js +4 -4
  56. package/dist/cjs/nylas-cancel-booking-form.cjs.entry.js +1 -1
  57. package/dist/cjs/nylas-cancellation-policy.cjs.entry.js +1 -1
  58. package/dist/cjs/nylas-cancelled-event-card.cjs.entry.js +1 -1
  59. package/dist/cjs/nylas-composer.cjs.entry.js +1 -1
  60. package/dist/cjs/nylas-custom-booking-flow.cjs.entry.js +1 -1
  61. package/dist/cjs/nylas-customize-booking-settings.cjs.entry.js +1 -1
  62. package/dist/cjs/nylas-editor-tabs.cjs.entry.js +94 -76
  63. package/dist/cjs/nylas-editor-tabs.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nylas-event-info.cjs.entry.js +1 -1
  65. package/dist/cjs/nylas-event-limits.cjs.entry.js +1 -1
  66. package/dist/cjs/nylas-event-location.cjs.entry.js +3 -3
  67. package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
  68. package/dist/cjs/nylas-if-state.cjs.entry.js +1 -1
  69. package/dist/cjs/nylas-limit-future-bookings.cjs.entry.js +1 -1
  70. package/dist/cjs/nylas-list-folders.cjs.entry.js +1 -1
  71. package/dist/cjs/nylas-list-threads.cjs.entry.js +1 -1
  72. package/dist/cjs/nylas-login.cjs.entry.js +1 -1
  73. package/dist/cjs/nylas-logo.cjs.entry.js +1 -1
  74. package/dist/cjs/nylas-mailbox-toolbar-button.cjs.entry.js +1 -1
  75. package/dist/cjs/nylas-mailbox.cjs.entry.js +1 -1
  76. package/dist/cjs/nylas-min-booking-notice.cjs.entry.js +1 -1
  77. package/dist/cjs/nylas-min-cancellation-notice.cjs.entry.js +1 -1
  78. package/dist/cjs/nylas-notification.cjs.entry.js +1 -1
  79. package/dist/cjs/nylas-participants-custom-availability.cjs.entry.js +142 -0
  80. package/dist/cjs/nylas-participants-custom-availability.cjs.entry.js.map +1 -0
  81. package/dist/cjs/nylas-provider.cjs.entry.js +1 -1
  82. package/dist/cjs/nylas-summarize-message-button.cjs.entry.js +2 -2
  83. package/dist/cjs/nylas-threads-refresh.cjs.entry.js +2 -2
  84. package/dist/cjs/nylas-threads-search.cjs.entry.js +1 -1
  85. package/dist/cjs/nylas-time-window-picker.cjs.entry.js +1 -1
  86. package/dist/cjs/nylas-timeslot-interval.cjs.entry.js +2 -2
  87. package/dist/cjs/nylas-view-email.cjs.entry.js +1 -1
  88. package/dist/cjs/nylas-view-thread.cjs.entry.js +1 -1
  89. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  90. package/dist/cjs/people-icon.cjs.entry.js +1 -1
  91. package/dist/cjs/person-icon.cjs.entry.js +1 -1
  92. package/dist/cjs/play-icon.cjs.entry.js +1 -1
  93. package/dist/cjs/play-icon_2.cjs.entry.js +2 -2
  94. package/dist/cjs/radio-button-group.cjs.entry.js +1 -1
  95. package/dist/cjs/refresh-icon.cjs.entry.js +1 -1
  96. package/dist/cjs/reply-all-icon.cjs.entry.js +1 -1
  97. package/dist/cjs/reply-icon.cjs.entry.js +1 -1
  98. package/dist/cjs/search-icon.cjs.entry.js +1 -1
  99. package/dist/cjs/select-dropdown.cjs.entry.js +2 -2
  100. package/dist/cjs/sent-icon.cjs.entry.js +1 -1
  101. package/dist/cjs/spam-icon.cjs.entry.js +1 -1
  102. package/dist/cjs/star-icon.cjs.entry.js +1 -1
  103. package/dist/cjs/stop-icon.cjs.entry.js +1 -1
  104. package/dist/cjs/textarea-component.cjs.entry.js +1 -1
  105. package/dist/cjs/time-period-selector.cjs.entry.js +1 -1
  106. package/dist/cjs/toggle-switch.cjs.entry.js +1 -1
  107. package/dist/cjs/toggle-switch.cjs.entry.js.map +1 -1
  108. package/dist/cjs/tooltip-component.cjs.entry.js +1 -1
  109. package/dist/cjs/translate-icon.cjs.entry.js +1 -1
  110. package/dist/cjs/trash-icon.cjs.entry.js +1 -1
  111. package/dist/cjs/underline-icon.cjs.entry.js +1 -1
  112. package/dist/cjs/warning-icon.cjs.entry.js +1 -1
  113. package/dist/collection/collection-manifest.json +1 -0
  114. package/dist/collection/common/icons/add-circle.js +1 -1
  115. package/dist/collection/common/icons/archive.js +1 -1
  116. package/dist/collection/common/icons/arrow.js +1 -1
  117. package/dist/collection/common/icons/bold.js +1 -1
  118. package/dist/collection/common/icons/calendar-cancel.js +1 -1
  119. package/dist/collection/common/icons/calendar-check.js +1 -1
  120. package/dist/collection/common/icons/calendar-info.js +1 -1
  121. package/dist/collection/common/icons/calendar-patterns.js +1 -1
  122. package/dist/collection/common/icons/calendar.js +1 -1
  123. package/dist/collection/common/icons/checkmark-circle.js +1 -1
  124. package/dist/collection/common/icons/chevron.js +1 -1
  125. package/dist/collection/common/icons/clock.js +1 -1
  126. package/dist/collection/common/icons/close.js +1 -1
  127. package/dist/collection/common/icons/document-refresh.js +1 -1
  128. package/dist/collection/common/icons/flow.js +1 -1
  129. package/dist/collection/common/icons/folder.js +1 -1
  130. package/dist/collection/common/icons/forward.js +1 -1
  131. package/dist/collection/common/icons/globe.js +1 -1
  132. package/dist/collection/common/icons/google-logo.js +1 -1
  133. package/dist/collection/common/icons/inbox.js +1 -1
  134. package/dist/collection/common/icons/info.js +1 -1
  135. package/dist/collection/common/icons/italic.js +1 -1
  136. package/dist/collection/common/icons/loading.js +1 -1
  137. package/dist/collection/common/icons/location-off.js +1 -1
  138. package/dist/collection/common/icons/location.js +1 -1
  139. package/dist/collection/common/icons/microsoft-logo.js +1 -1
  140. package/dist/collection/common/icons/nylas-logo.js +1 -1
  141. package/dist/collection/common/icons/people.js +1 -1
  142. package/dist/collection/common/icons/person.js +1 -1
  143. package/dist/collection/common/icons/play.js +1 -1
  144. package/dist/collection/common/icons/refresh.js +1 -1
  145. package/dist/collection/common/icons/reply-all.js +1 -1
  146. package/dist/collection/common/icons/reply.js +1 -1
  147. package/dist/collection/common/icons/search.js +1 -1
  148. package/dist/collection/common/icons/sent.js +1 -1
  149. package/dist/collection/common/icons/spam.js +1 -1
  150. package/dist/collection/common/icons/star.js +1 -1
  151. package/dist/collection/common/icons/stop.js +1 -1
  152. package/dist/collection/common/icons/translate.js +1 -1
  153. package/dist/collection/common/icons/trash.js +1 -1
  154. package/dist/collection/common/icons/underline.js +1 -1
  155. package/dist/collection/common/icons/warning.js +1 -1
  156. package/dist/collection/components/design-system/button-component/button-component.js +1 -1
  157. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js +1 -1
  158. package/dist/collection/components/design-system/checkbox-component/checkbox-component.js.map +1 -1
  159. package/dist/collection/components/design-system/input-component/input-component.js +1 -1
  160. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js +31 -3
  161. package/dist/collection/components/design-system/input-dropdown/input-dropdown.js.map +1 -1
  162. package/dist/collection/components/design-system/multi-select-dropdown/multi-select-dropdown.js +2 -2
  163. package/dist/collection/components/design-system/radio-button-group/radio-button-group.js +1 -1
  164. package/dist/collection/components/design-system/select-dropdown/select-dropdown.js +2 -2
  165. package/dist/collection/components/design-system/textarea-component/textarea-component.js +1 -1
  166. package/dist/collection/components/design-system/time-period-selector/time-period-selector.js +1 -1
  167. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js +1 -1
  168. package/dist/collection/components/design-system/toggle-switch/toggle-switch.js.map +1 -1
  169. package/dist/collection/components/design-system/tooltip-component/toolitp-component.js +1 -1
  170. package/dist/collection/components/mailbox/nylas-composer/nylas-composer.js +1 -1
  171. package/dist/collection/components/mailbox/nylas-list-folders/nylas-list-folders.js +1 -1
  172. package/dist/collection/components/mailbox/nylas-list-threads/nylas-list-threads.js +1 -1
  173. package/dist/collection/components/mailbox/nylas-mailbox/nylas-mailbox.js +1 -1
  174. package/dist/collection/components/mailbox/nylas-mailbox-toolbar-button/nylas-mailbox-toolbar-button.js +1 -1
  175. package/dist/collection/components/mailbox/nylas-summarize-message-button/nylas-summarize-message-button.js +2 -2
  176. package/dist/collection/components/mailbox/nylas-threads-refresh/nylas-threads-refresh.js +2 -2
  177. package/dist/collection/components/mailbox/nylas-threads-search/nylas-threads-search.js +1 -1
  178. package/dist/collection/components/mailbox/nylas-view-email/nylas-view-email.js +1 -1
  179. package/dist/collection/components/mailbox/nylas-view-thread/nylas-view-thread.js +1 -1
  180. package/dist/collection/components/nylas-if-state/nylas-if-state.js +1 -1
  181. package/dist/collection/components/nylas-login/nylas-login.js +1 -1
  182. package/dist/collection/components/nylas-provider/nylas-provider.js +1 -1
  183. package/dist/collection/components/scheduler/nylas-cancel-booking-form/nylas-cancel-booking-form.js +1 -1
  184. package/dist/collection/components/scheduler/nylas-cancelled-event-card/nylas-cancelled-event-card.js +1 -1
  185. package/dist/collection/components/scheduler/nylas-notification/nylas-notification.js +1 -1
  186. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +33 -12
  187. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  188. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.css +1 -1
  189. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js +48 -25
  190. package/dist/collection/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.js.map +1 -1
  191. package/dist/collection/components/scheduler-editor/nylas-cancellation-policy/nylas-cancellation-policy.js +1 -1
  192. package/dist/collection/components/scheduler-editor/nylas-custom-booking-flow/nylas-custom-booking-flow.js +1 -1
  193. package/dist/collection/components/scheduler-editor/nylas-customize-booking-settings/nylas-customize-booking-settings.js +1 -1
  194. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +92 -75
  195. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  196. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js +1 -1
  197. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/tab-contents.js.map +1 -1
  198. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  199. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  200. package/dist/collection/components/scheduler-editor/nylas-event-location/nylas-event-location.js +3 -3
  201. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  202. package/dist/collection/components/scheduler-editor/nylas-limit-future-bookings/nylas-limit-future-bookings.js +1 -1
  203. package/dist/collection/components/scheduler-editor/nylas-min-booking-notice/nylas-min-booking-notice.js +1 -1
  204. package/dist/collection/components/scheduler-editor/nylas-min-cancellation-notice/nylas-min-cancellation-notice.js +1 -1
  205. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.css +98 -0
  206. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js +219 -0
  207. package/dist/collection/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.js.map +1 -0
  208. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +1 -1
  209. package/dist/collection/components/scheduler-editor/nylas-time-window-picker/nylas-time-window-picker.js +1 -1
  210. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +2 -2
  211. package/dist/components/add-circle.js +1 -1
  212. package/dist/components/archive.js +1 -1
  213. package/dist/components/arrow.js +1 -1
  214. package/dist/components/bold.js +1 -1
  215. package/dist/components/button-component2.js +1 -1
  216. package/dist/components/calendar-cancel.js +1 -1
  217. package/dist/components/calendar-check.js +1 -1
  218. package/dist/components/calendar-info.js +1 -1
  219. package/dist/components/calendar-patterns.js +1 -1
  220. package/dist/components/calendar.js +1 -1
  221. package/dist/components/checkbox-component2.js +1 -1
  222. package/dist/components/checkbox-component2.js.map +1 -1
  223. package/dist/components/checkmark-circle.js +1 -1
  224. package/dist/components/chevron.js +1 -1
  225. package/dist/components/clock.js +1 -1
  226. package/dist/components/close.js +1 -1
  227. package/dist/components/document-refresh-icon.js +1 -1
  228. package/dist/components/flow.js +1 -1
  229. package/dist/components/folder.js +1 -1
  230. package/dist/components/forward.js +1 -1
  231. package/dist/components/globe.js +1 -1
  232. package/dist/components/google-logo.js +1 -1
  233. package/dist/components/inbox.js +1 -1
  234. package/dist/components/info.js +1 -1
  235. package/dist/components/input-component2.js +1 -1
  236. package/dist/components/input-dropdown2.js +14 -3
  237. package/dist/components/input-dropdown2.js.map +1 -1
  238. package/dist/components/italic.js +1 -1
  239. package/dist/components/loading.js +1 -1
  240. package/dist/components/location-off.js +1 -1
  241. package/dist/components/location.js +1 -1
  242. package/dist/components/microsoft-logo.js +1 -1
  243. package/dist/components/multi-select-dropdown2.js +2 -2
  244. package/dist/components/nylas-additional-participants2.js +17 -13
  245. package/dist/components/nylas-additional-participants2.js.map +1 -1
  246. package/dist/components/nylas-availability-picker2.js +28 -16
  247. package/dist/components/nylas-availability-picker2.js.map +1 -1
  248. package/dist/components/nylas-cancel-booking-form2.js +1 -1
  249. package/dist/components/nylas-cancellation-policy2.js +1 -1
  250. package/dist/components/nylas-cancelled-event-card2.js +1 -1
  251. package/dist/components/nylas-composer2.js +1 -1
  252. package/dist/components/nylas-custom-booking-flow.js +1 -1
  253. package/dist/components/nylas-customize-booking-settings2.js +1 -1
  254. package/dist/components/nylas-editor-tabs2.js +184 -154
  255. package/dist/components/nylas-editor-tabs2.js.map +1 -1
  256. package/dist/components/nylas-event-info2.js +1 -1
  257. package/dist/components/nylas-event-limits2.js +1 -1
  258. package/dist/components/nylas-event-location2.js +3 -3
  259. package/dist/components/nylas-form-card2.js +1 -1
  260. package/dist/components/nylas-if-state.js +1 -1
  261. package/dist/components/nylas-limit-future-bookings2.js +1 -1
  262. package/dist/components/nylas-list-folders.js +1 -1
  263. package/dist/components/nylas-list-threads.js +1 -1
  264. package/dist/components/nylas-login.js +1 -1
  265. package/dist/components/nylas-logo2.js +1 -1
  266. package/dist/components/nylas-mailbox-toolbar-button.js +1 -1
  267. package/dist/components/nylas-mailbox.js +1 -1
  268. package/dist/components/nylas-min-booking-notice2.js +1 -1
  269. package/dist/components/nylas-min-cancellation-notice2.js +1 -1
  270. package/dist/components/nylas-notification2.js +1 -1
  271. package/dist/components/nylas-participants-custom-availability.d.ts +11 -0
  272. package/dist/components/nylas-participants-custom-availability.js +8 -0
  273. package/dist/components/nylas-participants-custom-availability.js.map +1 -0
  274. package/dist/components/nylas-participants-custom-availability2.js +218 -0
  275. package/dist/components/nylas-participants-custom-availability2.js.map +1 -0
  276. package/dist/components/nylas-provider.js +1 -1
  277. package/dist/components/nylas-scheduler-editor.js +100 -88
  278. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  279. package/dist/components/nylas-summarize-message-button2.js +2 -2
  280. package/dist/components/nylas-threads-refresh.js +2 -2
  281. package/dist/components/nylas-threads-search.js +1 -1
  282. package/dist/components/nylas-time-window-picker2.js +1 -1
  283. package/dist/components/nylas-timeslot-interval2.js +2 -2
  284. package/dist/components/nylas-view-email2.js +1 -1
  285. package/dist/components/nylas-view-thread.js +1 -1
  286. package/dist/components/people.js +1 -1
  287. package/dist/components/person.js +1 -1
  288. package/dist/components/play.js +1 -1
  289. package/dist/components/radio-button-group2.js +1 -1
  290. package/dist/components/refresh.js +1 -1
  291. package/dist/components/reply-all.js +1 -1
  292. package/dist/components/reply.js +1 -1
  293. package/dist/components/search.js +1 -1
  294. package/dist/components/select-dropdown2.js +2 -2
  295. package/dist/components/sent.js +1 -1
  296. package/dist/components/spam.js +1 -1
  297. package/dist/components/star.js +1 -1
  298. package/dist/components/stop.js +1 -1
  299. package/dist/components/textarea-component.js +1 -1
  300. package/dist/components/time-period-selector2.js +1 -1
  301. package/dist/components/toggle-switch.js +1 -49
  302. package/dist/components/toggle-switch.js.map +1 -1
  303. package/dist/components/toggle-switch2.js +53 -0
  304. package/dist/components/toggle-switch2.js.map +1 -0
  305. package/dist/components/toolitp-component.js +1 -1
  306. package/dist/components/translate.js +1 -1
  307. package/dist/components/trash.js +1 -1
  308. package/dist/components/underline.js +1 -1
  309. package/dist/components/warning.js +1 -1
  310. package/dist/esm/add-circle-icon.entry.js +1 -1
  311. package/dist/esm/add-circle-icon_2.entry.js +2 -2
  312. package/dist/esm/archive-icon.entry.js +1 -1
  313. package/dist/esm/archive-icon_7.entry.js +7 -7
  314. package/dist/esm/arrow-icon.entry.js +1 -1
  315. package/dist/esm/bold-icon.entry.js +1 -1
  316. package/dist/esm/bold-icon_3.entry.js +3 -3
  317. package/dist/esm/button-component.entry.js +1 -1
  318. package/dist/esm/calendar-cancel-icon.entry.js +1 -1
  319. package/dist/esm/calendar-check-icon.entry.js +1 -1
  320. package/dist/esm/calendar-check-icon_2.entry.js +2 -2
  321. package/dist/esm/calendar-icon.entry.js +1 -1
  322. package/dist/esm/calendar-info-icon.entry.js +1 -1
  323. package/dist/esm/{calendar-info-icon_27.entry.js → calendar-info-icon_28.entry.js} +300 -413
  324. package/dist/esm/calendar-info-icon_28.entry.js.map +1 -0
  325. package/dist/esm/calendar-patterns-icon.entry.js +1 -1
  326. package/dist/esm/checkbox-component.entry.js +1 -1
  327. package/dist/esm/checkbox-component.entry.js.map +1 -1
  328. package/dist/esm/checkmark-circle-icon.entry.js +1 -1
  329. package/dist/esm/chevron-icon.entry.js +1 -1
  330. package/dist/esm/chevron-icon_3.entry.js +4 -4
  331. package/dist/esm/clock-icon.entry.js +1 -1
  332. package/dist/esm/clock-icon_2.entry.js +2 -2
  333. package/dist/esm/close-icon.entry.js +1 -1
  334. package/dist/esm/document-refresh-icon.entry.js +1 -1
  335. package/dist/esm/flow-icon.entry.js +1 -1
  336. package/dist/esm/folder-icon.entry.js +1 -1
  337. package/dist/esm/forward-icon.entry.js +1 -1
  338. package/dist/esm/forward-icon_6.entry.js +7 -7
  339. package/dist/esm/globe-icon.entry.js +1 -1
  340. package/dist/esm/google-logo-icon.entry.js +1 -1
  341. package/dist/esm/google-logo-icon_4.entry.js +96 -78
  342. package/dist/esm/google-logo-icon_4.entry.js.map +1 -1
  343. package/dist/esm/inbox-icon.entry.js +1 -1
  344. package/dist/esm/index-582cfc93.js +18 -14
  345. package/dist/esm/index-7cb0dd3d.js +10 -10
  346. package/dist/esm/{index.es-896126fc.js → index.es-c5a8a1ac.js} +2 -2
  347. package/dist/esm/{index.es-896126fc.js.map → index.es-c5a8a1ac.js.map} +1 -1
  348. package/dist/esm/index.js +2 -2
  349. package/dist/esm/info-icon.entry.js +1 -1
  350. package/dist/esm/info-icon_2.entry.js +2 -2
  351. package/dist/esm/input-component.entry.js +1 -1
  352. package/dist/esm/input-dropdown.entry.js +13 -3
  353. package/dist/esm/input-dropdown.entry.js.map +1 -1
  354. package/dist/esm/input-dropdown_2.entry.js +14 -4
  355. package/dist/esm/input-dropdown_2.entry.js.map +1 -1
  356. package/dist/esm/italic-icon.entry.js +1 -1
  357. package/dist/esm/loader.js +1 -1
  358. package/dist/esm/loading-icon.entry.js +1 -1
  359. package/dist/esm/location-icon.entry.js +1 -1
  360. package/dist/esm/location-off-icon.entry.js +1 -1
  361. package/dist/esm/{mailbox-store-c9b2a4fd.js → mailbox-store-94133e15.js} +3 -3
  362. package/dist/esm/{mailbox-store-c9b2a4fd.js.map → mailbox-store-94133e15.js.map} +1 -1
  363. package/dist/esm/microsoft-logo-icon.entry.js +1 -1
  364. package/dist/esm/multi-select-dropdown.entry.js +3 -3
  365. package/dist/esm/nylas-additional-participants.entry.js +19 -15
  366. package/dist/esm/nylas-additional-participants.entry.js.map +1 -1
  367. package/dist/esm/{nylas-api-request-27e81d64.js → nylas-api-request-5ac7887c.js} +2 -2
  368. package/dist/esm/{nylas-api-request-27e81d64.js.map → nylas-api-request-5ac7887c.js.map} +1 -1
  369. package/dist/esm/nylas-availability-picker.entry.js +29 -18
  370. package/dist/esm/nylas-availability-picker.entry.js.map +1 -1
  371. package/dist/esm/nylas-booked-event-card.entry.js +2 -2
  372. package/dist/esm/nylas-booked-event-card_10.entry.js +4 -4
  373. package/dist/esm/nylas-booking-calendar-picker.entry.js +2 -2
  374. package/dist/esm/nylas-booking-form.entry.js +2 -2
  375. package/dist/esm/nylas-buffer-time.entry.js +2 -2
  376. package/dist/esm/nylas-calendar-picker.entry.js +2 -2
  377. package/dist/esm/nylas-cancel-booking-form.entry.js +3 -3
  378. package/dist/esm/nylas-cancellation-policy.entry.js +3 -3
  379. package/dist/esm/nylas-cancelled-event-card.entry.js +3 -3
  380. package/dist/esm/nylas-composer.entry.js +2 -2
  381. package/dist/esm/nylas-custom-booking-flow.entry.js +3 -3
  382. package/dist/esm/nylas-customize-booking-settings.entry.js +3 -3
  383. package/dist/esm/nylas-date-picker.entry.js +2 -2
  384. package/dist/esm/nylas-editor-tabs.entry.js +96 -78
  385. package/dist/esm/nylas-editor-tabs.entry.js.map +1 -1
  386. package/dist/esm/nylas-event-description.entry.js +2 -2
  387. package/dist/esm/nylas-event-duration.entry.js +2 -2
  388. package/dist/esm/nylas-event-info.entry.js +3 -3
  389. package/dist/esm/nylas-event-limits.entry.js +3 -3
  390. package/dist/esm/nylas-event-location.entry.js +5 -5
  391. package/dist/esm/nylas-event-title.entry.js +2 -2
  392. package/dist/esm/nylas-form-card.entry.js +3 -3
  393. package/dist/esm/nylas-if-state.entry.js +3 -3
  394. package/dist/esm/nylas-limit-future-bookings.entry.js +3 -3
  395. package/dist/esm/nylas-list-configurations.entry.js +2 -2
  396. package/dist/esm/nylas-list-folders.entry.js +3 -3
  397. package/dist/esm/nylas-list-threads.entry.js +3 -3
  398. package/dist/esm/nylas-locale-switch.entry.js +2 -2
  399. package/dist/esm/nylas-login.entry.js +3 -3
  400. package/dist/esm/nylas-logo.entry.js +1 -1
  401. package/dist/esm/nylas-mailbox-pagination.entry.js +2 -2
  402. package/dist/esm/nylas-mailbox-toolbar-button.entry.js +3 -3
  403. package/dist/esm/nylas-mailbox.entry.js +4 -4
  404. package/dist/esm/nylas-min-booking-notice.entry.js +3 -3
  405. package/dist/esm/nylas-min-cancellation-notice.entry.js +3 -3
  406. package/dist/esm/nylas-notification.entry.js +2 -2
  407. package/dist/esm/nylas-participants-custom-availability.entry.js +138 -0
  408. package/dist/esm/nylas-participants-custom-availability.entry.js.map +1 -0
  409. package/dist/esm/nylas-provider.entry.js +5 -5
  410. package/dist/esm/nylas-scheduler-editor.entry.js +3 -3
  411. package/dist/esm/nylas-scheduling.entry.js +3 -3
  412. package/dist/esm/nylas-selected-event-card.entry.js +2 -2
  413. package/dist/esm/nylas-summarize-message-button.entry.js +4 -4
  414. package/dist/esm/nylas-threads-refresh.entry.js +4 -4
  415. package/dist/esm/nylas-threads-search.entry.js +3 -3
  416. package/dist/esm/nylas-time-window-picker.entry.js +2 -2
  417. package/dist/esm/nylas-timeslot-interval.entry.js +4 -4
  418. package/dist/esm/nylas-timeslot-picker.entry.js +2 -2
  419. package/dist/esm/nylas-view-email.entry.js +2 -2
  420. package/dist/esm/nylas-view-thread.entry.js +3 -3
  421. package/dist/esm/nylas-web-elements.js +1 -1
  422. package/dist/esm/people-icon.entry.js +1 -1
  423. package/dist/esm/person-icon.entry.js +1 -1
  424. package/dist/esm/play-icon.entry.js +1 -1
  425. package/dist/esm/play-icon_2.entry.js +2 -2
  426. package/dist/esm/radio-button-group.entry.js +1 -1
  427. package/dist/esm/refresh-icon.entry.js +1 -1
  428. package/dist/esm/{register-component-6ae95538.js → register-component-aef40ec4.js} +2 -2
  429. package/dist/esm/{register-component-6ae95538.js.map → register-component-aef40ec4.js.map} +1 -1
  430. package/dist/esm/reply-all-icon.entry.js +1 -1
  431. package/dist/esm/reply-icon.entry.js +1 -1
  432. package/dist/esm/{scheduler-store-17f7f1c8.js → scheduler-store-6c4866d6.js} +2 -2
  433. package/dist/{nylas-web-elements/scheduler-store-17f7f1c8.js.map → esm/scheduler-store-6c4866d6.js.map} +1 -1
  434. package/dist/esm/search-icon.entry.js +1 -1
  435. package/dist/esm/select-dropdown.entry.js +2 -2
  436. package/dist/esm/sent-icon.entry.js +1 -1
  437. package/dist/esm/spam-icon.entry.js +1 -1
  438. package/dist/esm/star-icon.entry.js +1 -1
  439. package/dist/esm/stop-icon.entry.js +1 -1
  440. package/dist/esm/textarea-component.entry.js +1 -1
  441. package/dist/esm/time-period-selector.entry.js +2 -2
  442. package/dist/esm/toggle-switch.entry.js +1 -1
  443. package/dist/esm/toggle-switch.entry.js.map +1 -1
  444. package/dist/esm/tooltip-component.entry.js +1 -1
  445. package/dist/esm/translate-icon.entry.js +1 -1
  446. package/dist/esm/trash-icon.entry.js +1 -1
  447. package/dist/esm/underline-icon.entry.js +1 -1
  448. package/dist/{nylas-web-elements/utils-49a1d17b.js → esm/utils-04c10cbd.js} +2 -2
  449. package/dist/esm/{utils-49a1d17b.js.map → utils-04c10cbd.js.map} +1 -1
  450. package/dist/esm/warning-icon.entry.js +1 -1
  451. package/dist/nylas-web-elements/add-circle-icon.entry.js +1 -1
  452. package/dist/nylas-web-elements/archive-icon.entry.js +1 -1
  453. package/dist/nylas-web-elements/arrow-icon.entry.js +1 -1
  454. package/dist/nylas-web-elements/bold-icon.entry.js +1 -1
  455. package/dist/nylas-web-elements/button-component.entry.js +1 -1
  456. package/dist/nylas-web-elements/calendar-cancel-icon.entry.js +1 -1
  457. package/dist/nylas-web-elements/calendar-check-icon.entry.js +1 -1
  458. package/dist/nylas-web-elements/calendar-icon.entry.js +1 -1
  459. package/dist/nylas-web-elements/calendar-info-icon.entry.js +1 -1
  460. package/dist/nylas-web-elements/calendar-patterns-icon.entry.js +1 -1
  461. package/dist/nylas-web-elements/checkbox-component.entry.js +1 -1
  462. package/dist/nylas-web-elements/checkbox-component.entry.js.map +1 -1
  463. package/dist/nylas-web-elements/checkmark-circle-icon.entry.js +1 -1
  464. package/dist/nylas-web-elements/chevron-icon.entry.js +1 -1
  465. package/dist/nylas-web-elements/clock-icon.entry.js +1 -1
  466. package/dist/nylas-web-elements/close-icon.entry.js +1 -1
  467. package/dist/nylas-web-elements/document-refresh-icon.entry.js +1 -1
  468. package/dist/nylas-web-elements/flow-icon.entry.js +1 -1
  469. package/dist/nylas-web-elements/folder-icon.entry.js +1 -1
  470. package/dist/nylas-web-elements/forward-icon.entry.js +1 -1
  471. package/dist/nylas-web-elements/globe-icon.entry.js +1 -1
  472. package/dist/nylas-web-elements/google-logo-icon.entry.js +1 -1
  473. package/dist/nylas-web-elements/inbox-icon.entry.js +1 -1
  474. package/dist/nylas-web-elements/{index.es-896126fc.js → index.es-c5a8a1ac.js} +2 -2
  475. package/dist/nylas-web-elements/{index.es-896126fc.js.map → index.es-c5a8a1ac.js.map} +1 -1
  476. package/dist/nylas-web-elements/index.esm.js +2 -2
  477. package/dist/nylas-web-elements/info-icon.entry.js +1 -1
  478. package/dist/nylas-web-elements/input-component.entry.js +1 -1
  479. package/dist/nylas-web-elements/input-dropdown.entry.js +13 -3
  480. package/dist/nylas-web-elements/input-dropdown.entry.js.map +1 -1
  481. package/dist/nylas-web-elements/italic-icon.entry.js +1 -1
  482. package/dist/nylas-web-elements/loading-icon.entry.js +1 -1
  483. package/dist/nylas-web-elements/location-icon.entry.js +1 -1
  484. package/dist/nylas-web-elements/location-off-icon.entry.js +1 -1
  485. package/dist/nylas-web-elements/{mailbox-store-c9b2a4fd.js → mailbox-store-94133e15.js} +3 -3
  486. package/dist/nylas-web-elements/{mailbox-store-c9b2a4fd.js.map → mailbox-store-94133e15.js.map} +1 -1
  487. package/dist/nylas-web-elements/microsoft-logo-icon.entry.js +1 -1
  488. package/dist/nylas-web-elements/multi-select-dropdown.entry.js +3 -3
  489. package/dist/nylas-web-elements/nylas-additional-participants.entry.js +19 -15
  490. package/dist/nylas-web-elements/nylas-additional-participants.entry.js.map +1 -1
  491. package/dist/nylas-web-elements/{nylas-api-request-27e81d64.js → nylas-api-request-5ac7887c.js} +2 -2
  492. package/dist/nylas-web-elements/{nylas-api-request-27e81d64.js.map → nylas-api-request-5ac7887c.js.map} +1 -1
  493. package/dist/nylas-web-elements/nylas-availability-picker.entry.js +29 -18
  494. package/dist/nylas-web-elements/nylas-availability-picker.entry.js.map +1 -1
  495. package/dist/nylas-web-elements/nylas-booked-event-card.entry.js +2 -2
  496. package/dist/nylas-web-elements/nylas-booking-calendar-picker.entry.js +2 -2
  497. package/dist/nylas-web-elements/nylas-booking-form.entry.js +2 -2
  498. package/dist/nylas-web-elements/nylas-buffer-time.entry.js +2 -2
  499. package/dist/nylas-web-elements/nylas-calendar-picker.entry.js +2 -2
  500. package/dist/nylas-web-elements/nylas-cancel-booking-form.entry.js +3 -3
  501. package/dist/nylas-web-elements/nylas-cancellation-policy.entry.js +3 -3
  502. package/dist/nylas-web-elements/nylas-cancelled-event-card.entry.js +3 -3
  503. package/dist/nylas-web-elements/nylas-composer.entry.js +2 -2
  504. package/dist/nylas-web-elements/nylas-custom-booking-flow.entry.js +3 -3
  505. package/dist/nylas-web-elements/nylas-customize-booking-settings.entry.js +3 -3
  506. package/dist/nylas-web-elements/nylas-date-picker.entry.js +2 -2
  507. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js +96 -78
  508. package/dist/nylas-web-elements/nylas-editor-tabs.entry.js.map +1 -1
  509. package/dist/nylas-web-elements/nylas-event-description.entry.js +2 -2
  510. package/dist/nylas-web-elements/nylas-event-duration.entry.js +2 -2
  511. package/dist/nylas-web-elements/nylas-event-info.entry.js +3 -3
  512. package/dist/nylas-web-elements/nylas-event-limits.entry.js +3 -3
  513. package/dist/nylas-web-elements/nylas-event-location.entry.js +5 -5
  514. package/dist/nylas-web-elements/nylas-event-title.entry.js +2 -2
  515. package/dist/nylas-web-elements/nylas-form-card.entry.js +3 -3
  516. package/dist/nylas-web-elements/nylas-if-state.entry.js +3 -3
  517. package/dist/nylas-web-elements/nylas-limit-future-bookings.entry.js +3 -3
  518. package/dist/nylas-web-elements/nylas-list-configurations.entry.js +2 -2
  519. package/dist/nylas-web-elements/nylas-list-folders.entry.js +3 -3
  520. package/dist/nylas-web-elements/nylas-list-threads.entry.js +3 -3
  521. package/dist/nylas-web-elements/nylas-locale-switch.entry.js +2 -2
  522. package/dist/nylas-web-elements/nylas-login.entry.js +3 -3
  523. package/dist/nylas-web-elements/nylas-logo.entry.js +1 -1
  524. package/dist/nylas-web-elements/nylas-mailbox-pagination.entry.js +2 -2
  525. package/dist/nylas-web-elements/nylas-mailbox-toolbar-button.entry.js +3 -3
  526. package/dist/nylas-web-elements/nylas-mailbox.entry.js +4 -4
  527. package/dist/nylas-web-elements/nylas-min-booking-notice.entry.js +3 -3
  528. package/dist/nylas-web-elements/nylas-min-cancellation-notice.entry.js +3 -3
  529. package/dist/nylas-web-elements/nylas-notification.entry.js +2 -2
  530. package/dist/nylas-web-elements/nylas-participants-custom-availability.entry.js +138 -0
  531. package/dist/nylas-web-elements/nylas-participants-custom-availability.entry.js.map +1 -0
  532. package/dist/nylas-web-elements/nylas-provider.entry.js +5 -5
  533. package/dist/nylas-web-elements/nylas-scheduler-editor.entry.js +3 -3
  534. package/dist/nylas-web-elements/nylas-scheduling.entry.js +3 -3
  535. package/dist/nylas-web-elements/nylas-selected-event-card.entry.js +2 -2
  536. package/dist/nylas-web-elements/nylas-summarize-message-button.entry.js +4 -4
  537. package/dist/nylas-web-elements/nylas-threads-refresh.entry.js +4 -4
  538. package/dist/nylas-web-elements/nylas-threads-search.entry.js +3 -3
  539. package/dist/nylas-web-elements/nylas-time-window-picker.entry.js +2 -2
  540. package/dist/nylas-web-elements/nylas-timeslot-interval.entry.js +4 -4
  541. package/dist/nylas-web-elements/nylas-timeslot-picker.entry.js +2 -2
  542. package/dist/nylas-web-elements/nylas-view-email.entry.js +2 -2
  543. package/dist/nylas-web-elements/nylas-view-thread.entry.js +3 -3
  544. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  545. package/dist/nylas-web-elements/{p-e4a7746d.entry.js → p-012cb022.entry.js} +2 -2
  546. package/dist/nylas-web-elements/{p-b9064de4.entry.js → p-017f2538.entry.js} +2 -2
  547. package/dist/nylas-web-elements/p-086746ee.entry.js +2 -0
  548. package/dist/nylas-web-elements/p-0919bbbe.entry.js +2 -0
  549. package/dist/nylas-web-elements/{p-da21471c.entry.js → p-13eb1a05.entry.js} +2 -2
  550. package/dist/nylas-web-elements/{p-deafc6bc.entry.js → p-1569f74f.entry.js} +2 -2
  551. package/dist/nylas-web-elements/{p-6e888067.entry.js → p-23c143f6.entry.js} +2 -2
  552. package/dist/nylas-web-elements/p-2743621d.entry.js +2 -0
  553. package/dist/nylas-web-elements/p-2743621d.entry.js.map +1 -0
  554. package/dist/nylas-web-elements/{p-a7dd4c24.entry.js → p-30144ca0.entry.js} +2 -2
  555. package/dist/nylas-web-elements/{p-11f94952.entry.js → p-336631dd.entry.js} +2 -2
  556. package/dist/nylas-web-elements/p-43bfaa93.entry.js +2 -0
  557. package/dist/nylas-web-elements/{p-120d2c72.entry.js → p-4e48846a.entry.js} +2 -2
  558. package/dist/nylas-web-elements/{p-4b84ab3f.entry.js → p-5fd52ecd.entry.js} +2 -2
  559. package/dist/nylas-web-elements/p-62cf46ee.entry.js +2 -0
  560. package/dist/nylas-web-elements/{p-32682655.entry.js → p-672f1951.entry.js} +2 -2
  561. package/dist/nylas-web-elements/{p-ace74b9d.entry.js → p-84c53084.entry.js} +2 -2
  562. package/dist/nylas-web-elements/{p-470536e0.entry.js → p-8c1a5e57.entry.js} +2 -2
  563. package/dist/nylas-web-elements/p-8eddadb3.entry.js +2 -0
  564. package/dist/nylas-web-elements/{p-0dbc0c01.entry.js.map → p-8eddadb3.entry.js.map} +1 -1
  565. package/dist/nylas-web-elements/p-938d4ec9.entry.js +2 -0
  566. package/dist/nylas-web-elements/{p-fbac3865.entry.js.map → p-938d4ec9.entry.js.map} +1 -1
  567. package/dist/nylas-web-elements/{p-6891ad5d.entry.js → p-a118f20c.entry.js} +2 -2
  568. package/dist/nylas-web-elements/{p-24082558.entry.js → p-a5dbdc8e.entry.js} +2 -2
  569. package/dist/nylas-web-elements/{p-4fdc6122.entry.js → p-a7640232.entry.js} +2 -2
  570. package/dist/nylas-web-elements/{p-09fec39c.entry.js → p-a804616a.entry.js} +2 -2
  571. package/dist/nylas-web-elements/{p-27db7b0b.entry.js → p-ad93d3bd.entry.js} +3 -3
  572. package/dist/nylas-web-elements/{p-bfd3b5f0.entry.js → p-b3d46e08.entry.js} +2 -2
  573. package/dist/nylas-web-elements/{p-4b1466b3.entry.js → p-b443f769.entry.js} +2 -2
  574. package/dist/nylas-web-elements/{p-c8c737ed.entry.js → p-c1df61d0.entry.js} +2 -2
  575. package/dist/nylas-web-elements/{p-395f49eb.entry.js → p-cc67e6a8.entry.js} +2 -2
  576. package/dist/nylas-web-elements/{p-4f548e66.entry.js → p-d1d984c5.entry.js} +2 -2
  577. package/dist/nylas-web-elements/{p-98a2f588.entry.js → p-d9a145a5.entry.js} +2 -2
  578. package/dist/nylas-web-elements/p-dcb497d4.entry.js +2 -0
  579. package/dist/nylas-web-elements/p-dcb497d4.entry.js.map +1 -0
  580. package/dist/nylas-web-elements/{p-13b003b5.entry.js → p-df2b34ee.entry.js} +2 -2
  581. package/dist/nylas-web-elements/{p-ec26560f.entry.js → p-e9c1e983.entry.js} +2 -2
  582. package/dist/nylas-web-elements/p-e9f7d494.entry.js +2 -0
  583. package/dist/nylas-web-elements/{p-53da3000.entry.js.map → p-e9f7d494.entry.js.map} +1 -1
  584. package/dist/nylas-web-elements/p-f1e9ed6b.entry.js +2 -0
  585. package/dist/nylas-web-elements/p-f1e9ed6b.entry.js.map +1 -0
  586. package/dist/nylas-web-elements/p-f8e0164c.entry.js +2 -0
  587. package/dist/nylas-web-elements/p-f8e0164c.entry.js.map +1 -0
  588. package/dist/nylas-web-elements/{p-b27e34a9.entry.js → p-fbfa3a7d.entry.js} +2 -2
  589. package/dist/nylas-web-elements/{p-d5146511.entry.js → p-fd8e29e6.entry.js} +2 -2
  590. package/dist/nylas-web-elements/people-icon.entry.js +1 -1
  591. package/dist/nylas-web-elements/person-icon.entry.js +1 -1
  592. package/dist/nylas-web-elements/play-icon.entry.js +1 -1
  593. package/dist/nylas-web-elements/radio-button-group.entry.js +1 -1
  594. package/dist/nylas-web-elements/refresh-icon.entry.js +1 -1
  595. package/dist/nylas-web-elements/{register-component-6ae95538.js → register-component-aef40ec4.js} +2 -2
  596. package/dist/nylas-web-elements/{register-component-6ae95538.js.map → register-component-aef40ec4.js.map} +1 -1
  597. package/dist/nylas-web-elements/reply-all-icon.entry.js +1 -1
  598. package/dist/nylas-web-elements/reply-icon.entry.js +1 -1
  599. package/dist/nylas-web-elements/{scheduler-store-17f7f1c8.js → scheduler-store-6c4866d6.js} +2 -2
  600. package/dist/{esm/scheduler-store-17f7f1c8.js.map → nylas-web-elements/scheduler-store-6c4866d6.js.map} +1 -1
  601. package/dist/nylas-web-elements/search-icon.entry.js +1 -1
  602. package/dist/nylas-web-elements/select-dropdown.entry.js +2 -2
  603. package/dist/nylas-web-elements/sent-icon.entry.js +1 -1
  604. package/dist/nylas-web-elements/spam-icon.entry.js +1 -1
  605. package/dist/nylas-web-elements/star-icon.entry.js +1 -1
  606. package/dist/nylas-web-elements/stop-icon.entry.js +1 -1
  607. package/dist/nylas-web-elements/textarea-component.entry.js +1 -1
  608. package/dist/nylas-web-elements/time-period-selector.entry.js +2 -2
  609. package/dist/nylas-web-elements/toggle-switch.entry.js +1 -1
  610. package/dist/nylas-web-elements/toggle-switch.entry.js.map +1 -1
  611. package/dist/nylas-web-elements/tooltip-component.entry.js +1 -1
  612. package/dist/nylas-web-elements/translate-icon.entry.js +1 -1
  613. package/dist/nylas-web-elements/trash-icon.entry.js +1 -1
  614. package/dist/nylas-web-elements/underline-icon.entry.js +1 -1
  615. package/dist/{esm/utils-49a1d17b.js → nylas-web-elements/utils-04c10cbd.js} +2 -2
  616. package/dist/nylas-web-elements/{utils-49a1d17b.js.map → utils-04c10cbd.js.map} +1 -1
  617. package/dist/nylas-web-elements/warning-icon.entry.js +1 -1
  618. package/dist/types/components/design-system/input-dropdown/input-dropdown.d.ts +2 -0
  619. package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +6 -1
  620. package/dist/types/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.d.ts +2 -4
  621. package/dist/types/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.d.ts +12 -5
  622. package/dist/types/components/scheduler-editor/nylas-participants-custom-availability/nylas-participants-custom-availability.d.ts +36 -0
  623. package/dist/types/components.d.ts +122 -9
  624. package/package.json +1 -1
  625. package/dist/cjs/calendar-info-icon_27.cjs.entry.js.map +0 -1
  626. package/dist/esm/calendar-info-icon_27.entry.js.map +0 -1
  627. package/dist/nylas-web-elements/p-0dbc0c01.entry.js +0 -2
  628. package/dist/nylas-web-elements/p-3fd63454.entry.js +0 -2
  629. package/dist/nylas-web-elements/p-3fd63454.entry.js.map +0 -1
  630. package/dist/nylas-web-elements/p-427548f5.entry.js +0 -2
  631. package/dist/nylas-web-elements/p-427548f5.entry.js.map +0 -1
  632. package/dist/nylas-web-elements/p-53da3000.entry.js +0 -2
  633. package/dist/nylas-web-elements/p-7fac2bba.entry.js +0 -2
  634. package/dist/nylas-web-elements/p-96418bc6.entry.js +0 -2
  635. package/dist/nylas-web-elements/p-9acfea5f.entry.js +0 -2
  636. package/dist/nylas-web-elements/p-9acfea5f.entry.js.map +0 -1
  637. package/dist/nylas-web-elements/p-c170c56d.entry.js +0 -2
  638. package/dist/nylas-web-elements/p-de63bc35.entry.js +0 -2
  639. package/dist/nylas-web-elements/p-efd5b80a.entry.js +0 -2
  640. package/dist/nylas-web-elements/p-efd5b80a.entry.js.map +0 -1
  641. package/dist/nylas-web-elements/p-fbac3865.entry.js +0 -2
  642. /package/dist/nylas-web-elements/{p-e4a7746d.entry.js.map → p-012cb022.entry.js.map} +0 -0
  643. /package/dist/nylas-web-elements/{p-b9064de4.entry.js.map → p-017f2538.entry.js.map} +0 -0
  644. /package/dist/nylas-web-elements/{p-96418bc6.entry.js.map → p-086746ee.entry.js.map} +0 -0
  645. /package/dist/nylas-web-elements/{p-de63bc35.entry.js.map → p-0919bbbe.entry.js.map} +0 -0
  646. /package/dist/nylas-web-elements/{p-da21471c.entry.js.map → p-13eb1a05.entry.js.map} +0 -0
  647. /package/dist/nylas-web-elements/{p-deafc6bc.entry.js.map → p-1569f74f.entry.js.map} +0 -0
  648. /package/dist/nylas-web-elements/{p-6e888067.entry.js.map → p-23c143f6.entry.js.map} +0 -0
  649. /package/dist/nylas-web-elements/{p-a7dd4c24.entry.js.map → p-30144ca0.entry.js.map} +0 -0
  650. /package/dist/nylas-web-elements/{p-11f94952.entry.js.map → p-336631dd.entry.js.map} +0 -0
  651. /package/dist/nylas-web-elements/{p-7fac2bba.entry.js.map → p-43bfaa93.entry.js.map} +0 -0
  652. /package/dist/nylas-web-elements/{p-120d2c72.entry.js.map → p-4e48846a.entry.js.map} +0 -0
  653. /package/dist/nylas-web-elements/{p-4b84ab3f.entry.js.map → p-5fd52ecd.entry.js.map} +0 -0
  654. /package/dist/nylas-web-elements/{p-c170c56d.entry.js.map → p-62cf46ee.entry.js.map} +0 -0
  655. /package/dist/nylas-web-elements/{p-32682655.entry.js.map → p-672f1951.entry.js.map} +0 -0
  656. /package/dist/nylas-web-elements/{p-ace74b9d.entry.js.map → p-84c53084.entry.js.map} +0 -0
  657. /package/dist/nylas-web-elements/{p-470536e0.entry.js.map → p-8c1a5e57.entry.js.map} +0 -0
  658. /package/dist/nylas-web-elements/{p-6891ad5d.entry.js.map → p-a118f20c.entry.js.map} +0 -0
  659. /package/dist/nylas-web-elements/{p-24082558.entry.js.map → p-a5dbdc8e.entry.js.map} +0 -0
  660. /package/dist/nylas-web-elements/{p-4fdc6122.entry.js.map → p-a7640232.entry.js.map} +0 -0
  661. /package/dist/nylas-web-elements/{p-09fec39c.entry.js.map → p-a804616a.entry.js.map} +0 -0
  662. /package/dist/nylas-web-elements/{p-27db7b0b.entry.js.map → p-ad93d3bd.entry.js.map} +0 -0
  663. /package/dist/nylas-web-elements/{p-bfd3b5f0.entry.js.map → p-b3d46e08.entry.js.map} +0 -0
  664. /package/dist/nylas-web-elements/{p-4b1466b3.entry.js.map → p-b443f769.entry.js.map} +0 -0
  665. /package/dist/nylas-web-elements/{p-c8c737ed.entry.js.map → p-c1df61d0.entry.js.map} +0 -0
  666. /package/dist/nylas-web-elements/{p-395f49eb.entry.js.map → p-cc67e6a8.entry.js.map} +0 -0
  667. /package/dist/nylas-web-elements/{p-4f548e66.entry.js.map → p-d1d984c5.entry.js.map} +0 -0
  668. /package/dist/nylas-web-elements/{p-98a2f588.entry.js.map → p-d9a145a5.entry.js.map} +0 -0
  669. /package/dist/nylas-web-elements/{p-13b003b5.entry.js.map → p-df2b34ee.entry.js.map} +0 -0
  670. /package/dist/nylas-web-elements/{p-ec26560f.entry.js.map → p-e9c1e983.entry.js.map} +0 -0
  671. /package/dist/nylas-web-elements/{p-b27e34a9.entry.js.map → p-fbfa3a7d.entry.js.map} +0 -0
  672. /package/dist/nylas-web-elements/{p-d5146511.entry.js.map → p-fd8e29e6.entry.js.map} +0 -0
@@ -12,7 +12,7 @@ import { d as defineCustomElement$3 } from './search.js';
12
12
  import { d as defineCustomElement$2 } from './select-dropdown2.js';
13
13
  import { d as defineCustomElement$1 } from './toolitp-component.js';
14
14
 
15
- const nylasAvailabilityPickerCss = ":host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:\"Inter\", sans-serif;width:inherit}.nylas-availability-picker{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-availability-picker .header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}.nylas-availability-picker .header h3{margin:0;font-size:16px;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-availability-picker .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-availability-picker .content{padding:1rem;color:var(--nylas-base-900);font-size:16px;font-family:var(--nylas-font-family)}@media screen and (max-width: 504px){.nylas-availability-picker .content{font-size:15px}}.nylas-availability-picker .content .select-timezone{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--nylas-base-200);padding-bottom:1rem;gap:1rem}.nylas-availability-picker .content .select-timezone h4{display:flex;gap:0.5rem;align-items:center;margin:0;font-size:16px;font-weight:500;line-height:20px}@media screen and (max-width: 504px){.nylas-availability-picker .content .select-timezone h4{font-size:15px}}.nylas-availability-picker .content .availability{display:flex;flex-direction:column;gap:1rem;padding:0 0.5rem;margin:1rem 0}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability{gap:0.5rem;padding:0}}.nylas-availability-picker .content .availability .availability-day{display:grid;grid-template-columns:minmax(auto, 65px) 1fr minmax(auto, 40px);gap:1rem;align-items:baseline}@media screen and (max-width: 768px){.nylas-availability-picker .content .availability .availability-day{grid-template-columns:78px 1fr auto}}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability .availability-day{display:inline-grid;gap:8px;grid-template-columns:60px 1fr auto}}.nylas-availability-picker .content .availability .availability-day .day{display:flex;gap:0.5rem;align-items:center}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability .availability-day .day{gap:0.25rem}}.nylas-availability-picker .content .availability .availability-day .day input[type=checkbox]{transform:scale(1.3)}.nylas-availability-picker .content .availability .availability-day .time-ranges span.unavailable{height:48px;display:flex;align-items:center;justify-content:center}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range{display:flex;gap:1.5rem;justify-content:space-between;align-items:baseline}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range{justify-content:unset;gap:0.5rem}}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range .pickers{display:flex;gap:1rem}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range .pickers{gap:0.5rem}}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range .pickers span{margin-top:0.75rem}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range:not(:last-of-type){margin-bottom:1rem}.nylas-availability-picker .content .availability .availability-day .time-ranges p.error{color:var(--nylas-error)}.nylas-availability-picker .content .availability .availability-day button{border:none;background:transparent;height:40px;cursor:pointer;color:var(--nylas-base-800)}.nylas-availability-picker .content .availability .availability-day button:hover,.nylas-availability-picker .content .availability .availability-day button:active{color:var(--nylas-primary)}select-dropdown{width:auto}select-dropdown::part(sd_dropdown-button){justify-content:initial}";
15
+ const nylasAvailabilityPickerCss = ":host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:\"Inter\", sans-serif;width:inherit}.nylas-availability-picker{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200)}.nylas-availability-picker .header{padding:1rem}.nylas-availability-picker .header h3{margin:0;font-size:16px;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.nylas-availability-picker .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.nylas-availability-picker .content{padding:1rem;color:var(--nylas-base-900);font-size:16px;font-family:var(--nylas-font-family);border-top:1px solid var(--nylas-base-200)}@media screen and (max-width: 504px){.nylas-availability-picker .content{font-size:15px}}.nylas-availability-picker .content .select-timezone{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--nylas-base-200);padding-bottom:1rem;gap:1rem}.nylas-availability-picker .content .select-timezone h4{display:flex;gap:0.5rem;align-items:center;margin:0;font-size:16px;font-weight:500;line-height:20px}@media screen and (max-width: 504px){.nylas-availability-picker .content .select-timezone h4{font-size:15px}}.nylas-availability-picker .content .availability{display:flex;flex-direction:column;gap:1rem;padding:0 0.5rem;margin:1rem 0}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability{gap:0.5rem;padding:0}}.nylas-availability-picker .content .availability .availability-day{display:grid;grid-template-columns:minmax(auto, 65px) 1fr minmax(auto, 40px);gap:1rem;align-items:baseline}@media screen and (max-width: 768px){.nylas-availability-picker .content .availability .availability-day{grid-template-columns:78px 1fr auto}}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability .availability-day{display:inline-grid;gap:8px;grid-template-columns:60px 1fr auto}}.nylas-availability-picker .content .availability .availability-day .day{display:flex;gap:0.5rem;align-items:center}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability .availability-day .day{gap:0.25rem}}.nylas-availability-picker .content .availability .availability-day .day input[type=checkbox]{transform:scale(1.3)}.nylas-availability-picker .content .availability .availability-day .time-ranges span.unavailable{height:48px;display:flex;align-items:center;justify-content:center}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range{display:flex;gap:1.5rem;justify-content:space-between;align-items:baseline}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range{justify-content:unset;gap:0.5rem}}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range .pickers{display:flex;gap:1rem}@media screen and (max-width: 504px){.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range .pickers{gap:0.5rem}}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range .pickers span{margin-top:0.75rem}.nylas-availability-picker .content .availability .availability-day .time-ranges .time-range:not(:last-of-type){margin-bottom:1rem}.nylas-availability-picker .content .availability .availability-day .time-ranges p.error{color:var(--nylas-error)}.nylas-availability-picker .content .availability .availability-day button{border:none;background:transparent;height:40px;cursor:pointer;color:var(--nylas-base-800)}.nylas-availability-picker .content .availability .availability-day button:hover,.nylas-availability-picker .content .availability .availability-day button:active{color:var(--nylas-primary)}select-dropdown{width:auto}select-dropdown::part(sd_dropdown-button){justify-content:initial}";
16
16
 
17
17
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
18
18
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -39,6 +39,7 @@ const NylasAvailabilityPicker = proxyCustomElement(class NylasAvailabilityPicker
39
39
  this.openHours = undefined;
40
40
  this.name = 'availability';
41
41
  this.defaultTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
42
+ this.hideHeader = false;
42
43
  this.schedule = {
43
44
  SUN: [],
44
45
  MON: [{ start: '09:00am', end: '05:00pm' }],
@@ -56,20 +57,13 @@ const NylasAvailabilityPicker = proxyCustomElement(class NylasAvailabilityPicker
56
57
  this.host.setAttribute('name', newValue);
57
58
  }
58
59
  configChangedHandler(newConfig) {
59
- const organizer = newConfig?.participants?.find(p => p.is_organizer);
60
- if (organizer && organizer?.availability?.open_hours) {
61
- this.openHoursToSchedule(organizer?.availability?.open_hours);
60
+ const defaultOpenHours = newConfig?.availability?.availability_rules?.default_open_hours;
61
+ if (defaultOpenHours) {
62
+ this.openHoursToSchedule(defaultOpenHours);
62
63
  }
63
64
  }
64
65
  scheduleChanged(newValue, oldValue) {
65
66
  if (newValue !== oldValue) {
66
- this.valueChanged.emit({
67
- value: {
68
- openHours: this.scheduleToOpenHours(newValue),
69
- timezone: this.timezone,
70
- },
71
- name: this.name,
72
- });
73
67
  let overlapDays = {};
74
68
  Object.keys(newValue).forEach(key => {
75
69
  const dayTimeRanges = newValue[key];
@@ -98,6 +92,13 @@ const NylasAvailabilityPicker = proxyCustomElement(class NylasAvailabilityPicker
98
92
  timezone: this.timezone,
99
93
  }));
100
94
  }
95
+ this.valueChanged.emit({
96
+ value: JSON.stringify({
97
+ openHours: this.scheduleToOpenHours(newValue),
98
+ timezone: this.timezone,
99
+ }),
100
+ name: this.name,
101
+ });
101
102
  }
102
103
  }
103
104
  nylasFormDropdownChangedHandler(event) {
@@ -107,10 +108,15 @@ const NylasAvailabilityPicker = proxyCustomElement(class NylasAvailabilityPicker
107
108
  if (typeof this.internals.setFormValue !== 'function') {
108
109
  return;
109
110
  }
110
- this.internals.setFormValue(JSON.stringify({
111
+ const updateValue = {
111
112
  openHours: this.scheduleToOpenHours(this.schedule),
112
113
  timezone: this.timezone,
113
- }));
114
+ };
115
+ this.internals.setFormValue(JSON.stringify(updateValue));
116
+ this.valueChanged.emit({
117
+ value: JSON.stringify(updateValue),
118
+ name: this.name,
119
+ });
114
120
  }
115
121
  }
116
122
  connectedCallback() {
@@ -131,10 +137,15 @@ const NylasAvailabilityPicker = proxyCustomElement(class NylasAvailabilityPicker
131
137
  if (typeof this.internals.setFormValue !== 'function') {
132
138
  return;
133
139
  }
134
- this.internals.setFormValue(JSON.stringify({
140
+ const updateValue = {
135
141
  openHours: this.scheduleToOpenHours(this.schedule),
136
142
  timezone: this.timezone,
137
- }));
143
+ };
144
+ this.internals.setFormValue(JSON.stringify(updateValue));
145
+ this.valueChanged.emit({
146
+ value: JSON.stringify(updateValue),
147
+ name: this.name,
148
+ });
138
149
  }
139
150
  getOverlaps(timeRanges) {
140
151
  let timeRangesInMinutes = timeRanges.map((range, index) => ({
@@ -304,7 +315,7 @@ const NylasAvailabilityPicker = proxyCustomElement(class NylasAvailabilityPicker
304
315
  label: TIMEZONE_MAP[key],
305
316
  value: key,
306
317
  }));
307
- return (h(Host, { key: 'c032e8a3630fe918533895156285e4b37778d812' }, h("div", { key: '1582bd8c1f3ef09d793a7120dafb6c7d420c3e9a', class: "nylas-availability-picker" }, h("div", { key: '61f2c1de7921e15455d7b827379e7d4815f6fb13', class: "header", part: "nap__header" }, h("h3", { key: '238b0ab77477d06a62412fed051d5641924e46d4' }, "General availability"), h("p", { key: '81967b68c5077941a5bf3d055c9be9e41d4ae705' }, "Set your availability for scheduling meetings.")), h("div", { key: 'f1da5a939c1459bd7e9833cf9a97add09d75a822', class: "content" }, h("div", { key: '71e2f859541bd4fb2a4485f3350db5d6bbf73b00', class: "select-timezone", part: "nap__select-timezone" }, h("h4", { key: 'a136696a498fb1521d4d8d844b9b03e2e49ff93a', class: "sub-header" }, "Select timezone", h("span", { key: '52636e30a6dea12cb69d55bd258ed48837826c80', class: "icon" }, h("tooltip-component", { key: '9f0dbc8c234f3550e83bbce3226346981b764896' }, h("info-icon", { key: 'a8f556694bd02b710c89242a3d3057de5b7b0612', slot: "tooltip-icon" }), h("span", { key: 'a8a52dd9835c32becbae165fa972bf6be6e716fa', slot: "tooltip-content" }, "Select your timezone for displaying availability.")))), h("select-dropdown", { key: '4800272cc24dcd24c82a4a89f24131c11e528d8c', name: "timezone", exportparts: "sd_dropdown: nap__timezone-container, sd_dropdown-button: nap__timezone-button, sd_dropdown-content: nap__timezone-dropdown-content", options: timezoneOptions, defaultSelectedOption: timezoneOptions.find(i => i.value === this.defaultTimezone) }, h("span", { key: '8b072e23cd0130f203696f5c99baaad07b1bbb2e', slot: "select-icon" }, h("globe-icon", { key: 'de4c7ef153bff887947d73ed458aa5de0786b576', width: "20", height: "20" })))), h("div", { key: '6234933a0307c253e33ad9242e06c71388ba7a0a', class: "availability", part: "nap__availability" }, Object.keys(this.schedule).map(key => {
318
+ return (h(Host, { key: '81c6118e501f4424ce74cb81530a67f7896a7fca' }, h("div", { key: '6dbcda74a92e36089dfda5b11469c6619bb095e1', class: "nylas-availability-picker", part: "nap" }, !this.hideHeader && (h("div", { class: "header", part: "nap__header" }, h("h3", null, "General availability"), h("p", null, "Set your availability for scheduling meetings."))), h("div", { key: 'f217b53a7ddc2d0554a3c3e44e79580924dbaa43', class: "content" }, h("div", { key: 'fe3dcc1c1c5504e65babb72f7b92f7954e3d4a20', class: "select-timezone", part: "nap__select-timezone" }, h("h4", { key: '0746b7a08e56b8d2359ae37357b46b84b440851c', class: "sub-header" }, "Select timezone", h("span", { key: 'f6d5424b939bec04d0ab01e3b037a5db6ffdbb77', class: "icon" }, h("tooltip-component", { key: '7f6371d4e3ee3ab8c841d3799fbe77a1206084eb' }, h("info-icon", { key: 'ae2b6f45b9eba0c26909b283daceafeddefc7936', slot: "tooltip-icon" }), h("span", { key: '38cb9c51f61d0087216660e5b2a54f42a42663ae', slot: "tooltip-content" }, "Select your timezone for displaying availability.")))), h("select-dropdown", { key: 'e3467d03d104fe090d776bc03306d289de53cb60', name: "timezone", exportparts: "sd_dropdown: nap__timezone-container, sd_dropdown-button: nap__timezone-button, sd_dropdown-content: nap__timezone-dropdown-content", options: timezoneOptions, defaultSelectedOption: timezoneOptions.find(i => i.value === this.defaultTimezone) }, h("span", { key: 'afbee8547454b8eb1ba75a41056e1393fd60c2ec', slot: "select-icon" }, h("globe-icon", { key: '7bc82d7454658d2d0783a7d9422b76fb4083d14f', width: "20", height: "20" })))), h("div", { key: '2fd561856ac6731c16da239cd296545e256dd12d', class: "availability", part: "nap__availability" }, Object.keys(this.schedule).map(key => {
308
319
  const day = key;
309
320
  const timeRanges = this.schedule[key];
310
321
  return (h("div", { class: "availability-day" }, h("div", { class: "day", part: "nap__day" }, h("input", { type: "checkbox", name: day, id: day, checked: timeRanges.length > 0, onClick: () => {
@@ -336,6 +347,7 @@ const NylasAvailabilityPicker = proxyCustomElement(class NylasAvailabilityPicker
336
347
  "openHours": [16],
337
348
  "name": [1],
338
349
  "defaultTimezone": [1, "default-timezone"],
350
+ "hideHeader": [4, "hide-header"],
339
351
  "schedule": [32],
340
352
  "timezone": [32],
341
353
  "overlapDays": [32]
@@ -1 +1 @@
1
- {"file":"nylas-availability-picker2.js","mappings":"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","names":[],"sources":["src/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.scss?tag=nylas-availability-picker&encapsulation=shadow","src/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.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-availability-picker {\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: 16px;\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 .content {\n padding: 1rem;\n color: var(--nylas-base-900);\n font-size: 16px;\n font-family: var(--nylas-font-family);\n @media #{$small-mobile} {\n font-size: 15px;\n }\n .select-timezone {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--nylas-base-200);\n padding-bottom: 1rem;\n gap: 1rem;\n h4 {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n margin: 0;\n font-size: 16px;\n @media #{$small-mobile} {\n font-size: 15px;\n }\n font-weight: 500;\n line-height: 20px;\n }\n }\n .availability {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 0 0.5rem;\n @media #{$small-mobile} {\n gap: 0.5rem;\n padding: 0;\n }\n margin: 1rem 0;\n .availability-day {\n display: grid;\n grid-template-columns: minmax(auto, 65px) 1fr minmax(auto, 40px);\n @media #{$mobile} {\n grid-template-columns: 78px 1fr auto;\n }\n @media #{$small-mobile} {\n display: inline-grid;\n gap: 8px;\n grid-template-columns: 60px 1fr auto;\n }\n gap: 1rem;\n align-items: baseline;\n .day {\n display: flex;\n gap: 0.5rem;\n @media #{$small-mobile} {\n gap: 0.25rem;\n }\n align-items: center;\n\n input[type='checkbox'] {\n transform: scale(1.3);\n }\n }\n .time-ranges {\n span.unavailable {\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .time-range {\n display: flex;\n gap: 1.5rem;\n justify-content: space-between;\n align-items: baseline;\n @media #{$small-mobile} {\n justify-content: unset;\n gap: 0.5rem;\n }\n .pickers {\n display: flex;\n gap: 1rem;\n @media #{$small-mobile} {\n gap: 0.5rem;\n }\n span {\n margin-top: 0.75rem;\n }\n }\n &:not(:last-of-type) {\n margin-bottom: 1rem;\n }\n }\n p.error {\n color: var(--nylas-error);\n }\n }\n button {\n border: none;\n background: transparent;\n height: 40px;\n cursor: pointer;\n color: var(--nylas-base-800);\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n }\n }\n }\n }\n}\n\nselect-dropdown {\n width: auto;\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n justify-content: initial;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { convertTo12HourFormat, convertTo24HourFormat, debug, minutesToTime, timeToMinutes } 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 { TIMEZONE_MAP } from '@/common/constants';\nimport { Configuration } from '@nylas/core';\n\nexport type OpenHours = {\n days: number[];\n start: string;\n end: string;\n timezone: string;\n};\n\nexport type Schedule = {\n SUN: { start: string; end: string }[];\n MON: { start: string; end: string }[];\n TUE: { start: string; end: string }[];\n WED: { start: string; end: string }[];\n THU: { start: string; end: string }[];\n FRI: { start: string; end: string }[];\n SAT: { start: string; end: string }[];\n};\n\n/**\n * The `nylas-availability-picker` component is a form input for selecting availability (open hours).\n * @part nap__header - The header of the availability picker\n * @part nap__select-timezone - The timezone selection container\n * @part nap__select-timezone-button - The timezone selection button\n * @part nap__select-timezone-dropdown-content - The timezone selection dropdown content\n * @part nap__availability - The availability container\n * @part nap__day - The day container\n * @part nap__time-ranges - The time ranges container\n * @part nap__time-range - The time range container\n * @part nap__add-time-range - The add time range button\n * @part nap__time-picker-container - The time picker container\n * @part nap__time-picker-input - The time picker input\n * @part nap__time-picker-times - The time picker times\n */\n@Component({\n tag: 'nylas-availability-picker',\n styleUrl: 'nylas-availability-picker.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasAvailabilityPicker {\n /**\n * The element <nylas-availability-picker> itself.\n */\n @Element() host!: HTMLNylasAvailabilityPickerElement;\n /**\n * The selected configuration.\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * The open hours to display.\n */\n @Prop() openHours?: OpenHours[];\n /**\n * The name of the availability picker.\n */\n @Prop() name: string = 'availability';\n /*\n * The default timezone or preset timezone.\n */\n @Prop() defaultTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * This event is fired when the selected availability / open hours change.\n */\n @Event() valueChanged!: EventEmitter<{\n value: {\n openHours: OpenHours[];\n timezone: string;\n };\n name: string;\n }>;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n @State() schedule = {\n SUN: [],\n MON: [{ start: '09:00am', end: '05:00pm' }],\n TUE: [{ start: '09:00am', end: '05:00pm' }],\n WED: [{ start: '09:00am', end: '05:00pm' }],\n THU: [{ start: '09:00am', end: '05:00pm' }],\n FRI: [{ start: '09:00am', end: '05:00pm' }],\n SAT: [],\n };\n /**\n * The selected timezone state.\n */\n @State() timezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n /**\n * The overlapping time ranges state. This is used to display an error message when there are overlapping time ranges.\n */\n @State() overlapDays: { [key: string]: number[] } = {};\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-calendar-picker', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n configChangedHandler(newConfig: Configuration) {\n const organizer = newConfig?.participants?.find(p => p.is_organizer);\n if (organizer && organizer?.availability?.open_hours) {\n this.openHoursToSchedule(organizer?.availability?.open_hours);\n }\n }\n\n @Watch('schedule')\n scheduleChanged(newValue: Schedule, oldValue: Schedule) {\n if (newValue !== oldValue) {\n this.valueChanged.emit({\n value: {\n openHours: this.scheduleToOpenHours(newValue),\n timezone: this.timezone,\n },\n name: this.name,\n });\n let overlapDays: { [key: string]: number[] } = {};\n Object.keys(newValue).forEach(key => {\n const dayTimeRanges = newValue[key];\n if (dayTimeRanges.length > 0) {\n const overlaps = this.getOverlaps(dayTimeRanges);\n if (overlaps.length > 0) {\n overlapDays[key] = overlaps;\n }\n }\n });\n this.overlapDays = overlapDays;\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n if (Object.keys(overlapDays).length > 0) {\n const element = this.host.shadowRoot?.getElementById(Object.keys(overlapDays)[0]) as HTMLInputElement;\n if (element) {\n debug('nylas-availability-picker', 'The time ranges are overlapping. Overlap: ', overlapDays);\n this.internals.setValidity({ customError: true }, 'Overlapping time ranges found', element);\n }\n } else {\n this.internals.setValidity({ customError: false });\n this.internals.setFormValue(\n JSON.stringify({\n openHours: this.scheduleToOpenHours(this.schedule),\n timezone: this.timezone,\n }),\n );\n }\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.timezone = value;\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(\n JSON.stringify({\n openHours: this.scheduleToOpenHours(this.schedule),\n timezone: this.timezone,\n }),\n );\n }\n }\n\n connectedCallback() {\n debug('nylas-availability-picker', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-availability-picker', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-availability-picker', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-availability-picker', 'componentDidLoad');\n if (this.openHours && this.openHours.length > 0) {\n this.openHoursToSchedule(this.openHours);\n }\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n this.internals.setFormValue(\n JSON.stringify({\n openHours: this.scheduleToOpenHours(this.schedule),\n timezone: this.timezone,\n }),\n );\n }\n\n getOverlaps(timeRanges) {\n // Convert times to minutes and add to the array\n let timeRangesInMinutes = timeRanges.map((range, index) => ({\n start: timeToMinutes(range.start),\n end: timeToMinutes(range.end),\n originalIndex: index,\n }));\n\n // Sort by start time\n timeRangesInMinutes.sort((a, b) => a.start - b.start);\n let overlaps: number[] = [];\n // Check for overlap\n for (let i = 1; i < timeRangesInMinutes.length; i++) {\n if (timeRangesInMinutes[i].start < timeRangesInMinutes[i - 1].end) {\n // Add both overlapping time range indices if they are not already included\n if (!overlaps.includes(timeRangesInMinutes[i].originalIndex)) {\n overlaps.push(timeRangesInMinutes[i].originalIndex);\n }\n if (!overlaps.includes(timeRangesInMinutes[i - 1].originalIndex)) {\n overlaps.push(timeRangesInMinutes[i - 1].originalIndex);\n }\n }\n }\n return overlaps.sort((a, b) => a - b); // Return sorted list of indices\n }\n\n addTimeRange(day) {\n const currentTimeRanges = this.schedule[day];\n\n // Default working hours are from 00:00 to 23:45 for calculation purposes\n const dayStart = 0; // Start of the day in minutes (00:00)\n const dayEnd = 1425; // End of the day in minutes (23:45)\n\n if (currentTimeRanges.length === 0) {\n // If there are no existing time ranges, add one at the start of the day\n this.schedule[day] = [{ start: '09:00am', end: '05:00pm' }]; // Example range\n } else {\n // Convert all time ranges to minutes for comparison\n const timeRangesInMinutes = currentTimeRanges\n .map(range => ({\n start: timeToMinutes(range.start),\n end: timeToMinutes(range.end),\n }))\n .sort((a, b) => a.start - b.start); // Sort by start time\n\n // Attempt to add a new time range at the end of the day\n const lastRangeEnd = timeRangesInMinutes[timeRangesInMinutes.length - 1].end;\n if (lastRangeEnd + 60 <= dayEnd) {\n // There's room at the end of the day\n this.schedule[day].push({\n start: convertTo12HourFormat(minutesToTime(lastRangeEnd)),\n end: convertTo12HourFormat(minutesToTime(lastRangeEnd + 60)),\n });\n } else {\n // No room at the end, look for gaps at the beginning of the day\n let gapFound = false;\n if (timeRangesInMinutes[0].start > dayStart + 60) {\n // There's room for at least a 1-hour meeting at the beginning of the day\n this.schedule[day].push({\n start: convertTo12HourFormat(minutesToTime(dayStart)),\n end: convertTo12HourFormat(minutesToTime(dayStart + 60)),\n });\n gapFound = true;\n }\n\n if (!gapFound) {\n // Search for gaps between scheduled time ranges\n for (let i = 0; i < timeRangesInMinutes.length - 1; i++) {\n const currentEnd = timeRangesInMinutes[i].end;\n const nextStart = timeRangesInMinutes[i + 1].start;\n\n if (nextStart - currentEnd >= 60) {\n // Found a gap\n this.schedule[day].push({\n start: convertTo12HourFormat(minutesToTime(currentEnd)),\n end: convertTo12HourFormat(minutesToTime(currentEnd + 60)),\n });\n break; // Exit the loop after adding a time range\n }\n }\n }\n }\n }\n\n // Sort the updated schedule to maintain order\n this.schedule[day].sort((a, b) => timeToMinutes(a.start) - timeToMinutes(b.start));\n\n this.schedule = { ...this.schedule };\n }\n\n removeTimeRange(day, index) {\n this.schedule[day].splice(index, 1);\n this.schedule = { ...this.schedule };\n }\n\n @Listen('timeChange')\n setTime(event: CustomEvent<{ key: string; value: string }>) {\n const { key, value } = event.detail;\n const [dayIndex, timeType] = key.split('_');\n const [day, index] = dayIndex.split(':');\n\n if (timeType === 'start') {\n this.schedule[day][index].start = value;\n } else if (timeType === 'end') {\n this.schedule[day][index].end = value;\n }\n this.internals.setValidity({ customError: false });\n this.schedule = { ...this.schedule };\n }\n\n @Listen('formError')\n setFormError(event: CustomEvent<{ key: string; message: string }>) {\n const { key } = event.detail;\n const [_, timeType] = key.split('_');\n const element = this.host.shadowRoot?.getElementById(key);\n if (element) {\n this.internals.setValidity({ customError: true }, `Invalid ${timeType} time`, element as HTMLInputElement);\n }\n }\n\n openHoursToSchedule(openHours: OpenHours[]) {\n const newSchedule = {\n SUN: [],\n MON: [],\n TUE: [],\n WED: [],\n THU: [],\n FRI: [],\n SAT: [],\n };\n openHours.forEach(openHour => {\n openHour.days.forEach(day => {\n const dayKey = this.getDayKey(day);\n const start12hr = convertTo12HourFormat(openHour.start);\n const end12hr = convertTo12HourFormat(openHour.end);\n const timeRange = { start: start12hr, end: end12hr };\n\n // Check if the time range already exists for the day\n let timeRangeExists = false;\n if (newSchedule[dayKey]) {\n // Search for an existing time range that matches the current one\n timeRangeExists = newSchedule[dayKey].some(range => range.start === timeRange.start && range.end === timeRange.end);\n }\n\n if (!timeRangeExists) {\n if (newSchedule[dayKey]) {\n newSchedule[dayKey].push(timeRange);\n } else {\n newSchedule[dayKey] = [timeRange];\n }\n }\n });\n });\n\n this.timezone = this.defaultTimezone;\n this.schedule = newSchedule;\n }\n\n getDayKey(dayIndex: number): string {\n const days = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];\n return days[dayIndex];\n }\n\n scheduleToOpenHours(schedule: Schedule): OpenHours[] {\n const dayKeys = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];\n let openHoursMap: Map<string, { days: number[]; start: string; end: string }> = new Map();\n\n dayKeys.forEach((dayKey, index) => {\n if (schedule[dayKey]) {\n // Check if schedule for the day exists\n schedule[dayKey].forEach(timeRange => {\n const start24hr = convertTo24HourFormat(timeRange.start);\n const end24hr = convertTo24HourFormat(timeRange.end);\n const key = `${start24hr}-${end24hr}`;\n\n if (!openHoursMap.has(key)) {\n openHoursMap.set(key, { days: [index], start: start24hr, end: end24hr });\n } else {\n let entry = openHoursMap.get(key);\n if (entry) {\n entry.days.push(index);\n openHoursMap.set(key, entry);\n }\n }\n });\n }\n });\n\n let selectedOpenHours: OpenHours[] = [];\n openHoursMap.forEach((value, _key) => {\n selectedOpenHours.push({\n days: value.days,\n start: value.start,\n end: value.end,\n timezone: this.timezone,\n });\n });\n\n return selectedOpenHours;\n }\n\n @RegisterComponent<NylasAvailabilityPicker, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-availability-picker',\n stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),\n fireRegisterEvent: true,\n })\n render() {\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-availability-picker\">\n <div class=\"header\" part=\"nap__header\">\n <h3>General availability</h3>\n <p>Set your availability for scheduling meetings.</p>\n </div>\n <div class=\"content\">\n <div class=\"select-timezone\" part=\"nap__select-timezone\">\n <h4 class=\"sub-header\">\n Select timezone\n <span class=\"icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">Select your timezone for displaying availability.</span>\n </tooltip-component>\n </span>\n </h4>\n <select-dropdown\n name=\"timezone\"\n exportparts=\"sd_dropdown: nap__timezone-container, sd_dropdown-button: nap__timezone-button, sd_dropdown-content: nap__timezone-dropdown-content\"\n options={timezoneOptions}\n defaultSelectedOption={timezoneOptions.find(i => i.value === this.defaultTimezone)}\n >\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div class=\"availability\" part=\"nap__availability\">\n {Object.keys(this.schedule).map(key => {\n const day = key;\n const timeRanges = this.schedule[key] as { start: string; end: string }[];\n return (\n <div class=\"availability-day\">\n <div class=\"day\" part=\"nap__day\">\n <input\n type=\"checkbox\"\n name={day}\n id={day}\n checked={timeRanges.length > 0}\n onClick={() => {\n if (timeRanges.length > 0) {\n this.schedule[day] = [];\n } else {\n this.schedule[day] = [{ start: '09:00am', end: '05:00pm' }];\n }\n this.schedule = { ...this.schedule };\n }}\n />\n <label htmlFor={day} aria-label=\"Select day\">\n {day}\n </label>\n </div>\n <div class=\"time-ranges\" part=\"nap__time-ranges\">\n {timeRanges.length ? null : <span class=\"unavailable\">Unavailable</span>}\n {timeRanges.length > 0 &&\n timeRanges.map((timeRange, timeRangeIndex) => {\n const startKey = `${key}:${timeRangeIndex}_start`;\n const endKey = `${key}:${timeRangeIndex}_end`;\n return (\n <div class=\"time-range\" part=\"nap__time-range\">\n <div class=\"pickers\">\n <nylas-time-window-picker\n id={startKey}\n hasError={this.overlapDays[day]?.includes(timeRangeIndex)}\n time={timeRange.start}\n name={startKey}\n key={startKey}\n exportparts=\"time-picker: nap__time-picker-container, time-input: nap__time-picker-input, times: nap__time-picker-times\"\n />\n <span> - </span>\n <nylas-time-window-picker\n id={endKey}\n hasError={this.overlapDays[day]?.includes(timeRangeIndex)}\n time={timeRange.end}\n name={endKey}\n key={endKey}\n minimumStartTime={timeRange.start}\n exportparts=\"time-picker: nap__time-picker-container, time-input: nap__time-picker-input, times: nap__time-picker-times\"\n />\n </div>\n <button onClick={() => this.removeTimeRange(day, timeRangeIndex)}>\n <close-icon />\n </button>\n </div>\n );\n })}\n <p class=\"error\">{this.overlapDays[day] ? 'Overlapping time ranges' : ''}</p>\n </div>\n <div>\n {timeRanges.length > 0 ? (\n <button onClick={() => this.addTimeRange(day)} part=\"nap__add-time-range\">\n <add-circle-icon />\n </button>\n ) : null}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nylas-availability-picker2.js","mappings":"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","names":[],"sources":["src/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.scss?tag=nylas-availability-picker&encapsulation=shadow","src/components/scheduler-editor/nylas-availability-picker/nylas-availability-picker.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-availability-picker {\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 h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n line-height: 20px;\n color: var(--nylas-base-900);\n text-align: left;\n }\n 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 .content {\n padding: 1rem;\n color: var(--nylas-base-900);\n font-size: 16px;\n font-family: var(--nylas-font-family);\n border-top: 1px solid var(--nylas-base-200);\n @media #{$small-mobile} {\n font-size: 15px;\n }\n .select-timezone {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--nylas-base-200);\n padding-bottom: 1rem;\n gap: 1rem;\n h4 {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n margin: 0;\n font-size: 16px;\n @media #{$small-mobile} {\n font-size: 15px;\n }\n font-weight: 500;\n line-height: 20px;\n }\n }\n .availability {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 0 0.5rem;\n @media #{$small-mobile} {\n gap: 0.5rem;\n padding: 0;\n }\n margin: 1rem 0;\n .availability-day {\n display: grid;\n grid-template-columns: minmax(auto, 65px) 1fr minmax(auto, 40px);\n @media #{$mobile} {\n grid-template-columns: 78px 1fr auto;\n }\n @media #{$small-mobile} {\n display: inline-grid;\n gap: 8px;\n grid-template-columns: 60px 1fr auto;\n }\n gap: 1rem;\n align-items: baseline;\n .day {\n display: flex;\n gap: 0.5rem;\n @media #{$small-mobile} {\n gap: 0.25rem;\n }\n align-items: center;\n\n input[type='checkbox'] {\n transform: scale(1.3);\n }\n }\n .time-ranges {\n span.unavailable {\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .time-range {\n display: flex;\n gap: 1.5rem;\n justify-content: space-between;\n align-items: baseline;\n @media #{$small-mobile} {\n justify-content: unset;\n gap: 0.5rem;\n }\n .pickers {\n display: flex;\n gap: 1rem;\n @media #{$small-mobile} {\n gap: 0.5rem;\n }\n span {\n margin-top: 0.75rem;\n }\n }\n &:not(:last-of-type) {\n margin-bottom: 1rem;\n }\n }\n p.error {\n color: var(--nylas-error);\n }\n }\n button {\n border: none;\n background: transparent;\n height: 40px;\n cursor: pointer;\n color: var(--nylas-base-800);\n &:hover,\n &:active {\n color: var(--nylas-primary);\n }\n }\n }\n }\n }\n}\n\nselect-dropdown {\n width: auto;\n}\n\nselect-dropdown::part(sd_dropdown-button) {\n justify-content: initial;\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { convertTo12HourFormat, convertTo24HourFormat, debug, minutesToTime, timeToMinutes } 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 { TIMEZONE_MAP } from '@/common/constants';\nimport { Configuration } from '@nylas/core';\n\nexport type OpenHours = {\n days: number[];\n start: string;\n end: string;\n timezone: string;\n};\n\nexport type Schedule = {\n SUN: { start: string; end: string }[];\n MON: { start: string; end: string }[];\n TUE: { start: string; end: string }[];\n WED: { start: string; end: string }[];\n THU: { start: string; end: string }[];\n FRI: { start: string; end: string }[];\n SAT: { start: string; end: string }[];\n};\n\n/**\n * The `nylas-availability-picker` component is a form input for selecting availability (open hours).\n * @part nap__header - The header of the availability picker\n * @part nap__select-timezone - The timezone selection container\n * @part nap__select-timezone-button - The timezone selection button\n * @part nap__select-timezone-dropdown-content - The timezone selection dropdown content\n * @part nap__availability - The availability container\n * @part nap__day - The day container\n * @part nap__time-ranges - The time ranges container\n * @part nap__time-range - The time range container\n * @part nap__add-time-range - The add time range button\n * @part nap__time-picker-container - The time picker container\n * @part nap__time-picker-input - The time picker input\n * @part nap__time-picker-times - The time picker times\n */\n@Component({\n tag: 'nylas-availability-picker',\n styleUrl: 'nylas-availability-picker.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NylasAvailabilityPicker {\n /**\n * The element <nylas-availability-picker> itself.\n */\n @Element() host!: HTMLNylasAvailabilityPickerElement;\n /**\n * The selected configuration.\n */\n @Prop() selectedConfiguration?: Configuration;\n /**\n * The open hours to display.\n */\n @Prop() openHours?: OpenHours[];\n /**\n * The name of the availability picker.\n */\n @Prop() name: string = 'availability';\n /*\n * The default timezone or preset timezone.\n */\n @Prop() defaultTimezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n /**\n * Hide the header of the availability picker.\n */\n @Prop() hideHeader: boolean = false;\n\n /**\n * This event is fired when the selected availability / open hours change.\n * The value is a stringified JSON object with the open hours and timezone.\n * Ex: {\n * openHours: OpenHours[];\n * timezone: string;\n * };\n */\n @Event() valueChanged!: EventEmitter<{\n value: string;\n name: string;\n }>;\n\n /**\n * The element internals.\n */\n @AttachInternals() internals!: ElementInternals;\n @State() schedule = {\n SUN: [],\n MON: [{ start: '09:00am', end: '05:00pm' }],\n TUE: [{ start: '09:00am', end: '05:00pm' }],\n WED: [{ start: '09:00am', end: '05:00pm' }],\n THU: [{ start: '09:00am', end: '05:00pm' }],\n FRI: [{ start: '09:00am', end: '05:00pm' }],\n SAT: [],\n };\n /**\n * The selected timezone state.\n */\n @State() timezone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n /**\n * The overlapping time ranges state. This is used to display an error message when there are overlapping time ranges.\n */\n @State() overlapDays: { [key: string]: number[] } = {};\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-calendar-picker', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedConfiguration')\n configChangedHandler(newConfig: Configuration) {\n const defaultOpenHours = newConfig?.availability?.availability_rules?.default_open_hours;\n if (defaultOpenHours) {\n this.openHoursToSchedule(defaultOpenHours);\n }\n }\n\n @Watch('schedule')\n scheduleChanged(newValue: Schedule, oldValue: Schedule) {\n if (newValue !== oldValue) {\n let overlapDays: { [key: string]: number[] } = {};\n Object.keys(newValue).forEach(key => {\n const dayTimeRanges = newValue[key];\n if (dayTimeRanges.length > 0) {\n const overlaps = this.getOverlaps(dayTimeRanges);\n if (overlaps.length > 0) {\n overlapDays[key] = overlaps;\n }\n }\n });\n this.overlapDays = overlapDays;\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n if (Object.keys(overlapDays).length > 0) {\n const element = this.host.shadowRoot?.getElementById(Object.keys(overlapDays)[0]) as HTMLInputElement;\n if (element) {\n debug('nylas-availability-picker', 'The time ranges are overlapping. Overlap: ', overlapDays);\n this.internals.setValidity({ customError: true }, 'Overlapping time ranges found', element);\n }\n } else {\n this.internals.setValidity({ customError: false });\n this.internals.setFormValue(\n JSON.stringify({\n openHours: this.scheduleToOpenHours(this.schedule),\n timezone: this.timezone,\n }),\n );\n }\n this.valueChanged.emit({\n value: JSON.stringify({\n openHours: this.scheduleToOpenHours(newValue),\n timezone: this.timezone,\n }),\n name: this.name,\n });\n }\n }\n\n @Listen('nylasFormDropdownChanged')\n nylasFormDropdownChangedHandler(\n event: CustomEvent<{\n value: string;\n name: string;\n }>,\n ) {\n const { name, value } = event.detail;\n if (name === 'timezone') {\n this.timezone = value;\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n const updateValue = {\n openHours: this.scheduleToOpenHours(this.schedule),\n timezone: this.timezone,\n };\n this.internals.setFormValue(JSON.stringify(updateValue));\n this.valueChanged.emit({\n value: JSON.stringify(updateValue),\n name: this.name,\n });\n }\n }\n\n connectedCallback() {\n debug('nylas-availability-picker', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-availability-picker', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-availability-picker', 'componentWillLoad');\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-availability-picker', 'componentDidLoad');\n if (this.openHours && this.openHours.length > 0) {\n this.openHoursToSchedule(this.openHours);\n }\n if (typeof this.internals.setFormValue !== 'function') {\n return;\n }\n const updateValue = {\n openHours: this.scheduleToOpenHours(this.schedule),\n timezone: this.timezone,\n };\n this.internals.setFormValue(JSON.stringify(updateValue));\n this.valueChanged.emit({\n value: JSON.stringify(updateValue),\n name: this.name,\n });\n }\n\n getOverlaps(timeRanges) {\n // Convert times to minutes and add to the array\n let timeRangesInMinutes = timeRanges.map((range, index) => ({\n start: timeToMinutes(range.start),\n end: timeToMinutes(range.end),\n originalIndex: index,\n }));\n\n // Sort by start time\n timeRangesInMinutes.sort((a, b) => a.start - b.start);\n let overlaps: number[] = [];\n // Check for overlap\n for (let i = 1; i < timeRangesInMinutes.length; i++) {\n if (timeRangesInMinutes[i].start < timeRangesInMinutes[i - 1].end) {\n // Add both overlapping time range indices if they are not already included\n if (!overlaps.includes(timeRangesInMinutes[i].originalIndex)) {\n overlaps.push(timeRangesInMinutes[i].originalIndex);\n }\n if (!overlaps.includes(timeRangesInMinutes[i - 1].originalIndex)) {\n overlaps.push(timeRangesInMinutes[i - 1].originalIndex);\n }\n }\n }\n return overlaps.sort((a, b) => a - b); // Return sorted list of indices\n }\n\n addTimeRange(day) {\n const currentTimeRanges = this.schedule[day];\n\n // Default working hours are from 00:00 to 23:45 for calculation purposes\n const dayStart = 0; // Start of the day in minutes (00:00)\n const dayEnd = 1425; // End of the day in minutes (23:45)\n\n if (currentTimeRanges.length === 0) {\n // If there are no existing time ranges, add one at the start of the day\n this.schedule[day] = [{ start: '09:00am', end: '05:00pm' }]; // Example range\n } else {\n // Convert all time ranges to minutes for comparison\n const timeRangesInMinutes = currentTimeRanges\n .map(range => ({\n start: timeToMinutes(range.start),\n end: timeToMinutes(range.end),\n }))\n .sort((a, b) => a.start - b.start); // Sort by start time\n\n // Attempt to add a new time range at the end of the day\n const lastRangeEnd = timeRangesInMinutes[timeRangesInMinutes.length - 1].end;\n if (lastRangeEnd + 60 <= dayEnd) {\n // There's room at the end of the day\n this.schedule[day].push({\n start: convertTo12HourFormat(minutesToTime(lastRangeEnd)),\n end: convertTo12HourFormat(minutesToTime(lastRangeEnd + 60)),\n });\n } else {\n // No room at the end, look for gaps at the beginning of the day\n let gapFound = false;\n if (timeRangesInMinutes[0].start > dayStart + 60) {\n // There's room for at least a 1-hour meeting at the beginning of the day\n this.schedule[day].push({\n start: convertTo12HourFormat(minutesToTime(dayStart)),\n end: convertTo12HourFormat(minutesToTime(dayStart + 60)),\n });\n gapFound = true;\n }\n\n if (!gapFound) {\n // Search for gaps between scheduled time ranges\n for (let i = 0; i < timeRangesInMinutes.length - 1; i++) {\n const currentEnd = timeRangesInMinutes[i].end;\n const nextStart = timeRangesInMinutes[i + 1].start;\n\n if (nextStart - currentEnd >= 60) {\n // Found a gap\n this.schedule[day].push({\n start: convertTo12HourFormat(minutesToTime(currentEnd)),\n end: convertTo12HourFormat(minutesToTime(currentEnd + 60)),\n });\n break; // Exit the loop after adding a time range\n }\n }\n }\n }\n }\n\n // Sort the updated schedule to maintain order\n this.schedule[day].sort((a, b) => timeToMinutes(a.start) - timeToMinutes(b.start));\n\n this.schedule = { ...this.schedule };\n }\n\n removeTimeRange(day, index) {\n this.schedule[day].splice(index, 1);\n this.schedule = { ...this.schedule };\n }\n\n @Listen('timeChange')\n setTime(event: CustomEvent<{ key: string; value: string }>) {\n const { key, value } = event.detail;\n const [dayIndex, timeType] = key.split('_');\n const [day, index] = dayIndex.split(':');\n\n if (timeType === 'start') {\n this.schedule[day][index].start = value;\n } else if (timeType === 'end') {\n this.schedule[day][index].end = value;\n }\n this.internals.setValidity({ customError: false });\n this.schedule = { ...this.schedule };\n }\n\n @Listen('formError')\n setFormError(event: CustomEvent<{ key: string; message: string }>) {\n const { key } = event.detail;\n const [_, timeType] = key.split('_');\n const element = this.host.shadowRoot?.getElementById(key);\n if (element) {\n this.internals.setValidity({ customError: true }, `Invalid ${timeType} time`, element as HTMLInputElement);\n }\n }\n\n openHoursToSchedule(openHours: OpenHours[]) {\n const newSchedule = {\n SUN: [],\n MON: [],\n TUE: [],\n WED: [],\n THU: [],\n FRI: [],\n SAT: [],\n };\n openHours.forEach(openHour => {\n openHour.days.forEach(day => {\n const dayKey = this.getDayKey(day);\n const start12hr = convertTo12HourFormat(openHour.start);\n const end12hr = convertTo12HourFormat(openHour.end);\n const timeRange = { start: start12hr, end: end12hr };\n\n // Check if the time range already exists for the day\n let timeRangeExists = false;\n if (newSchedule[dayKey]) {\n // Search for an existing time range that matches the current one\n timeRangeExists = newSchedule[dayKey].some(range => range.start === timeRange.start && range.end === timeRange.end);\n }\n\n if (!timeRangeExists) {\n if (newSchedule[dayKey]) {\n newSchedule[dayKey].push(timeRange);\n } else {\n newSchedule[dayKey] = [timeRange];\n }\n }\n });\n });\n\n this.timezone = this.defaultTimezone;\n this.schedule = newSchedule;\n }\n\n getDayKey(dayIndex: number): string {\n const days = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];\n return days[dayIndex];\n }\n\n scheduleToOpenHours(schedule: Schedule): OpenHours[] {\n const dayKeys = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];\n let openHoursMap: Map<string, { days: number[]; start: string; end: string }> = new Map();\n\n dayKeys.forEach((dayKey, index) => {\n if (schedule[dayKey]) {\n // Check if schedule for the day exists\n schedule[dayKey].forEach(timeRange => {\n const start24hr = convertTo24HourFormat(timeRange.start);\n const end24hr = convertTo24HourFormat(timeRange.end);\n const key = `${start24hr}-${end24hr}`;\n\n if (!openHoursMap.has(key)) {\n openHoursMap.set(key, { days: [index], start: start24hr, end: end24hr });\n } else {\n let entry = openHoursMap.get(key);\n if (entry) {\n entry.days.push(index);\n openHoursMap.set(key, entry);\n }\n }\n });\n }\n });\n\n let selectedOpenHours: OpenHours[] = [];\n openHoursMap.forEach((value, _key) => {\n selectedOpenHours.push({\n days: value.days,\n start: value.start,\n end: value.end,\n timezone: this.timezone,\n });\n });\n\n return selectedOpenHours;\n }\n\n @RegisterComponent<NylasAvailabilityPicker, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-availability-picker',\n stateToProps: new Map([['schedulerConfig.selectedConfiguration', 'selectedConfiguration']]),\n fireRegisterEvent: true,\n })\n render() {\n const timezoneOptions = Object.keys(TIMEZONE_MAP).map(key => ({\n label: TIMEZONE_MAP[key],\n value: key,\n }));\n\n return (\n <Host>\n <div class=\"nylas-availability-picker\" part=\"nap\">\n {!this.hideHeader && (\n <div class=\"header\" part=\"nap__header\">\n <h3>General availability</h3>\n <p>Set your availability for scheduling meetings.</p>\n </div>\n )}\n <div class=\"content\">\n <div class=\"select-timezone\" part=\"nap__select-timezone\">\n <h4 class=\"sub-header\">\n Select timezone\n <span class=\"icon\">\n <tooltip-component>\n <info-icon slot=\"tooltip-icon\" />\n <span slot=\"tooltip-content\">Select your timezone for displaying availability.</span>\n </tooltip-component>\n </span>\n </h4>\n <select-dropdown\n name=\"timezone\"\n exportparts=\"sd_dropdown: nap__timezone-container, sd_dropdown-button: nap__timezone-button, sd_dropdown-content: nap__timezone-dropdown-content\"\n options={timezoneOptions}\n defaultSelectedOption={timezoneOptions.find(i => i.value === this.defaultTimezone)}\n >\n <span slot=\"select-icon\">\n <globe-icon width=\"20\" height=\"20\" />\n </span>\n </select-dropdown>\n </div>\n <div class=\"availability\" part=\"nap__availability\">\n {Object.keys(this.schedule).map(key => {\n const day = key;\n const timeRanges = this.schedule[key] as { start: string; end: string }[];\n return (\n <div class=\"availability-day\">\n <div class=\"day\" part=\"nap__day\">\n <input\n type=\"checkbox\"\n name={day}\n id={day}\n checked={timeRanges.length > 0}\n onClick={() => {\n if (timeRanges.length > 0) {\n this.schedule[day] = [];\n } else {\n this.schedule[day] = [{ start: '09:00am', end: '05:00pm' }];\n }\n this.schedule = { ...this.schedule };\n }}\n />\n <label htmlFor={day} aria-label=\"Select day\">\n {day}\n </label>\n </div>\n <div class=\"time-ranges\" part=\"nap__time-ranges\">\n {timeRanges.length ? null : <span class=\"unavailable\">Unavailable</span>}\n {timeRanges.length > 0 &&\n timeRanges.map((timeRange, timeRangeIndex) => {\n const startKey = `${key}:${timeRangeIndex}_start`;\n const endKey = `${key}:${timeRangeIndex}_end`;\n return (\n <div class=\"time-range\" part=\"nap__time-range\">\n <div class=\"pickers\">\n <nylas-time-window-picker\n id={startKey}\n hasError={this.overlapDays[day]?.includes(timeRangeIndex)}\n time={timeRange.start}\n name={startKey}\n key={startKey}\n exportparts=\"time-picker: nap__time-picker-container, time-input: nap__time-picker-input, times: nap__time-picker-times\"\n />\n <span> - </span>\n <nylas-time-window-picker\n id={endKey}\n hasError={this.overlapDays[day]?.includes(timeRangeIndex)}\n time={timeRange.end}\n name={endKey}\n key={endKey}\n minimumStartTime={timeRange.start}\n exportparts=\"time-picker: nap__time-picker-container, time-input: nap__time-picker-input, times: nap__time-picker-times\"\n />\n </div>\n <button onClick={() => this.removeTimeRange(day, timeRangeIndex)}>\n <close-icon />\n </button>\n </div>\n );\n })}\n <p class=\"error\">{this.overlapDays[day] ? 'Overlapping time ranges' : ''}</p>\n </div>\n <div>\n {timeRanges.length > 0 ? (\n <button onClick={() => this.addTimeRange(day)} part=\"nap__add-time-range\">\n <add-circle-icon />\n </button>\n ) : null}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -73,7 +73,7 @@ const NylasCancelBookingForm = proxyCustomElement(class NylasCancelBookingForm e
73
73
  debug(`[nylas-cancel-booking-form] Component disconnected`);
74
74
  }
75
75
  render() {
76
- return (h(Host, { key: '073a93d34ef7f08acaa827d0e5f391481572c447', part: "ncec" }, h("sp-theme", { key: 'b2183d3473931a5d1dd18dfdbe32fed0128d5dc1', theme: "spectrum", scale: "medium" }, h("div", { key: 'f9147a9d4041b5848bd11f06da7c96e98af3d9bd', class: "nylas-cancel-booking-form", part: "ncec__card" }, h("div", { key: '15da6ffbfe870b80bd057415469a4c94c1b3a243', class: "nylas-cancel-booking-form__calendar-icon", part: "ncec__icon" }, h("calendar-cancel-icon", { key: 'f3f36d408dbbe9717ff2ca13981714c36a4ba160' })), h("h3", { key: '56cd0d658ba9a1c63cd0017514a190c42796dbf4', class: "nylas-cancel-booking-form__title", part: "ncec__title" }, "Cancel booking?"), h("div", { key: 'db6672c70cc566544ec748f9c7a7426000e0c619', class: "nylas-cancel-booking-form__description", part: "ncec__description" }, this.cancellationPolicy), h("form", { key: 'd227b962561915e823a151a289b135c1d9065510', onSubmit: this.handleSubmitCancelBooking }, h("sp-field-label", { key: '42eea73d2ffb041b90fbdffdc0c7e16603eee949', for: "cancel-reason", class: this.cancellationError ? 'error' : '' }, "Reason for cancellation ", h("span", { key: '57978569e7bd5828b9dfaee053de9a8fae0892d5', class: "required" }, "*")), h("sp-textfield", { key: '08eb8ef56d7536053939086f5da1d5137e43b201', id: "cancel-reason", class: this.cancellationError ? 'error' : '', part: "ncec__reason-textarea", multiline: true, value: this.cancellationReason, onInput: this.handleOnChangeCancellationReason, onFocus: this.handleOnChangeCancellationReason, invalid: !!this.cancellationError }, h("sp-help-text", { key: 'dd985c41efd6427e1cec09874caee5c5d345c1cb', slot: "negative-help-text" }, this.cancellationError)), h("sp-button", { key: '97705e808b56f0d373dc1fa705fd61b912ed643e', variant: "primary", class: "cancel", type: "submit", part: "ncec__button-cta" }, "Cancel booking"), h("sp-button", { key: '21ae78e3492ad79cbee485709bb863c29f4b041f', variant: "secondary", class: "back", treatment: "outline", part: "ncec__button-outline", onClick: this.handleGoBackClicked }, "Go back"))))));
76
+ return (h(Host, { key: '25f45d91057f52263ae313ffed14d56ba22a783d', part: "ncec" }, h("sp-theme", { key: 'c213bc36d8459f0c206ca19bdd77d2d6b5ba5c1b', theme: "spectrum", scale: "medium" }, h("div", { key: 'bd50aa9a5c416825bc6b05c0bf47d85a31021c29', class: "nylas-cancel-booking-form", part: "ncec__card" }, h("div", { key: '9654b0cbda12436ac025265f82aa8bfe0a127fbd', class: "nylas-cancel-booking-form__calendar-icon", part: "ncec__icon" }, h("calendar-cancel-icon", { key: '3a97606f7c5f2e0f9c08dc7f0b199e56a4afa7f4' })), h("h3", { key: '26c0a115101786847fa681fa2cb3492561516f64', class: "nylas-cancel-booking-form__title", part: "ncec__title" }, "Cancel booking?"), h("div", { key: '05fe59fff1fa6b8bf38313bef5457d4022674570', class: "nylas-cancel-booking-form__description", part: "ncec__description" }, this.cancellationPolicy), h("form", { key: '6c3c1365bde80d1915026f125be9208c3c16d69c', onSubmit: this.handleSubmitCancelBooking }, h("sp-field-label", { key: 'fca2f04d8300b0e1be7a8071fed69c714f82491e', for: "cancel-reason", class: this.cancellationError ? 'error' : '' }, "Reason for cancellation ", h("span", { key: '1a77038fbda4048fca0e7cc8a39ad357a10f0fd7', class: "required" }, "*")), h("sp-textfield", { key: 'dbb19d14b09f7b85776ca288ec8f9fe58d5080f5', id: "cancel-reason", class: this.cancellationError ? 'error' : '', part: "ncec__reason-textarea", multiline: true, value: this.cancellationReason, onInput: this.handleOnChangeCancellationReason, onFocus: this.handleOnChangeCancellationReason, invalid: !!this.cancellationError }, h("sp-help-text", { key: 'e2e0c9794cae46b4a5cc857156d904a1236ccb49', slot: "negative-help-text" }, this.cancellationError)), h("sp-button", { key: 'a647e3e70704325f3986e6a869b65a5ec7495354', variant: "primary", class: "cancel", type: "submit", part: "ncec__button-cta" }, "Cancel booking"), h("sp-button", { key: 'b8b732ceafaf6d1090cf7b1a3d979854e17684ca', variant: "secondary", class: "back", treatment: "outline", part: "ncec__button-outline", onClick: this.handleGoBackClicked }, "Go back"))))));
77
77
  }
78
78
  static get watchers() { return {
79
79
  "configSettings": ["configSettingsChangedHandler"]
@@ -63,7 +63,7 @@ const NylasCancellationPolicy = proxyCustomElement(class NylasCancellationPolicy
63
63
  this.valueChanged.emit({ value: value, name: this.name });
64
64
  }
65
65
  render() {
66
- 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) }))));
66
+ 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) }))));
67
67
  }
68
68
  static get formAssociated() { return true; }
69
69
  get host() { return this; }
@@ -54,7 +54,7 @@ const NylasCancelledEventCard = proxyCustomElement(class NylasCancelledEventCard
54
54
  debug(`[nylas-cancelled-event-card] Component disconnected`);
55
55
  }
56
56
  render() {
57
- return (h(Host, { key: '11c4720a791169b5d562f484fecc2e5586bbdeaf', part: "ncec" }, h("sp-theme", { key: 'ccd04e6a1a895ad4be18bdb14d27a1c7403a0568', theme: "spectrum", color: "dark", scale: "medium" }, h("div", { key: 'a0360afadc55f58d20e651cb33036aa364a3740e', class: "nylas-cancelled-event-card", part: "ncec__card" }, h("div", { key: '727eba1d97de774c9a51909bec714688d9e60c1c', class: "nylas-cancelled-event-card__calendar-icon", part: "ncec__icon" }, h("calendar-cancel-icon", { key: 'bd96caf7b68ee65a470e5949d6622de0893c112d' })), h("h3", { key: '9bcb27d08117825255c2a5625e7b8f630e35b1e5', class: "nylas-cancelled-event-card__title", part: "ncec__title" }, "Your booking has been cancelled successfully!"), h("div", { key: 'f356c2776a296b89efe9ff9b02dd0f928ea1c0c8', class: "nylas-cancelled-event-card__description", part: "ncec__description" }, "A cancellation email has been sent to ", this.configSettings?.organizer?.name || 'the participants', "."), h("div", { key: '50130b11b9806a5c6adfd67f436d273fbec91774', class: "nylas-cancelled-event-card__cta" }, h("sp-button", { key: '77e8e62722ac4ace0a667b45feed6684b3bb6056', variant: "secondary", treatment: "outline", disabled: this.isClosing, part: "ncec__button-outline", onClick: this.handleCloseClicked }, this.isClosing ? 'Closing...' : 'Close'))))));
57
+ return (h(Host, { key: '9c4e8c3d74888d794d747e048ab368ae4f9fce9f', part: "ncec" }, h("sp-theme", { key: 'fe7c297e3da3ec06c54b8c4eddce779e283a6f8c', theme: "spectrum", color: "dark", scale: "medium" }, h("div", { key: '1154b9e1271af9d613401f1958937a2dc87ad2e9', class: "nylas-cancelled-event-card", part: "ncec__card" }, h("div", { key: 'c1d5e51311db568bdfd14c45cdb17a341d1222ad', class: "nylas-cancelled-event-card__calendar-icon", part: "ncec__icon" }, h("calendar-cancel-icon", { key: '9c3f516a80498ff983fe17dd2fbc84d9ee0ac7b8' })), h("h3", { key: '82ed5d4165dbc590bb996569252a5661ac915d98', class: "nylas-cancelled-event-card__title", part: "ncec__title" }, "Your booking has been cancelled successfully!"), h("div", { key: '5a01351f61614bee349cb350395d00d61b43c574', class: "nylas-cancelled-event-card__description", part: "ncec__description" }, "A cancellation email has been sent to ", this.configSettings?.organizer?.name || 'the participants', "."), h("div", { key: 'c82b6b6260111bdecf664a475591cbfab6d4321e', class: "nylas-cancelled-event-card__cta" }, h("sp-button", { key: '34fdcee6945a44597a2084c3043aa3375cd560cb', variant: "secondary", treatment: "outline", disabled: this.isClosing, part: "ncec__button-outline", onClick: this.handleCloseClicked }, this.isClosing ? 'Closing...' : 'Close'))))));
58
58
  }
59
59
  static get style() { return nylasCancelledEventCardCss; }
60
60
  }, [1, "nylas-cancelled-event-card", {
@@ -138,7 +138,7 @@ const NylasComposer = proxyCustomElement(class NylasComposer extends HTMLElement
138
138
  this.editorEl.focus();
139
139
  }
140
140
  render() {
141
- return (h(Host, { key: 'c8ab18162320c10834660c655141a985c36958ac' }, h("sp-theme", { key: '01a86b0ddef68c16b139cdb95bf3f9df102ead60', scale: "medium", color: "dark" }, h("div", { key: '280d8dfbee592023d7461e6691805a6e44e8837b', class: "editor", contentEditable: true, ref: r => (this.editorEl = r) }, h("div", { key: '35437f24077f1e5a9b629bfca6437ec6740c8780', class: "toolbar", ref: r => (this.toolbarEl = r), contentEditable: false }, h("sp-button", { key: '378551180f48beb175216d045acd4d65355f3234', quiet: true, onClick: () => document.execCommand('bold') }, h("div", { key: 'a7a6872cfc4d34939aaeba4e45e67d8ca1ac52ab', slot: "icon" }, h("bold-icon", { key: '198210356c76239162c2d44251845529b5765e04' })), h("div", { key: '6ecdf762f2a29a39bce8c49da6cc366594218c52', slot: "label" }, "Bold")), h("sp-button", { key: '6ee0821abd7462a9105f13228a4441ed302d0df9', quiet: true, onClick: () => document.execCommand('underline') }, h("div", { key: '37745f4ee7e5bac2d4bba65d3682338590b49c88', slot: "icon" }, h("underline-icon", { key: '9b7a46dbf44378c001c16afca0e8c30e0b1ea12f' })), h("div", { key: '54e6ce111dcc82421b475040a0a85d26c648c1d4', slot: "label" }, "Underline")), h("sp-button", { key: 'ae292c9f8f55a7ae82ddfaaa75ba9a045c80c02d', quiet: true, onClick: () => document.execCommand('italic') }, h("div", { key: 'fdfdf0265a51eeca44c72ec7de634f9c23a5a846', slot: "icon" }, h("italic-icon", { key: '6308247060d42eb21284e6687a0abc18cf63e32c' })), h("div", { key: '49487a1f0677fc394dd617abfdb645c56e441f55', slot: "label" }, "Italic")))), h("div", { key: '08b56206aef08fbc262ec615c1c593949ef05c82', class: 'buttons' }, h("sp-button", { key: 'f099e2091f8070adaf80cd9fd4299e53e25ef39b', onClick: this.sendComposer, class: "send" }, "Send"), h("sp-button", { key: '78c73f9aec9dd29a7b1360192ef190d20f0bb092', onClick: this.closeComposer, class: "close" }, "Close")))));
141
+ return (h(Host, { key: '272229753ac9d990a72c4e1d743b34d01d57d3e3' }, h("sp-theme", { key: 'a43065734dff3bbda8163f9d39f381619020e603', scale: "medium", color: "dark" }, h("div", { key: '11d5f1e8d8c3e7debda04af54a2c6ef5c63b3260', class: "editor", contentEditable: true, ref: r => (this.editorEl = r) }, h("div", { key: '6c936b9bfb1fdce1d8f073405bd80a582849e175', class: "toolbar", ref: r => (this.toolbarEl = r), contentEditable: false }, h("sp-button", { key: 'b6c5c51c52d707165367990fa76b5a80fc837936', quiet: true, onClick: () => document.execCommand('bold') }, h("div", { key: 'e8d07f19efe1bcbb1eb0efd69fe0566df8a656d3', slot: "icon" }, h("bold-icon", { key: 'cd5c2e7b5883e1ff5c6d34106a0b4086ffb9b1d2' })), h("div", { key: '8efca1559b463fc356fe69d0bf7fc327f90ab846', slot: "label" }, "Bold")), h("sp-button", { key: '1d7703909feab13241fd75052946f198ad01d1b6', quiet: true, onClick: () => document.execCommand('underline') }, h("div", { key: 'ab1d89e8d5ebca33447274cffbcda5574f41bdde', slot: "icon" }, h("underline-icon", { key: '0598b423ac6724aef96ca5343ce1449fb56f8766' })), h("div", { key: 'c091c8f3d08798fa7d49b86508b29047e5e4ea44', slot: "label" }, "Underline")), h("sp-button", { key: '60ea18e3f3ff95760910fef22119255477375a8f', quiet: true, onClick: () => document.execCommand('italic') }, h("div", { key: 'ed6f703adc15b721e0e3cfc72ab438a620b34dbd', slot: "icon" }, h("italic-icon", { key: 'adb995c72136305499b149eb706841b4ca8291c8' })), h("div", { key: '481da563cadf1885efe1f466c5299913f78442a7', slot: "label" }, "Italic")))), h("div", { key: '5c2185ee0ba3c99bde46c13094c696fba33bfe6a', class: 'buttons' }, h("sp-button", { key: 'f73a9a795a24e59d2c835b5a9a1cb7e2d16532c6', onClick: this.sendComposer, class: "send" }, "Send"), h("sp-button", { key: '2a2ef56256878c45da84f03933e292a98069c44d', onClick: this.closeComposer, class: "close" }, "Close")))));
142
142
  }
143
143
  get host() { return this; }
144
144
  static get watchers() { return {
@@ -94,7 +94,7 @@ const NylasCustomBookingFlow$1 = proxyCustomElement(class NylasCustomBookingFlow
94
94
  value: 'pre-booking',
95
95
  },
96
96
  ];
97
- 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...")))))));
97
+ 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
98
  }
99
99
  static get formAssociated() { return true; }
100
100
  get host() { return this; }
@@ -100,7 +100,7 @@ const NylasCustomizeBookingSettings = proxyCustomElement(class NylasCustomizeBoo
100
100
  }), this.name);
101
101
  }
102
102
  render() {
103
- 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.")))))))));
103
+ return (h(Host, { key: '98e7ab408f5d7dff71321819cbc2a5e336ca52de' }, h("div", { key: 'ea73803234b4843cf7e58dc2570171e0237ea7d1', class: "nylas-customize-booking-settings", part: "ncbs" }, h("div", { key: '9b081de7e2d2152b874a5a4713a5313c6e021409', class: "header", part: "ncbs__header" }, h("h3", { key: '976be7412b4f8d70269c3b429652fa1091da1457' }, "Additional settings"), h("p", { key: 'f580ed5fd9c29773715bf26f5dc0c466c56ba43f' }, "Booking settings for the event.")), h("div", { key: '9e694bcf133167fa12efbd46bee02158b56e9777', class: "nylas-customize-booking-settings__settings", part: "ncbs__settings" }, h("div", { key: '39d4154e12c7f5cf96f04ca3fc3e0f17d0e8b2ec', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__additional_guests" }, h("checkbox-component", { key: '61f11b632388d036622078f76f2d90370458b152', name: "hide_additional_guests", label: "Allow guests to invite additional guests.", checked: this.allowGuestsToInvite }, h("span", { key: '14573cca344d64ddfddebe6f402321a52fcce6ee', slot: "label", class: "label" }, h("p", { key: '64790dee39a090a778479a7eb3b1efcd14054bb9', class: "label-contents" }, "Allow guests to invite additional guests to the booking."), h("tooltip-component", { key: '564c56d4f159e11bf82b02eaab43b36ef9dd7117', id: "guests" }, h("info-icon", { key: 'a442aac8c9d930dc6be00a07fb6cd32b39cbd24b', slot: "tooltip-icon" }), h("span", { key: '6a9eff50392213a42be00c99f0f78d5e2d8eb0f4', 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: 'e7d58c8c04cd715bd02fd4dcc14073ce1f6aaf08', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__rescheduling_options" }, h("checkbox-component", { key: '3f5c22d363bb11012b8514f5a33871a3f054fc80', name: "hide_rescheduling_options", label: "Hide 'Reschedule' option on booking page and emails.", checked: this.hideReschedulingOptions }, h("span", { key: '2ed45b907aa847c41da5a0e394b0b5ddb91a3e26', slot: "label", class: "label" }, h("p", { key: 'a1fc109c7211d387426d66ac9129fad25032565b', class: "label-contents" }, "Hide the\u00A0", h("strong", { key: 'ac79eec03a85d1963ac4e75b0fbf678f4a063776' }, "Reschedule"), "\u00A0button on the Scheduling Page and in the email notifications."), h("tooltip-component", { key: 'd8f41e37b915c0be9154a475da07d5ed343d96b4', id: "reschedule" }, h("info-icon", { key: 'fbb3f300f4276bd249f9cf12d11c4b6467c82247', slot: "tooltip-icon" }), h("span", { key: '689b3c36070c26e6d6bac530a56008404354e43b', 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: 'f21aeca85fbb63da4d844d37cf87ff1e8d48f001', class: "nylas-customize-booking-settings__settings-div", part: "ncbs__settings-div , ncbs__cancellation_options" }, h("checkbox-component", { key: 'be80ca87a198de83451085fceca77b4d2455357d', name: "hide_cancellation_options", label: "Hide 'Cancel' option on booking page and emails.", checked: this.hideCancellationOptions }, h("span", { key: '80e718e75b94562d3b8c4a3d9f170ee2de0c2c1b', slot: "label", class: "label" }, h("p", { key: 'd46dfe25aa86b112f5c57abe3337de6d88a79c90', class: "label-contents" }, "Hide the\u00A0", h("strong", { key: 'ac243fbb7a3c85c8ab3af28b61ae2724c428ac3e' }, "Cancel"), "\u00A0button on the Scheduling Page and in the email notifications."), h("tooltip-component", { key: 'b720fc3becba6ca2cc71d01bb77c19ec154b1aa1', id: "cancel" }, h("info-icon", { key: '5ab491a0734fe525ad2be3e2ad067cb292cce182', slot: "tooltip-icon" }), h("span", { key: '4621e731c10b515294641be4f9ee60142b46f9c6', 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.")))))))));
104
104
  }
105
105
  static get formAssociated() { return true; }
106
106
  get host() { return this; }