@nylas/react 1.3.5 → 1.4.0

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 (221) hide show
  1. package/dist/add-circle-icon_2.entry-6e8e4e1e.cjs +1 -0
  2. package/dist/add-circle-icon_2.entry-dbad9a3b.js +26 -0
  3. package/dist/archive-icon.entry-21f532af.cjs +1 -0
  4. package/dist/archive-icon.entry-802f7877.js +16 -0
  5. package/dist/{arrow-icon.entry-fa9584cf.js → arrow-icon.entry-e3dec626.js} +3 -2
  6. package/dist/arrow-icon.entry-e9af732a.cjs +1 -0
  7. package/dist/{bold-icon.entry-ac6a4956.js → bold-icon.entry-0492ff02.js} +3 -2
  8. package/dist/bold-icon.entry-1a2be28a.cjs +1 -0
  9. package/dist/button-component_2.entry-f0c7f894.cjs +1 -0
  10. package/dist/{button-component_2.entry-caf33abf.js → button-component_2.entry-fea9bd3d.js} +10 -9
  11. package/dist/calendar-agenda-fill-icon_36.entry-70681da2.cjs +6 -0
  12. package/dist/calendar-agenda-fill-icon_36.entry-c85d6a79.js +4642 -0
  13. package/dist/calendar-cancel-icon.entry-237b8c9e.cjs +1 -0
  14. package/dist/{calendar-cancel-icon.entry-02015d74.js → calendar-cancel-icon.entry-e7dd5b8f.js} +6 -5
  15. package/dist/calendar-check-icon_2.entry-a868e0bc.cjs +1 -0
  16. package/dist/{calendar-check-icon_2.entry-2f7dc236.js → calendar-check-icon_2.entry-c7f47fc8.js} +10 -9
  17. package/dist/calendar-icon.entry-071eb30d.cjs +1 -0
  18. package/dist/{calendar-icon.entry-70ac9bd6.js → calendar-icon.entry-324de624.js} +6 -5
  19. package/dist/checkbox-component.entry-0f9970cc.js +43 -0
  20. package/dist/checkbox-component.entry-5bcf4b08.cjs +1 -0
  21. package/dist/checkmark-icon_15.entry-7776e533.cjs +5 -0
  22. package/dist/checkmark-icon_15.entry-98377585.js +1337 -0
  23. package/dist/chevron-icon_3.entry-526b4b85.cjs +1 -0
  24. package/dist/chevron-icon_3.entry-ec66260c.js +148 -0
  25. package/dist/{clock-icon_4.entry-af5301d7.js → clock-icon_4.entry-4fa47996.js} +19 -18
  26. package/dist/clock-icon_4.entry-66d15f7c.cjs +1 -0
  27. package/dist/{constants-f6e79ab7-24392f9e.js → constants-f5ba52b9-40ab2ded.js} +121 -30
  28. package/dist/constants-f5ba52b9-a0866d2f.cjs +1 -0
  29. package/dist/customParseFormat-39eacb44-45ade322.cjs +1 -0
  30. package/dist/customParseFormat-39eacb44-eeffe2bb.js +135 -0
  31. package/dist/delete-icon.entry-540aa2bb.cjs +1 -0
  32. package/dist/{delete-icon.entry-00cb3ee8.js → delete-icon.entry-95d01eb8.js} +7 -6
  33. package/dist/document-refresh-icon.entry-b82d5da8.js +16 -0
  34. package/dist/document-refresh-icon.entry-c467f082.cjs +1 -0
  35. package/dist/elements/index.d.ts +11 -0
  36. package/dist/{feedbackSync-547e51ee-bcaf691c.js → feedbackSync-47d13bb0-5608d680.js} +1 -1
  37. package/dist/{feedbackSync-547e51ee-9b572309.cjs → feedbackSync-47d13bb0-9f249f33.cjs} +1 -1
  38. package/dist/folder-icon.entry-4d48c2ee.cjs +1 -0
  39. package/dist/{folder-icon.entry-60b3eda5.js → folder-icon.entry-cb0dc63d.js} +5 -4
  40. package/dist/forward-icon.entry-5aa01f53.js +16 -0
  41. package/dist/forward-icon.entry-d04aaf6d.cjs +1 -0
  42. package/dist/globe-icon_2.entry-87e29cdf.cjs +1 -0
  43. package/dist/globe-icon_2.entry-c7ae78cc.js +200 -0
  44. package/dist/google-logo-icon_6.entry-80a6bfa3.js +1457 -0
  45. package/dist/google-logo-icon_6.entry-a8b6efc0.cjs +2 -0
  46. package/dist/google-meet-icon_5.entry-26d667b6.cjs +1 -0
  47. package/dist/google-meet-icon_5.entry-4e71c83b.js +56 -0
  48. package/dist/inbox-icon.entry-60a82bfc.cjs +1 -0
  49. package/dist/inbox-icon.entry-77e4e17b.js +16 -0
  50. package/dist/index-04630615.js +17580 -0
  51. package/dist/index-3d1f13d6.cjs +57 -0
  52. package/dist/index.d.ts +1 -3
  53. package/dist/{index.es-2d849a15-2d84f7a5.cjs → index.es-1fdb1e36-830a422f.cjs} +6 -6
  54. package/dist/{index.es-2d849a15-4eb8e180.js → index.es-1fdb1e36-fbdb04fa.js} +818 -804
  55. package/dist/info-icon_2.entry-34800b66.cjs +1 -0
  56. package/dist/info-icon_2.entry-3c483f61.js +35 -0
  57. package/dist/input-component.entry-ea4016fe.js +84 -0
  58. package/dist/input-component.entry-f7ccf3d6.cjs +1 -0
  59. package/dist/input-dropdown_2.entry-c7730cf8.js +231 -0
  60. package/dist/input-dropdown_2.entry-d4024d2f.cjs +1 -0
  61. package/dist/italic-icon.entry-6e0805ab.js +16 -0
  62. package/dist/italic-icon.entry-8127c2ee.cjs +1 -0
  63. package/dist/multi-select-dropdown_2.entry-49d6f0e7.cjs +1 -0
  64. package/dist/multi-select-dropdown_2.entry-d749999d.js +187 -0
  65. package/dist/notebook-store-b61693cd-7a5576e7.js +14 -0
  66. package/dist/notebook-store-b61693cd-84de36d2.cjs +5 -0
  67. package/dist/nylas-booked-event-card_12.entry-29337b10.cjs +1 -0
  68. package/dist/nylas-booked-event-card_12.entry-3fcfd6f9.js +1418 -0
  69. package/dist/nylas-call-summary.entry-38aed89a.js +16 -0
  70. package/dist/nylas-call-summary.entry-e9adcb93.cjs +1 -0
  71. package/dist/nylas-event-calendar_3.entry-48f656e5.cjs +6 -0
  72. package/dist/nylas-event-calendar_3.entry-62d1f1f5.js +9693 -0
  73. package/dist/nylas-form-card.entry-3828ccb1.js +58 -0
  74. package/dist/nylas-form-card.entry-b900b46e.cjs +1 -0
  75. package/dist/{nylas-if-state.entry-beef8af6.js → nylas-if-state.entry-2810dcf5.js} +4 -3
  76. package/dist/nylas-if-state.entry-92af0a51.cjs +1 -0
  77. package/dist/nylas-key-points.entry-977a6fae.js +29 -0
  78. package/dist/nylas-key-points.entry-de658637.cjs +1 -0
  79. package/dist/nylas-login.entry-4a6c11e6.cjs +1 -0
  80. package/dist/{nylas-login.entry-1661cbd4.js → nylas-login.entry-8101d3d0.js} +4 -3
  81. package/dist/nylas-provider.entry-b7ac25f5.cjs +1 -0
  82. package/dist/{nylas-provider.entry-1f140378.js → nylas-provider.entry-c054d68a.js} +6 -5
  83. package/dist/nylas-scheduler-editor.entry-1538950d.cjs +2 -0
  84. package/dist/{nylas-scheduler-editor.entry-f184f72e.js → nylas-scheduler-editor.entry-e35fad5c.js} +530 -272
  85. package/dist/nylas-scheduling.entry-360b978c.js +439 -0
  86. package/dist/nylas-scheduling.entry-92351cd2.cjs +1 -0
  87. package/dist/nylas-transcript.entry-4d973027.cjs +6 -0
  88. package/dist/nylas-transcript.entry-81e2c821.js +128 -0
  89. package/dist/nylas-video-player.entry-60268c07.js +39 -0
  90. package/dist/nylas-video-player.entry-f3c2b073.cjs +1 -0
  91. package/dist/nylas-video-preview.entry-12e05e4d.cjs +1 -0
  92. package/dist/nylas-video-preview.entry-320421b6.js +16 -0
  93. package/dist/{person-icon.entry-f9ca9147.js → person-icon.entry-8533209c.js} +8 -7
  94. package/dist/person-icon.entry-967ad730.cjs +1 -0
  95. package/dist/play-icon.entry-15ee8568.js +16 -0
  96. package/dist/play-icon.entry-7b1fd79d.cjs +1 -0
  97. package/dist/radio-button-group.entry-24cb342f.cjs +1 -0
  98. package/dist/radio-button-group.entry-53dcf16c.js +47 -0
  99. package/dist/react.cjs +1 -1
  100. package/dist/react.js +133 -123
  101. package/dist/refresh-icon.entry-0486ae54.cjs +1 -0
  102. package/dist/{refresh-icon.entry-7886041f.js → refresh-icon.entry-f3320971.js} +7 -6
  103. package/dist/{register-component-677d8d2b-0113766e.js → register-component-504a1cbb-5f986d7f.js} +1 -1
  104. package/dist/{register-component-677d8d2b-4738af1d.cjs → register-component-504a1cbb-89124fd8.cjs} +1 -1
  105. package/dist/{reply-all-icon.entry-fdd0058e.js → reply-all-icon.entry-006fd1fb.js} +6 -5
  106. package/dist/reply-all-icon.entry-2cea1a40.cjs +1 -0
  107. package/dist/reply-icon.entry-bd252aed.cjs +1 -0
  108. package/dist/reply-icon.entry-d27166a1.js +16 -0
  109. package/dist/scheduler-config-store-d6729d8d-4a2defea.cjs +1 -0
  110. package/dist/{scheduler-config-store-ed4a8dfd-012dcf85.js → scheduler-config-store-d6729d8d-63e34849.js} +4 -1
  111. package/dist/scheduler-store-baf100ed-5c5d3aa5.cjs +1 -0
  112. package/dist/scheduler-store-baf100ed-81b183dc.js +533 -0
  113. package/dist/sent-icon.entry-bf101068.js +16 -0
  114. package/dist/sent-icon.entry-ee434395.cjs +1 -0
  115. package/dist/spam-icon.entry-11016b63.cjs +1 -0
  116. package/dist/spam-icon.entry-5193f9c6.js +16 -0
  117. package/dist/star-icon.entry-0e269252.cjs +1 -0
  118. package/dist/{star-icon.entry-501083c1.js → star-icon.entry-9c7449f3.js} +6 -5
  119. package/dist/stop-icon.entry-2ac11166.js +16 -0
  120. package/dist/stop-icon.entry-86412c9f.cjs +1 -0
  121. package/dist/textarea-component.entry-27717409.cjs +1 -0
  122. package/dist/textarea-component.entry-9df3fa96.js +39 -0
  123. package/dist/toggle-switch.entry-9623e2b2.cjs +1 -0
  124. package/dist/toggle-switch.entry-a5ddfad9.js +34 -0
  125. package/dist/translate-icon.entry-e0617680.cjs +1 -0
  126. package/dist/{translate-icon.entry-676a4150.js → translate-icon.entry-f22293e6.js} +5 -4
  127. package/dist/trash-fill-icon.entry-0275f657.cjs +1 -0
  128. package/dist/trash-fill-icon.entry-2616c5df.js +16 -0
  129. package/dist/{underline-icon.entry-3513c5ef.js → underline-icon.entry-1110dcb1.js} +5 -4
  130. package/dist/underline-icon.entry-d54b06ab.cjs +1 -0
  131. package/dist/warning-icon.entry-6d390ab7.cjs +1 -0
  132. package/dist/{warning-icon.entry-6e723597.js → warning-icon.entry-9a6e7913.js} +8 -7
  133. package/package.json +11 -3
  134. package/dist/add-circle-icon.entry-00c87903.js +0 -15
  135. package/dist/add-circle-icon.entry-640d2b46.cjs +0 -1
  136. package/dist/archive-icon.entry-5b209336.cjs +0 -1
  137. package/dist/archive-icon.entry-e8a39eda.js +0 -15
  138. package/dist/arrow-icon.entry-a25b7b7e.cjs +0 -1
  139. package/dist/bold-icon.entry-d837c73d.cjs +0 -1
  140. package/dist/button-component_2.entry-1471422a.cjs +0 -1
  141. package/dist/calendar-agenda-fill-icon_53.entry-094bd4b9.cjs +0 -6
  142. package/dist/calendar-agenda-fill-icon_53.entry-6d7f9c79.js +0 -5757
  143. package/dist/calendar-cancel-icon.entry-42d3d226.cjs +0 -1
  144. package/dist/calendar-check-icon_2.entry-45aacd91.cjs +0 -1
  145. package/dist/calendar-icon.entry-90d67b03.cjs +0 -1
  146. package/dist/checkbox-component_3.entry-231b2254.cjs +0 -1
  147. package/dist/checkbox-component_3.entry-7270533c.js +0 -153
  148. package/dist/chevron-icon_3.entry-3c95cc88.js +0 -147
  149. package/dist/chevron-icon_3.entry-ead3d4c8.cjs +0 -1
  150. package/dist/clock-icon_4.entry-b50cce70.cjs +0 -1
  151. package/dist/close-icon.entry-04008446.cjs +0 -1
  152. package/dist/close-icon.entry-0a4105c9.js +0 -15
  153. package/dist/constants-f6e79ab7-23d7236b.cjs +0 -1
  154. package/dist/copy-icon.entry-312ff230.js +0 -15
  155. package/dist/copy-icon.entry-74f8ebcd.cjs +0 -1
  156. package/dist/core-js-38e53e34.cjs +0 -4
  157. package/dist/core-js-a9d3b6e1.js +0 -3297
  158. package/dist/delete-icon.entry-b61a6706.cjs +0 -1
  159. package/dist/document-refresh-icon.entry-1c985b1e.js +0 -15
  160. package/dist/document-refresh-icon.entry-27ff5cb2.cjs +0 -1
  161. package/dist/dom-68f08be9.cjs +0 -15
  162. package/dist/dom-86e17616.js +0 -664
  163. package/dist/folder-icon.entry-c32a6e15.cjs +0 -1
  164. package/dist/forward-icon.entry-5f9a7639.js +0 -15
  165. package/dist/forward-icon.entry-8cd805dc.cjs +0 -1
  166. package/dist/globe-icon.entry-21a80591.cjs +0 -1
  167. package/dist/globe-icon.entry-397727e1.js +0 -15
  168. package/dist/google-logo-icon_4.entry-42e87368.cjs +0 -1
  169. package/dist/google-logo-icon_4.entry-6ccf8379.js +0 -778
  170. package/dist/inbox-icon.entry-1e448b4b.js +0 -15
  171. package/dist/inbox-icon.entry-50605b1d.cjs +0 -1
  172. package/dist/index-594c8e7b.js +0 -16763
  173. package/dist/index-cfb93df6.cjs +0 -81
  174. package/dist/info-icon_2.entry-65e0023f.js +0 -34
  175. package/dist/info-icon_2.entry-e7b86847.cjs +0 -1
  176. package/dist/input-color-picker.entry-37d2fb66.js +0 -48
  177. package/dist/input-color-picker.entry-aabfe638.cjs +0 -1
  178. package/dist/input-component.entry-51f6da14.cjs +0 -1
  179. package/dist/input-component.entry-c07d92b1.js +0 -70
  180. package/dist/input-dropdown_2.entry-20fb0552.cjs +0 -1
  181. package/dist/input-dropdown_2.entry-90c08f10.js +0 -228
  182. package/dist/italic-icon.entry-8e5599ff.js +0 -15
  183. package/dist/italic-icon.entry-ee10a040.cjs +0 -1
  184. package/dist/multi-select-dropdown.entry-656d2791.cjs +0 -1
  185. package/dist/multi-select-dropdown.entry-c143becc.js +0 -116
  186. package/dist/nylas-booked-event-card_12.entry-4974ffe6.js +0 -1332
  187. package/dist/nylas-booked-event-card_12.entry-669bb872.cjs +0 -1
  188. package/dist/nylas-form-card.entry-42e718e2.js +0 -57
  189. package/dist/nylas-form-card.entry-55d3909c.cjs +0 -1
  190. package/dist/nylas-if-state.entry-4de782b7.cjs +0 -1
  191. package/dist/nylas-login.entry-d6b80abe.cjs +0 -1
  192. package/dist/nylas-provider.entry-d5495e1a.cjs +0 -1
  193. package/dist/nylas-scheduler-editor.entry-bebe4e7d.cjs +0 -2
  194. package/dist/nylas-scheduling.entry-21c04831.cjs +0 -1
  195. package/dist/nylas-scheduling.entry-c335ad21.js +0 -415
  196. package/dist/nylas-time-window-picker_2.entry-9e0dd470.js +0 -336
  197. package/dist/nylas-time-window-picker_2.entry-a2651ee7.cjs +0 -1
  198. package/dist/person-icon.entry-21946944.cjs +0 -1
  199. package/dist/play-icon.entry-b27fcb18.cjs +0 -1
  200. package/dist/play-icon.entry-dbfed5e8.js +0 -15
  201. package/dist/refresh-icon.entry-9d94a60b.cjs +0 -1
  202. package/dist/reply-all-icon.entry-f0e0a5c4.cjs +0 -1
  203. package/dist/reply-icon.entry-0a42fb2c.cjs +0 -1
  204. package/dist/reply-icon.entry-a8d2b0f8.js +0 -15
  205. package/dist/scheduler-config-store-ed4a8dfd-a16d5c62.cjs +0 -1
  206. package/dist/scheduler-store-92eb8804-bc68a43a.js +0 -487
  207. package/dist/scheduler-store-92eb8804-c3deee73.cjs +0 -1
  208. package/dist/sent-icon.entry-c3f84a59.cjs +0 -1
  209. package/dist/sent-icon.entry-e047f087.js +0 -15
  210. package/dist/spam-icon.entry-55d01416.js +0 -15
  211. package/dist/spam-icon.entry-671eb165.cjs +0 -1
  212. package/dist/star-icon.entry-4dcae472.cjs +0 -1
  213. package/dist/stop-icon.entry-130a28b2.js +0 -15
  214. package/dist/stop-icon.entry-ed949255.cjs +0 -1
  215. package/dist/textarea-component.entry-65dd740a.cjs +0 -1
  216. package/dist/textarea-component.entry-efae9031.js +0 -37
  217. package/dist/translate-icon.entry-2591baf8.cjs +0 -1
  218. package/dist/trash-fill-icon.entry-5b373be7.js +0 -15
  219. package/dist/trash-fill-icon.entry-c411d0e0.cjs +0 -1
  220. package/dist/underline-icon.entry-6bf14476.cjs +0 -1
  221. package/dist/warning-icon.entry-719a094d.cjs +0 -1
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-cfb93df6.cjs"),D=require("./index.es-2d849a15-2d84f7a5.cjs"),B=require("./scheduler-store-92eb8804-c3deee73.cjs"),N=require("./constants-f6e79ab7-23d7236b.cjs"),E=require("./feedbackSync-547e51ee-9b572309.cjs");require("react");require("react-dom");class W{constructor({schedulerAPIURL:t,nylasSchedulerStore:i,sessionId:a,configId:o,slug:r,clientId:d}){if(!t)throw new Error("schedulerAPIURL is required");if(!i)throw new Error("nylasSchedulerStore is required");if(!a&&!o&&!(r||d))throw new Error("sessionId is required for private configs. If using public config either pass a configurationId or a combination of slug and clientId.");t==="/"&&(t=new URL(window.location.href).origin),this.configId=o,this.sessionId=a,this.schedulerAPIURL=t,this.nylasSchedulerStore=i,this.slug=r,this.clientId=d}init(){e.debug("NylasConnector init")}get schedulerStore(){return this.nylasSchedulerStore}get scheduler(){return this._schedulerAPIConnector?this._schedulerAPIConnector:(this._schedulerAPIConnector=new B.NylaSchedulerAPIConnector({schedulerAPIURL:this.schedulerAPIURL,schedulerStore:this.schedulerStore,sessionId:this.sessionId,configId:this.configId,slug:this.slug,clientId:this.clientId}),this._schedulerAPIConnector)}resetStores(){this.nylasSchedulerStore.reset()}}const I=(n,t)=>{const i=n.isLoading,a=n.showNotification,o=n.nylasBranding;return e.h(e.Fragment,null,a&&e.h("nylas-notification",null),i&&e.h("div",{class:"loading"},e.h("div",{class:"left"},e.h("div",{class:"skeleton"})),e.h("div",{class:"right"},e.h("div",{class:"skeleton"}),e.h("div",{class:"skeleton"}),e.h("div",{class:"skeleton"}),e.h("div",{class:"skeleton"}),e.h("div",{class:"skeleton"}))),!i&&t,e.h("div",{class:"footer"},o&&e.h("a",{href:"https://scheduler.nylas.com?utm_source=powered-by-nylas-logoutm_medium=link&utm_campaign=get-scheduler&utm_id=get-scheduler",class:"powered-by-nylas",target:"_blank",rel:"noreferrer noopener"},"Powered by ",e.h("span",{class:"sr-only"},"Nylas"),e.h("nylas-logo",{"aria-hidden":!0}))))},M=(n,t)=>e.h("div",{class:"message-banner"},t),$=':host{display:flex;flex-direction:column;overflow:visible;border-radius:var(--nylas-border-radius-2x);width:fit-content;background:var(--nylas-base-0);position:relative;box-shadow:0px 4px 8px 2px rgba(0, 0, 0, 0.05), 0px 8px 16px -2px rgba(0, 0, 0, 0.1);--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;font-family:var(--nylas-font-family);font-optical-sizing:auto;font-style:normal;font-variation-settings:"slnt" 0}@media screen and (max-width: 768px){:host{width:auto;min-width:325px}}:root{font-family:inherit}.error{padding:8rem 12rem;color:var(--nylas-base-0);background-color:var(--nylas-error);margin:1.5rem;border-radius:var(--nylas-border-radius-2x)}.message-banner{text-align:right;color:var(--nylas-base-800);padding:1rem;border-bottom:1px solid var(--nylas-color-primary-200);margin:0}.loading{margin:1.5rem;display:flex;gap:1rem}.loading .skeleton{border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite}.loading .skeleton:nth-child(2){animation-delay:-100ms}.loading .skeleton:nth-child(3){animation-delay:-200ms}.loading .skeleton:nth-child(4){animation-delay:-300ms}.loading .skeleton:nth-child(5){animation-delay:-400ms}.loading .left .skeleton{height:100%;width:400px}.loading .right .skeleton{height:5rem;width:300px;margin-bottom:1rem}.loading .right .skeleton:last-child{margin-bottom:0}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.select-date-page,.additional-data-page,.booked-event-page,.manual-confirmation-page,.cancelled-event-page,.cancel-flow-page{border-top-left-radius:var(--nylas-border-radius-2x);border-top-right-radius:var(--nylas-border-radius-2x)}.select-date-page,.additional-data-page{display:flex}@media screen and (max-width: 768px){.select-date-page,.additional-data-page{flex-direction:column}}.booked-event-page,.manual-confirmation-page{background-color:var(--nylas-base-50)}.cancelled-event-page,.manual-confirmation-page,.cancel-flow-page{padding:1rem;height:496px;display:flex;justify-content:center;align-items:center}.booked-event-page,.manual-confirmation-page,.cancelled-event-page,.cancel-flow-page{min-width:784px;background:var(--nylas-base-50)}@media screen and (max-width: 768px){.booked-event-page,.manual-confirmation-page,.cancelled-event-page,.cancel-flow-page{min-width:90%}}.left-panel{display:flex;flex-direction:column;min-width:424px;border-top-left-radius:inherit;background:var(--nylas-base-0);position:relative;padding:1rem 0 0 0;height:624px}@media screen and (max-width: 768px){.left-panel{border-top-right-radius:inherit;min-width:unset;height:auto}}@media screen and (max-width: 768px){.select-date-page .left-panel{padding:0.5rem 4px 0;height:624px}}.border{margin-left:-20px;margin-right:-20px;border-top-width:1px;height:0.5px;background-color:var(--nylas-base-200)}@media screen and (max-width: 768px){.border{display:none}}.right-panel{min-width:360px;width:360px;background-color:var(--nylas-base-50);height:624px;padding-top:16px;border-left:1px solid var(--nylas-base-200);border-top-right-radius:inherit}.right-panel.reschedule{border-top-right-radius:0px}@media screen and (max-width: 768px){.right-panel{border-top-right-radius:0px;width:inherit;min-width:unset;height:auto}}.right-panel h2{display:flex;margin:0;height:48px;gap:0.5rem;justify-content:center;align-items:center;width:auto;font-size:1.125rem;line-height:1.5rem;font-weight:500;text-align:center;color:var(--nylas-base-800)}.additional-data-page .left-panel{background-color:var(--nylas-base-50)}.additional-data-page .right-panel{background-color:var(--nylas-base-0)}nylas-selected-event-card{height:604px;padding:0 1rem}@media screen and (max-width: 768px){nylas-selected-event-card{height:250px}}.footer{display:flex;justify-content:flex-end;align-items:center;padding:16px;font-size:14px;font-weight:300;color:var(--nylas-base-500);border-top:1px solid var(--nylas-base-200);min-height:24px}.footer .powered-by-nylas{display:flex;align-items:center;text-decoration:none;color:var(--nylas-base-500)}.footer .powered-by-nylas:hover{color:var(--nylas-base-800)}.footer svg{fill:var(--nylas-base-500)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.footer svg{margin-top:1px}nylas-selected-event-card::part(nsec__timezone){position:absolute;bottom:0}nylas-notification{margin:1.5rem;width:-webkit-fill-available;width:-moz-available;position:absolute}nylas-locale-switch{position:absolute;padding:18px 20px;bottom:0;width:-webkit-fill-available;width:-moz-available;border-top:1px solid var(--nylas-base-200)}@media screen and (max-width: 768px){nylas-locale-switch{height:auto}}nylas-date-picker{padding:0 20px}button-component#report-issue{width:auto;position:absolute;bottom:4px;left:16px}nylas-feedback-form{position:absolute;top:0;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:rgba(0, 0, 0, 0.6);z-index:2;border-radius:inherit}',G=$,j={title:e.instance.t("genericErrorTitle"),type:D.nr.Error,category:B.ErrorCategory.Component},H=class{constructor(n){e.registerInstance(this,n),this.init=e.createEvent(this,"init",7),this.schedulerWillLoad=e.createEvent(this,"schedulerWillLoad",7),this.schedulerDidLoad=e.createEvent(this,"schedulerDidLoad",7),this.nylasSchedulerError=e.createEvent(this,"nylasSchedulerError",7),this.configSettingsLoaded=e.createEvent(this,"configSettingsLoaded",7),this.bookingRefExtracted=e.createEvent(this,"bookingRefExtracted",7),this.bookedEventInfo=e.createEvent(this,"bookedEventInfo",7),this.mode="app",this.defaultSchedulerState=void 0,this.sessionId=void 0,this.schedulerApiUrl="https://api.us.nylas.com",this.bookingInfo=void 0,this.rescheduleBookingRef=void 0,this.cancelBookingRef=void 0,this.organizerConfirmationBookingRef=void 0,this.configurationId=void 0,this.slug=void 0,this.clientId=void 0,this.nylasBranding=!0,this.eventOverrides={},this.isLoading=void 0,this.themeConfig=void 0,this.localization=void 0,this.showNotification=!0,this.enableUserFeedback=!0,this.automaticComponentRegistration=!0,this.selectedDateLabel=new Date().toLocaleDateString(void 0,{dateStyle:"full"})||`${e.instance.t("noDateSelected")}`,this.refConfigId=void 0,this.language=navigator.language,this.showFeedbackModal=!1,this.bookingInfoConfirmed=null}connectedCallback(){e.debug("[nylas-scheduler] connectedCallback")}async componentWillLoad(){var o,r;e.debug("[nylas-scheduler] Component will load"),this.enableUserFeedback&&!E.isInitialized()&&E.init({dsn:"https://9d5731f1c77ca84c9ed3fb9b3ccf7ee1@o74852.ingest.us.sentry.io/4507889638178816",release:"1.3.5",integrations:d=>[...d.filter(s=>!1),E.feedbackSyncIntegration({colorScheme:"system",autoInject:!1})],autoSessionTracking:!1,beforeSend:()=>null});const n=this.schedulerWillLoad.emit(this.host);if("schedulerWillLoad"in this.eventOverrides&&(await this.eventOverrides.schedulerWillLoad(n,this.nylasSchedulerConnector),n.defaultPrevented))return;this.stores={scheduler:B.CreateNylasSchedulerStore({bookingInfo:this.bookingInfo,nylasBranding:this.nylasBranding,themeConfig:this.themeConfig,...this.defaultSchedulerState})},this.baseProvider=new D.NylasBaseProvider(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides),this.refConfigId=this.configurationId;let t;if(this.rescheduleBookingRef){const[d,s,c]=e.compactStringToUUIDs(this.rescheduleBookingRef);this.refConfigId=d,this.stores.scheduler.set("rescheduleBookingId",s),t=this.bookingRefExtracted.emit({configurationId:d,bookingId:s})}else if(this.cancelBookingRef){const[d,s,c]=e.compactStringToUUIDs(this.cancelBookingRef);this.refConfigId=d,this.stores.scheduler.set("cancelBookingId",s),t=this.bookingRefExtracted.emit({configurationId:d,bookingId:s})}else if(this.organizerConfirmationBookingRef){const[d,s,c]=e.compactStringToUUIDs(this.organizerConfirmationBookingRef);this.refConfigId=d,this.stores.scheduler.set("organizerConfirmationBookingId",s),this.stores.scheduler.set("organizerConfirmationSalt",c),t=this.bookingRefExtracted.emit({configurationId:d,bookingId:s,salt:c})}if("bookingRefExtracted"in this.eventOverrides&&(await this.eventOverrides.bookingRefExtracted(t,this.nylasSchedulerConnector),t.defaultPrevented)||!this.checkIfSessionIdOrConfigIdExists())return;const i=(o=this.baseProvider)==null?void 0:o.getStore("scheduler");this.nylasSchedulerConnector=new W({schedulerAPIURL:this.schedulerApiUrl,sessionId:this.sessionId,configId:this.refConfigId,slug:this.slug,clientId:this.clientId,nylasSchedulerStore:i});const a=this.init.emit(this.host);"init"in this.eventOverrides&&(await this.eventOverrides.init(a,this.nylasSchedulerConnector),a.defaultPrevented)||((r=this.baseProvider)==null||r.componentWillLoad(this.nylasSchedulerConnector),this.applyThemeConfig(this.themeConfig))}async componentDidLoad(){var c,b,m,g,h,f,p,C;(c=this.baseProvider)==null||c.componentDidLoad();const n=this.schedulerDidLoad.emit(this.host);if("schedulerDidLoad"in this.eventOverrides&&(await this.eventOverrides.schedulerDidLoad(n,this.nylasSchedulerConnector),n.defaultPrevented)||!this.checkIfSessionIdOrConfigIdExists())return;this.localizationChanged(this.localization);const t=await((b=this.nylasSchedulerConnector)==null?void 0:b.scheduler.getUISettings());if(!t||"error"in t){this.nylasSchedulerError.emit({notification:{...this.getErrorObject(t==null?void 0:t.error)},host:this.host});return}else{"data"in t&&((m=t.data)!=null&&m.appearance)&&console.info("Appearance settings have been returned from the configuration used byt his scheduling page; please remember to grab them from the configSettingsLoaded event and apply them as desired.");const u=this.configSettingsLoaded.emit({settings:t});if("configSettingsLoaded"in this.eventOverrides&&(await this.eventOverrides.configSettingsLoaded(u,this.nylasSchedulerConnector),u.defaultPrevented))return}const i=(g=this.baseProvider)==null?void 0:g.getStore("scheduler"),a=(f=(h=i==null?void 0:i.get("configSettings"))==null?void 0:h.scheduler)==null?void 0:f.available_days_in_future,o=i==null?void 0:i.get("selectedTimeslot");if(o&&(o!=null&&o.start_time)){if(!this.isTimeslotValid(o))return;if(i!=null&&i.get("showBookingForm")){i==null||i.set("selectedDate",o.start_time);return}}const r=i==null?void 0:i.get("selectedDate"),d=i==null?void 0:i.get("availability");let s;if(!(d&&d.length>0)){if(r){const{startTime:u,endTime:v,endTimeForAvailableDaysInFuture:k}=this.validateAvailableDaysInFuture(r,a||30);r.getTime()<k*1e3&&(s=await((C=this.nylasSchedulerConnector)==null?void 0:C.scheduler.getAvailability(u,v)))}else{const u=new Date,{startTime:v,endTime:k,endTimeForAvailableDaysInFuture:T}=this.validateAvailableDaysInFuture(u,a||30);u.getTime()<T*1e3&&(s=await((p=this.nylasSchedulerConnector)==null?void 0:p.scheduler.getAvailability(v,k)))}if((!s||"error"in s)&&this.nylasSchedulerError.emit({notification:{...this.getErrorObject(s==null?void 0:s.error)},host:this.host}),!r){let u=new Date;const v=i==null?void 0:i.get("availability").find(k=>new Date(k.start_time)>new Date);v&&(u=v.start_time),i==null||i.set("selectedDate",u)}}}componentDisconnected(){var n;(n=this.baseProvider)==null||n.componentDisconnected()}bookingInfoChanged(n){var t;(t=this.stores)==null||t.scheduler.set("bookingInfo",n)}rescheduleBookingRefChanged(n){var t,i;if(n){const[a,o]=e.compactStringToUUIDs(n);(t=this.stores)==null||t.scheduler.set("rescheduleBookingId",o),this.refConfigId=a,(i=this.nylasSchedulerConnector)==null||i.scheduler.setConfigId(a)}}cancelBookingRefChanged(n){var t,i;if(n){const[a,o]=e.compactStringToUUIDs(n);(t=this.stores)==null||t.scheduler.set("cancelBookingId",o),this.refConfigId=a,(i=this.nylasSchedulerConnector)==null||i.scheduler.setConfigId(a)}}organizerConfirmationBookingRefChanged(n){var t,i;if(n){const[a,o]=e.compactStringToUUIDs(n);(t=this.stores)==null||t.scheduler.set("organizerConfirmationBookingId",o),this.refConfigId=a,(i=this.nylasSchedulerConnector)==null||i.scheduler.setConfigId(a)}}localizationChanged(n){n&&Object.keys(n).forEach(t=>{t in N.LANGUAGE_CODE&&e.instance.addResourceBundle(t,"translation",n[t],!1,!0)})}themeConfigChanged(n){var t,i;(i=(t=this.baseProvider)==null?void 0:t.getStore("scheduler"))==null||i.set("themeConfig",n),this.applyThemeConfig(n)}languageChanged(n){const t=n.detail;this.language=t,e.instance.changeLanguage(t)}async registerComponentHandler(n){var t;(t=this.baseProvider)==null||t.registerComponent(n.detail)}async unregisterComponentHandler(n){var t;(t=this.baseProvider)==null||t.unregisterComponent(n.detail)}async monthChangedHandler(n){var d,s,c,b,m,g,h;const t=n.detail,i=(b=(c=(s=(d=this.nylasSchedulerConnector)==null?void 0:d.schedulerStore)==null?void 0:s.get("configSettings"))==null?void 0:c.scheduler)==null?void 0:b.available_days_in_future,{startTime:a,endTime:o,endTimeForAvailableDaysInFuture:r}=this.validateAvailableDaysInFuture(t,i||30);if(!n.defaultPrevented&&a<r&&t.getTime()<r*1e3){const f=await((m=this.nylasSchedulerConnector)==null?void 0:m.scheduler.getAvailability(a,o));(!f||"error"in f)&&this.nylasSchedulerError.emit({notification:{...this.getErrorObject(f==null?void 0:f.error)},host:this.host});const p=(g=this.stores)==null?void 0:g.scheduler.get("selectableDates");p&&p.length>0&&((h=this.stores)==null||h.scheduler.set("selectedDate",p[0]))}}mapToBookingData(n){var d,s,c;const t=(d=this.stores)==null?void 0:d.scheduler.get("selectedTimeslot"),i=(s=this.stores)==null?void 0:s.scheduler.get("selectedLanguage"),a=(c=this.stores)==null?void 0:c.scheduler.get("selectedTimezone"),o=t!=null&&t.start_time?new Date(t==null?void 0:t.start_time).getTime()/1e3:"",r=t!=null&&t.end_time?new Date(t==null?void 0:t.end_time).getTime()/1e3:"";return{additional_guests:n.guests,guest:{...n.primaryParticipant},additional_fields:{...n.additionalFields},start_time:o,end_time:r,email_language:i,timezone:a}}async bookButtonClickedHandler(n){var c,b,m,g;if(n.defaultPrevented)return;const t=n.detail,i=this.mapToBookingData(t);this.bookingInfoConfirmed=t;const o=(b=(c=this.nylasSchedulerConnector)==null?void 0:c.schedulerStore)==null?void 0:b.get("rescheduleBookingId");if(o){const h=await((m=this.nylasSchedulerConnector)==null?void 0:m.scheduler.rescheduleBooking(o,t));(!h||"error"in h)&&this.nylasSchedulerError.emit({notification:{...this.getErrorObject(h==null?void 0:h.error)},host:this.host});const f=h==null?void 0:h.data,p=this.bookedEventInfo.emit({...h,data:{...f,...i}});"bookedEventInfo"in this.eventOverrides&&await this.eventOverrides.bookedEventInfo(p,this.nylasSchedulerConnector);return}const r=await((g=this.nylasSchedulerConnector)==null?void 0:g.scheduler.bookTimeslot(t));(!r||"error"in r)&&this.nylasSchedulerError.emit({notification:{...this.getErrorObject(r==null?void 0:r.error)},host:this.host});const d=r==null?void 0:r.data,s=this.bookedEventInfo.emit({...r,data:{...d,...i}});"bookedEventInfo"in this.eventOverrides&&await this.eventOverrides.bookedEventInfo(s,this.nylasSchedulerConnector)}dateSelectedHandler(n){const t=n.detail;this.selectedDateLabel=t?t.toLocaleDateString(void 0,{dateStyle:"full"}):`${e.instance.t("noDateSelected")}`}cancelBookedEventErrorHandler(n){this.nylasSchedulerError.emit({notification:{...this.getErrorObject(n.detail.error)},host:this.host})}cancelBookedEventValidationErrorHandler(n){this.nylasSchedulerError.emit({notification:{...this.getErrorObject(n.detail.error)},host:this.host})}rescheduleBookedEventErrorHandler(n){this.nylasSchedulerError.emit({notification:{...this.getErrorObject(n.detail.error)},host:this.host})}confirmBookingErrorHandler(n){this.nylasSchedulerError.emit({notification:{...this.getErrorObject(n.detail.error)},host:this.host})}feedbackModalClosedHandler(){this.showFeedbackModal=!1}feedbackSubmittedHandler(n){const i={eventId:E.captureMessage("Scheduling Page User Feedback"),message:n.detail.feedback};E.captureFeedback(i,{includeReplay:!0,captureContext:{tags:{"nylas-web-element":"nylas-schduling","nylas-web-element-version":"1.3.5"},extra:{configId:this.configurationId,slug:this.slug}}}),this.showFeedbackModal=!1}async getNylasSchedulerStore(){var n;return(n=this.baseProvider)==null?void 0:n.getStore("scheduler")}async getNylasSchedulerConnector(){return this.nylasSchedulerConnector}async getRef(){return this.host}getErrorObject(n){return{title:(n==null?void 0:n.title)||j.title,category:(n==null?void 0:n.category)||j.category,type:D.nr.Error,description:(n==null?void 0:n.message)||"",id:new Date().getTime().toString(),ttl:"none"}}checkIfSessionIdOrConfigIdExists(){if(!this.sessionId&&!this.refConfigId&&!(this.slug&&this.clientId)){let n="";return this.sessionId||(n+=e.instance.t("sessionIdRequiredErrorMessage")),!this.sessionId&&!this.refConfigId&&!(this.slug&&this.clientId)&&(n=e.instance.t("sessionIdRequiredErrorMessage")+" "+e.instance.t("publicConfigErrorMessage")),this.nylasSchedulerError.emit({notification:{title:e.instance.t("schedulingComponentErrorTitle"),category:B.ErrorCategory.Component,type:D.nr.Error,description:n,id:new Date().getTime().toString(),ttl:"none"},host:this.host}),!1}return!0}isTimeslotValid(n){return new Date(n.start_time)<new Date?(this.nylasSchedulerError.emit({notification:{title:e.instance.t("invalidTimeslotErrorTitle"),category:B.ErrorCategory.Component,type:D.nr.Error,description:e.instance.t("invalidTimeslotErrorMessage"),id:new Date().getTime().toString(),ttl:"none"},host:this.host}),!1):!0}validateAvailableDaysInFuture(n,t){const i=new Date,a=new Date(n.getFullYear(),n.getMonth(),1).getTime()/1e3,o=new Date(n.getFullYear(),n.getMonth()+1,1).getTime()/1e3,r=Math.floor(e.addDaysToCurrentDate(i,t).getTime()/1e3),d=Math.min(r,o);return{startTime:a<i.getTime()/1e3?Math.floor(i.getTime()/1e3):a,endTime:d,endTimeForAvailableDaysInFuture:r}}applyThemeConfig(n){if(n)for(const[t,i]of Object.entries(n))this.host.style.setProperty(`${t}`,i)}onFeedbackClick(n){n.preventDefault(),this.showFeedbackModal=!0}redirectToCustomUrl(n){window.location.assign(n)}render(){var p,C,u,v,k,T,S,z,O,R;const n=this.mode==="app",t=(p=this.baseProvider)==null?void 0:p.getStore("scheduler"),i=t==null?void 0:t.get("eventInfo"),a=t==null?void 0:t.get("showBookingForm"),o=t==null?void 0:t.get("cancelledEventInfo"),r=t==null?void 0:t.get("cancelBookingId"),d=t==null?void 0:t.get("selectedTimeslot"),s=t==null?void 0:t.get("rescheduleBookingId"),c=t==null?void 0:t.get("organizerConfirmationBookingId"),b=t==null?void 0:t.get("rejectBookingId"),m=t==null?void 0:t.get("confirmedEventInfo"),g=(t==null?void 0:t.get("nylasBranding"))||this.nylasBranding,h=t==null?void 0:t.get("selectedDate"),f=(u=(C=t==null?void 0:t.get("configSettings"))==null?void 0:C.scheduler)==null?void 0:u.confirmation_redirect_url;if(this.selectedDateLabel=h&&this.language?e.capitalizeFirstLetter(h.toLocaleDateString(N.LANGUAGE_CODE_MAP[this.language],{dateStyle:"full"})):`${e.instance.t("noDateSelected")}`,n&&(r||b)&&!o)return e.h(e.Host,null,e.h(I,{nylasBranding:g,isLoading:this.isLoading,showNotification:this.showNotification},e.h("div",{class:"cancel-flow-page",part:"cancel-flow-page"},e.h("nylas-cancel-booking-form",{selectedTimeslot:d,cancelBookingId:r,rejectBookingId:b,exportparts:"ncbf, ncbf__icon, ncbf__title, ncbf__description, ncbf__reason-textarea, ncbf__button-cta, ncbf__button-outline, ncbf__card"}))),this.enableUserFeedback&&e.h("button-component",{id:"report-issue",variant:"basic",onClick:l=>this.onFeedbackClick(l)},e.h("feedback-icon",null)),this.showFeedbackModal&&e.h("nylas-feedback-form",null));if(n&&c)return e.h(e.Host,null,e.h(I,null,e.h("div",{class:"manual-confirmation-page",part:"manual-confirmation-page"},e.h("nylas-organizer-confirmation-card",{organizerConfirmationBookingId:c,exportparts:"nmcc, nmcc__title, nmcc__description, nmcc__button-cta, nmcc__button-outline"}))),this.enableUserFeedback&&e.h("button-component",{id:"report-issue",variant:"basic",onClick:l=>this.onFeedbackClick(l)},e.h("feedback-icon",null)),this.showFeedbackModal&&e.h("nylas-feedback-form",null));if(n&&o)return e.h(e.Host,null,e.h(I,{nylasBranding:g,isLoading:this.isLoading,showNotification:this.showNotification},e.h("div",{class:"cancelled-event-page",part:"cancelled-event-page"},e.h("nylas-cancelled-event-card",{cancelledEventInfo:o,exportparts:"ncec, ncec__icon, ncec__title, ncec__description, ncec__button-outline, ncec__card"}))),this.enableUserFeedback&&e.h("button-component",{id:"report-issue",variant:"basic",onClick:l=>this.onFeedbackClick(l)},e.h("feedback-icon",null)),this.showFeedbackModal&&e.h("nylas-feedback-form",null));if(n&&m)return e.h(e.Host,null,e.h(I,{nylasBranding:g,isLoading:this.isLoading,showNotification:this.showNotification},e.h("div",{class:"cancelled-event-page",part:"confirmed-event-page"},e.h("nylas-confirmed-event-card",{confirmedEventInfo:m,exportparts:"ncec, ncec__icon, ncec__title, ncec__description, ncec__button-outline, ncec__card"}))),this.enableUserFeedback&&e.h("button-component",{id:"report-issue",variant:"basic",onClick:l=>this.onFeedbackClick(l)},e.h("feedback-icon",null)),this.showFeedbackModal&&e.h("nylas-feedback-form",null));if(n&&i&&f){const l=(v=this.bookingInfoConfirmed)==null?void 0:v.primaryParticipant,w=((k=this.bookingInfoConfirmed)==null?void 0:k.additionalFields)||{};if(this.bookingInfo&&typeof((T=this.bookingInfo)==null?void 0:T.additionalFields)<"u"){const x=this.bookingInfo.additionalFields;Object.keys(x).forEach(L=>{!w[L]&&(x!=null&&x[L])&&(w[L]=x[L].value)})}const _=(S=this.stores)==null?void 0:S.scheduler.get("selectedTimeslot"),P=(z=this.stores)==null?void 0:z.scheduler.get("selectedTimezone"),U=(O=this.stores)==null?void 0:O.scheduler.get("selectedLanguage"),F=(R=this.stores)==null?void 0:R.scheduler.get("configSettings"),A=this.configurationId?this.configurationId:F==null?void 0:F.configuration_id,q=window.location.search,y=new URLSearchParams(q);y.set("booking_id",i.booking_id),l!=null&&l.name&&y.set("name",l.name),l!=null&&l.email&&y.set("email",l.email),_!=null&&_.start_time&&y.set("start_time",(new Date(_.start_time).getTime()/1e3).toString()),_!=null&&_.end_time&&y.set("end_time",(new Date(_.end_time).getTime()/1e3).toString()),P&&y.set("tz",P),U&&y.set("language",U),w&&y.set("additional_values",JSON.stringify(w)),this.slug&&y.set("page_slug",this.slug),A&&y.set("config_id",A),this.redirectToCustomUrl(`${f}?${y.toString()}`);return}if(n&&i)return e.h(e.Host,null,e.h(I,{nylasBranding:g,isLoading:this.isLoading,showNotification:this.showNotification},e.h("div",{class:"booked-event-page",part:"booked-event-page"},e.h("nylas-booked-event-card",{selectedTimeslot:d,eventInfo:i,exportparts:"nbec, nbec__title, nbec__card, nbec__description, nbec__button-outline, nbec__cancel-cta, nbec__reschedule-cta"}))),this.enableUserFeedback&&e.h("button-component",{id:"report-issue",variant:"basic",onClick:l=>this.onFeedbackClick(l)},e.h("feedback-icon",null)),this.showFeedbackModal&&e.h("nylas-feedback-form",null));if(n&&(!i||s)&&!a){const l=this.host.querySelector('[slot="timeslot-picker-cta-label"]');return e.h(e.Host,null,e.h(I,{nylasBranding:g,isLoading:this.isLoading,showNotification:this.showNotification},s&&e.h(M,null,`${e.instance.t("rescheduleTitle")}`),e.h("div",{class:"select-date-page",part:"select-date-page"},e.h("div",{class:"left-panel"},e.h("nylas-date-picker",{exportparts:"ndp, ndp__title, ndp__month-header, ndp__month-button, ndp__day, ndp__date, ndp__date--disabled, ndp__date--selected, ndp__date--current-day, ndp__date--current-month"}),e.h("nylas-locale-switch",{exportparts:"nls, nls__timezone, nls__timezone-dropdown, nls__timezone-drop-button, nls__timezone-drop-button-selected-label, nls__timezone-drop-content, nls__timezone-drop-label, nls__language, nls__language-dropdown, nls__language-drop-button, nls__language-drop-content, nls__language-drop-label"})),e.h("div",{class:`right-panel ${s?"reschedule":""}`},e.h("h2",null,e.h("calendar-icon",null),e.h("span",{id:"selectedDate"},this.selectedDateLabel)),e.h("nylas-timeslot-picker",{exportparts:"ntp, ntp__time-picker-wrapper, ntp__timeslots, ntp__timeslot, ntp__timeslot--selected, ntp__button-primary"},l&&e.h("span",{slot:"timeslot-picker-cta-label"},e.h("slot",{name:"timeslot-picker-cta-label"})))))),this.enableUserFeedback&&e.h("button-component",{id:"report-issue",variant:"basic",onClick:w=>this.onFeedbackClick(w)},e.h("feedback-icon",null)),this.showFeedbackModal&&e.h("nylas-feedback-form",null))}return n&&!i&&a?e.h(e.Host,null,e.h(I,{nylasBranding:g,isLoading:this.isLoading,showNotification:this.showNotification},s&&e.h(M,null,`${e.instance.t("rescheduleTitle")}`),e.h("div",{class:"additional-data-page",part:"additional-data-page"},e.h("div",{class:"left-panel"},e.h("div",{class:"wrapper"},e.h("nylas-selected-event-card",{exportparts:"nsec, nsec__card, nsec__icon, nsec__date, nsec__time, nsec__timezone"}))),e.h("div",{class:`right-panel ${s?"reschedule":""}`},e.h("nylas-booking-form",{exportparts:"nbf, nbf__input-textfield, nbf__button-ghost, nbf__button-outline, nbf__button-primary, nbf__input-wrapper, nbf__checkbox-component, nbf__radio-button-group, nbf__textarea-component, nbf__dropdown, nbf__dropdown-button, nbf__dropdown-content"})))),this.enableUserFeedback&&e.h("button-component",{id:"report-issue",variant:"basic",onClick:l=>this.onFeedbackClick(l)},e.h("feedback-icon",null)),this.showFeedbackModal&&e.h("nylas-feedback-form",null)):e.h(e.Host,null,e.h("slot",null))}get host(){return e.getElement(this)}static get watchers(){return{bookingInfo:["bookingInfoChanged"],rescheduleBookingRef:["rescheduleBookingRefChanged"],cancelBookingRef:["cancelBookingRefChanged"],organizerConfirmationBookingRef:["organizerConfirmationBookingRefChanged"],localization:["localizationChanged"],themeConfig:["themeConfigChanged"]}}};H.style=G;exports.nylas_scheduling=H;
@@ -1,415 +0,0 @@
1
- import { i as f, r as G, c as C, d as O, f as D, j as Y, k as J, h as n, H as w, g as K, F as Q } from "./index-594c8e7b.js";
2
- import { n as z, N as X } from "./index.es-2d849a15-4eb8e180.js";
3
- import { E as S, C as Z, N as V } from "./scheduler-store-92eb8804-bc68a43a.js";
4
- import { L as ee, b as te } from "./constants-f6e79ab7-24392f9e.js";
5
- import { i as ne, a as ie, c as oe, b as se, f as ae } from "./feedbackSync-547e51ee-bcaf691c.js";
6
- import "react";
7
- import "react-dom";
8
- class re {
9
- constructor({ schedulerAPIURL: e, nylasSchedulerStore: i, sessionId: a, configId: o, slug: r, clientId: d }) {
10
- if (!e)
11
- throw new Error("schedulerAPIURL is required");
12
- if (!i)
13
- throw new Error("nylasSchedulerStore is required");
14
- if (!a && !o && !(r || d))
15
- throw new Error("sessionId is required for private configs. If using public config either pass a configurationId or a combination of slug and clientId.");
16
- e === "/" && (e = new URL(window.location.href).origin), this.configId = o, this.sessionId = a, this.schedulerAPIURL = e, this.nylasSchedulerStore = i, this.slug = r, this.clientId = d;
17
- }
18
- init() {
19
- O("NylasConnector init");
20
- }
21
- get schedulerStore() {
22
- return this.nylasSchedulerStore;
23
- }
24
- get scheduler() {
25
- return this._schedulerAPIConnector ? this._schedulerAPIConnector : (this._schedulerAPIConnector = new V({
26
- schedulerAPIURL: this.schedulerAPIURL,
27
- schedulerStore: this.schedulerStore,
28
- sessionId: this.sessionId,
29
- configId: this.configId,
30
- slug: this.slug,
31
- clientId: this.clientId
32
- }), this._schedulerAPIConnector);
33
- }
34
- resetStores() {
35
- this.nylasSchedulerStore.reset();
36
- }
37
- }
38
- const x = (t, e) => {
39
- const i = t.isLoading, a = t.showNotification, o = t.nylasBranding;
40
- return n(
41
- Q,
42
- null,
43
- a && n("nylas-notification", null),
44
- i && n(
45
- "div",
46
- { class: "loading" },
47
- n(
48
- "div",
49
- { class: "left" },
50
- n("div", { class: "skeleton" })
51
- ),
52
- n(
53
- "div",
54
- { class: "right" },
55
- n("div", { class: "skeleton" }),
56
- n("div", { class: "skeleton" }),
57
- n("div", { class: "skeleton" }),
58
- n("div", { class: "skeleton" }),
59
- n("div", { class: "skeleton" })
60
- )
61
- ),
62
- !i && e,
63
- n("div", { class: "footer" }, o && n(
64
- "a",
65
- { href: "https://scheduler.nylas.com?utm_source=powered-by-nylas-logoutm_medium=link&utm_campaign=get-scheduler&utm_id=get-scheduler", class: "powered-by-nylas", target: "_blank", rel: "noreferrer noopener" },
66
- "Powered by ",
67
- n("span", { class: "sr-only" }, "Nylas"),
68
- n("nylas-logo", { "aria-hidden": !0 })
69
- ))
70
- );
71
- }, W = (t, e) => n("div", { class: "message-banner" }, e), de = ':host{display:flex;flex-direction:column;overflow:visible;border-radius:var(--nylas-border-radius-2x);width:fit-content;background:var(--nylas-base-0);position:relative;box-shadow:0px 4px 8px 2px rgba(0, 0, 0, 0.05), 0px 8px 16px -2px rgba(0, 0, 0, 0.1);--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;font-family:var(--nylas-font-family);font-optical-sizing:auto;font-style:normal;font-variation-settings:"slnt" 0}@media screen and (max-width: 768px){:host{width:auto;min-width:325px}}:root{font-family:inherit}.error{padding:8rem 12rem;color:var(--nylas-base-0);background-color:var(--nylas-error);margin:1.5rem;border-radius:var(--nylas-border-radius-2x)}.message-banner{text-align:right;color:var(--nylas-base-800);padding:1rem;border-bottom:1px solid var(--nylas-color-primary-200);margin:0}.loading{margin:1.5rem;display:flex;gap:1rem}.loading .skeleton{border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite}.loading .skeleton:nth-child(2){animation-delay:-100ms}.loading .skeleton:nth-child(3){animation-delay:-200ms}.loading .skeleton:nth-child(4){animation-delay:-300ms}.loading .skeleton:nth-child(5){animation-delay:-400ms}.loading .left .skeleton{height:100%;width:400px}.loading .right .skeleton{height:5rem;width:300px;margin-bottom:1rem}.loading .right .skeleton:last-child{margin-bottom:0}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.select-date-page,.additional-data-page,.booked-event-page,.manual-confirmation-page,.cancelled-event-page,.cancel-flow-page{border-top-left-radius:var(--nylas-border-radius-2x);border-top-right-radius:var(--nylas-border-radius-2x)}.select-date-page,.additional-data-page{display:flex}@media screen and (max-width: 768px){.select-date-page,.additional-data-page{flex-direction:column}}.booked-event-page,.manual-confirmation-page{background-color:var(--nylas-base-50)}.cancelled-event-page,.manual-confirmation-page,.cancel-flow-page{padding:1rem;height:496px;display:flex;justify-content:center;align-items:center}.booked-event-page,.manual-confirmation-page,.cancelled-event-page,.cancel-flow-page{min-width:784px;background:var(--nylas-base-50)}@media screen and (max-width: 768px){.booked-event-page,.manual-confirmation-page,.cancelled-event-page,.cancel-flow-page{min-width:90%}}.left-panel{display:flex;flex-direction:column;min-width:424px;border-top-left-radius:inherit;background:var(--nylas-base-0);position:relative;padding:1rem 0 0 0;height:624px}@media screen and (max-width: 768px){.left-panel{border-top-right-radius:inherit;min-width:unset;height:auto}}@media screen and (max-width: 768px){.select-date-page .left-panel{padding:0.5rem 4px 0;height:624px}}.border{margin-left:-20px;margin-right:-20px;border-top-width:1px;height:0.5px;background-color:var(--nylas-base-200)}@media screen and (max-width: 768px){.border{display:none}}.right-panel{min-width:360px;width:360px;background-color:var(--nylas-base-50);height:624px;padding-top:16px;border-left:1px solid var(--nylas-base-200);border-top-right-radius:inherit}.right-panel.reschedule{border-top-right-radius:0px}@media screen and (max-width: 768px){.right-panel{border-top-right-radius:0px;width:inherit;min-width:unset;height:auto}}.right-panel h2{display:flex;margin:0;height:48px;gap:0.5rem;justify-content:center;align-items:center;width:auto;font-size:1.125rem;line-height:1.5rem;font-weight:500;text-align:center;color:var(--nylas-base-800)}.additional-data-page .left-panel{background-color:var(--nylas-base-50)}.additional-data-page .right-panel{background-color:var(--nylas-base-0)}nylas-selected-event-card{height:604px;padding:0 1rem}@media screen and (max-width: 768px){nylas-selected-event-card{height:250px}}.footer{display:flex;justify-content:flex-end;align-items:center;padding:16px;font-size:14px;font-weight:300;color:var(--nylas-base-500);border-top:1px solid var(--nylas-base-200);min-height:24px}.footer .powered-by-nylas{display:flex;align-items:center;text-decoration:none;color:var(--nylas-base-500)}.footer .powered-by-nylas:hover{color:var(--nylas-base-800)}.footer svg{fill:var(--nylas-base-500)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.footer svg{margin-top:1px}nylas-selected-event-card::part(nsec__timezone){position:absolute;bottom:0}nylas-notification{margin:1.5rem;width:-webkit-fill-available;width:-moz-available;position:absolute}nylas-locale-switch{position:absolute;padding:18px 20px;bottom:0;width:-webkit-fill-available;width:-moz-available;border-top:1px solid var(--nylas-base-200)}@media screen and (max-width: 768px){nylas-locale-switch{height:auto}}nylas-date-picker{padding:0 20px}button-component#report-issue{width:auto;position:absolute;bottom:4px;left:16px}nylas-feedback-form{position:absolute;top:0;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:rgba(0, 0, 0, 0.6);z-index:2;border-radius:inherit}', le = de, $ = { title: f.t("genericErrorTitle"), type: z.Error, category: S.Component }, ce = class {
72
- constructor(t) {
73
- G(this, t), this.init = C(this, "init", 7), this.schedulerWillLoad = C(this, "schedulerWillLoad", 7), this.schedulerDidLoad = C(this, "schedulerDidLoad", 7), this.nylasSchedulerError = C(this, "nylasSchedulerError", 7), this.configSettingsLoaded = C(this, "configSettingsLoaded", 7), this.bookingRefExtracted = C(this, "bookingRefExtracted", 7), this.bookedEventInfo = C(this, "bookedEventInfo", 7), this.mode = "app", this.defaultSchedulerState = void 0, this.sessionId = void 0, this.schedulerApiUrl = "https://api.us.nylas.com", this.bookingInfo = void 0, this.rescheduleBookingRef = void 0, this.cancelBookingRef = void 0, this.organizerConfirmationBookingRef = void 0, this.configurationId = void 0, this.slug = void 0, this.clientId = void 0, this.nylasBranding = !0, this.eventOverrides = {}, this.isLoading = void 0, this.themeConfig = void 0, this.localization = void 0, this.showNotification = !0, this.enableUserFeedback = !0, this.automaticComponentRegistration = !0, this.selectedDateLabel = (/* @__PURE__ */ new Date()).toLocaleDateString(void 0, { dateStyle: "full" }) || `${f.t("noDateSelected")}`, this.refConfigId = void 0, this.language = navigator.language, this.showFeedbackModal = !1, this.bookingInfoConfirmed = null;
74
- }
75
- connectedCallback() {
76
- O("[nylas-scheduler] connectedCallback");
77
- }
78
- async componentWillLoad() {
79
- var o, r;
80
- O("[nylas-scheduler] Component will load"), this.enableUserFeedback && !ne() && ie({
81
- dsn: "https://9d5731f1c77ca84c9ed3fb9b3ccf7ee1@o74852.ingest.us.sentry.io/4507889638178816",
82
- release: "1.3.5",
83
- integrations: (d) => [
84
- ...d.filter((s) => !1),
85
- ae({
86
- colorScheme: "system",
87
- autoInject: !1
88
- })
89
- ],
90
- autoSessionTracking: !1,
91
- beforeSend: () => null
92
- });
93
- const t = this.schedulerWillLoad.emit(this.host);
94
- if ("schedulerWillLoad" in this.eventOverrides && (await this.eventOverrides.schedulerWillLoad(t, this.nylasSchedulerConnector), t.defaultPrevented))
95
- return;
96
- this.stores = {
97
- scheduler: Z({
98
- bookingInfo: this.bookingInfo,
99
- nylasBranding: this.nylasBranding,
100
- themeConfig: this.themeConfig,
101
- ...this.defaultSchedulerState
102
- })
103
- }, this.baseProvider = new X(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides), this.refConfigId = this.configurationId;
104
- let e;
105
- if (this.rescheduleBookingRef) {
106
- const [d, s, c] = D(this.rescheduleBookingRef);
107
- this.refConfigId = d, this.stores.scheduler.set("rescheduleBookingId", s), e = this.bookingRefExtracted.emit({ configurationId: d, bookingId: s });
108
- } else if (this.cancelBookingRef) {
109
- const [d, s, c] = D(this.cancelBookingRef);
110
- this.refConfigId = d, this.stores.scheduler.set("cancelBookingId", s), e = this.bookingRefExtracted.emit({ configurationId: d, bookingId: s });
111
- } else if (this.organizerConfirmationBookingRef) {
112
- const [d, s, c] = D(this.organizerConfirmationBookingRef);
113
- this.refConfigId = d, this.stores.scheduler.set("organizerConfirmationBookingId", s), this.stores.scheduler.set("organizerConfirmationSalt", c), e = this.bookingRefExtracted.emit({ configurationId: d, bookingId: s, salt: c });
114
- }
115
- if ("bookingRefExtracted" in this.eventOverrides && (await this.eventOverrides.bookingRefExtracted(e, this.nylasSchedulerConnector), e.defaultPrevented) || !this.checkIfSessionIdOrConfigIdExists())
116
- return;
117
- const i = (o = this.baseProvider) == null ? void 0 : o.getStore("scheduler");
118
- this.nylasSchedulerConnector = new re({
119
- schedulerAPIURL: this.schedulerApiUrl,
120
- sessionId: this.sessionId,
121
- configId: this.refConfigId,
122
- slug: this.slug,
123
- clientId: this.clientId,
124
- nylasSchedulerStore: i
125
- });
126
- const a = this.init.emit(this.host);
127
- "init" in this.eventOverrides && (await this.eventOverrides.init(a, this.nylasSchedulerConnector), a.defaultPrevented) || ((r = this.baseProvider) == null || r.componentWillLoad(this.nylasSchedulerConnector), this.applyThemeConfig(this.themeConfig));
128
- }
129
- async componentDidLoad() {
130
- var c, m, p, g, h, u, y, B;
131
- (c = this.baseProvider) == null || c.componentDidLoad();
132
- const t = this.schedulerDidLoad.emit(this.host);
133
- if ("schedulerDidLoad" in this.eventOverrides && (await this.eventOverrides.schedulerDidLoad(t, this.nylasSchedulerConnector), t.defaultPrevented) || !this.checkIfSessionIdOrConfigIdExists())
134
- return;
135
- this.localizationChanged(this.localization);
136
- const e = await ((m = this.nylasSchedulerConnector) == null ? void 0 : m.scheduler.getUISettings());
137
- if (!e || "error" in e) {
138
- this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(e == null ? void 0 : e.error) }, host: this.host });
139
- return;
140
- } else {
141
- "data" in e && ((p = e.data) != null && p.appearance) && console.info("Appearance settings have been returned from the configuration used byt his scheduling page; please remember to grab them from the configSettingsLoaded event and apply them as desired.");
142
- const b = this.configSettingsLoaded.emit({ settings: e });
143
- if ("configSettingsLoaded" in this.eventOverrides && (await this.eventOverrides.configSettingsLoaded(b, this.nylasSchedulerConnector), b.defaultPrevented))
144
- return;
145
- }
146
- const i = (g = this.baseProvider) == null ? void 0 : g.getStore("scheduler"), a = (u = (h = i == null ? void 0 : i.get("configSettings")) == null ? void 0 : h.scheduler) == null ? void 0 : u.available_days_in_future, o = i == null ? void 0 : i.get("selectedTimeslot");
147
- if (o && (o != null && o.start_time)) {
148
- if (!this.isTimeslotValid(o))
149
- return;
150
- if (i != null && i.get("showBookingForm")) {
151
- i == null || i.set("selectedDate", o.start_time);
152
- return;
153
- }
154
- }
155
- const r = i == null ? void 0 : i.get("selectedDate"), d = i == null ? void 0 : i.get("availability");
156
- let s;
157
- if (!(d && d.length > 0)) {
158
- if (r) {
159
- const { startTime: b, endTime: v, endTimeForAvailableDaysInFuture: _ } = this.validateAvailableDaysInFuture(r, a || 30);
160
- r.getTime() < _ * 1e3 && (s = await ((B = this.nylasSchedulerConnector) == null ? void 0 : B.scheduler.getAvailability(b, v)));
161
- } else {
162
- const b = /* @__PURE__ */ new Date(), { startTime: v, endTime: _, endTimeForAvailableDaysInFuture: L } = this.validateAvailableDaysInFuture(b, a || 30);
163
- b.getTime() < L * 1e3 && (s = await ((y = this.nylasSchedulerConnector) == null ? void 0 : y.scheduler.getAvailability(v, _)));
164
- }
165
- if ((!s || "error" in s) && this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(s == null ? void 0 : s.error) }, host: this.host }), !r) {
166
- let b = /* @__PURE__ */ new Date();
167
- const v = i == null ? void 0 : i.get("availability").find((_) => new Date(_.start_time) > /* @__PURE__ */ new Date());
168
- v && (b = v.start_time), i == null || i.set("selectedDate", b);
169
- }
170
- }
171
- }
172
- componentDisconnected() {
173
- var t;
174
- (t = this.baseProvider) == null || t.componentDisconnected();
175
- }
176
- bookingInfoChanged(t) {
177
- var e;
178
- (e = this.stores) == null || e.scheduler.set("bookingInfo", t);
179
- }
180
- rescheduleBookingRefChanged(t) {
181
- var e, i;
182
- if (t) {
183
- const [a, o] = D(t);
184
- (e = this.stores) == null || e.scheduler.set("rescheduleBookingId", o), this.refConfigId = a, (i = this.nylasSchedulerConnector) == null || i.scheduler.setConfigId(a);
185
- }
186
- }
187
- cancelBookingRefChanged(t) {
188
- var e, i;
189
- if (t) {
190
- const [a, o] = D(t);
191
- (e = this.stores) == null || e.scheduler.set("cancelBookingId", o), this.refConfigId = a, (i = this.nylasSchedulerConnector) == null || i.scheduler.setConfigId(a);
192
- }
193
- }
194
- organizerConfirmationBookingRefChanged(t) {
195
- var e, i;
196
- if (t) {
197
- const [a, o] = D(t);
198
- (e = this.stores) == null || e.scheduler.set("organizerConfirmationBookingId", o), this.refConfigId = a, (i = this.nylasSchedulerConnector) == null || i.scheduler.setConfigId(a);
199
- }
200
- }
201
- localizationChanged(t) {
202
- t && Object.keys(t).forEach((e) => {
203
- e in ee && f.addResourceBundle(e, "translation", t[e], !1, !0);
204
- });
205
- }
206
- themeConfigChanged(t) {
207
- var e, i;
208
- (i = (e = this.baseProvider) == null ? void 0 : e.getStore("scheduler")) == null || i.set("themeConfig", t), this.applyThemeConfig(t);
209
- }
210
- languageChanged(t) {
211
- const e = t.detail;
212
- this.language = e, f.changeLanguage(e);
213
- }
214
- async registerComponentHandler(t) {
215
- var e;
216
- (e = this.baseProvider) == null || e.registerComponent(t.detail);
217
- }
218
- async unregisterComponentHandler(t) {
219
- var e;
220
- (e = this.baseProvider) == null || e.unregisterComponent(t.detail);
221
- }
222
- async monthChangedHandler(t) {
223
- var d, s, c, m, p, g, h;
224
- const e = t.detail, i = (m = (c = (s = (d = this.nylasSchedulerConnector) == null ? void 0 : d.schedulerStore) == null ? void 0 : s.get("configSettings")) == null ? void 0 : c.scheduler) == null ? void 0 : m.available_days_in_future, { startTime: a, endTime: o, endTimeForAvailableDaysInFuture: r } = this.validateAvailableDaysInFuture(e, i || 30);
225
- if (!t.defaultPrevented && a < r && e.getTime() < r * 1e3) {
226
- const u = await ((p = this.nylasSchedulerConnector) == null ? void 0 : p.scheduler.getAvailability(a, o));
227
- (!u || "error" in u) && this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(u == null ? void 0 : u.error) }, host: this.host });
228
- const y = (g = this.stores) == null ? void 0 : g.scheduler.get("selectableDates");
229
- y && y.length > 0 && ((h = this.stores) == null || h.scheduler.set("selectedDate", y[0]));
230
- }
231
- }
232
- mapToBookingData(t) {
233
- var d, s, c;
234
- const e = (d = this.stores) == null ? void 0 : d.scheduler.get("selectedTimeslot"), i = (s = this.stores) == null ? void 0 : s.scheduler.get("selectedLanguage"), a = (c = this.stores) == null ? void 0 : c.scheduler.get("selectedTimezone"), o = e != null && e.start_time ? new Date(e == null ? void 0 : e.start_time).getTime() / 1e3 : "", r = e != null && e.end_time ? new Date(e == null ? void 0 : e.end_time).getTime() / 1e3 : "";
235
- return {
236
- additional_guests: t.guests,
237
- guest: { ...t.primaryParticipant },
238
- additional_fields: { ...t.additionalFields },
239
- start_time: o,
240
- end_time: r,
241
- email_language: i,
242
- timezone: a
243
- };
244
- }
245
- async bookButtonClickedHandler(t) {
246
- var c, m, p, g;
247
- if (t.defaultPrevented)
248
- return;
249
- const e = t.detail, i = this.mapToBookingData(e);
250
- this.bookingInfoConfirmed = e;
251
- const o = (m = (c = this.nylasSchedulerConnector) == null ? void 0 : c.schedulerStore) == null ? void 0 : m.get("rescheduleBookingId");
252
- if (o) {
253
- const h = await ((p = this.nylasSchedulerConnector) == null ? void 0 : p.scheduler.rescheduleBooking(o, e));
254
- (!h || "error" in h) && this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(h == null ? void 0 : h.error) }, host: this.host });
255
- const u = h == null ? void 0 : h.data, y = this.bookedEventInfo.emit({ ...h, data: { ...u, ...i } });
256
- "bookedEventInfo" in this.eventOverrides && await this.eventOverrides.bookedEventInfo(y, this.nylasSchedulerConnector);
257
- return;
258
- }
259
- const r = await ((g = this.nylasSchedulerConnector) == null ? void 0 : g.scheduler.bookTimeslot(e));
260
- (!r || "error" in r) && this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(r == null ? void 0 : r.error) }, host: this.host });
261
- const d = r == null ? void 0 : r.data, s = this.bookedEventInfo.emit({ ...r, data: { ...d, ...i } });
262
- "bookedEventInfo" in this.eventOverrides && await this.eventOverrides.bookedEventInfo(s, this.nylasSchedulerConnector);
263
- }
264
- dateSelectedHandler(t) {
265
- const e = t.detail;
266
- this.selectedDateLabel = e ? e.toLocaleDateString(void 0, { dateStyle: "full" }) : `${f.t("noDateSelected")}`;
267
- }
268
- cancelBookedEventErrorHandler(t) {
269
- this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(t.detail.error) }, host: this.host });
270
- }
271
- cancelBookedEventValidationErrorHandler(t) {
272
- this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(t.detail.error) }, host: this.host });
273
- }
274
- rescheduleBookedEventErrorHandler(t) {
275
- this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(t.detail.error) }, host: this.host });
276
- }
277
- confirmBookingErrorHandler(t) {
278
- this.nylasSchedulerError.emit({ notification: { ...this.getErrorObject(t.detail.error) }, host: this.host });
279
- }
280
- feedbackModalClosedHandler() {
281
- this.showFeedbackModal = !1;
282
- }
283
- feedbackSubmittedHandler(t) {
284
- const i = {
285
- eventId: oe("Scheduling Page User Feedback"),
286
- message: t.detail.feedback
287
- };
288
- se(i, {
289
- includeReplay: !0,
290
- captureContext: {
291
- tags: {
292
- "nylas-web-element": "nylas-schduling",
293
- "nylas-web-element-version": "1.3.5"
294
- },
295
- extra: {
296
- configId: this.configurationId,
297
- slug: this.slug
298
- }
299
- }
300
- }), this.showFeedbackModal = !1;
301
- }
302
- async getNylasSchedulerStore() {
303
- var t;
304
- return (t = this.baseProvider) == null ? void 0 : t.getStore("scheduler");
305
- }
306
- async getNylasSchedulerConnector() {
307
- return this.nylasSchedulerConnector;
308
- }
309
- async getRef() {
310
- return this.host;
311
- }
312
- getErrorObject(t) {
313
- return {
314
- title: (t == null ? void 0 : t.title) || $.title,
315
- category: (t == null ? void 0 : t.category) || $.category,
316
- type: z.Error,
317
- description: (t == null ? void 0 : t.message) || "",
318
- id: (/* @__PURE__ */ new Date()).getTime().toString(),
319
- ttl: "none"
320
- };
321
- }
322
- checkIfSessionIdOrConfigIdExists() {
323
- if (!this.sessionId && !this.refConfigId && !(this.slug && this.clientId)) {
324
- let t = "";
325
- return this.sessionId || (t += f.t("sessionIdRequiredErrorMessage")), !this.sessionId && !this.refConfigId && !(this.slug && this.clientId) && (t = f.t("sessionIdRequiredErrorMessage") + " " + f.t("publicConfigErrorMessage")), this.nylasSchedulerError.emit({
326
- notification: {
327
- title: f.t("schedulingComponentErrorTitle"),
328
- category: S.Component,
329
- type: z.Error,
330
- description: t,
331
- id: (/* @__PURE__ */ new Date()).getTime().toString(),
332
- ttl: "none"
333
- },
334
- host: this.host
335
- }), !1;
336
- }
337
- return !0;
338
- }
339
- isTimeslotValid(t) {
340
- return new Date(t.start_time) < /* @__PURE__ */ new Date() ? (this.nylasSchedulerError.emit({
341
- notification: {
342
- title: f.t("invalidTimeslotErrorTitle"),
343
- category: S.Component,
344
- type: z.Error,
345
- description: f.t("invalidTimeslotErrorMessage"),
346
- id: (/* @__PURE__ */ new Date()).getTime().toString(),
347
- ttl: "none"
348
- },
349
- host: this.host
350
- }), !1) : !0;
351
- }
352
- validateAvailableDaysInFuture(t, e) {
353
- const i = /* @__PURE__ */ new Date(), a = new Date(t.getFullYear(), t.getMonth(), 1).getTime() / 1e3, o = new Date(t.getFullYear(), t.getMonth() + 1, 1).getTime() / 1e3, r = Math.floor(Y(i, e).getTime() / 1e3), d = Math.min(r, o);
354
- return { startTime: a < i.getTime() / 1e3 ? Math.floor(i.getTime() / 1e3) : a, endTime: d, endTimeForAvailableDaysInFuture: r };
355
- }
356
- applyThemeConfig(t) {
357
- if (t)
358
- for (const [e, i] of Object.entries(t))
359
- this.host.style.setProperty(`${e}`, i);
360
- }
361
- onFeedbackClick(t) {
362
- t.preventDefault(), this.showFeedbackModal = !0;
363
- }
364
- redirectToCustomUrl(t) {
365
- window.location.assign(t);
366
- }
367
- render() {
368
- var y, B, b, v, _, L, P, N, A, M;
369
- const t = this.mode === "app", e = (y = this.baseProvider) == null ? void 0 : y.getStore("scheduler"), i = e == null ? void 0 : e.get("eventInfo"), a = e == null ? void 0 : e.get("showBookingForm"), o = e == null ? void 0 : e.get("cancelledEventInfo"), r = e == null ? void 0 : e.get("cancelBookingId"), d = e == null ? void 0 : e.get("selectedTimeslot"), s = e == null ? void 0 : e.get("rescheduleBookingId"), c = e == null ? void 0 : e.get("organizerConfirmationBookingId"), m = e == null ? void 0 : e.get("rejectBookingId"), p = e == null ? void 0 : e.get("confirmedEventInfo"), g = (e == null ? void 0 : e.get("nylasBranding")) || this.nylasBranding, h = e == null ? void 0 : e.get("selectedDate"), u = (b = (B = e == null ? void 0 : e.get("configSettings")) == null ? void 0 : B.scheduler) == null ? void 0 : b.confirmation_redirect_url;
370
- if (this.selectedDateLabel = h && this.language ? J(h.toLocaleDateString(te[this.language], { dateStyle: "full" })) : `${f.t("noDateSelected")}`, t && (r || m) && !o)
371
- return n(w, null, n(x, { nylasBranding: g, isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "cancel-flow-page", part: "cancel-flow-page" }, n("nylas-cancel-booking-form", { selectedTimeslot: d, cancelBookingId: r, rejectBookingId: m, exportparts: "ncbf, ncbf__icon, ncbf__title, ncbf__description, ncbf__reason-textarea, ncbf__button-cta, ncbf__button-outline, ncbf__card" }))), this.enableUserFeedback && n("button-component", { id: "report-issue", variant: "basic", onClick: (l) => this.onFeedbackClick(l) }, n("feedback-icon", null)), this.showFeedbackModal && n("nylas-feedback-form", null));
372
- if (t && c)
373
- return n(w, null, n(x, null, n("div", { class: "manual-confirmation-page", part: "manual-confirmation-page" }, n("nylas-organizer-confirmation-card", { organizerConfirmationBookingId: c, exportparts: "nmcc, nmcc__title, nmcc__description, nmcc__button-cta, nmcc__button-outline" }))), this.enableUserFeedback && n("button-component", { id: "report-issue", variant: "basic", onClick: (l) => this.onFeedbackClick(l) }, n("feedback-icon", null)), this.showFeedbackModal && n("nylas-feedback-form", null));
374
- if (t && o)
375
- return n(w, null, n(x, { nylasBranding: g, isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "cancelled-event-page", part: "cancelled-event-page" }, n("nylas-cancelled-event-card", { cancelledEventInfo: o, exportparts: "ncec, ncec__icon, ncec__title, ncec__description, ncec__button-outline, ncec__card" }))), this.enableUserFeedback && n("button-component", { id: "report-issue", variant: "basic", onClick: (l) => this.onFeedbackClick(l) }, n("feedback-icon", null)), this.showFeedbackModal && n("nylas-feedback-form", null));
376
- if (t && p)
377
- return n(w, null, n(x, { nylasBranding: g, isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "cancelled-event-page", part: "confirmed-event-page" }, n("nylas-confirmed-event-card", { confirmedEventInfo: p, exportparts: "ncec, ncec__icon, ncec__title, ncec__description, ncec__button-outline, ncec__card" }))), this.enableUserFeedback && n("button-component", { id: "report-issue", variant: "basic", onClick: (l) => this.onFeedbackClick(l) }, n("feedback-icon", null)), this.showFeedbackModal && n("nylas-feedback-form", null));
378
- if (t && i && u) {
379
- const l = (v = this.bookingInfoConfirmed) == null ? void 0 : v.primaryParticipant, E = ((_ = this.bookingInfoConfirmed) == null ? void 0 : _.additionalFields) || {};
380
- if (this.bookingInfo && typeof ((L = this.bookingInfo) == null ? void 0 : L.additionalFields) < "u") {
381
- const T = this.bookingInfo.additionalFields;
382
- Object.keys(T).forEach((F) => {
383
- !E[F] && (T != null && T[F]) && (E[F] = T[F].value);
384
- });
385
- }
386
- const I = (P = this.stores) == null ? void 0 : P.scheduler.get("selectedTimeslot"), U = (N = this.stores) == null ? void 0 : N.scheduler.get("selectedTimezone"), j = (A = this.stores) == null ? void 0 : A.scheduler.get("selectedLanguage"), R = (M = this.stores) == null ? void 0 : M.scheduler.get("configSettings"), H = this.configurationId ? this.configurationId : R == null ? void 0 : R.configuration_id, q = window.location.search, k = new URLSearchParams(q);
387
- k.set("booking_id", i.booking_id), l != null && l.name && k.set("name", l.name), l != null && l.email && k.set("email", l.email), I != null && I.start_time && k.set("start_time", (new Date(I.start_time).getTime() / 1e3).toString()), I != null && I.end_time && k.set("end_time", (new Date(I.end_time).getTime() / 1e3).toString()), U && k.set("tz", U), j && k.set("language", j), E && k.set("additional_values", JSON.stringify(E)), this.slug && k.set("page_slug", this.slug), H && k.set("config_id", H), this.redirectToCustomUrl(`${u}?${k.toString()}`);
388
- return;
389
- }
390
- if (t && i)
391
- return n(w, null, n(x, { nylasBranding: g, isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "booked-event-page", part: "booked-event-page" }, n("nylas-booked-event-card", { selectedTimeslot: d, eventInfo: i, exportparts: "nbec, nbec__title, nbec__card, nbec__description, nbec__button-outline, nbec__cancel-cta, nbec__reschedule-cta" }))), this.enableUserFeedback && n("button-component", { id: "report-issue", variant: "basic", onClick: (l) => this.onFeedbackClick(l) }, n("feedback-icon", null)), this.showFeedbackModal && n("nylas-feedback-form", null));
392
- if (t && (!i || s) && !a) {
393
- const l = this.host.querySelector('[slot="timeslot-picker-cta-label"]');
394
- return n(w, null, n(x, { nylasBranding: g, isLoading: this.isLoading, showNotification: this.showNotification }, s && n(W, null, `${f.t("rescheduleTitle")}`), n("div", { class: "select-date-page", part: "select-date-page" }, n("div", { class: "left-panel" }, n("nylas-date-picker", { exportparts: "ndp, ndp__title, ndp__month-header, ndp__month-button, ndp__day, ndp__date, ndp__date--disabled, ndp__date--selected, ndp__date--current-day, ndp__date--current-month" }), n("nylas-locale-switch", { exportparts: "nls, nls__timezone, nls__timezone-dropdown, nls__timezone-drop-button, nls__timezone-drop-button-selected-label, nls__timezone-drop-content, nls__timezone-drop-label, nls__language, nls__language-dropdown, nls__language-drop-button, nls__language-drop-content, nls__language-drop-label" })), n("div", { class: `right-panel ${s ? "reschedule" : ""}` }, n("h2", null, n("calendar-icon", null), n("span", { id: "selectedDate" }, this.selectedDateLabel)), n("nylas-timeslot-picker", { exportparts: "ntp, ntp__time-picker-wrapper, ntp__timeslots, ntp__timeslot, ntp__timeslot--selected, ntp__button-primary" }, l && n("span", { slot: "timeslot-picker-cta-label" }, n("slot", { name: "timeslot-picker-cta-label" })))))), this.enableUserFeedback && n("button-component", { id: "report-issue", variant: "basic", onClick: (E) => this.onFeedbackClick(E) }, n("feedback-icon", null)), this.showFeedbackModal && n("nylas-feedback-form", null));
395
- }
396
- return t && !i && a ? n(w, null, n(x, { nylasBranding: g, isLoading: this.isLoading, showNotification: this.showNotification }, s && n(W, null, `${f.t("rescheduleTitle")}`), n("div", { class: "additional-data-page", part: "additional-data-page" }, n("div", { class: "left-panel" }, n("div", { class: "wrapper" }, n("nylas-selected-event-card", { exportparts: "nsec, nsec__card, nsec__icon, nsec__date, nsec__time, nsec__timezone" }))), n("div", { class: `right-panel ${s ? "reschedule" : ""}` }, n("nylas-booking-form", { exportparts: "nbf, nbf__input-textfield, nbf__button-ghost, nbf__button-outline, nbf__button-primary, nbf__input-wrapper, nbf__checkbox-component, nbf__radio-button-group, nbf__textarea-component, nbf__dropdown, nbf__dropdown-button, nbf__dropdown-content" })))), this.enableUserFeedback && n("button-component", { id: "report-issue", variant: "basic", onClick: (l) => this.onFeedbackClick(l) }, n("feedback-icon", null)), this.showFeedbackModal && n("nylas-feedback-form", null)) : n(w, null, n("slot", null));
397
- }
398
- get host() {
399
- return K(this);
400
- }
401
- static get watchers() {
402
- return {
403
- bookingInfo: ["bookingInfoChanged"],
404
- rescheduleBookingRef: ["rescheduleBookingRefChanged"],
405
- cancelBookingRef: ["cancelBookingRefChanged"],
406
- organizerConfirmationBookingRef: ["organizerConfirmationBookingRefChanged"],
407
- localization: ["localizationChanged"],
408
- themeConfig: ["themeConfigChanged"]
409
- };
410
- }
411
- };
412
- ce.style = le;
413
- export {
414
- ce as nylas_scheduling
415
- };