@nylas/react 1.2.0 → 1.3.1

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 (124) hide show
  1. package/dist/add-circle-icon.entry-606d3096.cjs +1 -0
  2. package/dist/add-circle-icon.entry-d8358e3f.js +15 -0
  3. package/dist/{archive-icon.entry-50c4b134.js → archive-icon.entry-8c6d31f2.js} +1 -1
  4. package/dist/{archive-icon.entry-718a1225.cjs → archive-icon.entry-e8ce8c7d.cjs} +1 -1
  5. package/dist/{arrow-icon.entry-ca9625d3.cjs → arrow-icon.entry-13d23d01.cjs} +1 -1
  6. package/dist/{arrow-icon.entry-53337688.js → arrow-icon.entry-d950ddce.js} +1 -1
  7. package/dist/{bold-icon.entry-36e679f1.cjs → bold-icon.entry-12072568.cjs} +1 -1
  8. package/dist/{bold-icon.entry-c6109b88.js → bold-icon.entry-5382fea2.js} +1 -1
  9. package/dist/{button-component_2.entry-0a06b0c4.js → button-component_2.entry-4aa63891.js} +1 -1
  10. package/dist/{button-component_2.entry-a1b8cd03.cjs → button-component_2.entry-d34ed360.cjs} +1 -1
  11. package/dist/calendar-agenda-fill-icon_54.entry-33d08f1a.cjs +9 -0
  12. package/dist/{calendar-agenda-fill-icon_54.entry-e4d8ab10.js → calendar-agenda-fill-icon_54.entry-50c9ed7b.js} +115 -106
  13. package/dist/{calendar-cancel-icon.entry-813a8330.js → calendar-cancel-icon.entry-64ea7038.js} +1 -1
  14. package/dist/{calendar-cancel-icon.entry-22862d8c.cjs → calendar-cancel-icon.entry-b13aa245.cjs} +1 -1
  15. package/dist/{calendar-check-icon_2.entry-79d381ce.js → calendar-check-icon_2.entry-935310fc.js} +1 -1
  16. package/dist/{calendar-check-icon_2.entry-2ca25094.cjs → calendar-check-icon_2.entry-9cbe60a8.cjs} +1 -1
  17. package/dist/{calendar-icon.entry-78bb4f9b.cjs → calendar-icon.entry-0c560a35.cjs} +1 -1
  18. package/dist/{calendar-icon.entry-d52951b0.js → calendar-icon.entry-2448eea2.js} +1 -1
  19. package/dist/{checkbox-component_2.entry-a6114846.cjs → checkbox-component_2.entry-1e3afb3a.cjs} +1 -1
  20. package/dist/{checkbox-component_2.entry-1219f0cf.js → checkbox-component_2.entry-ec5e75fb.js} +1 -1
  21. package/dist/{chevron-icon_3.entry-82878ccf.js → chevron-icon_3.entry-1f72ef71.js} +1 -1
  22. package/dist/{chevron-icon_3.entry-d8f195dc.cjs → chevron-icon_3.entry-da1751d2.cjs} +1 -1
  23. package/dist/{clock-icon_4.entry-9ab4bc41.js → clock-icon_4.entry-4502c9f0.js} +1 -1
  24. package/dist/{clock-icon_4.entry-e081ccca.cjs → clock-icon_4.entry-b87aaaa9.cjs} +1 -1
  25. package/dist/close-icon.entry-92e93293.cjs +1 -0
  26. package/dist/close-icon.entry-e96749ed.js +15 -0
  27. package/dist/{constants-35df11e7-b37e3406.js → constants-24eca8c9-922dc05c.js} +16 -4
  28. package/dist/{constants-35df11e7-d87ad6d9.cjs → constants-24eca8c9-d0d9f3ec.cjs} +1 -1
  29. package/dist/{copy-icon.entry-9c6f38c2.cjs → copy-icon.entry-19bb7d2f.cjs} +1 -1
  30. package/dist/{copy-icon.entry-9d6e0f48.js → copy-icon.entry-7c958d7c.js} +1 -1
  31. package/dist/{delete-icon.entry-6ec9c80d.cjs → delete-icon.entry-41c7d463.cjs} +1 -1
  32. package/dist/{delete-icon.entry-fd8dc119.js → delete-icon.entry-59c9ca04.js} +1 -1
  33. package/dist/{document-refresh-icon.entry-bea78baf.cjs → document-refresh-icon.entry-afc75ddb.cjs} +1 -1
  34. package/dist/{document-refresh-icon.entry-2b531e97.js → document-refresh-icon.entry-c32cda4f.js} +1 -1
  35. package/dist/{feedbackSync-b56b29ed-a7e9f258.js → feedbackSync-b4015b72-0785986b.js} +1 -1
  36. package/dist/{feedbackSync-b56b29ed-cdcec5be.cjs → feedbackSync-b4015b72-d343d411.cjs} +1 -1
  37. package/dist/{folder-icon.entry-6a43630e.js → folder-icon.entry-5dcf707b.js} +1 -1
  38. package/dist/{folder-icon.entry-485465be.cjs → folder-icon.entry-61ccaddd.cjs} +1 -1
  39. package/dist/{forward-icon.entry-a1af9122.cjs → forward-icon.entry-3d598cb4.cjs} +1 -1
  40. package/dist/{forward-icon.entry-514ea4a8.js → forward-icon.entry-5a156d37.js} +1 -1
  41. package/dist/{globe-icon.entry-adcff451.js → globe-icon.entry-99e8bebf.js} +1 -1
  42. package/dist/{globe-icon.entry-970082a4.cjs → globe-icon.entry-a88502ce.cjs} +1 -1
  43. package/dist/{google-logo-icon_4.entry-2b68fe81.js → google-logo-icon_4.entry-531021bd.js} +142 -128
  44. package/dist/{google-logo-icon_4.entry-21cb4b95.cjs → google-logo-icon_4.entry-9a7790d2.cjs} +1 -1
  45. package/dist/{inbox-icon.entry-94507d27.cjs → inbox-icon.entry-6eadce9b.cjs} +1 -1
  46. package/dist/{inbox-icon.entry-d3e42f82.js → inbox-icon.entry-b2a2f48e.js} +1 -1
  47. package/dist/{index-9dc1bd32.js → index-13a43508.js} +2624 -2554
  48. package/dist/{index-bec58f1d.cjs → index-7dbf0ae7.cjs} +28 -28
  49. package/dist/{index.es-c7ca1bad-38475209.js → index.es-aa323594-17c2a3f6.js} +1 -1
  50. package/dist/{index.es-c7ca1bad-5652d50c.cjs → index.es-aa323594-84331fa3.cjs} +1 -1
  51. package/dist/{info-icon_2.entry-3b5a2c7f.js → info-icon_2.entry-c6e650c4.js} +1 -1
  52. package/dist/{info-icon_2.entry-e23f3ffd.cjs → info-icon_2.entry-f53d81e5.cjs} +1 -1
  53. package/dist/{input-color-picker.entry-b4ea90c5.cjs → input-color-picker.entry-16fa8456.cjs} +1 -1
  54. package/dist/{input-color-picker.entry-9bc48bd3.js → input-color-picker.entry-cd398537.js} +1 -1
  55. package/dist/{input-component.entry-e567ec08.cjs → input-component.entry-74b63249.cjs} +1 -1
  56. package/dist/{input-component.entry-ebae3a8a.js → input-component.entry-b471f023.js} +1 -1
  57. package/dist/{input-dropdown.entry-1f704009.js → input-dropdown.entry-14e1f6cb.js} +1 -1
  58. package/dist/{input-dropdown.entry-597cd5a8.cjs → input-dropdown.entry-32b4b8be.cjs} +1 -1
  59. package/dist/{italic-icon.entry-08593dd0.js → italic-icon.entry-8a1a7568.js} +1 -1
  60. package/dist/{italic-icon.entry-8f614353.cjs → italic-icon.entry-c9ae0186.cjs} +1 -1
  61. package/dist/{multi-select-dropdown.entry-eb978e22.cjs → multi-select-dropdown.entry-58b860a0.cjs} +1 -1
  62. package/dist/{multi-select-dropdown.entry-5f1c73f3.js → multi-select-dropdown.entry-bc4901aa.js} +1 -1
  63. package/dist/nylas-booked-event-card_12.entry-f64eecaa.cjs +1 -0
  64. package/dist/{nylas-booked-event-card_12.entry-c4043d8f.js → nylas-booked-event-card_12.entry-fbdb2f3d.js} +378 -378
  65. package/dist/{nylas-form-card.entry-1540207c.cjs → nylas-form-card.entry-7e9a0cf1.cjs} +1 -1
  66. package/dist/{nylas-form-card.entry-80688e35.js → nylas-form-card.entry-aa1d5aca.js} +2 -2
  67. package/dist/{nylas-if-state.entry-037d0454.js → nylas-if-state.entry-5e30f6b3.js} +2 -2
  68. package/dist/{nylas-if-state.entry-e5155b5b.cjs → nylas-if-state.entry-96914d61.cjs} +1 -1
  69. package/dist/{nylas-login.entry-b3d73ab9.cjs → nylas-login.entry-e26689b0.cjs} +1 -1
  70. package/dist/{nylas-login.entry-d157a6ed.js → nylas-login.entry-e52648da.js} +2 -2
  71. package/dist/{nylas-provider.entry-884ba204.cjs → nylas-provider.entry-9d43f4f0.cjs} +1 -1
  72. package/dist/{nylas-provider.entry-cf4b8b57.js → nylas-provider.entry-ac669351.js} +4 -4
  73. package/dist/nylas-scheduler-editor.entry-0f1370d9.cjs +2 -0
  74. package/dist/{nylas-scheduler-editor.entry-e731ca4a.js → nylas-scheduler-editor.entry-9655ce2e.js} +12 -12
  75. package/dist/{nylas-scheduling.entry-86b18d85.js → nylas-scheduling.entry-14d4cd69.js} +43 -42
  76. package/dist/nylas-scheduling.entry-ab10f8a4.cjs +1 -0
  77. package/dist/{nylas-time-window-picker.entry-393e855b.js → nylas-time-window-picker.entry-a2f71121.js} +1 -1
  78. package/dist/{nylas-time-window-picker.entry-f9687046.cjs → nylas-time-window-picker.entry-dfbd975e.cjs} +1 -1
  79. package/dist/{person-icon.entry-b5ccb1f4.js → person-icon.entry-40b5a8c5.js} +1 -1
  80. package/dist/{person-icon.entry-1b5dcd2e.cjs → person-icon.entry-a45918af.cjs} +1 -1
  81. package/dist/{play-icon.entry-5e51d961.js → play-icon.entry-b2315f8c.js} +1 -1
  82. package/dist/{play-icon.entry-3f2e7e31.cjs → play-icon.entry-c5757946.cjs} +1 -1
  83. package/dist/react.cjs +1 -1
  84. package/dist/react.js +1 -1
  85. package/dist/{refresh-icon.entry-9beaa8e1.js → refresh-icon.entry-37d038f8.js} +1 -1
  86. package/dist/{refresh-icon.entry-3d241ffd.cjs → refresh-icon.entry-b9afd192.cjs} +1 -1
  87. package/dist/{register-component-3444af44-94783766.js → register-component-555477e7-42247763.js} +1 -1
  88. package/dist/{register-component-3444af44-890ac950.cjs → register-component-555477e7-ecafba1c.cjs} +1 -1
  89. package/dist/{reply-all-icon.entry-a0fcbf30.cjs → reply-all-icon.entry-07a6783a.cjs} +1 -1
  90. package/dist/{reply-all-icon.entry-6b55d3b3.js → reply-all-icon.entry-89fd0e10.js} +1 -1
  91. package/dist/{reply-icon.entry-c7d0d967.cjs → reply-icon.entry-8cddb112.cjs} +1 -1
  92. package/dist/{reply-icon.entry-c709b46f.js → reply-icon.entry-a53a6fc4.js} +1 -1
  93. package/dist/{scheduler-config-store-ed4a8dfd-13c1c187.js → scheduler-config-store-ed4a8dfd-656579e3.js} +1 -1
  94. package/dist/{scheduler-config-store-ed4a8dfd-ba68cc09.cjs → scheduler-config-store-ed4a8dfd-733c6442.cjs} +1 -1
  95. package/dist/scheduler-store-c37aa5ca-0484b074.cjs +1 -0
  96. package/dist/{scheduler-store-ecd15be2-d2ef4ac2.js → scheduler-store-c37aa5ca-c9752707.js} +127 -124
  97. package/dist/{sent-icon.entry-b65083f4.js → sent-icon.entry-6ac749b3.js} +1 -1
  98. package/dist/{sent-icon.entry-9083bca9.cjs → sent-icon.entry-b740a32d.cjs} +1 -1
  99. package/dist/{spam-icon.entry-e6c1a82a.cjs → spam-icon.entry-78cec025.cjs} +1 -1
  100. package/dist/{spam-icon.entry-120eca46.js → spam-icon.entry-872ff1e4.js} +1 -1
  101. package/dist/{star-icon.entry-e3563c0b.js → star-icon.entry-57246dc1.js} +1 -1
  102. package/dist/{star-icon.entry-efbc2679.cjs → star-icon.entry-ab9ad7df.cjs} +1 -1
  103. package/dist/{stop-icon.entry-ab5cf663.js → stop-icon.entry-5054fa33.js} +1 -1
  104. package/dist/{stop-icon.entry-8d07d719.cjs → stop-icon.entry-f79dce49.cjs} +1 -1
  105. package/dist/{textarea-component.entry-a0ef9f03.js → textarea-component.entry-15c9a676.js} +1 -1
  106. package/dist/{textarea-component.entry-93be4a65.cjs → textarea-component.entry-2967dd82.cjs} +1 -1
  107. package/dist/{time-period-selector.entry-2a86f48f.js → time-period-selector.entry-9226fd08.js} +1 -1
  108. package/dist/{time-period-selector.entry-16f96af9.cjs → time-period-selector.entry-a53c94c2.cjs} +1 -1
  109. package/dist/{translate-icon.entry-d632b37b.js → translate-icon.entry-52939fa4.js} +1 -1
  110. package/dist/{translate-icon.entry-868948d3.cjs → translate-icon.entry-f4dcc479.cjs} +1 -1
  111. package/dist/{trash-fill-icon.entry-88dfffbc.cjs → trash-fill-icon.entry-7f4ddaf5.cjs} +1 -1
  112. package/dist/{trash-fill-icon.entry-eeab235e.js → trash-fill-icon.entry-b9ab3cfc.js} +1 -1
  113. package/dist/{underline-icon.entry-65e42dcf.js → underline-icon.entry-c8142970.js} +1 -1
  114. package/dist/{underline-icon.entry-35430c19.cjs → underline-icon.entry-e9959c5c.cjs} +1 -1
  115. package/dist/{warning-icon.entry-bab6d190.js → warning-icon.entry-00426457.js} +1 -1
  116. package/dist/{warning-icon.entry-e7714a43.cjs → warning-icon.entry-98c0d003.cjs} +1 -1
  117. package/package.json +3 -3
  118. package/dist/add-circle-icon_2.entry-52cc3933.cjs +0 -1
  119. package/dist/add-circle-icon_2.entry-5ea903bf.js +0 -25
  120. package/dist/calendar-agenda-fill-icon_54.entry-5b185e75.cjs +0 -9
  121. package/dist/nylas-booked-event-card_12.entry-73785c5c.cjs +0 -1
  122. package/dist/nylas-scheduler-editor.entry-6f76d0d5.cjs +0 -2
  123. package/dist/nylas-scheduling.entry-c8ee9a2a.cjs +0 -1
  124. package/dist/scheduler-store-ecd15be2-8f7d171f.cjs +0 -1
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-bec58f1d.cjs"),p=require("./register-component-3444af44-890ac950.cjs"),y=require("./constants-35df11e7-d87ad6d9.cjs");require("react");require("react-dom");const Q=':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}.nylas-booked-event-card{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family)}.event-card-wrapper{display:flex;align-items:center;flex-direction:column;background-color:var(--nylas-base-0);color:var(--nylas-base-900);border-radius:var(--nylas-border-radius-3x);position:relative;margin-top:1rem;margin-bottom:2rem;width:424px;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.event-card-wrapper{width:100%;border-radius:0px}}.calendar-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200);color:var(--nylas-base-700)}.booked-event-header{margin:1.5rem 0;overflow-wrap:anywhere;display:flex;align-items:center;flex-direction:column;font-size:1rem;font-weight:400;border-bottom:1px solid var(--nylas-base-200);width:inherit;padding:0 0 1.5rem}.booked-event-header h2{color:var(--nylas-base-600);margin-top:1.5rem;margin-bottom:0.25rem;font-size:1.125rem;font-weight:600}.booked-event-header .card-description{text-align:center}.booking-date-time,.booking-participants{padding:0 1rem;margin-top:1.5rem;margin-left:3rem;display:flex;flex-direction:column;justify-content:space-between;align-self:flex-start;position:relative}.booking-date-time svg,.booking-participants svg{color:var(--nylas-base-700);position:absolute;left:-10px}.booking-date-time .block,.booking-participants .block{display:block}.booking-date-time h3,.booking-participants h3{color:var(--nylas-base-600);margin:0;font-size:16px;font-weight:600;line-height:1.25rem;text-align:justify;margin-bottom:4px}.booking-date-time p,.booking-participants p{font-size:16px;margin:0;font-weight:400;text-align:justify;color:var(--nylas-base-800)}.booking-participants{margin-bottom:1.5rem}.booked-event-timezone{display:flex;color:var(--nylas-base-600);margin-bottom:1.5rem;gap:4px;margin:2rem;align-items:center;align-self:flex-end}.button-container{width:inherit}.footer{padding:0.5rem;display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;box-sizing:border-box;background-color:var(--nylas-base-25);border-top:1px solid var(--nylas-base-200);width:100%;border-radius:0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x)}.footer.no-template-cols{grid-template-columns:1fr}.footer.no-footer{display:none}sp-divider{background-color:var(--nylas-base-200);height:1px}calendar-check-icon{display:flex;align-items:center;justify-content:center;height:100%}',ee=Q;var te=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},T=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const N=class{constructor(e){t.registerInstance(this,e),this.cancelBookingButtonClicked=t.createEvent(this,"cancelBookingButtonClicked",7),this.rescheduleButtonClicked=t.createEvent(this,"rescheduleButtonClicked",7),this.rescheduleBookedEventError=t.createEvent(this,"rescheduleBookedEventError",7),this.cancelBookedEventValidationError=t.createEvent(this,"cancelBookedEventValidationError",7),this.handleCancelBookingButtonClicked=()=>{var o,i;const n=new Date(this.selectedTimeslot.start_time),a=(i=(o=this.configSettings)==null?void 0:o.scheduler)==null?void 0:i.min_cancellation_notice;n.getTime()-a*60*1e3<new Date().getTime()?this.cancelBookedEventValidationError.emit({error:{title:"Cancellation Error",message:`You cannot cancel the booking within ${a} minutes of the event.`}}):this.cancelBookingButtonClicked.emit({bookingId:this.eventInfo.booking_id})},this.handleRescheduleButtonClicked=()=>{const n=a=>{this.rescheduleBookedEventError.emit(a)};this.rescheduleButtonClicked.emit({bookingId:this.eventInfo.booking_id,errorHandler:n})},this.getPaticipantType=n=>{switch(n){case"host":return"Host";case"you":return"You";default:return""}},this.eventInfo=void 0,this.rescheduleBookingId=void 0,this.bookingInfo=void 0,this.configSettings=void 0,this.isLoading=void 0,this.themeConfig=void 0,this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.selectedTimeslot=void 0,this.selectedLanguage=navigator.language,this.startTime="",this.endTime=""}themeConfigChanged(e){this.applyThemeConfig(e)}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){t.debug("[nylas-booked-event-card] Component will load")}async componentDidLoad(){var e,n;t.debug("[nylas-booked-event-card] Component did load"),this.eventInfo||console.warn('[nylas-booked-event-card] "eventInfo" prop missing. Please provide the event info to display the event details in the booked event card component.'),this.bookingInfo||console.warn('[nylas-booked-event-card] "bookingInfo" prop missing. Please provide the booking info to display the guest details in the booked event card component.'),this.applyThemeConfig(this.themeConfig),this.startTime=t.formatTimezone((e=this.selectedTimeslot)==null?void 0:e.start_time,this.selectedTimezone),this.endTime=t.formatTimezone((n=this.selectedTimeslot)==null?void 0:n.end_time,this.selectedTimezone)}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}render(){var a,s,o,i,r,l,b,d,c,h,f,g,v,k,u,m;const e=(a=this.configSettings)==null?void 0:a.booking_type,n=e&&e!=="booking";return t.h(t.Host,{key:"5c0d6ded922007d327b55a3536338a82302ca0be",part:"nbec"},t.h("div",{key:"a0d3c60605fbf54303527bc6001477db946eb560",class:"nylas-booked-event-card"},t.h("div",{key:"043a3aead5724fd56c3075d60ff0cfe470e2d551",class:"booked-event-timezone"},t.h("globe-icon",{key:"f21ee01ed85b02982e013d6731bffd8a20ef0ad9"}),y.TIMEZONE_MAP[this.selectedTimezone]),t.h("div",{key:"5408744046d0b755044db2c88f15dfeed1ac0cd1",class:"event-card-wrapper",part:"nbec__card"},t.h("div",{key:"c1e352e8395aa35c9faadadf10a82f04b10cf88e",class:"calendar-icon"},t.h("calendar-check-icon",{key:"9e4464eb5a88dafa35340d8441bfc6570c880151"})),t.h("div",{key:"2265e9737ed82f085e348a6bde53dc68d7d7fc94",class:"booked-event-header"},t.h("h2",{key:"30ba50948f9de4ef3f47c72547478c81870d85b2",slot:"card-title",part:"nbec__title"},this.rescheduleBookingId&&!this.isLoading?`${t.instance.t("bookingRescheduled")}`:n&&!this.isLoading?`${t.instance.t("bookingSent")}`:`${t.instance.t("bookingConfirmed")}`,"!"),t.h("div",{key:"8ae1ffd38656334a233bca8eb7b25b6e7c03c937",class:"card-description",part:"nbec__description"},n?t.instance.t("bookingSentDescription"):t.h("span",null,t.instance.t("bookingConfirmedDescription")))),t.h("div",{key:"cf6a84c9dc87e923c21468561a7601f476fd85a1",class:"booking-date-time"},t.h("checkmark-circle-icon",{key:"7e42ae42fbe6c87a21f2a6031796132a5562d882"}),t.h("h3",{key:"d92ede4d9f33a3dd461a0e14c4965e614c23f075"},t.instance.t("bookingDateAndTimeHeader")),t.h("p",{key:"1da0c2ff11644c6718e8ca512baffbc0affb3fd5"},(s=this.selectedTimeslot)!=null&&s.start_time?t.capitalizeFirstLetter(new Date((o=this.selectedTimeslot)==null?void 0:o.start_time).toLocaleDateString(y.LANGUAGE_CODE_MAP[this.selectedLanguage],{dateStyle:"full"})):"-"," ",t.h("br",{key:"167cd8c78e97697766713811549588e9d6fd3fcb"}),this.startTime," - ",this.endTime)),t.h("div",{key:"61d35600d07d7ffccbce3f3aa93a3bfed385637e",class:"booking-participants"}),!n&&t.h("div",{class:"button-container"},t.h("div",{class:{footer:!0,"no-footer":((r=(i=this.configSettings)==null?void 0:i.scheduler)==null?void 0:r.hide_cancellation_options)&&((b=(l=this.configSettings)==null?void 0:l.scheduler)==null?void 0:b.hide_rescheduling_options)||((d=this.configSettings)==null?void 0:d.booking_type)==="organizer-confirmation","no-template-cols":((h=(c=this.configSettings)==null?void 0:c.scheduler)==null?void 0:h.hide_cancellation_options)||((g=(f=this.configSettings)==null?void 0:f.scheduler)==null?void 0:g.hide_rescheduling_options)}},!((k=(v=this.configSettings)==null?void 0:v.scheduler)!=null&&k.hide_cancellation_options)&&t.h("button-component",{variant:"destructive",onClick:this.handleCancelBookingButtonClicked,part:"nbec__button-outline nbec__cancel-cta"},`${t.instance.t("cancelBookingButton")}`),!((m=(u=this.configSettings)==null?void 0:u.scheduler)!=null&&m.hide_rescheduling_options)&&t.h("button-component",{variant:"basic",onClick:this.handleRescheduleButtonClicked,part:"nbec__button-outline nbec__reschedule-cta"},`${t.instance.t("rescheduleBookingButton")}`))))))}get host(){return t.getElement(this)}static get watchers(){return{themeConfig:["themeConfigChanged"]}}};te([p.RegisterComponent({name:"nylas-booked-event-card",stateToProps:new Map([["scheduler.bookingInfo","bookingInfo"],["scheduler.rescheduleBookingId","rescheduleBookingId"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.isLoading","isLoading"],["scheduler.selectedLanguage","selectedLanguage"],["scheduler.configSettings","configSettings"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{cancelBookingButtonClicked:async(e,n)=>{n.scheduler.setCancel(e.detail.bookingId)},rescheduleButtonClicked:async(e,n)=>{const a=await n.scheduler.setReschedule(e.detail.bookingId),{errorHandler:s}=e.detail;s&&(!a||"error"in a)&&s(a)},rescheduleBookedEventError:async(e,n)=>{t.debug("nylas-booked-event-card","rescheduleBookedEventError",e.detail)},cancelBookedEventValidationError:async(e,n)=>{t.debug("nylas-booked-event-card","cancelBookedEventValidationError",e.detail)}},fireRegisterEvent:!0}),T("design:type",Function),T("design:paramtypes",[]),T("design:returntype",void 0)],N.prototype,"render",null);N.style=ee;const ne=':host{display:block;height:100%;--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}.nylas-booking-form{width:100%;padding:1.5rem;box-sizing:border-box;height:450px;overflow-y:auto;height:100%}form{height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center}sp-textfield{--spectrum-corner-radius-100:var(--nylas-border-radius-2x);--spectrum-textfield-border-color:var(--nylas-base-300);position:relative;width:100%;height:48px;margin-bottom:16px;color:var(--nylas-base-500)}.cta{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;align-items:flex-start;justify-content:space-between;gap:0.5rem;padding:14px;box-sizing:border-box;border-top:1px solid var(--nylas-base-200)}@media screen and (max-width: 768px){.cta{grid-template-columns:1fr}}.input-wrapper{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:1rem}.input-wrapper input::placeholder{color:var(--nylas-base-300)}.input-wrapper label,.input-wrapper input{font-family:var(--nylas-font-family);font-size:16px}.input-wrapper .help-text{margin:0;color:var(--nylas-error)}.button-wrapper{width:100%;align-items:flex-start;height:max-content;position:relative}.button-content{display:flex;gap:4px;align-items:center}sp-infield-button{--spectrum-infield-button-background-color:transparent;--spectrum-infield-button-background-color-hover:transparent;--spectrum-infield-button-background-color-active:transparent;--spectrum-infield-button-border-color:transparent;--spectrum-infield-button-border-width:1px;--spectrum-infield-button-border-radius:0;color:var(--nylas-base-600);background:transparent;border:none;outline:1px solid var(--nylas-base-300);border-radius:0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x) 0;height:52px;width:52px;display:flex;position:absolute;right:0;align-items:center;justify-content:center;cursor:pointer}sp-infield-button sp-icon-cross300{color:var(--nylas-base-600)}sp-infield-button.error{border-width:2px;border-color:var(--nylas-error)}input[type=text],input[type=email]{display:flex;height:48px;padding-left:16px;align-items:center;gap:8px;align-self:stretch;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:400;line-height:150%}input[type=text]:focus,input[type=email]:focus{outline-color:var(--nylas-primary)}input[type=text].error,input[type=email].error{border-radius:var(--nylas-border-radius-2x);font-weight:600;border-color:var(--nylas-error);border-width:2px}input[type=text].error::placeholder,input[type=email].error::placeholder{font-weight:400}input[type=text]::placeholder,input[type=email]::placeholder{color:var(--nylas-base-300)}input[type=text].guest-email,input[type=email].guest-email{color:var(--nylas-base-900);padding-right:52px}label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%}label.error{color:var(--nylas-error)}label span.required{color:var(--nylas-error);padding:0 0.25rem}button-component.remove-guest{position:absolute;height:51px;right:0}button-component.remove-guest.error button{border-color:var(--nylas-error)}button-component.remove-guest button{height:inherit;border-top-left-radius:initial;border-bottom-left-radius:initial;border:none !important;border-left:1px solid var(--nylas-base-300) !important}button-component.remove-guest button:hover,button-component.remove-guest button:focus{outline:1px solid var(--nylas-primary) !important;color:var(--nylas-primary)}button-component.back button{--dot-color:var(--nylas-base-800)}.guest-email-input{position:relative;display:flex;width:100%}',ae=ne;var ie=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},B=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const x=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,H=class{constructor(e){t.registerInstance(this,e),this.nameChanged=t.createEvent(this,"nameChanged",7),this.emailChanged=t.createEvent(this,"emailChanged",7),this.backButtonClicked=t.createEvent(this,"backButtonClicked",7),this.detailsConfirmed=t.createEvent(this,"detailsConfirmed",7),this.bookingFormError=t.createEvent(this,"bookingFormError",7),this.bookingFormSubmitted=t.createEvent(this,"bookingFormSubmitted",7),this.handleGuestChange=(n,a)=>{this.resetGuestEmailError(n);const s=[...this.guestEmails];s[n]=t.sanitizeHtml$1(a),this.guestEmails=[...s]},this.handleGuestBlur=(n,a)=>{if(this.resetGuestEmailError(n),a===""){this.guestEmailErrors[n]=t.instance.t("fieldRequired",{field:t.instance.t("email")});return}if(!x.test(a)){this.guestEmailErrors[n]=t.instance.t("invalidInputFormat",{field:t.instance.t("email")});return}this.handleGuestChange(n,a)},this.addGuestButtonClickedHandler=n=>{n.preventDefault(),this.guestEmails=[...this.guestEmails,""]},this.removeGuestButtonClickHandler=(n,a)=>{n.preventDefault(),this.resetGuestEmailError(a);const s=[...this.guestEmails];s.splice(a,1),this.guestEmails=[...s]},this.handleBackButtonClicked=n=>{n.preventDefault(),this.backButtonLoading=!0,this.backButtonClicked.emit()},this.bookButtonClickedHandler=async n=>{var l,b,d,c,h,f,g,v,k;if(n.preventDefault(),this.bookingFormSubmitted.emit().defaultPrevented)return;t.debug("nylas-booking-form","bookButtonClickedHandler",this.bookingInfo);const s=this.name||((b=(l=this.bookingInfo)==null?void 0:l.primaryParticipant)==null?void 0:b.name),o=this.email||((c=(d=this.bookingInfo)==null?void 0:d.primaryParticipant)==null?void 0:c.email);if(!s||s===""){this.isNameValid=!1,this.validationError.name=t.instance.t("fieldRequired",{field:t.instance.t("name")})||"Name is required",this.bookingFormError.emit({title:"Booking form error",description:"Name is required"});return}if(!o||o===""){this.isEmailValid=!1,this.validationError.email=t.instance.t("fieldRequired",{field:t.instance.t("email")})||"Email is required",this.bookingFormError.emit({title:"Booking form error",description:"Email is required"});return}if(!x.test(o)){this.isEmailValid=!1,this.validationError.email=t.instance.t("invalidInputFormat",{field:t.instance.t("email")}),this.bookingFormError.emit({title:"Booking form error",description:t.instance.t("invalidInputFormat",{field:t.instance.t("email")})||"Invalid email"});return}let i=[];if(this.guestEmails.length>0){let u=!1;if(this.guestEmails.forEach((m,C)=>{m===""?(u=!0,this.guestEmailErrors={...this.guestEmailErrors,[C]:t.instance.t("fieldRequired",{field:t.instance.t("email")})}):x.test(m)||(u=!0,this.guestEmailErrors={...this.guestEmailErrors,[C]:t.instance.t("invalidInputFormat",{field:t.instance.t("email")})})}),u){this.bookingFormError.emit({title:"Booking form error",description:t.instance.t("invalidInputFormat",{field:t.instance.t("guestEmail")})||"Invalid guest email"});return}i=this.guestEmails.map(m=>({name:m.trim(),email:m.trim()}))}else(h=this.bookingInfo)!=null&&h.guests&&(i=(f=this.bookingInfo)==null?void 0:f.guests);const r={};if((g=this.bookingInfo)!=null&&g.additionalFields){const u=((k=(v=this.configSettings)==null?void 0:v.scheduler)==null?void 0:k.additional_fields)||{};Object.entries(this.bookingInfo.additionalFields).forEach(([m,C])=>{m in u&&(r[m]=C.value)})}this.detailsConfirmed.emit({primaryParticipant:{name:s,email:o},guests:i,additionalFields:{...r,...this.additionalFields}})},this.updateAdditionalFields=(n,a)=>{this.additionalFields&&(this.additionalFields[n]=a)},this.isLoading=void 0,this.bookingInfo=void 0,this.eventInfo=void 0,this.configSettings=void 0,this.themeConfig=void 0,this.name="",this.email="",this.guestEmails=[],this.guestEmailErrors={},this.isNameValid=!0,this.isEmailValid=!0,this.additionalFields={},this.validationError={name:"",email:""},this.backButtonLoading=!1}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){t.debug("nylas-booking-form","componentWillLoad",this.bookingInfo)}componentDidLoad(){var e,n,a;t.debug("nylas-booking-form","componentDidLoad",this.bookingInfo),this.bookingInfo&&((e=this.bookingInfo)!=null&&e.primaryParticipant)&&(this.name=(n=this.bookingInfo.primaryParticipant)==null?void 0:n.name,this.email=(a=this.bookingInfo.primaryParticipant)==null?void 0:a.email),this.applyThemeConfig(this.themeConfig)}bookingInfoChangedHandler(e){e&&e.primaryParticipant&&(this.name=e.primaryParticipant.name,this.email=e.primaryParticipant.email)}themeConfigChanged(e){this.applyThemeConfig(e)}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}changeName(e){this.isNameValid=!0,this.validationError.name="",this.name=t.sanitize(e),this.nameChanged.emit(e)}changeEmail(e){this.isEmailValid=!0,this.validationError.email="",this.email=t.sanitizeHtml$1(e),this.emailChanged.emit(e)}resetGuestEmailError(e){const n={...this.guestEmailErrors};delete n[e],this.guestEmailErrors={...n}}nylasFormInputChangedHandler(e){switch(e.detail.name){case"name":this.changeName(e.detail.value);break;case"email":this.changeEmail(e.detail.value);break;default:if(e.detail.error){this.bookingFormError.emit({title:"Booking form error",description:e.detail.error});return}this.updateAdditionalFields(e.detail.name,e.detail.value);break}}selectOptionChangedHandler(e){if(e.detail.error){this.bookingFormError.emit({title:"Booking form error",description:e.detail.error});return}this.updateAdditionalFields(e.detail.name,e.detail.value)}switchToggledHandler(e){this.updateAdditionalFields(e.detail.name,e.detail.checked?"true":"false")}checkboxToggledHandler(e){this.updateAdditionalFields(e.detail.name,e.detail.checked?"true":"false")}radioChangedHandler(e){this.updateAdditionalFields(e.detail.name,e.detail.value)}dropdownDefaultSelectedHandler(e){this.updateAdditionalFields(e.detail.name,e.detail.value)}render(){var e,n,a,s,o,i,r,l,b;return t.h(t.Host,{key:"c0b87ead82e2d0c32de6f8b21c843c41aef053d5"},t.h("form",{key:"7c2eb7bb085e4b26566147a607258382e8fba216",onSubmit:d=>this.bookButtonClickedHandler(d),noValidate:!0},t.h("div",{key:"f9e63b09939bd160f7e32c0aeec4677cb8e075ea",class:"nylas-booking-form",part:"nbf"},t.h("div",{key:"a864c6847043c4210bfa4cc9ac701b6824b93141",class:"input-wrapper",part:"nbf__input-wrapper"},t.h("input-component",{key:"d73094b1ef71b938c036c6e2bfad84d91b64d0b3",label:t.instance.t("name"),name:"name",id:"name",defaultValue:((n=(e=this.bookingInfo)==null?void 0:e.primaryParticipant)==null?void 0:n.name)||this.name,placeholder:t.instance.t("namePlaceholder"),type:"text",required:!0,requiredError:t.instance.t("fieldRequired",{field:t.instance.t("name")}),patternError:t.instance.t("invalidInputFormat",{field:t.instance.t("name")}),part:"nbf__input-textfield"})),t.h("div",{key:"50fcdaeef2f68847cec3a3768b3cf1dbc7332594",class:"input-wrapper",part:"nbf__input-wrapper"},t.h("input-component",{key:"99146fd92e97eef620361282309cda149821c27e",label:t.instance.t("email"),name:"email",id:"email",pattern:x,defaultValue:((s=(a=this.bookingInfo)==null?void 0:a.primaryParticipant)==null?void 0:s.email)||this.email,placeholder:t.instance.t("emailPlaceholder"),type:"email",required:!0,requiredError:t.instance.t("fieldRequired",{field:t.instance.t("email")}),patternError:t.instance.t("invalidInputFormat",{field:t.instance.t("email")}),part:"nbf__input-textfield"})),((i=(o=this.configSettings)==null?void 0:o.scheduler)==null?void 0:i.hide_additional_guests)!==!0&&t.h("div",{class:"input-wrapper",part:"nbf__input-wrapper"},this.guestEmails.map((d,c)=>t.h("div",{class:"input-wrapper button-wrapper"},t.h("label",{class:{error:!!this.guestEmailErrors[c]}},t.instance.t("guestEmail")),t.h("div",{class:"guest-email-input"},t.h("input",{type:"email",id:`guest-email-${c}`,maxLength:100,class:{"guest-email":!0,error:!!this.guestEmailErrors[c]},placeholder:t.instance.t("guestEmailPlaceholder"),value:d,"data-index":c,part:"nbf__input-textfield",onBlur:h=>{var f;return this.handleGuestBlur(c,(f=h.target)==null?void 0:f.value)},onInput:h=>{var f;return this.handleGuestChange(c,(f=h.target)==null?void 0:f.value)}}),t.h("button-component",{variant:"basic",tooltip:"Remove guest",onClick:h=>this.removeGuestButtonClickHandler(h,c),class:{"remove-guest":!0,error:!!this.guestEmailErrors[c]}},t.h("close-icon",null))),t.h("p",{class:"help-text"},this.guestEmailErrors[c]))),t.h("button-component",{class:"add-guest",variant:"invisible",part:"nbf__button-ghost",onClick:d=>this.addGuestButtonClickedHandler(d)},t.h("div",{class:"button-content"},t.h("add-circle-icon",{slot:"icon"}),this.guestEmails.length>0?`${t.instance.t("addAnotherGuest")}`:`${t.instance.t("addGuest")}`))),(b=Object.entries(((l=(r=this.configSettings)==null?void 0:r.scheduler)==null?void 0:l.additional_fields)||{}))==null?void 0:b.sort((d,c)=>d[1].order-c[1].order).map(d=>{var v,k,u,m,C,X;const c=d[1],h=c.label,f=d[0],g=((u=(k=(v=this.bookingInfo)==null?void 0:v.additionalFields)==null?void 0:k[f])==null?void 0:u.value)||"";switch(c.type){case"dropdown":return t.h("div",{class:"input-wrapper",part:"nbf__input-wrapper"},t.h("select-dropdown",{label:h,name:f,id:f,withSearch:!1,defaultSelectedOption:g?{value:g,label:g}:void 0,options:(m=c.options)==null?void 0:m.map(_=>({value:_,label:_})),required:c.required,exportparts:"sd_dropdown: nbf__dropdown, sd_dropdown-button: nbf__dropdown-button, sd_dropdown-content: nbf__dropdown-content"}));case"checkbox":return t.h("div",{class:"input-wrapper",part:"nbf__input-wrapper"},t.h("checkbox-component",{label:h,name:f,id:f,checked:g==="true",required:c.required,part:"nbf__checkbox-component"}));case"radio_button":return t.h("div",{class:"input-wrapper",part:"nbf__input-wrapper"},t.h("radio-button-group",{label:h,name:f,id:f,defaultSelectedValue:g||((C=c.options)==null?void 0:C[0])||"",options:(X=c.options)==null?void 0:X.map(_=>({value:_,label:_})),required:c.required,part:"nbf__radio-button-group"}));case"multi_line_text":return t.h("div",{class:"input-wrapper",part:"nbf__input-wrapper"},t.h("textarea-component",{label:h,defaultValue:g,name:f,id:f,required:c.required,part:"nbf__textarea-component"}));default:return t.h("div",{class:"input-wrapper",part:"nbf__input-wrapper"},t.h("input-component",{label:h,name:f,id:f,type:c.type,defaultValue:g||"",requiredError:t.instance.t("fieldRequired",{field:h}),required:c.required,part:"nbf__input-textfield"}))}})),t.h("div",{key:"667449828f03a40a00dcba3eb5e245dc49eaf0a2",class:"cta"},t.h("button-component",{key:"0d1eac11cdb323fb2cd8190afb95586c48062759",variant:"basic",class:"back",part:"nbf__button-outline",isLoading:this.backButtonLoading&&this.isLoading,onClick:this.handleBackButtonClicked},t.h("slot",{key:"c95bf612836ca7663767ac6aa4db6941a065e1cf",name:"booking-form-back-label"},`${t.instance.t("backButton")}`)),t.h("button-component",{key:"63372308ebc5f1ed82f95af257d43cdab1306d34",variant:"primary",isLoading:!this.backButtonLoading&&this.isLoading,disabled:this.isLoading,part:"nbf__button-primary",type:"submit"},t.h("slot",{key:"01ee90ff935a0054c2f179ecf579b83529ae736e",name:"booking-form-book-label"},`${t.instance.t("bookNowButton")}`)))))}get host(){return t.getElement(this)}static get watchers(){return{bookingInfo:["bookingInfoChangedHandler"],themeConfig:["themeConfigChanged"]}}};ie([p.RegisterComponent({name:"nylas-booking-form",stateToProps:new Map([["scheduler.isLoading","isLoading"],["scheduler.bookingInfo","bookingInfo"],["scheduler.eventInfo","eventInfo"],["scheduler.configSettings","configSettings"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{backButtonClicked:async(e,n)=>{n.scheduler.toggleAdditionalData(!1)},nameChanged:async(e,n)=>{n.scheduler.setParticipantName(e.detail)},emailChanged:async(e,n)=>{n.scheduler.setParticipantEmail(e.detail)},detailsConfirmed:async(e,n)=>{t.debug("nylas-booking-form","detailsConfirmed",e.detail)},bookingFormSubmitted:async(e,n)=>{t.debug("nylas-booking-form","bookingFormSubmitted",e.detail)},bookingFormError:async(e,n)=>{t.debug("nylas-booking-form","bookingFormError",e.detail)}},fireRegisterEvent:!0}),B("design:type",Function),B("design:paramtypes",[]),B("design:returntype",void 0)],H.prototype,"render",null);H.style=ae;const oe=':host{--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;display:block;width:400px;font-family:var(--nylas-font-family)}.nylas-cancel-booking-form{display:flex;align-items:center;flex-direction:column;background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:1.5rem;position:relative;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}.nylas-cancel-booking-form form{width:100%}.nylas-cancel-booking-form__title{font-size:18px;font-weight:600;margin-bottom:0;color:var(--nylas-base-900)}.nylas-cancel-booking-form__description{font-size:1rem;font-style:normal;font-weight:400;line-height:140%;color:var(--nylas-base-600);padding-bottom:1.25rem}.nylas-cancel-booking-form__calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}calendar-cancel-icon{display:flex;align-items:center;justify-content:center;height:100%}.footer{display:grid;grid-template-columns:1fr 1fr;width:100%;padding-top:1.25rem;gap:1rem;border-top:1px solid var(--nylas-base-200);margin-top:1.25rem}',se=oe;var re=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},D=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const $=class{constructor(e){var n,a;t.registerInstance(this,e),this.goBackButtonClicked=t.createEvent(this,"goBackButtonClicked",7),this.cancelBookingFormSubmitted=t.createEvent(this,"cancelBookingFormSubmitted",7),this.triggerValidation=t.createEvent(this,"triggerValidation",7),this.cancelBookedEventError=t.createEvent(this,"cancelBookedEventError",7),this.cancelBookingFormError=t.createEvent(this,"cancelBookingFormError",7),this.handleGoBackClicked=()=>{this.goBackButtonClicked.emit()},this.handleSubmitCancelBooking=s=>{var r,l,b;if(this.triggerValidation.emit({}),s.preventDefault(),!this.cancellationReason){this.cancellationError=t.instance.t("cancellationErrorMessage"),this.cancelBookingFormError.emit({title:t.instance.t("cancelBokingFormError"),description:t.instance.t("cancellationErrorMessage")});return}const o=(l=(r=this.configSettings)==null?void 0:r.scheduler)==null?void 0:l.min_cancellation_notice;if(this.selectedTimeslot&&o&&new Date((b=this.selectedTimeslot)==null?void 0:b.start_time).getTime()-o*60*1e3<new Date().getTime()){this.cancelBookedEventError.emit({error:{title:t.instance.t("cancellationErrorTitle"),message:t.instance.t("minimumCancellationNoticeErrorMessage",{minCancellationNotice:o})}});return}t.debug(`[nylas-cancel-booking-form] Cancel booking form submitted with reason: ${this.cancellationReason}`);const i=d=>{this.cancelBookedEventError.emit(d)};this.cancelBookingId?this.cancelBookingFormSubmitted.emit({bookingId:this.cancelBookingId,action:"cancel",reason:this.cancellationReason,errorHandler:i}):this.rejectBookingId&&this.cancelBookingFormSubmitted.emit({bookingId:this.rejectBookingId,action:"reject",reason:this.cancellationReason,errorHandler:i})},this.cancelBookingId=void 0,this.rejectBookingId=void 0,this.selectedTimeslot=void 0,this.configSettings=void 0,this.eventInfo=void 0,this.isLoading=void 0,this.themeConfig=void 0,this.cancellationReason="",this.cancellationError="",this.cancellationPolicy=((a=(n=this.configSettings)==null?void 0:n.scheduler)==null?void 0:a.cancellation_policy)||"Your current timeslot will become available to others."}configSettingsChangedHandler(e){var n;this.cancellationPolicy=((n=e==null?void 0:e.scheduler)==null?void 0:n.cancellation_policy)||"Your current timeslot will become available to others."}themeConfigChanged(e){this.applyThemeConfig(e)}connectedCallback(){t.debug("[nylas-cancel-booking-form] Component connected")}async componentWillLoad(){t.debug("[nylas-cancel-booking-form] Component will load")}async componentDidLoad(){t.debug("[nylas-cancel-booking-form] Component did load"),this.cancelBookingId||console.warn('[nylas-cancel-booking-form] No booking ID provided, "cancelBookingId" prop is required.'),this.applyThemeConfig(this.themeConfig)}disconnectedCallback(){t.debug("[nylas-cancel-booking-form] Component disconnected")}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}handleNylasFormInputChanged(e){this.triggerValidation.emit({}),e.detail.name==="cancel-reason"&&(this.cancellationReason=e.detail.value,this.cancellationError=e.detail.error)}render(){var e,n;return t.h(t.Host,{key:"a28fc058c46d2d16bc902bc3660f50316c57dece",part:"ncbf"},t.h("div",{key:"84f2ba1baba4acba17364298b40dd6758f992476",class:"nylas-cancel-booking-form",part:"ncbf__card"},t.h("div",{key:"3d3a21bbfafb1f6e5729dba6d2cce61c09d55d7f",class:"nylas-cancel-booking-form__calendar-icon",part:"ncbf__icon"},t.h("calendar-cancel-icon",{key:"4da0905147c24eca01cf4d6e008b20db62fe1172"})),t.h("h3",{key:"dea90396dfe208b42228f5627421f909c94a6d3d",class:"nylas-cancel-booking-form__title",part:"ncbf__title"},t.instance.t("cancelBookingTitle")),t.h("div",{key:"4e7223a576a56dbd704b0f85b05928c4075eaa10",class:"nylas-cancel-booking-form__description",part:"ncbf__description"},(n=(e=this.configSettings)==null?void 0:e.scheduler)!=null&&n.cancellation_policy?this.cancellationPolicy:`${t.instance.t("cancelBookingMessage")}`),t.h("form",{key:"d779a47d129a3e49d6f021c4fa148c4354e0b8e2",onSubmit:this.handleSubmitCancelBooking},t.h("textarea-component",{key:"06c3d25a5fe75a4ea450703568648ca3741549c7",id:"cancel-reason",name:"cancel-reason",required:!0,label:t.instance.t("reasonForCancellation"),class:this.cancellationError?"error":"",part:"ncbf__reason-textarea",defaultValue:this.cancellationReason}),t.h("div",{key:"19447dd729cc312c9a95c8977b50f335a3941d75",class:"footer"},t.h("button-component",{key:"3c2fe7523fcd7127af466921e84722b368cb54bd",variant:"destructive",class:"cancel",type:"submit",part:"ncbf__button-cta",disabled:this.isLoading},t.instance.t("cancelBookingButton")),!!this.eventInfo&&t.h("button-component",{variant:"basic",class:"back",part:"ncbf__button-outline",onClick:this.handleGoBackClicked},t.instance.t("goBackButton"))))))}get host(){return t.getElement(this)}static get watchers(){return{configSettings:["configSettingsChangedHandler"],themeConfig:["themeConfigChanged"]}}};re([p.RegisterComponent({name:"nylas-cancel-booking-form",stateToProps:new Map([["scheduler.configSettings","configSettings"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.eventInfo","eventInfo"],["scheduler.isLoading","isLoading"],["scheduler.cancelBookingId","cancelBookingId"],["scheduler.rejectBookingId","rejectBookingId"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{cancelBookingFormSubmitted:async(e,n)=>{const{action:a,errorHandler:s}=e.detail;if(a==="cancel"){const o=await n.scheduler.cancelBooking(e.detail.bookingId,e.detail.reason);s&&(!o||"error"in o)&&s(o)}else if(a==="reject"){const o=await n.scheduler.updateBooking({bookingId:e.detail.bookingId,status:"cancelled",reason:e.detail.reason});s&&(!o||"error"in o)&&s(o)}},goBackButtonClicked:async(e,n)=>{t.debug("nylas-cancel-booking-form","goBackButtonClicked",e.detail),n.scheduler.goBack()},cancelBookedEventError:async(e,n)=>{t.debug("nylas-cancel-booking-form","cancelBookedEventError",e.detail)},cancelBookingFormError:async(e,n)=>{t.debug("nylas-cancel-booking-form","cancelBookingFormError",e.detail)}},fireRegisterEvent:!0}),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",void 0)],$.prototype,"render",null);$.style=se;const le=':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}.nylas-cancelled-event-card{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family);width:400px;background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:1.5rem;position:relative;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.nylas-cancelled-event-card{width:inherit}}.nylas-cancelled-event-card__title{font-size:18px;font-weight:600;line-height:24px;color:var(--nylas-base-900);text-align:center}.nylas-cancelled-event-description{font-size:16px;font-weight:500;color:var(--nylas-base-600)}.nylas-cancelled-event-card__calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}.nylas-cancelled-event-card__cta{width:100%;display:flex;flex-direction:row;align-items:flex-start;margin-top:1rem}calendar-cancel-icon{display:flex;align-items:center;justify-content:center;height:100%}button-component{width:100%}',ce=le;var de=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},L=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const A=class{constructor(e){t.registerInstance(this,e),this.closeCancelEventCardClicked=t.createEvent(this,"closeCancelEventCardClicked",7),this.cancelledEventCardError=t.createEvent(this,"cancelledEventCardError",7),this.handleCloseClicked=()=>{this.isClosing=!0;const n=a=>{this.cancelledEventCardError.emit(a),this.isClosing=!1};this.closeCancelEventCardClicked.emit({errorHandler:n})},this.configSettings=void 0,this.themeConfig=void 0,this.cancelledEventInfo=void 0,this.isClosing=!1}themeConfigChanged(e){this.applyThemeConfig(e)}connectedCallback(){t.debug("[nylas-cancelled-event-card] Component connected")}async componentWillLoad(){t.debug("[nylas-cancelled-event-card] Component will load")}async componentDidLoad(){t.debug("[nylas-cancelled-event-card] Component did load"),this.cancelledEventInfo||console.warn('[nylas-cancelled-event-card] No cancelled event info provided, "cancelledEventInfo" prop is required.'),this.applyThemeConfig(this.themeConfig)}disconnectedCallback(){t.debug("[nylas-cancelled-event-card] Component disconnected")}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}render(){var e,n;return t.h(t.Host,{key:"4bc5935f964686d8713ad7e7d1e40c67cdd4e12c",part:"ncec"},t.h("div",{key:"56f468bfcd9045f260edbf5ff4d0b15b36d0b71b",class:"nylas-cancelled-event-card",part:"ncec__card"},t.h("div",{key:"1ab411b7fe3a3be0acf4b1d959fd28ec008a209a",class:"nylas-cancelled-event-card__calendar-icon",part:"ncec__icon"},t.h("calendar-cancel-icon",{key:"2385650a6494031b7f323c7983fc9ea889014cba"})),t.h("h3",{key:"0b2abe6bf9853fcda33d79b9862a4bed4a002f9e",class:"nylas-cancelled-event-card__title",part:"ncec__title"},t.instance.t("bookingCancelledTitle"),"!"),t.h("div",{key:"bffb4124594dd368cbd3889b57919738e46c9dba",class:"nylas-cancelled-event-card__description",part:"ncec__description"},t.instance.t("bookingCancelledMessage")," ",((n=(e=this.configSettings)==null?void 0:e.organizer)==null?void 0:n.name)||"the participants","."),t.h("div",{key:"cec5f1eadfc6fb46ab380ec62e32a7150846ae60",class:"nylas-cancelled-event-card__cta"},t.h("button-component",{key:"98d546eb6b74011e65cf7853481741da1b546427",variant:"basic",disabled:this.isClosing,part:"ncec__button-outline",onClick:this.handleCloseClicked},this.isClosing?`${t.instance.t("closingButton")}...`:`${t.instance.t("closeButton")}`))))}get host(){return t.getElement(this)}static get watchers(){return{themeConfig:["themeConfigChanged"]}}};de([p.RegisterComponent({name:"nylas-cancelled-event-card",stateToProps:new Map([["scheduler.configSettings","configSettings"],["scheduler.themeConfig","themeConfig"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{closeCancelEventCardClicked:async(e,n)=>{const a=await n.scheduler.resetCancel(),{errorHandler:s}=e.detail;s&&(!a||"error"in a)&&s(a)},cancelledEventCardError:async(e,n)=>{t.debug("nylas-cancelled-event-card","cancelledEventCardError",e.detail)}},fireRegisterEvent:!0}),L("design:type",Function),L("design:paramtypes",[]),L("design:returntype",void 0)],A.prototype,"render",null);A.style=ce;const fe=':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}.nylas-confirmed-event-card{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family);width:400px;background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:1.5rem;position:relative;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.nylas-confirmed-event-card{width:inherit}}.nylas-confirmed-event-card__title{font-size:18px;font-weight:600;line-height:24px;color:var(--nylas-base-900);text-align:center}.nylas-confirmed-event-description{font-size:16px;font-weight:500;color:var(--nylas-base-600)}.nylas-confirmed-event-card__calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}.nylas-confirmed-event-card__cta{width:100%;display:flex;flex-direction:row;align-items:flex-start;margin-top:1rem}calendar-cancel-icon{display:flex;align-items:center;justify-content:center;height:100%}button-component{width:100%}',he=fe;var be=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},S=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const q=class{constructor(e){t.registerInstance(this,e),this.closeConfirmEventCardClicked=t.createEvent(this,"closeConfirmEventCardClicked",7),this.confirmedEventCardError=t.createEvent(this,"confirmedEventCardError",7),this.handleCloseClicked=()=>{this.isClosing=!0;const n=a=>{this.confirmedEventCardError.emit(a),this.isClosing=!1};this.closeConfirmEventCardClicked.emit({errorHandler:n})},this.configSettings=void 0,this.themeConfig=void 0,this.confirmedEventInfo=void 0,this.isClosing=!1}themeConfigChanged(e){this.applyThemeConfig(e)}connectedCallback(){t.debug("[nylas-confirmed-event-card] Component connected")}async componentWillLoad(){t.debug("[nylas-confirmed-event-card] Component will load")}async componentDidLoad(){t.debug("[nylas-confirmed-event-card] Component did load"),this.confirmedEventInfo||console.warn('[nylas-confirmed-event-card] No confirmed event info provided, "confirmedEventInfo" prop is required.'),this.applyThemeConfig(this.themeConfig)}disconnectedCallback(){t.debug("[nylas-confirmed-event-card] Component disconnected")}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}render(){var e,n;return t.h(t.Host,{key:"d00500caec1a93e744df13ad7136f40f2e90b39f",part:"ncec"},t.h("div",{key:"ff6c310c1e1571f571b5516158520075c87cfcd5",class:"nylas-confirmed-event-card",part:"ncec__card"},t.h("div",{key:"a40599aa668d1623d0a1f470fec7baf532e2439d",class:"nylas-confirmed-event-card__calendar-icon",part:"ncec__icon"},t.h("calendar-cancel-icon",{key:"7c164343c9cbf027edf2a0a7974e52a6fb340bac"})),t.h("h3",{key:"22f92206b8c8c3d24035f493eef2f5e717f0f76b",class:"nylas-confirmed-event-card__title",part:"ncec__title"},t.instance.t("confirmedEventCardTitle"),"!"),t.h("div",{key:"4cdeef5903561280e75d095cda64e3dce538b042",class:"nylas-confirmed-event-card__description",part:"ncec__description"},t.instance.t("confirmedEventCardDescription")," ",((n=(e=this.configSettings)==null?void 0:e.organizer)==null?void 0:n.name)||"the participants","."),t.h("div",{key:"eba230ecfdfcef67f882f85ba11e3de738224bb1",class:"nylas-confirmed-event-card__cta"},t.h("button-component",{key:"8c4707dbdaf60fb549a9a9f95fe4f46f11474d32",variant:"basic",disabled:this.isClosing,part:"ncec__button-outline",onClick:this.handleCloseClicked},this.isClosing?`${t.instance.t("closingButton")}...`:`${t.instance.t("closeButton")}`))))}get host(){return t.getElement(this)}static get watchers(){return{themeConfig:["themeConfigChanged"]}}};be([p.RegisterComponent({name:"nylas-confirmed-event-card",stateToProps:new Map([["scheduler.configSettings","configSettings"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{closeConfirmEventCardClicked:async(e,n)=>{const a=await n.scheduler.resetConfirm(),{errorHandler:s}=e.detail;s&&(!a||"error"in a)&&s(a)}},fireRegisterEvent:!0}),S("design:type",Function),S("design:paramtypes",[]),S("design:returntype",void 0)],q.prototype,"render",null);q.style=he;const I=new Date,z=new Date;function E(e,n,a,s){function o(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return o.floor=i=>(e(i=new Date(+i)),i),o.ceil=i=>(e(i=new Date(i-1)),n(i,1),e(i),i),o.round=i=>{const r=o(i),l=o.ceil(i);return i-r<l-i?r:l},o.offset=(i,r)=>(n(i=new Date(+i),r==null?1:Math.floor(r)),i),o.range=(i,r,l)=>{const b=[];if(i=o.ceil(i),l=l==null?1:Math.floor(l),!(i<r)||!(l>0))return b;let d;do b.push(d=new Date(+i)),n(i,l),e(i);while(d<i&&i<r);return b},o.filter=i=>E(r=>{if(r>=r)for(;e(r),!i(r);)r.setTime(r-1)},(r,l)=>{if(r>=r)if(l<0)for(;++l<=0;)for(;n(r,-1),!i(r););else for(;--l>=0;)for(;n(r,1),!i(r););}),a&&(o.count=(i,r)=>(I.setTime(+i),z.setTime(+r),e(I),e(z),Math.floor(a(I,z))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(s?r=>s(r)%i===0:r=>o.count(0,r)%i===0):o)),o}const me=1e3,Y=me*60,ge=Y*60,w=ge*24,R=E(e=>e.setHours(0,0,0,0),(e,n)=>e.setDate(e.getDate()+n),(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Y)/w,e=>e.getDate()-1);E(e=>{e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n)},(e,n)=>(n-e)/w,e=>e.getUTCDate()-1);E(e=>{e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n)},(e,n)=>(n-e)/w,e=>Math.floor(e/w));const ue=':host{display:block;min-height:444px;--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}@media screen and (max-width: 768px){:host{min-height:auto}}.nylas-date-picker{display:flex;gap:1rem;flex-direction:column}.header{margin:0 0.5rem;height:48px}.header h2{font-size:1.3125rem;font-weight:400;line-height:1rem;color:var(--nylas-base-800)}.header h2 strong{font-weight:600}.title{margin:0 -1.25rem;display:flex;flex-direction:column;padding:0 1.5rem;gap:0.5rem;border-bottom:1px solid var(--nylas-base-200);font-family:var(--nylas-font-family)}.title h1{margin-bottom:0;font-size:18px;line-height:20px;font-weight:600;display:flex;gap:0.5rem;align-items:center}.title p{margin-top:0;font-size:16px;display:flex;gap:0.5rem;align-items:center}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.dates{display:grid;justify-items:center;grid-template-columns:repeat(7, 1fr);gap:0.5rem;margin-bottom:24px}.dates .date{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;height:48px;width:48px;min-width:2rem;min-height:2rem;cursor:pointer;border-radius:var(--nylas-border-radius-2x);font-size:16px;font-weight:600;font-family:inherit;color:var(--nylas-base-text);background-color:var(--nylas-base-100);cursor:pointer;border:none}@media screen and (max-width: 412px){.dates .date{width:38px;height:38px;min-width:none}}.dates .date:hover:not(:disabled){box-shadow:0 0 0 2px var(--nylas-base-500) inset}.dates .date.date.current-month{color:var(--nylas-base-800)}.dates .date.date.selected{background-color:var(--nylas-primary);color:var(--nylas-base-0);font-weight:700}.dates .date.date.day-skeleton{color:var(--nylas-base-300)}.dates .date:disabled{color:var(--nylas-base-300);background-color:transparent;font-weight:400;cursor:not-allowed}.dates .day{font-size:12px;color:var(--nylas-base-800);font-weight:600;letter-spacing:0.5px;height:32px;display:flex;align-items:center}@media screen and (max-width: 768px){.dates .day{font-size:14px}}.dates .date.day-skeleton{height:48px;width:48px;border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite ease-in-out;background-color:var(--nylas-base-50)}@media screen and (max-width: 412px){.dates .date.day-skeleton{width:38px;height:38px;min-width:none}}.dates .date.current-day::after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background-color:var(--nylas-base-500)}.dates .date.current-day.selected::after{background-color:var(--nylas-base-100)}.pagination{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-width:92px}.pagination .chevron-right{transform:rotate(180deg)}.pagination .button{display:flex;flex-direction:row;justify-content:center;align-items:center;height:3vh;width:3vh;min-width:3em;min-height:3em;cursor:pointer;border-radius:var(--nylas-border-radius-2x);background-color:transparent;color:var(--nylas-base-800);cursor:pointer;border:none}.pagination .button:hover{background-color:var(--nylas-base-50)}.pagination .button:active{background-color:var(--nylas-base-100)}.pagination .button:disabled{background-color:transparent;color:var(--nylas-base-300);cursor:not-allowed}.flex-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:var(--nylas-base-500)}',pe=ue;var ye=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},j=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const Z=class{constructor(e){t.registerInstance(this,e),this.dateSelected=t.createEvent(this,"dateSelected",7),this.monthChanged=t.createEvent(this,"monthChanged",7),this.selectableDates=void 0,this.configSettings=void 0,this.themeConfig=void 0,this.selectedDate=void 0,this.selectedLanguage=void 0,this.isLoading=void 0,this.eventDuration=void 0,this.month=this.selectedDate||new Date,this.dates=this.getDates(),this.disableNextMonthButton=!1}configSettingsChanged(e){var o;const n=new Date(this.month.getFullYear(),this.month.getMonth()+1,1),a=(o=e==null?void 0:e.scheduler)==null?void 0:o.available_days_in_future;if(a===void 0)return;t.addDaysToCurrentDate(new Date,a).getTime()<n.getTime()?this.disableNextMonthButton=!0:this.disableNextMonthButton=!1}selectedLanguageChanged(e){t.instance.changeLanguage(e)}themeConfigChanged(e){console.log("###themeConfigChanged",e),this.applyThemeConfig(e)}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}componentDidLoad(){t.debug("[nylas-date-picker] Component did load"),this.applyThemeConfig(this.themeConfig)}applyThemeConfig(e){if(console.log("###themeConfig",e),e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}getDates(){const e=t.getLastDayOfMonth(this.month),n=t.getFirstDayOfMonth(this.month);return R.range(R.offset(n,-n.getDay()),R.offset(e,7-e.getDay()))}selectDate(e){this.dateSelected.emit(e)}changeMonth(e){var o,i;this.month=new Date(this.month.getFullYear(),this.month.getMonth()+e,1);const n=new Date(this.month.getFullYear(),this.month.getMonth()+1,1),a=(i=(o=this.configSettings)==null?void 0:o.scheduler)==null?void 0:i.available_days_in_future;t.addDaysToCurrentDate(new Date,a).getTime()<n.getTime()?this.disableNextMonthButton=!0:this.disableNextMonthButton=!1,this.dates=this.getDates(),this.monthChanged.emit(this.month)}isSelected(e,n,a){return e&&n&&t.isSameDay(e,n)&&a&&(a==null?void 0:a.length)>0}isDisabled(e,n){return e&&(n==null?void 0:n.find(a=>t.isSameDay(a,e)))===void 0}render(){var e,n,a,s,o,i,r;return t.h(t.Host,{key:"c7a9c1d24523230fb210ab3e5bc331c9c32fd2f1",part:"ndp"},t.h("div",{key:"8fc66d84a0b5edb10318babf45aa9525c629e512",class:"nylas-date-picker"},t.h("div",{key:"2190bed25d5e393f104a84a561355451c129b629",class:"title",part:"ndp__title"},(e=this.configSettings)!=null&&e.name?t.h("h1",null,(n=this.configSettings)==null?void 0:n.name):((s=(a=this.configSettings)==null?void 0:a.organizer)==null?void 0:s.name)&&t.h("h1",null,t.h("person-icon",null),((i=(o=this.configSettings)==null?void 0:o.organizer)==null?void 0:i.name)||"Organizer"),t.h("p",{key:"0fcf0c46ffcfaaf9e89f59b449c669758862b77b"},t.h("clock-icon",{key:"9522cd8fa23a1165071e18ea7b4b0e5970228889"}),this.eventDuration?t.convertMinutesToHoursAndMinutes(this.eventDuration):`- ${t.instance.t("time.minutes")}`)),t.h("div",{key:"4db0ae8a27e4749ccf58e2a5f8d174211e3cdf4c",class:"header flex-row"},t.h("h2",{key:"d59ece8ef3ba1609dc1f5d7a39e9023001bf7109",part:"ndp__month-header"},t.h("strong",{key:"0e15fb5ef8d90224b476f34a9185fae95e77a0bf"},t.translateMonth(this.month.toLocaleDateString(void 0,{month:"long"}).toLocaleLowerCase()))," ",this.month.toLocaleDateString(void 0,{year:"numeric"})),t.h("div",{key:"7a1a2765fd9a6e75b855bda03fbb7fdf55234126",class:"pagination"},t.h("button",{key:"78718f3de83258c0ba9cae8b379cf442859a3c50",title:"Previous month",onClick:()=>this.changeMonth(-1),class:{"chevron-left":!0,button:!0},disabled:!((r=this.selectableDates)!=null&&r.length)||this.month<=new Date,part:"ndp__month-button"},t.h("chevron-icon",{key:"e047eee0a3b7f0738224220aa09f01e3cc48dc48"})),t.h("button",{key:"d11ad1c7f824524d8c4f18d35a245f94f03277a3",title:"Next month",onClick:()=>this.changeMonth(1),class:{"chevron-right":!0,button:!0},disabled:this.disableNextMonthButton,part:"ndp__month-button"},t.h("chevron-icon",{key:"58599352258232fd3a28b0f7e72ed29141e3ac5d"})))),t.h("div",{key:"c768a4e60d10b71ceb7548f58d0a751be524fce7",class:"dates"},[t.instance.t("days.sunday"),t.instance.t("days.monday"),t.instance.t("days.tuesday"),t.instance.t("days.wednesday"),t.instance.t("days.thursday"),t.instance.t("days.friday"),t.instance.t("days.saturday")].map(l=>t.h("div",{class:"day",part:"ndp__day"},l)),this.dates.map((l,b)=>{var c;const d=this.isDisabled(l,this.selectableDates);return this.isLoading?t.h("button",{disabled:!0,class:{"date day-skeleton":!0,"current-month":t.isSameMonth(l,this.month)},style:{animationDelay:`${b*20}ms`},part:"ndp__date ndp__date--disabled"},l.getDate()):t.h("button",{class:{date:!0,selected:!!(this.selectedDate&&t.isSameDay(l,this.selectedDate)&&this.selectableDates&&((c=this.selectableDates)==null?void 0:c.length)>0),"current-day":t.isSameDay(l,new Date),"current-month":t.isSameMonth(l,this.month)},"aria-label":l.toLocaleDateString(void 0,{dateStyle:"full"}),disabled:d,onClick:()=>this.selectDate(l),part:`ndp__date ${this.isSelected(l,this.selectedDate,this.selectableDates)?"ndp__date--selected":""} ${t.isSameDay(l,new Date)?"ndp__date--current-day":""} ${t.isSameMonth(l,this.month)?"ndp__date--current-month":""}`},l.getDate())}))))}get host(){return t.getElement(this)}static get watchers(){return{configSettings:["configSettingsChanged"],selectedLanguage:["selectedLanguageChanged"],themeConfig:["themeConfigChanged"]}}};ye([p.RegisterComponent({name:"nylas-date-picker",stateToProps:new Map([["scheduler.selectableDates","selectableDates"],["scheduler.selectedDate","selectedDate"],["scheduler.isLoading","isLoading"],["scheduler.configSettings","configSettings"],["scheduler.eventDuration","eventDuration"],["scheduler.selectedLanguage","selectedLanguage"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{dateSelected:async(e,n)=>{t.debug("nylas-date-picker","dateSelected",e.detail),n.scheduler.selectDate(e.detail)},monthChanged:async(e,n)=>{t.debug("nylas-date-picker","monthChanged",e.detail)}},fireRegisterEvent:!0}),j("design:type",Function),j("design:paramtypes",[]),j("design:returntype",void 0)],Z.prototype,"render",null);Z.style=pe;const ve=':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}.nylas-locale-switch{display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-left:none;border-right:none;color:var(--nylas-base-50);font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease-in-out;font-family:inherit}@media screen and (max-width: 768px){.nylas-locale-switch{font-size:16px}}.select-wrapper{display:flex;align-items:center;gap:0.5rem}select{border:none;background:transparent;cursor:pointer;outline:none;background-color:transparent;margin:0 0 1px;padding:4px;vertical-align:middle}select#timezone{width:140px}select#language{width:80px}span.timezone-label{display:flex;width:-webkit-fill-available;justify-content:space-between}select-dropdown{width:auto}select-dropdown::part(sd_dropdown-button){border:none;padding:10px}select-dropdown::part(sd_dropdown-content){max-width:306px}',ke=ve;var Ce=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},P=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const V=class{constructor(e){t.registerInstance(this,e),this.timezoneChanged=t.createEvent(this,"timezoneChanged",7),this.languageChanged=t.createEvent(this,"languageChanged",7),this.themeConfig=void 0,this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.selectedLanguage=navigator.language}themeConfigChanged(e){this.applyThemeConfig(e)}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}componentDidLoad(){t.debug("[nylas-locale-switch] Component did load"),this.applyThemeConfig(this.themeConfig)}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}changeTimezone(e){this.selectedTimezone=e,this.timezoneChanged.emit(e)}changeLanguage(e){this.selectedLanguage=e,this.languageChanged.emit(e)}nylasFormDropdownChangedHandler(e){const{name:n,value:a}=e.detail;n==="timezone"?this.changeTimezone(a):n==="language"&&this.changeLanguage(a)}getTimezoneLabelHTML(e){const n=t.getTimezoneOffset(e);return t.h("span",{class:"timezone-label",style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"-webkit-fill-available"}},y.TIMEZONE_MAP[e]," ",t.h("span",{class:"timezone-offset",style:{fontSize:"14px",fontWeight:"400",color:"var(--nylas-base-500)"}},n))}render(){const e=Object.keys(y.TIMEZONE_MAP).map(a=>({labelHTML:this.getTimezoneLabelHTML(a),label:y.TIMEZONE_MAP[a],value:a})),n=Object.keys(y.LANGUAGE_MAP).map(a=>({label:y.LANGUAGE_MAP[a],value:a}));return t.h(t.Host,{key:"879a445840da85f74f8b844caede154613ec328e"},t.h("div",{key:"e7c11dc083f190e0c4b541babce3129c458e4f70",class:"nylas-locale-switch",part:"nls"},t.h("div",{key:"a764dca464a4dbadf24b1af73cc003558156f009",class:{"select-wrapper":!0,timezone:!0},part:"nls__timezone"},t.h("select-dropdown",{key:"94ebb791726435cc32e78c127a43fbb92692882d",name:"timezone",options:e,defaultSelectedOption:e.find(a=>a.value==this.selectedTimezone),exportparts:"sd_dropdown: nls__timezone-dropdown, sd_dropdown-button: nls__timezone-drop-button, sd_dropdown-button-selected-label: nls__timezone-drop-button-selected-label, sd_dropdown-content: nls__timezone-drop-content, sd_dropdown_label: nls__timezone-drop-label"},t.h("span",{key:"3d3923b8ba91ec563a930945bb7b07072e2fd43a",slot:"select-icon"},t.h("globe-icon",{key:"70650f2e15d51241af9973eba1d73fed6c669cc0",width:"20",height:"20"})))),t.h("div",{key:"9a6fb1221184046119f5025c30366012642dabac",class:{"select-wrapper":!0,language:!0},part:"nls__language"},t.h("select-dropdown",{key:"11d162780880afa654e46d32640e79461dabddad",name:"language",options:n,defaultSelectedOption:n.find(a=>a.value==this.selectedLanguage),exportparts:"sd_dropdown: nls__language-dropdown, sd_dropdown-button: nls__language-drop-button, sd_dropdown-content: nls__language-drop-content, sd_dropdown_label: nls__language-drop-label"},t.h("span",{key:"b534eee8b7687c103c5d54b620c7d4c1b2199633",slot:"select-icon"},t.h("translate-icon",{key:"774adc9377369bcff49f7e9e1acef51f12f89a8d",width:"20",height:"20"}))))))}get host(){return t.getElement(this)}static get watchers(){return{themeConfig:["themeConfigChanged"]}}};Ce([p.RegisterComponent({name:"nylas-locale-switch",stateToProps:new Map([["scheduler.selectedLanguage","selectedLanguage"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{timezoneChanged:async(e,n)=>{t.debug("nylas-locale-switch","timezoneChanged",e.detail),n.scheduler.selectTimezone(e.detail)},languageChanged:async(e,n)=>{t.debug("nylas-locale-switch","languageChanged",e.detail),n.scheduler.selectLanguage(e.detail)}},fireRegisterEvent:!0}),P("design:type",Function),P("design:paramtypes",[]),P("design:returntype",void 0)],V.prototype,"render",null);V.style=ke;const _e=".sc-nylas-logo-h{display:flex}",xe=_e,J=class{constructor(e){t.registerInstance(this,e),this.width="69",this.height="24"}render(){return t.h("svg",{key:"12dffc0c444183dfd3bb8593076a6b022de4654b",width:this.width,height:this.height,viewBox:"0 0 69 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.h("g",{key:"89545db6a2731faffdf62b9f0826211c9827af35","clip-path":"url(#clip0_455_3543)"},t.h("path",{key:"bc169c74819239b2c40b3730a445f45d1a16f445",d:"M15.8092 3.03248C14.6497 1.86996 13.1076 1.23047 11.4646 1.23047C9.82156 1.23047 8.27753 1.86996 7.11999 3.03248L0.835347 9.33381C0.686846 9.4827 0.60498 9.68123 0.60498 9.89312C0.60498 10.105 0.686846 10.3035 0.835347 10.4524C0.983848 10.6013 1.18185 10.6834 1.39318 10.6834C1.60451 10.6834 1.80251 10.6013 1.95101 10.4524L8.23374 4.15111C10.0139 2.36627 12.9134 2.36627 14.6935 4.15111C16.4736 5.93785 16.4756 8.84322 14.6935 10.6281L8.4108 16.9275C8.10428 17.2348 8.10428 17.7368 8.4108 18.0461C8.5593 18.195 8.75731 18.2771 8.96863 18.2771C9.17996 18.2771 9.37796 18.195 9.52646 18.0461L15.8092 11.7467C16.9687 10.5841 17.6064 9.03793 17.6064 7.39053C17.6064 5.74314 16.9687 4.19501 15.8092 3.03439V3.03248Z",fill:"currentColor"}),t.h("path",{key:"456cd298652217764f8486bca01860c4f1132e58",d:"M14.9296 7.39038C14.9296 6.46074 14.5698 5.58837 13.9148 4.93361C12.5631 3.57828 10.3641 3.57828 9.01239 4.93361L0.663961 13.3023C0.51546 13.4512 0.433594 13.6497 0.433594 13.8616C0.433594 14.0735 0.51546 14.272 0.663961 14.4209C0.812462 14.5698 1.01046 14.6519 1.22179 14.6519C1.43312 14.6519 1.63112 14.5698 1.77962 14.4209L10.0367 6.1515L10.05 6.13623C10.0747 6.10759 10.1014 6.07705 10.128 6.05033C10.1585 6.01978 10.1928 5.99115 10.2251 5.96252L10.2442 5.94534C10.9886 5.31349 12.1119 5.3593 12.8011 6.05033C13.4903 6.74135 13.536 7.78171 12.9705 8.53192L12.9648 8.53955C12.9058 8.61591 12.8544 8.67699 12.8011 8.73044C12.7497 8.78198 12.6906 8.83352 12.6069 8.90033L4.45264 17.0991C4.30414 17.248 4.22227 17.4465 4.22227 17.6584C4.22227 17.8703 4.30414 18.0689 4.45264 18.2177C4.60114 18.3666 4.79914 18.4487 5.01047 18.4487C5.2218 18.4487 5.4198 18.3666 5.5683 18.2177L13.9167 9.84716C14.5698 9.1924 14.9315 8.31812 14.9315 7.39038H14.9296Z",fill:"currentColor"}),t.h("path",{key:"99e86fdeed7fd4e6440e749884432df26dfe1d37",d:"M10.6821 9.11238C10.4727 9.01694 10.2861 8.88904 10.1281 8.7306C9.97008 8.57216 9.84252 8.38508 9.74733 8.1751L9.69021 8.05103L0.467916 17.2978C0.287049 17.4792 0.174721 17.7082 0.149971 17.9411C0.125221 18.1778 0.19376 18.3897 0.344165 18.5405C0.471724 18.6684 0.65259 18.739 0.850592 18.739C1.11142 18.739 1.37796 18.6207 1.58358 18.4145L10.8059 9.16774L10.6821 9.11047V9.11238Z",fill:"currentColor"}),t.h("path",{key:"68231e9e8a5f86804d3590ca240bcaf362df1fa6",d:"M68.401 10.6185C68.2126 10.2692 67.9593 9.97334 67.6433 9.73854C67.3235 9.49993 66.956 9.31094 66.5486 9.17541C66.1316 9.03606 65.7033 8.91771 65.2749 8.81844C64.7951 8.70582 64.3039 8.57983 63.8165 8.44811C63.3196 8.31258 62.9065 8.14269 62.5905 7.94225C62.4743 7.88689 62.3391 7.76663 62.3391 7.50129C62.3391 7.39821 62.3639 7.29704 62.4153 7.19587L62.4248 7.18059C62.5352 7.02216 62.7142 6.8828 62.975 6.75109C63.234 6.62128 63.609 6.55829 64.1231 6.55829C64.5286 6.55829 64.877 6.61365 65.1569 6.72436C65.4348 6.83508 65.6652 6.96871 65.8442 7.12524C66.0212 7.27986 66.1659 7.45357 66.2782 7.63873C66.3563 7.76854 66.4267 7.89262 66.4858 8.00525L68.2754 6.84081C68.1669 6.59456 68.0146 6.33495 67.8204 6.0677C67.6033 5.768 67.3254 5.4893 66.9922 5.23732C66.659 4.98534 66.2516 4.77345 65.7813 4.60929C65.3111 4.44512 64.7532 4.36304 64.1231 4.36304C63.3844 4.36304 62.7599 4.46421 62.2706 4.66083C61.7813 4.85935 61.3815 5.09988 61.0845 5.37667C60.7875 5.65346 60.5628 5.95125 60.4143 6.2605C60.2639 6.57547 60.1611 6.85799 60.1078 7.10233C60.0945 7.18059 60.0812 7.27031 60.0678 7.36767C60.0545 7.4593 60.0469 7.5452 60.0469 7.62537C60.0469 8.13314 60.1745 8.56074 60.4239 8.89671C60.679 9.24222 61.0045 9.53429 61.391 9.76336C61.7813 9.99624 62.2116 10.1852 62.6704 10.3227C63.1388 10.462 63.5862 10.5823 64.0012 10.6796C64.4067 10.777 64.7932 10.8782 65.1531 10.9774C65.5224 11.0786 65.8289 11.2122 66.0631 11.3745C66.2801 11.5425 66.3887 11.7448 66.3887 11.9777C66.3887 12.2278 66.2916 12.4263 66.0993 12.5695C65.9279 12.6954 65.7261 12.7985 65.4958 12.8711C65.273 12.9436 65.0407 12.9913 64.8066 13.0142C64.58 13.0352 64.3915 13.0467 64.2468 13.0467C63.8032 13.0467 63.4224 13.0028 63.1197 12.915C62.8151 12.8272 62.5638 12.7241 62.3734 12.6057C62.1811 12.4874 62.0288 12.3614 61.9222 12.2316C61.8213 12.1094 61.747 12.0082 61.7014 11.9319L61.4957 11.6303L59.708 12.7928C59.8508 13.0161 60.0298 13.2643 60.2392 13.5296C60.4772 13.8293 60.7837 14.1138 61.153 14.3734C61.5224 14.633 61.966 14.8525 62.4724 15.0243C62.9788 15.1961 63.5748 15.282 64.2468 15.282C64.797 15.282 65.2901 15.2324 65.7166 15.137C66.1412 15.0396 66.5162 14.9117 66.8285 14.7552C67.1388 14.6005 67.4015 14.4192 67.6109 14.2149C67.8223 14.0107 67.9974 13.8026 68.1326 13.6003C68.4563 13.1135 68.6409 12.5504 68.6828 11.9262C68.6828 11.4069 68.5876 10.9641 68.401 10.6166V10.6185Z",fill:"currentColor"}),t.h("path",{key:"80b2550211f60e218c5f52f975a060e3ac4ea84a",d:"M26.3585 4.27905C23.7901 4.27905 21.6997 6.37504 21.6997 8.95017V15.0701H23.9291V8.95017C23.9291 7.6082 25.0181 6.5163 26.3565 6.5163C27.695 6.5163 28.784 7.6082 28.784 8.95017V15.0701H31.0134V8.95017C31.0134 6.37504 28.9229 4.27905 26.3546 4.27905H26.3585Z",fill:"currentColor"}),t.h("path",{key:"b5db41daab85f0ffd7738f492ede6189237b7d5f",d:"M53.4522 4.27905C50.4251 4.27905 47.9634 6.74728 47.9634 9.78245C47.9634 12.8176 50.427 15.2859 53.4522 15.2859C54.5545 15.2859 55.6188 14.9594 56.5288 14.3409L56.7116 14.2169V15.0682H58.941V9.78245C58.941 6.74728 56.4793 4.27905 53.4522 4.27905ZM53.4522 13.0505C51.655 13.0505 50.1928 11.5845 50.1928 9.78245C50.1928 7.98044 51.655 6.51439 53.4522 6.51439C55.2494 6.51439 56.7116 7.98044 56.7116 9.78245C56.7116 11.5845 55.2494 13.0505 53.4522 13.0505Z",fill:"currentColor"}),t.h("path",{key:"9fc6c3fe5eb5f86e4e53126c98958f36a128030f",d:"M45.5795 10.6166V0.356201H43.3501V10.6166C43.3501 13.1517 45.3758 15.2228 47.8908 15.2858V13.0486C46.6057 12.9875 45.5795 11.9204 45.5795 10.6166Z",fill:"currentColor"}),t.h("path",{key:"dcbcc1f9ad3d20c137644553a90ec0afc7f6bdf9",d:"M39.5428 4.4967V10.63C39.5428 11.6761 38.8669 12.621 37.9016 12.9284C37.1249 13.1746 36.3157 13.0486 35.6817 12.5829C35.0592 12.1247 34.6879 11.3917 34.6879 10.6186V4.4967H32.4585V10.5995C32.4585 12.7165 33.8388 14.57 35.8131 15.1084C37.0354 15.4424 38.2995 15.2973 39.3695 14.7037L39.5428 14.6063V14.9747C39.5428 16.2766 38.5166 17.3437 37.2315 17.4067V19.6439C39.7465 19.5809 41.7722 17.5117 41.7722 14.9747V4.4967H39.5428Z",fill:"currentColor"})),t.h("defs",{key:"569df0349b4a24ea2d0a0bee9788b0b8911dcf39"},t.h("clipPath",{key:"7a24bd2f656eba24c53b46b1b65b6ae5ea11c378",id:"clip0_455_3543"},t.h("rect",{key:"60a57936d17acf21b9c58a177f17f3ce3fede7f1",width:"68.7123",height:"19.2877",fill:"white",transform:"translate(0.144043 0.356201)"}))))}};J.style=xe;const we=':host{display:block;margin-bottom:-12px;width:100%;z-index: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}.notif{display:flex;padding:17px;align-items:flex-start;justify-content:space-between;gap:16px;border-radius:var(--nylas-border-radius-2x);border:1.5px solid var(--nylas-error);background:var(--nylas-base-0)}@media screen and (max-width: 768px){.notif{width:auto}}.notif .content{display:flex;flex-direction:row;gap:8px}.notif .content .message{font-size:14px;font-weight:400;color:var(--nylas-base-800)}.notif .content .message .title{font-size:16px;font-weight:600;color:var(--nylas-base-950);display:block}.notif .content .message .description{font-size:14px;font-weight:400;color:var(--nylas-base-800);display:block}.notif .content .icon.error{color:var(--nylas-error)}.notif.error{border-color:var(--nylas-error);background:rgb(255, 248, 248)}.notif.warning{border-color:var(--nylas-warning)}.notif.info{border-color:var(--nylas-info)}.notif.success{border-color:var(--nylas-success)}.notif .dismiss-btn{background:none;border:none;color:var(--nylas-base-950);cursor:pointer}',Ee=we,K=class{constructor(e){t.registerInstance(this,e),this.ttl=5e3,this.allowedCategories=["component","api","validation","invalid_session"],this.notifications=[]}onError(e){t.debug(`[nylas-notification] Error: ${e.detail.notification.title}`),this.handleNotification(e)}onWarning(e){t.debug(`[nylas-notification] Warning: ${e.detail.notification.title}`),this.handleNotification(e)}onInfo(e){t.debug(`[nylas-notification] Info: ${e.detail.notification.title}`),this.handleNotification(e)}onSuccess(e){t.debug(`[nylas-notification] Success: ${e.detail.notification.title}`),this.handleNotification(e)}isChildOf(e){let n=this.host.parentNode;for(;n;){if(n===e)return!0;n instanceof ShadowRoot?n=n.host:n=n.parentNode}return!1}handleNotification(e){const n=e.detail.host;if(e.defaultPrevented){t.debug("[nylas-notification] Event default prevented");return}if(n&&!this.isChildOf(n)){t.debug("[nylas-notification] Host not a parent");return}if(this.ttl===0){t.debug("[nylas-notification] TTL is 0");return}if(this.allowedCategories.length>0&&!this.allowedCategories.includes(e.detail.notification.category)){t.debug("[nylas-notification] Category not allowed");return}if(this.notifications=[...this.notifications,{...e.detail.notification}],e.detail.notification.ttl!=="none"){const a=e.detail.notification.ttl?e.detail.notification.ttl:this.ttl;window.setTimeout(()=>{this.notifications=this.notifications.filter(s=>s.id!==e.detail.notification.id)},a)}}dismissNotification(e){this.notifications=this.notifications.filter(n=>n.id!==e)}render(){return t.h(t.Host,{key:"03f95b47c77afb69a2696473c2bf8c3f1e1ed44a"},t.h(t.Fragment,{key:"990afe9475e36dbae84a70266ef0b5188d2011de"},this.notifications.map(e=>t.h("div",{class:`notif ${e.type}`,key:e.id},t.h("div",{class:"content"},t.h("span",{class:`icon ${e.type}`},(e.type==="error"||e.type==="warning")&&t.h("warning-icon",null)),t.h("span",{class:"message"},t.h("span",{class:"title"},e.title),e.description&&t.h("span",{class:"description"},e.description))),t.h("button",{class:"dismiss-btn",onClick:()=>this.dismissNotification(e.id)},t.h("close-icon",null)))),t.h("slot",{key:"49a5c13a306626b5bba79c443bb8501fe50c7ea3"})))}get host(){return t.getElement(this)}};K.style=Ee;const Te=':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}.event-card-wrapper{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family);background-color:var(--nylas-base-0);color:var(--nylas-base-900);border-radius:var(--nylas-border-radius-3x);position:relative;margin-top:1rem;width:424px;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.event-card-wrapper{width:100%;border-radius:0px}}.calendar-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200);color:var(--nylas-base-700)}.booked-event-header{margin:1.5rem 4rem;overflow-wrap:anywhere;display:flex;align-items:center;flex-direction:column;font-size:1rem;font-weight:400}.booked-event-header h2{color:var(--nylas-base-600);margin-top:1.5rem;margin-bottom:0.25rem;font-size:1.125rem;font-weight:600}.manage-booking-description{border-top:1px solid var(--nylas-base-200)}.manage-booking-description p{font-size:16px;margin:1rem;padding:0.5rem 1rem;font-weight:400;color:var(--nylas-base-800)}.footer{padding:0.5rem;display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;box-sizing:border-box;background-color:var(--nylas-base-25);width:100%;border-radius:0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x)}.footer.no-template-cols{grid-template-columns:1fr}.footer.no-footer{display:none}sp-divider{background-color:var(--nylas-base-200);height:1px}calendar-check-icon{display:flex;align-items:center;justify-content:center;height:100%}button-component{--dot-color:var(--nylas-base-700)}',Be=Te;var De=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},F=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const G=class{constructor(e){t.registerInstance(this,e),this.rejectBookingButtonClicked=t.createEvent(this,"rejectBookingButtonClicked",7),this.confirmBookingButtonClicked=t.createEvent(this,"confirmBookingButtonClicked",7),this.confirmBookingError=t.createEvent(this,"confirmBookingError",7),this.handleConfirmBookingButtonClicked=()=>{this.action="confirm";const n=a=>{this.confirmBookingError.emit(a)};this.organizerConfirmationBookingId&&!this.isLoading&&this.confirmBookingButtonClicked.emit({bookingId:this.organizerConfirmationBookingId,host:this.host,errorHandler:n})},this.handleRejectBookingButtonClicked=()=>{this.action="reject",this.organizerConfirmationBookingId&&!this.isLoading&&this.rejectBookingButtonClicked.emit({bookingId:this.organizerConfirmationBookingId,host:this.host})},this.configSettings=void 0,this.isLoading=void 0,this.themeConfig=void 0,this.organizerConfirmationBookingId=void 0,this.selectedLanguage=navigator.language,this.action=null}themeConfigChanged(e){this.applyThemeConfig(e)}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){t.debug("[nylas-organizer-confirmation-card] Component will load")}async componentDidLoad(){t.debug("[nylas-organizer-confirmation-card] Component did load"),this.applyThemeConfig(this.themeConfig)}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}async resetAction(){this.action=null}render(){var e,n,a,s,o,i,r,l,b,d,c,h;return t.h(t.Host,{key:"00063ab52436fa94923515f0e7d9b83ad32a6de5",part:"nmcc"},t.h("div",{key:"86d985186bd45ad8ccccaf26f6d3fd5b95bd6647",class:"event-card-wrapper",part:"nmccc__card"},t.h("div",{key:"7c0337db6d10ec6c2336a932f8c9481cf870ac17",class:"calendar-icon"},t.h("calendar-check-icon",{key:"8827a672b93e82a487b79fdcee0f37abf4dd70e0"})),t.h("div",{key:"283251146d05e457365652f9b1484f5b4342a5c9",class:"booked-event-header"},t.h("h2",{key:"df264ab4ce9d9c5c8e63731d81727aeac8d63ff7",slot:"card-title",part:"nmcc__title"},!!this.organizerConfirmationBookingId&&`${t.instance.t("bookingPendingTitle")}!`)),t.h("div",{key:"543c3f981da5149ef0d79f7ab1281744806fd2ff",class:"manage-booking-description"},t.h("p",{key:"bb2cbf321fd7a4bcb8db89e918ba26f16c0767eb"},t.instance.t("bookingPendingnDescription"))),t.h("div",{key:"b400ded1e5fa2b35b9ffe615e6fe525a3fc51461",class:{footer:!0,"no-footer":((n=(e=this.configSettings)==null?void 0:e.scheduler)==null?void 0:n.hide_cancellation_options)&&((s=(a=this.configSettings)==null?void 0:a.scheduler)==null?void 0:s.hide_rescheduling_options),"no-template-cols":((i=(o=this.configSettings)==null?void 0:o.scheduler)==null?void 0:i.hide_cancellation_options)||((l=(r=this.configSettings)==null?void 0:r.scheduler)==null?void 0:l.hide_rescheduling_options)}},!((d=(b=this.configSettings)==null?void 0:b.scheduler)!=null&&d.hide_cancellation_options)&&t.h("button-component",{variant:"destructive",onClick:this.handleRejectBookingButtonClicked,isLoading:this.isLoading&&this.action==="reject",part:"nmcc__button-outline nmcc__cancel-cta"},`${t.instance.t("rejectBookingButton")}`),!((h=(c=this.configSettings)==null?void 0:c.scheduler)!=null&&h.hide_rescheduling_options)&&t.h("button-component",{variant:"basic",onClick:this.handleConfirmBookingButtonClicked,isLoading:this.isLoading&&this.action==="confirm",part:"nmcc__button-outline nmcc__reschedule-cta"},`${t.instance.t("confirmBookingButton")}`))))}get host(){return t.getElement(this)}static get watchers(){return{themeConfig:["themeConfigChanged"]}}};De([p.RegisterComponent({name:"nylas-organizer-confirmation-card",stateToProps:new Map([["scheduler.organizerConfirmationBookingId","organizerConfirmationBookingId"],["scheduler.configSettings","configSettings"],["scheduler.isLoading","isLoading"],["scheduler.selectedLanguage","selectedLanguage"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{rejectBookingButtonClicked:async(e,n)=>{n.scheduler.setReject(e.detail.bookingId)},confirmBookingButtonClicked:async(e,n)=>{const{host:a}=e.detail,s=await n.scheduler.updateBooking({bookingId:e.detail.bookingId,status:"confirmed"}),{errorHandler:o}=e.detail;o&&(!s||"error"in s)&&o(s),await a.resetAction()}},fireRegisterEvent:!0}),F("design:type",Function),F("design:paramtypes",[]),F("design:returntype",void 0)],G.prototype,"render",null);G.style=Be;const Le=':host{--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;display:block;position:relative;height:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--nylas-font-family)}.event-card{display:flex;align-items:center;flex-direction:column;width:calc(100% - 3rem);background-color:var(--nylas-base-0);color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);padding:3rem 1.5rem 1.5rem 1.5rem;position:relative;box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.event-card{margin-bottom:2rem}}.nylas-selected-event-card__date{font-size:min(max(16px, 3vw), 18px);font-weight:600}.nylas-selected-event-card__time{font-size:16px;font-weight:500}.calendar-icon{width:3rem;height:3rem;border-radius:50%;position:absolute;top:-1.25rem;left:50%;transform:translateX(-50%);background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200)}calendar-icon{display:flex;align-items:center;justify-content:center;height:100%}.event-timezone{display:flex;color:var(--nylas-base-600);margin-bottom:8px;gap:4px;align-items:center}@media screen and (max-width: 768px){.event-timezone{margin-bottom:16px}}',Se=Le;var Ie=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},M=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const W=class{constructor(e){t.registerInstance(this,e),this.themeConfig=void 0,this.selectedDate=void 0,this.selectedTimeslot=void 0,this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.selectedLanguage=void 0,this.startTime="",this.endTime=""}themeConfigChanged(e){this.applyThemeConfig(e)}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){t.debug("[nylas-selected-event-card] Component will load")}async componentDidLoad(){var n,a;t.debug("[nylas-selected-event-card] Component did load"),this.selectedDate||console.warn('[nylas-selected-event-card] "selectedDate" prop is not provided.'),this.selectedTimeslot||console.warn('[nylas-selected-event-card] "selectedTimeslot" prop is not provided.'),this.applyThemeConfig(this.themeConfig);const e=new Intl.DateTimeFormat("en-US",{hour:"2-digit",minute:"2-digit",timeZone:this.selectedTimezone});this.startTime=e.format(new Date((n=this.selectedTimeslot)==null?void 0:n.start_time)),this.endTime=e.format(new Date((a=this.selectedTimeslot)==null?void 0:a.end_time))}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}render(){var e;return t.h(t.Host,{key:"e03c7985396173ef1d2bb0ba02ea88e958811a35",part:"nsec"},t.h("div",{key:"017d6ce8fc92ef11070d94038e80095acbd90f29",class:"event-card",part:"nsec__card"},t.h("div",{key:"b475d6d8481d4e85a383822ed34139a2838a686c",class:"calendar-icon",part:"nsec__icon"},t.h("calendar-icon",{key:"83df23c0d499b2932c84175c45c05bb589294f74"})),t.h("div",{key:"e11fe3c83e6cf3fa926ec3b7e0e381625cb98b0f",class:"nylas-selected-event-card__date",part:"nsec__date"},this.selectedDate?t.capitalizeFirstLetter((e=this.selectedDate)==null?void 0:e.toLocaleDateString(y.LANGUAGE_CODE_MAP[this.selectedLanguage||navigator.language],{dateStyle:"full",timeZone:this.selectedTimezone})):"-"),t.h("div",{key:"ed9773f2567782ab354ffe28fbbc365d3d2effa5",class:"nylas-selected-event-card__time",part:"nsec__time"},this.startTime," - ",this.endTime)),t.h("div",{key:"16389c36fe0ab7c55e5f71ab22ad8576dc509cae",class:"event-timezone",part:"nsec__timezone"},t.h("globe-icon",{key:"2c6d9e03e0687a5912e1f674c08c19b6e612e90a"}),y.TIMEZONE_MAP[this.selectedTimezone]))}get host(){return t.getElement(this)}static get watchers(){return{themeConfig:["themeConfigChanged"]}}};Ie([p.RegisterComponent({name:"nylas-selected-event-card",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.selectedLanguage","selectedLanguage"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{},fireRegisterEvent:!0}),M("design:type",Function),M("design:paramtypes",[]),M("design:returntype",void 0)],W.prototype,"render",null);W.style=Se;const ze=':host{display:block;height:calc(100% - 48px);--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}.time-picker-wrapper{display:flex;flex-direction:column;height:100%}.timeslots{position:relative;display:flex;flex-direction:column;gap:0.75rem;align-items:center;overflow-y:scroll;padding:0.5rem 1.5rem 1.5rem;flex:1}.time{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4px 12px;gap:0.5rem;font-size:16px;font-weight:500;font-family:inherit;width:100%;height:48px;color:var(--nylas-base-800);background:var(--nylas-base-0);border:none;outline:1.5px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);flex:none;order:4;align-self:stretch;flex-grow:0;cursor:pointer}.time:hover,.time:focus{color:var(--nylas-primary);outline-color:var(--nylas-primary)}.time.selected{font-weight:600;color:var(--nylas-primary);outline:2px solid var(--nylas-primary);border-color:transparent;box-shadow:0 0 0 2px var(--nylas-primary)}.empty{text-align:center;padding:0 1.5rem;color:var(--nylas-base-600);font-size:min(max(12px, 2vw), 14px);height:450px;display:flex;align-items:center;justify-content:center}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.loading{padding:0 1.5rem}.loading .timeslot-skeleton{width:100%;height:4rem;background-color:var(--nylas-base-50);margin-bottom:0.5rem;border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite ease-in-out}.footer{width:100%;padding:14px;box-sizing:border-box;border-top:1px solid var(--nylas-base-200)}',Re=ze;var je=function(e,n,a,s){var o=arguments.length,i=o<3?n:s===null?s=Object.getOwnPropertyDescriptor(n,a):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,n,a,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(n,a,i):r(n,a))||i);return o>3&&i&&Object.defineProperty(n,a,i),i},O=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const U=class{constructor(e){t.registerInstance(this,e),this.timeslotSelected=t.createEvent(this,"timeslotSelected",7),this.timeslotConfirmed=t.createEvent(this,"timeslotConfirmed",7),this.handleConfirmedTimeslot=async(n,a)=>{n.preventDefault(),t.debug("[nylas-timeslot-picker] Confirm timeslot",a),this.timeslotConfirmed.emit(a)},this.handleMouseEnter=n=>{this.hoveredTimeslotIndex=n},this.handleMouseLeave=()=>{this.hoveredTimeslotIndex=-1},this.availability=void 0,this.isLoading=void 0,this.themeConfig=void 0,this.selectedTimeslot=void 0,this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.selectedDate=new Date,this.selectedLanguage=void 0,this.times=[],this.hoveredTimeslotIndex=void 0,this.selectedTimeslotIndex=void 0}selectedLanguageChanged(e){t.instance.changeLanguage(e)}selectedDateChanged(e){var n;if(t.debug("[nylas-timeslot-picker] Selected date changed",{newVal:e}),e&&(this.selectedTimeslotIndex="",typeof e<"u")){const a=(n=this.availability)==null?void 0:n.filter(s=>t.isSameDay(s.start_time,e)).map(s=>s);this.times=a||[]}}availabilityChanged(e){if(t.debug("[nylas-timeslot-picker] Available times changed",{newVal:e,selectedDate:this.selectedDate}),typeof e<"u"){const n=e==null?void 0:e.filter(a=>this.selectedDate&&t.isSameDay(a.start_time,this.selectedDate)).map(a=>a);this.times=n||[]}}themeConfigChanged(e){this.applyThemeConfig(e)}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){t.debug("[nylas-timeslot-picker] Component will load",{selectedDate:this.selectedDate,availability:this.availability,times:this.times})}async componentDidLoad(){var n;t.debug("[nylas-timeslot-picker] Component did load");const e=(n=this.availability)==null?void 0:n.filter(a=>this.selectedDate&&t.isSameDay(a.start_time,this.selectedDate)).map(a=>a);this.times=e||[],this.applyThemeConfig(this.themeConfig)}applyThemeConfig(e){if(e)for(const[n,a]of Object.entries(e))this.host.style.setProperty(`${n}`,a)}getTimeslotId(e,n){return`${e.toLocaleDateString()}-${n}`}onClickSelectTime(e,n){t.debug("[nylas-timeslot-picker] Time selected",e,n),this.selectedTimeslotIndex=this.getTimeslotId(e.start_time,n),this.timeslotSelected.emit({start_time:e.start_time,end_time:e.end_time,emails:e.emails})}getTimeSlotLabel(e){const n=new Intl.DateTimeFormat("en-US",{hour:"2-digit",minute:"2-digit",timeZone:this.selectedTimezone});return`${n.format(e.start_time)} - ${n.format(e.end_time)}`}render(){return this.isLoading?t.h(t.Host,null,t.h("div",{class:"loading"},new Array(6).fill(0).map((e,n)=>t.h("div",{class:"timeslot-skeleton",style:{animationDelay:`${n*20}ms`}})))):this.availability&&this.availability.length===0?t.h(t.Host,null,t.h("div",{class:"empty"},t.h("span",null,"No dates available"))):(!this.times||this.times.length===0)&&this.selectedDate?t.h(t.Host,null,t.h("div",{class:"empty"},t.h("span",null,"No time slots available for selected date"))):this.selectedDate?t.h(t.Host,{part:"ntp"},t.h("div",{class:"time-picker-wrapper"},t.h("div",{class:"timeslots"},this.times.map((e,n)=>{var a,s,o,i;return t.h("button",{part:`ntp__timeslot ${((s=(a=this.selectedTimeslot)==null?void 0:a.start_time)==null?void 0:s.getTime())===e.start_time.getTime()?"ntp__timeslot--selected":""}`,class:{time:!0,selected:typeof this.selectedTimeslot<"u"&&((i=(o=this.selectedTimeslot)==null?void 0:o.start_time)==null?void 0:i.getTime())===e.start_time.getTime()},onClick:()=>this.onClickSelectTime(e,n),onMouseEnter:()=>this.handleMouseEnter(n),onMouseLeave:()=>this.handleMouseLeave()},this.hoveredTimeslotIndex==n||this.selectedTimeslotIndex==this.getTimeslotId(e.start_time,n)?this.getTimeSlotLabel(e):e.start_time.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",timeZone:this.selectedTimezone}))})),this.selectedTimeslot&&t.h("div",{class:"footer"},t.h("button-component",{variant:"primary",onClick:e=>this.handleConfirmedTimeslot(e,this.selectedTimeslot),part:"ntp__button-primary"},t.h("slot",{name:"timeslot-picker-cta-label"},t.instance.t("nextButton")))))):t.h(t.Host,null)}get host(){return t.getElement(this)}static get watchers(){return{selectedLanguage:["selectedLanguageChanged"],selectedDate:["selectedDateChanged"],availability:["availabilityChanged"],themeConfig:["themeConfigChanged"]}}};je([p.RegisterComponent({name:"nylas-timeslot-picker",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.availability","availability"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.selectedLanguage","selectedLanguage"],["scheduler.isLoading","isLoading"],["scheduler.themeConfig","themeConfig"]]),eventToProps:{timeslotSelected:async(e,n)=>{t.debug("nylas-timeslot-picker","timeslotSelected",e.detail),n.scheduler.selectTime(e.detail)},timeslotConfirmed:async(e,n)=>{t.debug("nylas-timeslot-picker","timeslotConfirmed",e.detail),e.detail&&n.scheduler.toggleAdditionalData(!0)}},fireRegisterEvent:!0}),O("design:type",Function),O("design:paramtypes",[]),O("design:returntype",void 0)],U.prototype,"render",null);U.style=Re;exports.nylas_booked_event_card=N;exports.nylas_booking_form=H;exports.nylas_cancel_booking_form=$;exports.nylas_cancelled_event_card=A;exports.nylas_confirmed_event_card=q;exports.nylas_date_picker=Z;exports.nylas_locale_switch=V;exports.nylas_logo=J;exports.nylas_notification=K;exports.nylas_organizer_confirmation_card=G;exports.nylas_selected_event_card=W;exports.nylas_timeslot_picker=U;
@@ -1,2 +0,0 @@
1
- "use strict";var U=Object.defineProperty;var O=(r,t,n)=>t in r?U(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n;var w=(r,t,n)=>(O(r,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const index=require("./index-bec58f1d.cjs"),index_esC7ca1bad=require("./index.es-c7ca1bad-5652d50c.cjs"),schedulerConfigStoreEd4a8dfd=require("./scheduler-config-store-ed4a8dfd-ba68cc09.cjs");require("react");require("react-dom");class NylasSchedulerConfigAPIConnector{constructor({nylasApiRequest:t,nylasSchedulerConfigStore:n}){this.nylasApiRequest=t,this.nylasSchedulerConfigStore=n}async currentUser(){return this.nylasApiRequest?this.nylasApiRequest.currentUser():(console.warn("Nylas API Request is not initialized"),null)}async getCalendars(){var s;if(!this.nylasApiRequest)return console.warn("Nylas API Request is not initialized"),index.dataResponse(null,{message:"Error fetching calendars: Nylas API Request is not initialized"});const[t,n]=await this.nylasApiRequest.request({method:"GET",path:"calendars"});return n?index.dataResponse(null,{message:"Error fetching calendars: "+n.message}):index_esC7ca1bad.Xr(t)?index.dataResponse(null,{message:"Error fetching calendars: "+((s=t.error)==null?void 0:s.message)}):(this.nylasSchedulerConfigStore.state.calendars=t.data,index.dataResponse(t.data))}async getConfigurationById(t,n=!1){var a;if(!this.nylasApiRequest)return console.warn("Nylas API Request is not initialized"),index.dataResponse(null,{message:"Error fetching configuration: Nylas API Request is not initialized"});if(!n){const l=this.nylasSchedulerConfigStore.state.configurations.find(d=>d.id===t);if(l)return this.nylasSchedulerConfigStore.state.selectedConfiguration=l,index.dataResponse(l)}const[s,c]=await this.nylasApiRequest.request({method:"GET",path:`scheduling/configurations/${t}`});return c?index.dataResponse(null,{message:"Error fetching configuration: "+c.message}):index_esC7ca1bad.Xr(s)?index.dataResponse(null,{message:"Error fetching configuration: "+((a=s.error)==null?void 0:a.message)}):(this.nylasSchedulerConfigStore.state.selectedConfiguration=s.data,this.nylasSchedulerConfigStore.state.configurations.find(l=>l.id===t)?this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.map(l=>l.id===t?s.data:l):this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,s.data],index.dataResponse(s.data))}async getConfigurations(t){var a;if(!this.nylasApiRequest)return console.warn("Nylas API Request is not initialized"),index.dataResponse(null,{message:"Error fetching configurations: Nylas API Request is not initialized"});const n=50,[s,c]=await this.nylasApiRequest.request({method:"GET",path:`scheduling/configurations?limit=${n}${t?`&page_token=${t}`:""}`});return c?index.dataResponse(null,{message:"Error fetching configurations: "+c.message}):index_esC7ca1bad.Xr(s)?index.dataResponse(null,{message:"Error fetching configurations: "+((a=s.error)==null?void 0:a.message)}):(this.nylasSchedulerConfigStore.state.configurations=s.data,this.nylasSchedulerConfigStore.state.listConfigurationsNextCursor=s.next_cursor||null,index.dataResponse(s.data))}async createConfiguration(t){var c;if(!this.nylasApiRequest)return console.warn("Nylas API Request is not initialized"),index.dataResponse(null,{message:"Error creating configuration: Nylas API Request is not initialized"});const[n,s]=await this.nylasApiRequest.request({method:"POST",path:"scheduling/configurations",body:t});return s?index.dataResponse(null,{message:"Error creating configuration: "+s.message}):index_esC7ca1bad.Xr(n)?index.dataResponse(null,{message:"Error creating configuration: "+((c=n.error)==null?void 0:c.message)}):(this.nylasSchedulerConfigStore.state.selectedConfiguration=n.data,this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,n.data],index.dataResponse(n.data))}async updateConfiguration(t){var c;if(!this.nylasApiRequest)return console.warn("Nylas API Request is not initialized"),index.dataResponse(null,{message:"Error updating configuration: Nylas API Request is not initialized"});const[n,s]=await this.nylasApiRequest.request({method:"PUT",path:`scheduling/configurations/${t.id}`,body:t});return s?index.dataResponse(null,{message:"Error updating configuration: "+s.message}):index_esC7ca1bad.Xr(n)?index.dataResponse(null,{message:"Error updating configuration: "+((c=n.error)==null?void 0:c.message)}):(this.nylasSchedulerConfigStore.state.selectedConfiguration=n.data,this.nylasSchedulerConfigStore.state.configurations.find(a=>a.id===t.id)?this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.map(a=>a.id===t.id?n.data:a):this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,n.data],index.dataResponse(n.data))}async deleteConfiguration(t){var c,a;if(!this.nylasApiRequest)return console.warn("Nylas API Request is not initialized"),index.dataResponse(null,{message:"Error deleting configuration: Nylas API Request is not initialized"});const[n,s]=await this.nylasApiRequest.request({method:"DELETE",path:`scheduling/configurations/${t}`});return s?index.dataResponse(null,{message:"Error deleting configuration: "+s.message}):index_esC7ca1bad.Xr(n)?index.dataResponse(null,{message:"Error deleting configuration: "+((c=n.error)==null?void 0:c.message)}):(this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.filter(l=>l.id!==t),((a=this.nylasSchedulerConfigStore.state.selectedConfiguration)==null?void 0:a.id)===t&&this.nylasSchedulerConfigStore.resetSelectedConfiguration(),index.dataResponse(n.data))}}class NylasSchedulerConfigConnector{constructor({nylasApiRequest:t,nylasSchedulerConfigStore:n}){this.nylasApiRequest=t,this.nylasSchedulerConfigStore=n}init(){index.debug("NylasSchedulerConfigConnector init")}get schedulerConfigStore(){return this.nylasSchedulerConfigStore}get schedulerConfig(){return this._schedulerConfigConnector?this._schedulerConfigConnector:(this._schedulerConfigConnector=new NylasSchedulerConfigAPIConnector({nylasApiRequest:this.nylasApiRequest,nylasSchedulerConfigStore:this.nylasSchedulerConfigStore}),this._schedulerConfigConnector)}resetStores(){index.debug("NylasSchedulerConfigConnector resetStores"),this.nylasSchedulerConfigStore.reset()}async logout(){index.debug("NylasSchedulerConfigConnector logout"),this.resetStores()}}class LocalStorage{get(t){return new Promise(n=>{const s=window.localStorage.getItem(t);n(s?JSON.parse(s):null)})}async remove(t){return window.localStorage.removeItem(t),new Promise(n=>{n(null)})}set(t,n){return window.localStorage.setItem(t,JSON.stringify(n)),new Promise(s=>{s(null)})}}const PKCE_KEY="pkce",GRANT_KEY="grant",USER_KEY="user";class Storage{constructor(t){w(this,"Storage",new LocalStorage);if(t){this.Storage=t;return}}setPKCE(t){const n=index.Buffer.from(t);this.Storage.set(PKCE_KEY,n.toString("base64"))}async getPKCE(){try{const t=await this.Storage.get(PKCE_KEY);if(t)return index.Buffer.from(t,"base64").toString("utf8")}catch{return null}return null}removePKCE(){this.Storage.remove(PKCE_KEY)}setGrant(t,n=!1){const{grant_id:s}=t;this.Storage.set(`${GRANT_KEY}${n?"-"+s:""}`,t)}removeGrant(t,n=!1){this.Storage.remove(`${GRANT_KEY}${n?"-"+t:""}`)}async getGrant(t,n=!1){const s=await this.Storage.get(`${GRANT_KEY}${n?"-"+t:""}`);return s||null}async setUserToken(t){const n=await this.getUserTokens();if(n)if(n.find(c=>c.sub===t.sub)){const c=n.map(a=>(a.sub===t.sub&&(a=t),a));this.Storage.set(USER_KEY,c)}else{const c=[...n,t];this.Storage.set(USER_KEY,c)}else this.Storage.set(USER_KEY,[t])}async getUserToken(t=""){const n=await this.Storage.get(USER_KEY);return n?t===""?n[0]:n.find(c=>c.sub===t):null}async getUserTokens(){const t=await this.Storage.get(USER_KEY);return t||null}removeUserTokens(){this.Storage.remove(USER_KEY)}async removeUserToken(t){const n=await this.getUserTokens(),s=n==null?void 0:n.filter(c=>c.sub!==t);this.Storage.set(USER_KEY,s)}async clearSession(){const t=await this.getUserTokens();t==null||t.forEach(n=>{this.removeGrant(n.sub)}),this.removePKCE(),this.removeUserTokens()}}class IndexedDBStorage{constructor(){w(this,"databaseName","identity-db");w(this,"storeName","identity")}get(t){const n=this;return new Promise((s,c)=>{n.openDatabase().then(function(a){const l=a.transaction(n.storeName,"readwrite"),h=l.objectStore(n.storeName).get(t);h.onsuccess=()=>{s(h.result)},h.onerror=()=>{c(h.error)},l.oncomplete=()=>{a.close()}})})}async remove(t){const n=this;return new Promise((s,c)=>{const a=indexedDB.open(this.databaseName);a.onupgradeneeded=function(l){l.target.result.createObjectStore(n.storeName)},a.onerror=()=>{c(a.error)},a.onsuccess=l=>{const d=l.target.result,h=d.transaction(this.storeName,"readwrite"),p=h.objectStore(this.storeName).delete(t);p.onsuccess=()=>{s(null)},p.onerror=()=>{c(p.error)},h.oncomplete=()=>{d.close()}}})}set(t,n){return new Promise((s,c)=>{const a=indexedDB.open(this.databaseName);a.onerror=()=>{c(a.error)},a.onupgradeneeded=l=>{l.target.result.createObjectStore(this.storeName)},a.onsuccess=l=>{const d=l.target.result,h=d.transaction(this.storeName,"readwrite"),p=h.objectStore(this.storeName).put(n,t);p.onsuccess=()=>{s(n)},p.onerror=()=>{c(p.error)},h.oncomplete=()=>{d.close()}}})}openDatabase(){const t=this;return new Promise(function(n,s){const c=indexedDB.open(t.databaseName,2);c.onupgradeneeded=function(a){a.target.result.createObjectStore(t.storeName)},c.onsuccess=function(a){n(a.target.result)},c.onerror=function(a){s(a.error)}})}}var sha256={exports:{}};(function(module){(function(){var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof index.process=="object"&&index.process.versions&&index.process.versions.node;NODE_JS?root=index.commonjsGlobal:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&!0&&module.exports,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(r){return Object.prototype.toString.call(r)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(r){return typeof r=="object"&&r.buffer&&r.buffer.constructor===ArrayBuffer});var createOutputMethod=function(r,t){return function(n){return new Sha256(t,!0).update(n)[r]()}},createMethod=function(r){var t=createOutputMethod("hex",r);NODE_JS&&(t=nodeWrap(t,r)),t.create=function(){return new Sha256(r)},t.update=function(c){return t.create().update(c)};for(var n=0;n<OUTPUT_TYPES.length;++n){var s=OUTPUT_TYPES[n];t[s]=createOutputMethod(s,r)}return t},nodeWrap=function(method,is224){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),algorithm=is224?"sha224":"sha256",nodeMethod=function(r){if(typeof r=="string")return crypto.createHash(algorithm).update(r,"utf8").digest("hex");if(r==null)throw new Error(ERROR);return r.constructor===ArrayBuffer&&(r=new Uint8Array(r)),Array.isArray(r)||ArrayBuffer.isView(r)||r.constructor===Buffer?crypto.createHash(algorithm).update(new Buffer(r)).digest("hex"):method(r)};return nodeMethod},createHmacOutputMethod=function(r,t){return function(n,s){return new HmacSha256(n,t,!0).update(s)[r]()}},createHmacMethod=function(r){var t=createHmacOutputMethod("hex",r);t.create=function(c){return new HmacSha256(c,r)},t.update=function(c,a){return t.create(c).update(a)};for(var n=0;n<OUTPUT_TYPES.length;++n){var s=OUTPUT_TYPES[n];t[s]=createHmacOutputMethod(s,r)}return t};function Sha256(r,t){t?(blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=r}Sha256.prototype.update=function(r){if(!this.finalized){var t,n=typeof r;if(n!=="string"){if(n==="object"){if(r===null)throw new Error(ERROR);if(ARRAY_BUFFER&&r.constructor===ArrayBuffer)r=new Uint8Array(r);else if(!Array.isArray(r)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(r)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var s,c=0,a,l=r.length,d=this.blocks;c<l;){if(this.hashed&&(this.hashed=!1,d[0]=this.block,d[16]=d[1]=d[2]=d[3]=d[4]=d[5]=d[6]=d[7]=d[8]=d[9]=d[10]=d[11]=d[12]=d[13]=d[14]=d[15]=0),t)for(a=this.start;c<l&&a<64;++c)d[a>>2]|=r[c]<<SHIFT[a++&3];else for(a=this.start;c<l&&a<64;++c)s=r.charCodeAt(c),s<128?d[a>>2]|=s<<SHIFT[a++&3]:s<2048?(d[a>>2]|=(192|s>>6)<<SHIFT[a++&3],d[a>>2]|=(128|s&63)<<SHIFT[a++&3]):s<55296||s>=57344?(d[a>>2]|=(224|s>>12)<<SHIFT[a++&3],d[a>>2]|=(128|s>>6&63)<<SHIFT[a++&3],d[a>>2]|=(128|s&63)<<SHIFT[a++&3]):(s=65536+((s&1023)<<10|r.charCodeAt(++c)&1023),d[a>>2]|=(240|s>>18)<<SHIFT[a++&3],d[a>>2]|=(128|s>>12&63)<<SHIFT[a++&3],d[a>>2]|=(128|s>>6&63)<<SHIFT[a++&3],d[a>>2]|=(128|s&63)<<SHIFT[a++&3]);this.lastByteIndex=a,this.bytes+=a-this.start,a>=64?(this.block=d[16],this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var r=this.blocks,t=this.lastByteIndex;r[16]=this.block,r[t>>2]|=EXTRA[t&3],this.block=r[16],t>=56&&(this.hashed||this.hash(),r[0]=this.block,r[16]=r[1]=r[2]=r[3]=r[4]=r[5]=r[6]=r[7]=r[8]=r[9]=r[10]=r[11]=r[12]=r[13]=r[14]=r[15]=0),r[14]=this.hBytes<<3|this.bytes>>>29,r[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var r=this.h0,t=this.h1,n=this.h2,s=this.h3,c=this.h4,a=this.h5,l=this.h6,d=this.h7,h=this.blocks,u,p,f,y,g,x,m,S,b,v,_;for(u=16;u<64;++u)g=h[u-15],p=(g>>>7|g<<25)^(g>>>18|g<<14)^g>>>3,g=h[u-2],f=(g>>>17|g<<15)^(g>>>19|g<<13)^g>>>10,h[u]=h[u-16]+p+h[u-7]+f<<0;for(_=t&n,u=0;u<64;u+=4)this.first?(this.is224?(S=300032,g=h[0]-1413257819,d=g-150054599<<0,s=g+24177077<<0):(S=704751109,g=h[0]-210244248,d=g-1521486534<<0,s=g+143694565<<0),this.first=!1):(p=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),f=(c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7),S=r&t,y=S^r&n^_,m=c&a^~c&l,g=d+f+m+K[u]+h[u],x=p+y,d=s+g<<0,s=g+x<<0),p=(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10),f=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),b=s&r,y=b^s&t^S,m=d&c^~d&a,g=l+f+m+K[u+1]+h[u+1],x=p+y,l=n+g<<0,n=g+x<<0,p=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),f=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7),v=n&s,y=v^n&r^b,m=l&d^~l&c,g=a+f+m+K[u+2]+h[u+2],x=p+y,a=t+g<<0,t=g+x<<0,p=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),f=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),_=t&n,y=_^t&s^v,m=a&l^~a&d,g=c+f+m+K[u+3]+h[u+3],x=p+y,c=r+g<<0,r=g+x<<0;this.h0=this.h0+r<<0,this.h1=this.h1+t<<0,this.h2=this.h2+n<<0,this.h3=this.h3+s<<0,this.h4=this.h4+c<<0,this.h5=this.h5+a<<0,this.h6=this.h6+l<<0,this.h7=this.h7+d<<0},Sha256.prototype.hex=function(){this.finalize();var r=this.h0,t=this.h1,n=this.h2,s=this.h3,c=this.h4,a=this.h5,l=this.h6,d=this.h7,h=HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&15]+HEX_CHARS[c>>28&15]+HEX_CHARS[c>>24&15]+HEX_CHARS[c>>20&15]+HEX_CHARS[c>>16&15]+HEX_CHARS[c>>12&15]+HEX_CHARS[c>>8&15]+HEX_CHARS[c>>4&15]+HEX_CHARS[c&15]+HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15]+HEX_CHARS[l>>28&15]+HEX_CHARS[l>>24&15]+HEX_CHARS[l>>20&15]+HEX_CHARS[l>>16&15]+HEX_CHARS[l>>12&15]+HEX_CHARS[l>>8&15]+HEX_CHARS[l>>4&15]+HEX_CHARS[l&15];return this.is224||(h+=HEX_CHARS[d>>28&15]+HEX_CHARS[d>>24&15]+HEX_CHARS[d>>20&15]+HEX_CHARS[d>>16&15]+HEX_CHARS[d>>12&15]+HEX_CHARS[d>>8&15]+HEX_CHARS[d>>4&15]+HEX_CHARS[d&15]),h},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var r=this.h0,t=this.h1,n=this.h2,s=this.h3,c=this.h4,a=this.h5,l=this.h6,d=this.h7,h=[r>>24&255,r>>16&255,r>>8&255,r&255,t>>24&255,t>>16&255,t>>8&255,t&255,n>>24&255,n>>16&255,n>>8&255,n&255,s>>24&255,s>>16&255,s>>8&255,s&255,c>>24&255,c>>16&255,c>>8&255,c&255,a>>24&255,a>>16&255,a>>8&255,a&255,l>>24&255,l>>16&255,l>>8&255,l&255];return this.is224||h.push(d>>24&255,d>>16&255,d>>8&255,d&255),h},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var r=new ArrayBuffer(this.is224?28:32),t=new DataView(r);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),r};function HmacSha256(r,t,n){var s,c=typeof r;if(c==="string"){var a=[],l=r.length,d=0,h;for(s=0;s<l;++s)h=r.charCodeAt(s),h<128?a[d++]=h:h<2048?(a[d++]=192|h>>6,a[d++]=128|h&63):h<55296||h>=57344?(a[d++]=224|h>>12,a[d++]=128|h>>6&63,a[d++]=128|h&63):(h=65536+((h&1023)<<10|r.charCodeAt(++s)&1023),a[d++]=240|h>>18,a[d++]=128|h>>12&63,a[d++]=128|h>>6&63,a[d++]=128|h&63);r=a}else if(c==="object"){if(r===null)throw new Error(ERROR);if(ARRAY_BUFFER&&r.constructor===ArrayBuffer)r=new Uint8Array(r);else if(!Array.isArray(r)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(r)))throw new Error(ERROR)}else throw new Error(ERROR);r.length>64&&(r=new Sha256(t,!0).update(r).array());var u=[],p=[];for(s=0;s<64;++s){var f=r[s]||0;u[s]=92^f,p[s]=54^f}Sha256.call(this,t,n),this.update(p),this.oKeyPad=u,this.inner=!0,this.sharedMemory=n}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var r=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(r),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224)})()})(sha256);var getRandomValues,rnds8=new Uint8Array(16);function rng(){if(!getRandomValues&&(getRandomValues=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!getRandomValues))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return getRandomValues(rnds8)}const REGEX=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function validate(r){return typeof r=="string"&&REGEX.test(r)}var byteToHex=[];for(var i=0;i<256;++i)byteToHex.push((i+256).toString(16).substr(1));function stringify(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(byteToHex[r[t+0]]+byteToHex[r[t+1]]+byteToHex[r[t+2]]+byteToHex[r[t+3]]+"-"+byteToHex[r[t+4]]+byteToHex[r[t+5]]+"-"+byteToHex[r[t+6]]+byteToHex[r[t+7]]+"-"+byteToHex[r[t+8]]+byteToHex[r[t+9]]+"-"+byteToHex[r[t+10]]+byteToHex[r[t+11]]+byteToHex[r[t+12]]+byteToHex[r[t+13]]+byteToHex[r[t+14]]+byteToHex[r[t+15]]).toLowerCase();if(!validate(n))throw TypeError("Stringified UUID is invalid");return n}function v4(r,t,n){r=r||{};var s=r.random||(r.rng||rng)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,t){n=n||0;for(var c=0;c<16;++c)t[n+c]=s[c];return t}return stringify(s)}async function getBytes(r,t){const n=r.getReader();let s;for(;!(s=await n.read()).done;)t(s.value)}function getLines(r){let t,n,s,c=!1;return function(l){t===void 0?(t=l,n=0,s=-1):t=concat(t,l);const d=t.length;let h=0;for(;n<d;){c&&(t[n]===10&&(h=++n),c=!1);let u=-1;for(;n<d&&u===-1;++n)switch(t[n]){case 58:s===-1&&(s=n-h);break;case 13:c=!0;case 10:u=n;break}if(u===-1)break;r(t.subarray(h,u),s),h=n,s=-1}h===d?t=void 0:h!==0&&(t=t.subarray(h),n-=h)}}function getMessages(r,t,n){let s=newMessage();const c=new TextDecoder;return function(l,d){if(l.length===0)n==null||n(s),s=newMessage();else if(d>0){const h=c.decode(l.subarray(0,d)),u=d+(l[d+1]===32?2:1),p=c.decode(l.subarray(u));switch(h){case"data":s.data=s.data?s.data+`
2
- `+p:p;break;case"event":s.event=p;break;case"id":r(s.id=p);break;case"retry":const f=parseInt(p,10);isNaN(f)||t(s.retry=f);break}}}}function concat(r,t){const n=new Uint8Array(r.length+t.length);return n.set(r),n.set(t,r.length),n}function newMessage(){return{data:"",event:"",id:"",retry:void 0}}var __rest=function(r,t){var n={};for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&t.indexOf(s)<0&&(n[s]=r[s]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var c=0,s=Object.getOwnPropertySymbols(r);c<s.length;c++)t.indexOf(s[c])<0&&Object.prototype.propertyIsEnumerable.call(r,s[c])&&(n[s[c]]=r[s[c]]);return n};const EventStreamContentType="text/event-stream",DefaultRetryInterval=1e3,LastEventId="last-event-id";function fetchEventSource(r,t){var{signal:n,headers:s,onopen:c,onmessage:a,onclose:l,onerror:d,openWhenHidden:h,fetch:u}=t,p=__rest(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise((f,y)=>{const g=Object.assign({},s);g.accept||(g.accept=EventStreamContentType);let x;function m(){x.abort(),document.hidden||A()}h||document.addEventListener("visibilitychange",m);let S=DefaultRetryInterval,b=0;function v(){document.removeEventListener("visibilitychange",m),window.clearTimeout(b),x.abort()}n==null||n.addEventListener("abort",()=>{v(),f()});const _=u??window.fetch,k=c??defaultOnOpen;async function A(){var I;x=new AbortController;try{const T=await _(r,Object.assign(Object.assign({},p),{headers:g,signal:x.signal}));await k(T),await getBytes(T.body,getLines(getMessages(R=>{R?g[LastEventId]=R:delete g[LastEventId]},R=>{S=R},a))),l==null||l(),v(),f()}catch(T){if(!x.signal.aborted)try{const R=(I=d==null?void 0:d(T))!==null&&I!==void 0?I:S;window.clearTimeout(b),b=window.setTimeout(A,R)}catch(R){v(),y(R)}}}A()})}function defaultOnOpen(r){const t=r.headers.get("content-type");if(!(t!=null&&t.startsWith(EventStreamContentType)))throw new Error(`Expected content-type to be ${EventStreamContentType}, Actual: ${t}`)}function Base64EncodeUrl(r){return r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function getTimestamp(){return Math.floor(Date.now()/1e3)}function e(r){this.message=r}e.prototype=new Error,e.prototype.name="InvalidCharacterError";var r$1=typeof window<"u"&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,"");if(t.length%4==1)throw new e("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,s,c=0,a=0,l="";s=t.charAt(a++);~s&&(n=c%4?64*n+s:s,c++%4)?l+=String.fromCharCode(255&n>>(-2*c&6)):0)s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(s);return l};function t$1(r){var t=r.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(n){return decodeURIComponent(r$1(n).replace(/(.)/g,function(s,c){var a=c.charCodeAt(0).toString(16).toUpperCase();return a.length<2&&(a="0"+a),"%"+a}))}(t)}catch{return r$1(t)}}function n$1(r){this.message=r}function o(r,t){if(typeof r!="string")throw new n$1("Invalid token specified");var n=(t=t||{}).header===!0?0:1;try{return JSON.parse(t$1(r.split(".")[n]))}catch(s){throw new n$1("Invalid token specified: "+s.message)}}n$1.prototype=new Error,n$1.prototype.name="InvalidTokenError";class NylasSessions{constructor(t){w(this,"clientId");w(this,"redirectUri");w(this,"accessType","online");w(this,"domain","http://api.nylas.com");w(this,"versioned",!1);w(this,"Storage");w(this,"hosted",!1);w(this,"multiAccount",!1);w(this,"loginId","");if(this.clientId=t.clientId,this.redirectUri=t.redirectUri,t.domain&&(this.domain=t.domain,this.domain.substring(this.domain.length-3).includes("/v")&&(this.versioned=!0)),t.multiAccount&&(this.multiAccount=t.multiAccount),t.sw){const n=new IndexedDBStorage;this.Storage=new Storage(n)}else this.Storage=new Storage;t.accessType&&(this.accessType=t.accessType),t.loginId&&(this.loginId=t.loginId),t.hosted&&(this.hosted=t.hosted),this.codeExchange(null)}async validateAccessToken(t=""){const n=await this.Storage.getGrant(t,this.multiAccount);if(!n)return!1;const{access_token:s}=n;try{return!!(await(await fetch(`${this.domain}/connect/tokeninfo?access_token=${s}`,{method:"GET"})).json()).data}catch{return!1}}async validateIDToken(t=""){const n=await this.Storage.getGrant(t,this.multiAccount);if(!n)return!1;const{id_token:s}=n;try{const c=await fetch(`${this.domain}/connect/tokeninfo?id_token=${s}`,{method:"GET"});return!(c.status!==200||!(await c.json()).data)}catch{return!1}}getDomain(){return this.domain}async auth(t){this.hosted&&(this.domain===window.location.origin||this.versioned&&this.domain.includes(window.location.origin))&&await this.hostedSetCodeChallenge();const n=await this.generateAuthURL(t);if(t.popup){this.popUp(n);return}return n}async generateAuthURL(t){const n=await this.getCodeChallege();let s=`${this.domain}/connect/auth?client_id=${this.clientId}&redirect_uri=${this.redirectUri}&access_type=${this.accessType}&response_type=code`;return n&&(s+=`&code_challenge=${n}&code_challenge_method=S256&options=rotate_refresh_token`),t.provider&&(s+=`&provider=${t.provider}`),t.loginHint&&(s+=`&login_hint=${t.loginHint}`,t.includeGrantScopes&&(s+=`&include_grant_scopes=${t.includeGrantScopes}`)),t.scope&&(s+=`&scope=${t.scope.join(" ")}`),t.prompt&&(s+=`&prompt=${t.prompt}`),t.metadata&&(s+=`&metadata=${t.metadata}`),(t.state||this.loginId)&&(s+=`&state=${this.loginId?this.loginId:t.state}`),s}async generateReauthURL(t,n){if(!t)throw new Error("Grant ID is required");const s=await this.Storage.getUserToken(t),c=await this.getCodeChallege();let a=`${this.domain}/connect/auth?client_id=${this.clientId}&redirect_uri=${this.redirectUri}&access_type=${this.accessType}&response_type=code`;return c&&(a+=`&code_challenge=${c}&code_challenge_method=S256&options=rotate_refresh_token`),s!=null&&s.provider&&(a+=`&provider=${s.provider}`),s!=null&&s.email&&(a+=`&login_hint=${s.email}`),n&&(a+=`&scope=${n.join(" ")}`),a}async generateCodeChallenge(){if(await this.Storage.getPKCE())return;const n=v4();this.Storage.setPKCE(n)}async hostedSetCodeChallenge(){if(!this.hosted)throw console.error("Method only used with hosted flag enabled");const n=new URLSearchParams(window.location.search).get("code_challenge");if(!n){if(await this.Storage.getPKCE())return;console.warn("Code challenge is recomended");return}this.Storage.setPKCE(n)}async getCodeChallege(){if(this.hosted&&(this.domain===window.location.origin||this.versioned&&this.domain.includes(window.location.origin))){const s=new URLSearchParams(window.location.search).get("code_challenge");return s||(console.warn("Code challenge is recomended"),"")}const t=await this.Storage.getPKCE();if(t){const n=sha256.exports.sha256(t);let s=index.Buffer.from(n).toString("base64");return s=Base64EncodeUrl(s),s}return""}async isLoggedIn(){if(this.hosted&&(this.domain===window.location.origin||this.versioned&&this.domain.includes(window.location.origin)))return!1;const t=await this.Storage.getUserTokens();return t&&t.length>0?(this.multiAccount&&await this.generateCodeChallenge(),!0):(await this.generateCodeChallenge(),!1)}isMultiAccount(){return this.multiAccount}async logout(){const t=await this.getProfile();await this.Storage.clearSession();const n={detail:t};window.dispatchEvent(new CustomEvent("onLogoutSuccess",n))}async getProfile(t=""){let n;return t?n=await this.Storage.getUserToken(t):n=await this.Storage.getUserToken(),n||null}async getProfiles(){const t=await this.Storage.getUserTokens();return t||null}async removeProfile(t){return await this.Storage.removeUserToken(t),await this.Storage.removeGrant(t),null}async authIMAP(t){const n=await this.getCodeChallege(),s={imap_username:t.imap_username,imap_password:t.imap_password,imap_host:t.imap_host,imap_port:t.imap_port,type:t.type,smtp_host:t.smtp_host,smtp_port:t.smtp_port,provider:t.provider,redirect_uri:this.redirectUri,state:t.state,public_application_id:this.clientId,access_type:this.accessType};return this.loginId&&(s.id=this.loginId),t.smtp_username&&t.smtp_password&&(s.smtp_username=t.smtp_username,s.smtp_password=t.smtp_password),n!=""&&(s.code_challenge=n,s.code_challenge_method="S256"),await(await fetch(`${this.domain}/connect/login/imap`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(s)})).json()}async authEWS(t){const n=await this.getCodeChallege(),s={...t,provider:"ews",redirect_uri:this.redirectUri,public_application_id:this.clientId,access_type:this.accessType};return this.loginId&&(s.id=this.loginId),n!=""&&(s.code_challenge=n,s.code_challenge_method="S256"),await(await fetch(`${this.domain}/connect/login/ews`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(s)})).json()}async detectEmail(t){return await(await fetch(`${this.versioned?this.domain:this.domain+"/connect"}/providers/detect?client_id=${this.clientId}&email=${t}`,{method:"POST",headers:new Headers({"content-type":"application/json"})})).json()}async applicationInfo(){return(await(await fetch(`${this.versioned?this.domain:this.domain+"/connect"}/applications?client_id=${this.clientId}`,{method:"GET",headers:new Headers({"content-type":"application/json"})})).json()).data}async getAvailableProviders(){const t=await fetch(`${this.domain}/connect/providers/find?client_id=${this.clientId}`,{method:"GET",headers:new Headers({"content-type":"application/json"})});return t?(await t.json()).data:null}onLoginSuccess(t){window.addEventListener("onLoginSuccess",n=>t(n))}onLogoutSuccess(t){window.addEventListener("onLogoutSuccess",n=>t(n))}onLoginFail(t){window.addEventListener("onLoginFail",n=>t(n))}onTokenRefreshSuccess(t){window.addEventListener("onTokenRefreshSuccess",n=>t(n))}onTokenRefreshFail(t){window.addEventListener("onTokenRefreshFail",n=>t(n))}onSessionExpired(t){window.addEventListener("onSessionExpired",n=>t(n))}async codeExchange(t){let n=new URLSearchParams(window.location.search);t&&(n=new URLSearchParams(t));const s=n.get("code"),c=n.get("state"),a=n.get("error"),l=n.get("error_description"),d=n.get("error_code");if(a&&l&&d){const u={detail:{error:a,error_description:l,error_code:d}};return window.dispatchEvent(new CustomEvent("onLoginFail",u)),window.history.pushState({},document.title,window.location.pathname),!1}if(!s)return console.warn("No code found"),!1;if(window.opener&&window.name==="uas-popup")return console.warn("Popup window detected"),!1;const h=await this.Storage.getPKCE();if(!h)return console.warn("No code verifier found"),!1;try{const u={client_id:this.clientId,redirect_uri:this.redirectUri,code:s,grant_type:"authorization_code",code_verifier:h},f=await(await fetch(`${this.domain}/connect/token`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(u)})).json();if(f){if(f.error){const g={detail:f};return window.dispatchEvent(new CustomEvent("onLoginFail",g)),!0}const y=await this.handleCodeExchangeResponse(f);if(y.valid){c&&(y.data.state=c);const g={detail:y.data};window.dispatchEvent(new CustomEvent("onLoginSuccess",g)),window.history.pushState({},document.title,window.location.pathname)}else{const g={detail:y.data};return window.dispatchEvent(new CustomEvent("onLoginFail",g)),!0}}return this.Storage.removePKCE(),!0}catch(u){const p={detail:u};return window.dispatchEvent(new CustomEvent("onLoginFail",p)),window.history.pushState({},document.title,window.location.pathname),!1}}async tokenExchange(t=""){const n=await this.Storage.getGrant(t,this.multiAccount);if(!n)return!1;const s=n.refresh_token;try{const c={client_id:this.clientId,redirect_uri:this.redirectUri,refresh_token:s,grant_type:"refresh_token"},l=await(await fetch(`${this.domain}/connect/token`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(c)})).json();if(l){if(l.error){const p={detail:l};return window.dispatchEvent(new CustomEvent("onTokenRefreshFail",p)),!0}const d=getTimestamp();if(l.expires_in=d+l.expires_in,this.Storage.setGrant(l,this.multiAccount),!await this.validateIDToken(t)){const p={detail:l};return window.dispatchEvent(new CustomEvent("onTokenRefreshFail",p)),!0}const u={detail:l};return window.dispatchEvent(new CustomEvent("onTokenRefreshSuccess",u)),!0}this.Storage.removePKCE()}catch(c){const a={detail:c};return window.dispatchEvent(new CustomEvent("onTokenRefreshFail",a)),!1}}async handleCodeExchangeResponse(t){if(t.error)return{data:t,valid:!1};const s=getTimestamp();t.expires_in=s+t.expires_in,this.Storage.setGrant(t,this.multiAccount);const c=o(t.id_token);return c.status="authenticated",this.Storage.setUserToken(c),await this.validateIDToken(c.sub)?{data:t,valid:!0}:{data:t,valid:!1}}async popUp(t){const c=window.screenX+(window.outerWidth-500)/2,a=window.screenY+(window.outerHeight-600)/2.5,l="uas-popup",d=t,h=window.open(d,l,`width=500,height=600,left=${c},top=${a}`);if(!h)return;const u=setInterval(async()=>{if(h.closed){const p={detail:{error_description:"OAuth provider window closed"}};window.dispatchEvent(new CustomEvent("onLoginFail",p)),u&&clearInterval(u);return}try{const p=h.location.href.split("?");if(!p[0])return;const f=h.location.search;if(h.history.pushState({},document.title,window.location.pathname),p[0]===this.redirectUri&&p.length>1){const y=await this.codeExchange(f);h.close(),y&&location.reload(),u&&clearInterval(u);return}}catch{return}},1e3)}async getAccessToken(t=""){const n=getTimestamp(),s=await this.Storage.getGrant(t,this.multiAccount);if(!s)return null;const{access_token:c,expires_in:a}=s,l=c;return l&&a&&a>getTimestamp()&&a-n>30?l:(await this.tokenExchange(t),(await this.Storage.getGrant(t,this.multiAccount)).access_token)}async sse(t,n){const s=n.headers||{},c=s["Grant-ID"];let a="";if(this.multiAccount){if(!c)throw this.logout(),new Error("Grant ID is required for multi account calls");a=await this.getAccessToken(c)}else a=await this.getAccessToken();return delete s["Grant-ID"],s.Authorization=`Bearer ${a}`,s["content-type"]||(s["content-type"]="application/json"),fetchEventSource(`${this.domain}/${t}`,{...n,headers:s})}async fetch(t,n,s=!0,c){let a="",l=1;if(this.multiAccount){if(!n.grant_id)throw this.logout(),new Error("Grant ID is required for multi account calls");const h=await this.getProfiles();l=h?h.length:1,a=await this.getAccessToken(n.grant_id)}else a=await this.getAccessToken();if(!a)throw new Error("Access token not found");let d=n.headers;Headers.prototype.isPrototypeOf(d)?(d.append("Authorization",`Bearer ${a}`),d.has("content-type")||d.append("content-type","application/json")):d=new Headers({Authorization:`Bearer ${a}`,"content-type":"application/json"});try{n!=null&&n.body&&(n.body=JSON.stringify(n==null?void 0:n.body));const h=await fetch(`${c||this.domain}/${t}`,{...n,headers:d});if(!s)return h;const u=await(h==null?void 0:h.json());if(!await this.isAuthenticatedResponse(h.status,u)){if(l>1){const f=await this.getProfile(n.grant_id);if(f){f.status="unauthorized",await this.Storage.setUserToken(f);const y={detail:{user:f}};window.dispatchEvent(new CustomEvent("onSessionExpired",y))}}else{const y={detail:{user:await this.Storage.getUserToken()}};window.dispatchEvent(new CustomEvent("onSessionExpired",y))}this.logout();return}return u}catch(h){throw h}}async fetchRequest(t,n,s,c=!0,a,l){const d=await this.isLoggedIn(),h=new URL(t,a??this.domain),u=new Headers;if(u.append("Accept","application/json"),u.append("Content-Type","application/json"),u.append("User-Agent","nylas-identity"),d){const y=await this.getAccessToken();u.append("Authorization",`Bearer ${y}`)}const p=await fetch(h.toString(),{method:n||"GET",headers:u,mode:"cors",referrer:location.origin,body:s?JSON.stringify(s):void 0,...l||{}});return c?await p.json():p.body}async isAuthenticatedResponse(t,n){var s;return!(t==401&&((s=n==null?void 0:n.error)==null?void 0:s.type)=="token.unauthorized_access")}addAPIKey(t,n,s){this.Storage.setUserToken({aud:"https://api-staging.us.nylas.com/",exp:2e9,email_verified:!0,iat:getTimestamp(),iss:"",email:n,provider:"virtual-calendar",status:"authenticated",name:n,sub:t}),this.Storage.setGrant({grant_id:t,access_token:s,expires_in:2e9},this.multiAccount)}}var B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(r,t,n){this.props=r,this.context=t,this.refs=D,this.updater=n||B}E.prototype.isReactComponent={};E.prototype.setState=function(r,t){if(typeof r!="object"&&typeof r!="function"&&r!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,r,t,"setState")};E.prototype.forceUpdate=function(r){this.updater.enqueueForceUpdate(this,r,"forceUpdate")};function F(){}F.prototype=E.prototype;function G(r,t,n){this.props=r,this.context=t,this.refs=D,this.updater=n||B}var H=G.prototype=new F;H.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;const LoginRequired=({authenticationUrl:r})=>index.h("div",{class:"login-required",part:"login-component"},index.h("div",{class:"card"},index.h("p",null,"Log into your account to use the Scheduler Editor."),index.h("button",{class:"google-button",onClick:async t=>{t.preventDefault();const n=await r("google");n?window.location.href=n:console.error("[nylas-scheduler-editor] Unable to get authentication URL.")}},index.h("span",{class:"icon"},index.h("google-logo-icon",{width:"15",height:"15"})),"Continue with Google"),index.h("button",{class:"microsoft-button",onClick:async t=>{t.preventDefault();const n=await r("microsoft");n?window.location.href=n:console.error("[nylas-scheduler-editor] Unable to get authentication URL.")}},index.h("span",{class:"icon"},index.h("microsoft-logo-icon",{width:"15",height:"15"})),"Continue with Microsoft"),index.h("button",{class:"other-provider-button",onClick:async t=>{t.preventDefault();const n=await r();n?window.location.href=n:console.error("[nylas-scheduler-editor] Unable to get authentication URL.")}},"View all providers ",index.h("chevron-icon",{width:"17",height:"17"})),index.h("small",{class:"disclaimer-text"},"* You will be redirected to authenticate your account.")));function ExpressFlow({currentUser:r,calendars:t}){const n=(t==null?void 0:t.find(s=>s.is_primary))||(t==null?void 0:t[0]);return index.h(index.Fragment,null,index.h("nylas-event-info",null,index.h("div",{slot:"inputs"},index.h("nylas-event-title",null),index.h("nylas-event-duration",null),index.h("nylas-event-location",{userProvider:r.provider}))),index.h("nylas-booking-calendar-picker",{expressFlow:!0,calendars:t,currentUser:r,defaultBookingCalendar:n==null?void 0:n.id}),index.h("nylas-scheduling-method",{exportparts:"nsm, nsm__header, nsm__input-label, nsm__dropdown, nsm__dropdown-button, nsm__dropdown-content"}),index.h("nylas-custom-event-slug",{name:"custom-event-slug",exportparts:"nces, nces__body, nces__header, nces__drawer-toggle--container, nces__input-textfield"}))}const nylasSchedulerEditorCss=':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 0px 6px -2px rgba(0, 0, 0, 0.05), 0px 5px 15px -3px 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}@media screen and (max-width: 768px){:host{width:-moz-available;width:-webkit-fill-available;width:fill-available;min-width:325px}}div.scheduler-editor-content{height:610px}@media screen and (max-width: 768px){div.scheduler-editor-content{height:auto}}div.scheduler-editor-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--nylas-base-200);color:var(--nylas-base-900)}div.scheduler-editor-header h1.scheduler-editor-title{display:flex;align-items:center;gap:0.5rem;width:858px;margin:0;font-size:18px;line-height:24px;font-weight:600}@media screen and (max-width: 768px){div.scheduler-editor-header h1.scheduler-editor-title{width:auto;min-width:calc(325px - 1rem)}}div.scheduler-editor-header button{background:transparent;border:none;cursor:pointer}div.scheduler-editor-header button:hover,div.scheduler-editor-header button:active{color:var(--nylas-primary)}div.scheduler-editor-header button:disabled{cursor:not-allowed}nylas-editor-tabs{width:auto;height:inherit}nylas-editor-tabs .composable{height:inherit;overflow:auto}nylas-editor-tabs nylas-event-info div[slot=inputs],nylas-editor-tabs nylas-event-limits div[slot=inputs]{display:flex;flex-direction:column;gap:1rem}.card{display:flex;flex-direction:column;padding:2rem;background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200);border-radius:5px;max-width:fit-content;align-self:center}.login-required{height:inherit;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;background-color:var(--nylas-base-25);border-radius:var(--nylas-border-radius-2x)}@media screen and (max-width: 768px){.login-required{height:auto}}.login-required p{margin:0 0 1rem}.login-required .microsoft-button,.login-required .google-button{height:48px;border:1px solid var(--nylas-base-300);border-radius:var(--nylas-border-radius-2x);font-size:1rem;line-height:24px;padding:0 1rem;background-color:var(--nylas-base-0);font-weight:600;cursor:pointer;display:flex;margin-bottom:1rem;background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200);border-radius:5px;justify-content:center;gap:0.5rem;align-items:center}.login-required .microsoft-button:hover,.login-required .google-button:hover{background-color:var(--nylas-base-25)}.login-required .microsoft-button:hover,.login-required .google-button:hover{background-color:var(--nylas-base-25)}.login-required .other-provider-button{height:48px;border:1px solid var(--nylas-base-300);border-radius:var(--nylas-border-radius-2x);font-size:1rem;line-height:24px;padding:0 1rem;background-color:var(--nylas-base-0);font-weight:600;cursor:pointer;display:flex;border:0;background-color:var(--nylas-base-0);height:48px;margin-bottom:1rem;font-size:0.95rem;justify-content:center;gap:0.25rem;align-items:center}.login-required .other-provider-button:hover{background-color:var(--nylas-base-25)}.login-required .other-provider-button svg{transform:rotate(180deg)}.login-required .other-provider-button:hover{background-color:var(--nylas-base-25)}.login-required .disclaimer-text{font-size:0.75rem;color:var(--nylas-base-600);align-self:center}.list-configurations{padding:2rem;height:inherit;background:var(--nylas-base-25);border-radius:var(--nylas-border-radius-2x)}@media screen and (max-width: 768px){.list-configurations{height:auto;padding:2rem 1rem}}.list-configurations nylas-list-configurations{height:inherit;display:flex;flex-direction:column}',NylasSchedulerEditorStyle0=nylasSchedulerEditorCss,NylasSchedulerEditor=class{constructor(r){index.registerInstance(this,r),this.init=index.createEvent(this,"init",7),this.loggedIn=index.createEvent(this,"loggedIn",7),this.loggedOut=index.createEvent(this,"loggedOut",7),this.schedulerConfigCloseClicked=index.createEvent(this,"schedulerConfigCloseClicked",7),this.handleSchedulerConfigCloseClicked=t=>{const n=this.schedulerConfigCloseClicked.emit(this.host);"schedulerConfigCloseClicked"in this.eventOverrides&&this.eventOverrides.schedulerConfigCloseClicked(n,this.nylasSchedulerConfigConnector),n.defaultPrevented||(localStorage.removeItem("grant"),localStorage.removeItem("user"),window.location.reload())},this.authenticationUrl=async t=>this.nylasApiRequest?await this.nylasApiRequest.authenticationUrl({provider:t})||"":(console.error("[nylas-scheduler-editor] Nylas API Request is not initialized."),""),this.configurationId=void 0,this.nylasApiRequest=void 0,this.nylasSessionsConfig=void 0,this.defaultAuthArgs=void 0,this.eventOverrides={},this.schedulerPreviewLink="",this.defaultSchedulerConfigState=void 0,this.mode="app",this.additionalParticipants=void 0,this.hideEditorTabs=[],this.conferenceProviders=void 0,this.requiresSlug=!1,this.enableUserFeedback=!0,this.automaticComponentRegistration=!0}connectedCallback(){index.debug("[nylas-scheduler-editor] connectedCallback")}async componentWillLoad(){var s,c,a,l,d,h,u,p;index.debug("[nylas-scheduler-editor] componentWillLoad");const r=(s=this.additionalParticipants)==null?void 0:s.filter(f=>{var g;const y=((g=f.calendars)==null?void 0:g.length)>0?f.calendars.filter(x=>x.id&&x.name):[];if(f.name&&f.email&&y.length>0)return{name:f.name,email:f.email,calendars:y}});if(this.stores={schedulerConfig:schedulerConfigStoreEd4a8dfd.CreateNylasSchedulerConfigStore({...this.defaultSchedulerConfigState,additionalParticipants:r,conferenceProviders:this.conferenceProviders,requiresSlug:this.requiresSlug})},!this.nylasApiRequest&&this.nylasSessionsConfig){const f=new NylasSessions(this.nylasSessionsConfig);await f.isLoggedIn(),f.onLoginSuccess(async()=>{var g,x;const y=await((x=(g=this.nylasSchedulerConfigConnector)==null?void 0:g.schedulerConfig)==null?void 0:x.currentUser());if(y){const m=this.loggedIn.emit(this.host);"loggedIn"in this.eventOverrides&&await this.eventOverrides.loggedIn(m,this.nylasSchedulerConfigConnector),m.defaultPrevented||await this.loggedInHandler(y)}}),f.onLoginFail(async()=>{var g,x;(x=(g=this.stores)==null?void 0:g.schedulerConfig)==null||x.set("currentUser",null);const y=this.loggedOut.emit(this.host);"loggedOut"in this.eventOverrides&&(await this.eventOverrides.loggedOut(y,this.nylasSchedulerConfigConnector),y.defaultPrevented)}),this.nylasApiRequest=new index.NylasIdentityRequestWrapper(f)}this.nylasApiRequest&&this.defaultAuthArgs&&this.nylasApiRequest.setDefaultAuthArgs(this.defaultAuthArgs),this.baseProvider=new index_esC7ca1bad.NylasBaseProvider(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides);const t=this.baseProvider.getStore("schedulerConfig");this.nylasSchedulerConfigConnector=new NylasSchedulerConfigConnector({nylasApiRequest:this.nylasApiRequest,nylasSchedulerConfigStore:t});const n=this.init.emit(this.host);if("init"in this.eventOverrides&&await this.eventOverrides.init(n,this.nylasSchedulerConfigConnector),!n.defaultPrevented){const f=await((a=(c=this.nylasSchedulerConfigConnector)==null?void 0:c.schedulerConfig)==null?void 0:a.currentUser());if(f){const y=this.loggedIn.emit(this.host);"loggedIn"in this.eventOverrides&&await this.eventOverrides.loggedIn(y,this.nylasSchedulerConfigConnector),y.defaultPrevented||await this.loggedInHandler(f)}else{(d=(l=this.stores)==null?void 0:l.schedulerConfig)==null||d.set("currentUser",null);const y=this.loggedOut.emit(this.host);if("loggedOut"in this.eventOverrides&&(await this.eventOverrides.loggedOut(y,this.nylasSchedulerConfigConnector),y.defaultPrevented))return}}(u=(h=this.stores)==null?void 0:h.schedulerConfig)==null||u.onChange("selectedConfiguration",async f=>{f&&f.id&&(this.configurationId=f.id)}),(p=this.baseProvider)==null||p.componentWillLoad(this.nylasSchedulerConfigConnector)}async componentDidLoad(){var r;index.debug("[nylas-scheduler-editor] componentDidLoad"),await((r=this.baseProvider)==null?void 0:r.componentDidLoad())}async componentDisconnected(){var r;await((r=this.baseProvider)==null?void 0:r.componentDisconnected())}async configurationIdChanged(r){var t,n,s,c,a,l,d,h;r?(await((n=(t=this.nylasSchedulerConfigConnector)==null?void 0:t.schedulerConfig)==null?void 0:n.getConfigurationById(r)),(c=(s=this.stores)==null?void 0:s.schedulerConfig)==null||c.set("action","edit")):((l=(a=this.stores)==null?void 0:a.schedulerConfig)==null||l.set("selectedConfiguration",{}),(h=(d=this.stores)==null?void 0:d.schedulerConfig)==null||h.set("action",null))}async store(){var r;return(r=this.stores)==null?void 0:r.schedulerConfig}async schedulerConnector(){return this.nylasSchedulerConfigConnector}async registerComponentHandler(r){var t;(t=this.baseProvider)==null||t.registerComponent(r.detail)}async unregisterComponentHandler(r){var t;(t=this.baseProvider)==null||t.unregisterComponent(r.detail)}async loggedInHandler(r){var t,n,s,c,a,l,d;if((n=(t=this.stores)==null?void 0:t.schedulerConfig)==null||n.set("currentUser",r),!!this.nylasSchedulerConfigConnector&&(await((s=this.nylasSchedulerConfigConnector.schedulerConfig)==null?void 0:s.getCalendars()),this.configurationId)){const h=await((c=this.nylasSchedulerConfigConnector.schedulerConfig)==null?void 0:c.getConfigurationById(this.configurationId));h&&((a=h[0])!=null&&a.id)&&((d=(l=this.stores)==null?void 0:l.schedulerConfig)==null||d.set("action","edit"))}}render(){var n,s,c,a,l,d,h,u,p,f,y,g,x,m,S,b,v,_,k;const r=this.host.querySelector('[slot="custom-page-style-inputs"]'),t=(c=(s=(n=this.stores)==null?void 0:n.schedulerConfig)==null?void 0:s.state.selectedConfiguration)==null?void 0:c.id;return index.h(index.Host,{key:"a7f51d86c23441c0e49f7620daf27da9adeaef85"},index.h("div",{key:"c149323b4c08e04f661b676ce133fa3607edafc0",class:"scheduler-editor-header",part:"nse__header"},index.h("h1",{key:"d0c6bc2a7640276d363bd14b824bc748cdd5726b",class:"scheduler-editor-title",part:"nse__title"},index.h("calendar-icon",{key:"dfef07201f9abefb443834ebb642d78d4f706deb",width:"18",height:"18"}),"Scheduler Editor"),index.h("button",{key:"b79b89b11804e834a296b71d0efe12fc4296c4e4",class:"scheduler-editor-close",title:"logout",onClick:A=>this.handleSchedulerConfigCloseClicked(A),part:"nse__close-button"},index.h("close-icon",{key:"604e21e0ff49a1a788a0ea59675369bd7d2e837c",width:"18",height:"18"}))),index.h("div",{key:"578141526f756cc507e2027a139e60bf95523c9b",class:"scheduler-editor-content",part:"nse__content"},((l=(a=this.stores)==null?void 0:a.schedulerConfig)==null?void 0:l.state.currentUser)&&this.stores.schedulerConfig.state.action===null&&index.h("div",{class:"list-configurations",part:"nse__list-configurations"},index.h("nylas-list-configurations",{exportparts:"nlc__create-new-cta"})),((h=(d=this.stores)==null?void 0:d.schedulerConfig)==null?void 0:h.state.currentUser)&&this.stores.schedulerConfig.state.action==="create"&&index.h("nylas-editor-tabs",{mode:"composable"},index.h(ExpressFlow,{currentUser:(p=(u=this.stores)==null?void 0:u.schedulerConfig)==null?void 0:p.state.currentUser,calendars:(g=(y=(f=this.stores)==null?void 0:f.schedulerConfig)==null?void 0:y.state)==null?void 0:g.calendars,selectedConfiguration:(S=(m=(x=this.stores)==null?void 0:x.schedulerConfig)==null?void 0:m.state)==null?void 0:S.selectedConfiguration})),((v=(b=this.stores)==null?void 0:b.schedulerConfig)==null?void 0:v.state.currentUser)&&this.stores.schedulerConfig.state.action==="edit"&&index.h("nylas-editor-tabs",{key:t,mode:this.mode},this.mode==="composable"&&index.h("slot",null),this.mode==="app"&&r&&index.h("div",{style:{display:"none"},slot:"custom-page-style-inputs",key:t},index.h("slot",{name:"custom-page-style-inputs"}))),!((k=(_=this.stores)==null?void 0:_.schedulerConfig)!=null&&k.state.currentUser)&&index.h("slot",{name:"login-required"},index.h(LoginRequired,{authenticationUrl:this.authenticationUrl}))))}get host(){return index.getElement(this)}static get watchers(){return{configurationId:["configurationIdChanged"]}}};NylasSchedulerEditor.style=NylasSchedulerEditorStyle0;exports.nylas_scheduler_editor=NylasSchedulerEditor;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-bec58f1d.cjs"),D=require("./index.es-c7ca1bad-5652d50c.cjs"),B=require("./scheduler-store-ecd15be2-8f7d171f.cjs"),N=require("./constants-35df11e7-d87ad6d9.cjs"),E=require("./feedbackSync-b56b29ed-cdcec5be.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(e.Fragment,null,"Powered by ",e.h("nylas-logo",null))))},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 svg{fill:var(--nylas-base-500)}.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.2.0",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,w;(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:k,endTimeForAvailableDaysInFuture:y}=this.validateAvailableDaysInFuture(r,a||30);r.getTime()<y*1e3&&(s=await((w=this.nylasSchedulerConnector)==null?void 0:w.scheduler.getAvailability(u,k)))}else{const u=new Date,{startTime:k,endTime:y,endTimeForAvailableDaysInFuture:T}=this.validateAvailableDaysInFuture(u,a||30);u.getTime()<T*1e3&&(s=await((p=this.nylasSchedulerConnector)==null?void 0:p.scheduler.getAvailability(k,y)))}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 k=i==null?void 0:i.get("availability").find(y=>new Date(y.start_time)>new Date);k&&(u=k.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),this.language=this.language)})}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(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.2.0"},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,w,u,k,y,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=(w=t==null?void 0:t.get("configSettings"))==null?void 0:w.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=(k=this.bookingInfoConfirmed)==null?void 0:k.primaryParticipant,C=((y=this.bookingInfoConfirmed)==null?void 0:y.additionalFields)||{};if(this.bookingInfo&&typeof((T=this.bookingInfo)==null?void 0:T.additionalFields)<"u"){const x=this.bookingInfo.additionalFields;Object.keys(x).forEach(L=>{!C[L]&&(x!=null&&x[L])&&(C[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,v=new URLSearchParams(q);v.set("booking_id",i.booking_id),l!=null&&l.name&&v.set("name",l.name),l!=null&&l.email&&v.set("email",l.email),_!=null&&_.start_time&&v.set("start_time",(new Date(_.start_time).getTime()/1e3).toString()),_!=null&&_.end_time&&v.set("end_time",(new Date(_.end_time).getTime()/1e3).toString()),P&&v.set("tz",P),U&&v.set("language",U),C&&v.set("additional_values",JSON.stringify(C)),this.slug&&v.set("page_slug",this.slug),A&&v.set("config_id",A),this.redirectToCustomUrl(`${f}?${v.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__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:C=>this.onFeedbackClick(C)},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 +0,0 @@
1
- "use strict";const l=require("./index-bec58f1d.cjs");exports.ErrorCategory=void 0;(function(a){a.Component="component",a.Api="api",a.Auth="auth"})(exports.ErrorCategory||(exports.ErrorCategory={}));var D;(function(a){a.endtime_not_in_future="endtime_not_in_future",a.no_booking_info="no_booking_info",a.no_timeslot_selected="no_timeslot_selected",a.no_timezone_selected="no_timezone_selected",a.no_booking_id="no_booking_id",a.no_salt="no_salt",a.invalid_start_time="invalid_start_time",a.invalid_end_time="invalid_end_time",a.invalid_timezone="invalid_timezone"})(D||(D={}));var A;(function(a){a.invalid_session="invalid_session",a.general_error="general_error",a.internal_error="internal_error",a.invalid_request_error="invalid_request_error",a.timeslot_not_available="timeslot_not_available",a.provider_error="provider_error",a.not_found_error="not_found_error"})(A||(A={}));class M{constructor(){this.component=e=>{const t=exports.ErrorCategory.Component,s=`${e} Error`;return{endtime_not_in_future:(i='"endtime" can not be in the future')=>({title:s,message:i,category:t}),no_booking_info:(i="No booking info provided")=>({title:s,message:i,category:t}),no_timeslot_selected:(i="No timeslot selected")=>({title:s,message:i,category:t}),no_timezone_selected:(i="No timezone selected")=>({title:s,message:i,category:t}),no_booking_id:(i="No booking id provided")=>({title:s,message:i,category:t}),no_salt:(i="No salt provided")=>({title:s,message:i,category:t}),invalid_start_time:(i="Invalid start time")=>({title:s,message:i,category:t}),invalid_end_time:(i="Invalid end time")=>({title:s,message:i,category:t}),invalid_timezone:(i="Invalid timezone")=>({title:s,message:i,category:t})}},this.api=e=>{const t=exports.ErrorCategory.Api,s=`${e} Error`;return{invalid_session:i=>({title:s,message:i,category:t}),general_error:i=>({title:s,message:i,category:t}),internal_error:i=>({title:s,message:i,category:t}),invalid_request_error:i=>({title:s,message:i,category:t}),timeslot_not_available:i=>({title:s,message:i,category:t}),provider_error:i=>({title:s,message:i,category:t}),not_found_error:i=>({title:s,message:i,category:t})}}}}class z{constructor({schedulerAPIURL:e,schedulerStore:t,sessionId:s,configId:i,slug:n,clientId:r}){this.errors=new M,this.schedulerStore=t,this.schedulerAPIURL=e,this.sessionId=s,this.configId=i,this.slug=n,this.clientId=r}getHeaders(){return this.sessionId?{Authorization:`Bearer ${this.sessionId}`}:{}}async makeAPIRequest(e,t,s,i={}){try{const n=new URL(this.schedulerAPIURL),r="1.2.0";return n.pathname=e,await(await fetch(decodeURIComponent(n.toString()),{method:t,headers:{"Content-Type":"application/json",Origin:window.location.origin,"X-Source":"nylas-scheduling","X-Nylas-Web-Elements-Version":r,...i},body:s})).json()}catch(n){return{error:{message:n.message,title:"API request failed",type:"api"}}}}getErrorMessage(e){var s,i,n,r;let t=(e==null?void 0:e.message)||(e==null?void 0:e.title)||"Something went wrong";return(e==null?void 0:e.type)==="provider_error"&&(t=((i=(s=e==null?void 0:e.provider_error)==null?void 0:s.error)==null?void 0:i.message)||((r=(n=e==null?void 0:e.provider_error)==null?void 0:n.error)==null?void 0:r.title)||"Something went wrong"),t}setConfigId(e){this.configId=e}selectDate(e){this.schedulerStore.set("selectedDate",e),this.schedulerStore.set("selectedTimeslot",null)}selectTime(e){this.schedulerStore.set("selectedTimeslot",e)}selectTimezone(e){this.schedulerStore.set("selectedTimezone",e)}selectLanguage(e){this.schedulerStore.set("selectedLanguage",e),l.instance.changeLanguage(e)}async toggleAdditionalData(e){e||await this.refetchAvailability(),this.schedulerStore.set("showBookingForm",e)}setParticipantName(e){const{bookingInfo:t}=this.schedulerStore.state;this.schedulerStore.set("bookingInfo",{...t,primaryParticipant:{...t==null?void 0:t.primaryParticipant,name:e}})}setParticipantEmail(e){const{bookingInfo:t}=this.schedulerStore.state;this.schedulerStore.set("bookingInfo",{...t,primaryParticipant:{...t==null?void 0:t.primaryParticipant,email:e}})}async refetchAvailability(){const e=new Date,t=new Date(e.getFullYear(),e.getMonth(),1).getTime()/1e3,s=t<e.getTime()/1e3?Math.floor(e.getTime()/1e3):t,i=new Date(e.getFullYear(),e.getMonth()+1,1).getTime()/1e3;return await this.getAvailability(s,i)}async resetStoreStateAndFetchAvailability(){const e=new Date,t=await this.refetchAvailability(),s=this.schedulerStore.get("availability").find(n=>new Date(n.start_time)>new Date);let i=e;return s&&(i=s.start_time),this.schedulerStore.set("selectedDate",i),this.schedulerStore.set("eventInfo",null),this.schedulerStore.set("showBookingForm",!1),this.schedulerStore.set("selectedTimeslot",null),t}async setReschedule(e){this.schedulerStore.set("isLoading",!0);const t=this.schedulerStore.state.eventInfo;return t&&this.schedulerStore.set("reschedulingEventInfo",t),this.schedulerStore.set("rescheduleBookingId",e),await this.resetStoreStateAndFetchAvailability().finally(()=>{this.schedulerStore.set("isLoading",!1)})}async setCancel(e){this.schedulerStore.set("cancelBookingId",e)}async setReject(e){this.schedulerStore.set("rejectBookingId",e)}async resetCancel(){const e=await this.resetStoreStateAndFetchAvailability();return this.schedulerStore.set("cancelBookingId",""),this.schedulerStore.set("rejectBookingId",""),this.schedulerStore.set("cancelledEventInfo",null),e}async goBack(){this.schedulerStore.set("cancelBookingId","")}async resetConfirm(){const e=await this.resetStoreStateAndFetchAvailability();return this.schedulerStore.set("organizerConfirmationBookingId",""),this.schedulerStore.set("confirmedEventInfo",void 0),e}async bookTimeslot(e){var I;this.schedulerStore.set("isLoading",!0);const{selectedTimeslot:t,selectedTimezone:s,bookingInfo:i,selectedLanguage:n}=this.schedulerStore.state;if(!e&&!i)return{error:this.errors.component(l.instance.t("createBookingErrorTitle")).no_booking_info()};const r=(e==null?void 0:e.timeslot)||t;if(!r)return{error:this.errors.component(l.instance.t("createBookingErrorTitle")).no_timeslot_selected()};const o=e&&(e!=null&&e.timezone)?e==null?void 0:e.timezone:s,g=n||"en-US";if(!o)return{error:this.errors.component(l.instance.t("createBookingErrorTitle")).no_timezone_selected()};const h=this.schedulerStore.get("availabilityOrderEmails");let c="";if(h.length>0){const b=(r==null?void 0:r.emails)||[];for(let f=0;f<h.length;f++)if(b.includes(h[f])){c=h[f];break}}const d={};Object.entries((i==null?void 0:i.additionalFields)||{}).forEach(([b,f])=>{d[b]=f.value});const _=e?e==null?void 0:e.primaryParticipant:i==null?void 0:i.primaryParticipant,S=e?(e==null?void 0:e.guests)||[]:(i==null?void 0:i.guests)||[],p=e?e==null?void 0:e.additionalFields:d,T=this.getHeaders(),v=`/v3/scheduling/bookings${!this.sessionId&&this.configId?`?configuration_id=${this.configId}`:!this.sessionId&&this.slug&&this.clientId?`?slug=${this.slug}&client_id=${this.clientId}`:""}`,u=await this.makeAPIRequest(decodeURIComponent(v),"POST",JSON.stringify({participants:c?[{email:c}]:void 0,additional_fields:p,additional_guests:S,guest:{..._},start_time:r.start_time.getTime()/1e3,end_time:r.end_time.getTime()/1e3,timezone:o,email_language:this.getTwoLetterLanguageCode(g)}),T);if("error"in u){this.schedulerStore.set("isLoading",!1);const b=(I=u.error)==null?void 0:I.type;let f=u.error;if(b&&b in this.errors.api("Create Booking")){const E=this.getErrorMessage(f);f=this.errors.api("Create Booking")[b](E)}return{error:f}}return"data"in u&&this.schedulerStore.set("eventInfo",u==null?void 0:u.data),this.schedulerStore.set("isLoading",!1),u}async getUISettings(){var n;this.schedulerStore.set("isLoading",!0);const e=this.getHeaders(),s=`/v3/scheduling/ui-settings${!this.sessionId&&this.configId?`?configuration_id=${this.configId}`:!this.sessionId&&this.slug&&this.clientId?`?slug=${this.slug}&client_id=${this.clientId}`:""}`,i=await this.makeAPIRequest(s,"GET",void 0,e);if("error"in i){this.schedulerStore.set("isLoading",!1);const r=(n=i.error)==null?void 0:n.type;let o=i.error;return r&&r in this.errors.api(l.instance.t("getUISettingErrorTitle"))&&(o=this.errors.api(l.instance.t("getUISettingErrorTitle"))[r]((o==null?void 0:o.message)||(o==null?void 0:o.title)||"Something went wrong")),{error:o}}return"data"in i&&this.schedulerStore.set("configSettings",i.data),this.schedulerStore.set("isLoading",!1),i}getTwoLetterLanguageCode(e){return e.split("-")[0]}getStartTimeWithMinBookingNotice(e){var n;const t=(n=this.schedulerStore.get("configSettings"))==null?void 0:n.scheduler,s=t==null?void 0:t.min_booking_notice;if(!s)return e;const i=new Date().getTime();return e<(i+s*60*1e3)/1e3?Math.floor((i+s*60*1e3)/1e3):e}getEndTimeForAvailableDaysInFuture(e){var r,o;const t=new Date,s=(o=(r=this.schedulerStore.get("configSettings"))==null?void 0:r.scheduler)==null?void 0:o.available_days_in_future,i=Math.floor(l.addDaysToCurrentDate(t,s).getTime()/1e3);return Math.min(i,e)}async getAvailability(e=0,t=0){var _,S,p,T;this.schedulerStore.set("isLoading",!0);const s=new URLSearchParams,i=new Date,n=i.getTime();if(t&&t<n/1e3)return this.schedulerStore.set("isLoading",!1),{error:this.errors.component(l.instance.t("getAvailabilityErrorTitle")).endtime_not_in_future()};if(!e){const m=new Date(i.getFullYear(),i.getMonth(),1);e=Math.floor(m.getTime()/1e3)}if(!t){const m=new Date(i.getFullYear(),i.getMonth()+1,0);t=Math.floor(m.getTime()/1e3)}t=this.getEndTimeForAvailableDaysInFuture(t);const r=this.getStartTimeWithMinBookingNotice(e);e=r,t=r>t?r+1:t,s.append("start_time",encodeURIComponent(e.toString())),s.append("end_time",encodeURIComponent(t.toString())),this.configId&&!this.sessionId?s.append("configuration_id",encodeURIComponent(this.configId)):this.slug&&this.clientId&&!this.sessionId&&(s.append("slug",encodeURIComponent(this.slug)),s.append("client_id",encodeURIComponent(this.clientId)));const o=this.schedulerStore.get("rescheduleBookingId");o&&s.append("booking_id",encodeURIComponent(o));const g=s.toString(),h=`/v3/scheduling/availability${g?`?${g}`:""}`,c=this.getHeaders(),d=await this.makeAPIRequest(decodeURIComponent(h),"GET",void 0,c);if("error"in d){this.schedulerStore.set("availability",[]),this.schedulerStore.set("isLoading",!1);const m=(_=d.error)==null?void 0:_.type;let v=d.error;if(m&&m in this.errors.api(l.instance.t("getAvailabilityErrorTitle"))){const u=this.getErrorMessage(v);v=this.errors.api(l.instance.t("getAvailabilityErrorTitle"))[m](u)}return{error:v}}if("data"in d){const v=(((p=(S=d.data)==null?void 0:S.time_slots)==null?void 0:p.map(I=>({...I,start_time:new Date(I.start_time*1e3),end_time:new Date(I.end_time*1e3)})))||[]).filter(I=>I.start_time.getTime()>n);this.schedulerStore.set("availability",v);const u=((T=d.data)==null?void 0:T.order)||[];this.schedulerStore.set("availabilityOrderEmails",u)}return this.schedulerStore.set("isLoading",!1),d}async cancelBooking(e,t){var o;if(this.schedulerStore.set("isLoading",!0),!e)return{error:this.errors.component(l.instance.t("cancelBookingErrorTitle")).no_booking_id()};const s=!this.sessionId&&this.configId?`?configuration_id=${this.configId}`:!this.sessionId&&this.slug&&this.clientId?`?slug=${this.slug}&client_id=${this.clientId}`:"",i=`/v3/scheduling/bookings/${e}${s}`,n=this.getHeaders(),r=await this.makeAPIRequest(decodeURIComponent(i),"DELETE",JSON.stringify({action:"cancel",cancellation_reason:t}),n);if("error"in r){this.schedulerStore.set("isLoading",!1);const g=(o=r.error)==null?void 0:o.type;let h=r.error;if(g&&g in this.errors.api(l.instance.t("cancelBookingErrorTitle"))){const c=this.getErrorMessage(h);h=this.errors.api(l.instance.t("cancelBookingErrorTitle"))[g](c)}return{error:h}}return this.schedulerStore.set("cancelledEventInfo",{booking_id:e}),this.schedulerStore.set("rescheduleBookingId",""),this.schedulerStore.set("isLoading",!1),r}async rescheduleBooking(e,t){var B;if(this.schedulerStore.set("isLoading",!0),!e)return{error:this.errors.component(l.instance.t("rescheduleBookingErrorTitle")).no_booking_id()};const s=this.errors.api(l.instance.t("rescheduleBookingErrorTitle")),i=this.errors.component(l.instance.t("rescheduleBookingErrorTitle")),{bookingInfo:n,selectedTimeslot:r,selectedTimezone:o,selectedLanguage:g}=this.schedulerStore.state,{startTime:h,endTime:c,timezone:d}=t,_=h||(r==null?void 0:r.start_time);if(!_)return{error:i.invalid_start_time('Please pass "startTime" in data or set "selectedTimeslot" in the defaultSchedulerState.')};const S=c||(r==null?void 0:r.end_time);if(!S)return{error:i.invalid_end_time('Please pass "endTime" in data or set "selectedTimeslot" in the defaultSchedulerState.')};const p=this.schedulerStore.get("availabilityOrderEmails");let T="";if(p.length>0){const k=(r==null?void 0:r.emails)||[];for(let y=0;y<p.length;y++)if(k.includes(p[y])){T=p[y];break}}const m=d||o;if(!m)return{error:i.invalid_timezone('Please pass "timezone" in data or set "selectedTimezone" in the defaultSchedulerState.')};const v={};Object.entries((n==null?void 0:n.additionalFields)||{}).forEach(([k,y])=>{v[k]=y.value});const u=t?t==null?void 0:t.primaryParticipant:n==null?void 0:n.primaryParticipant,I=t?(t==null?void 0:t.guests)||[]:(n==null?void 0:n.guests)||[],b=t?t==null?void 0:t.additionalFields:v,f=!this.sessionId&&this.configId?`?configuration_id=${this.configId}`:!this.sessionId&&this.slug&&this.clientId?`?slug=${this.slug}&client_id=${this.clientId}`:"",E=`/v3/scheduling/bookings/${e}${f}`,P=this.getHeaders(),w=await this.makeAPIRequest(decodeURIComponent(E),"PATCH",JSON.stringify({start_time:_.getTime()/1e3,end_time:S.getTime()/1e3,timezone:m,additional_fields:b,guest:{...u},additional_guests:I,participants:T?[{email:T}]:void 0,email_language:this.getTwoLetterLanguageCode(g)}),P);if("error"in w){this.schedulerStore.set("isLoading",!1);const k=(B=w.error)==null?void 0:B.type;let y=w.error;if(k&&k in s){const C=this.getErrorMessage(y);y=s[k](C)}return{error:y}}const L=this.schedulerStore.get("reschedulingEventInfo");if("data"in w)this.schedulerStore.set("eventInfo",w==null?void 0:w.data);else if(L)this.schedulerStore.set("eventInfo",L);else{const k={booking_id:e};this.schedulerStore.set("eventInfo",k)}return this.schedulerStore.set("isLoading",!1),w}async updateBooking(e){var d;this.schedulerStore.set("isLoading",!0);const{bookingId:t,status:s,reason:i}=e,n=this.schedulerStore.get("organizerConfirmationSalt"),r=s==="confirmed"?l.instance.t("confirmBookingErrorTitle"):l.instance.t("rejectBookingErrorTitle");if(!t)return{error:this.errors.component(r).no_booking_id()};if(!n)return{error:this.errors.component(r).no_salt()};const o=!this.sessionId&&this.configId?`?configuration_id=${this.configId}`:!this.sessionId&&this.slug&&this.clientId?`?slug=${this.slug}&client_id=${this.clientId}`:"",g=`/v3/scheduling/bookings/${t}${o}`,h=this.getHeaders(),c=await this.makeAPIRequest(decodeURIComponent(g),"PUT",JSON.stringify({status:s,cancellation_reason:i,salt:n}),h);if("error"in c){this.schedulerStore.set("isLoading",!1);const _=(d=c.error)==null?void 0:d.type;let S=c.error;if(_&&_ in this.errors.api(r)){const p=this.getErrorMessage(S);S=this.errors.api(r)[_](p)}return{error:S}}return"data"in c&&s==="confirmed"?this.schedulerStore.set("confirmedEventInfo",c==null?void 0:c.data):"request_id"in c&&s==="cancelled"&&this.schedulerStore.set("cancelledEventInfo",{booking_id:t}),this.schedulerStore.set("organizerConfirmationBookingId",""),this.schedulerStore.set("isLoading",!1),c}}function $(a={}){const e={selectedDate:null,selectedLanguage:navigator.language,selectedTimezone:Intl.DateTimeFormat().resolvedOptions().timeZone,selectedTimeslot:null,showBookingForm:!1,availabilityOrderEmails:[],selectableDates:null,availability:[],eventDuration:0,state:"ready",eventInfo:null,cancelledEventInfo:null,isLoading:!1,nylasBranding:!0,...a};l.debug("[defaultNylasStoreState]: ",e);const t=l.createStore(e);return t.onChange("availability",s=>{l.debug("[availability]: ",s);const i=s.map(o=>o.start_time);l.debug("[selectableDates]: ",i),t.set("selectableDates",i);const n=s[0];if(!n)return;const r=Math.floor((n.end_time.getTime()-n.start_time.getTime())/6e4);l.debug("[durationMinutes]: ",r),t.set("eventDuration",r)}),t.reset=()=>{for(const s in e){const i=e[s];t.set(s,i)}},t}exports.CreateNylasSchedulerStore=$;exports.NylaSchedulerAPIConnector=z;