@nylas/react 1.1.0-canary.15 → 1.1.0-canary.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/add-circle-icon_2.entry-936fd73b.cjs +1 -0
  2. package/dist/add-circle-icon_2.entry-ce6aaa1d.js +25 -0
  3. package/dist/{archive-icon_7.entry-ca8262ff.js → archive-icon_7.entry-60e900b6.js} +18 -18
  4. package/dist/{archive-icon_7.entry-25d8b2f0.cjs → archive-icon_7.entry-8c8317e9.cjs} +1 -1
  5. package/dist/{arrow-icon.entry-991ba7cd.js → arrow-icon.entry-057db95a.js} +2 -2
  6. package/dist/{arrow-icon.entry-01192ecf.cjs → arrow-icon.entry-2d4e9572.cjs} +1 -1
  7. package/dist/bold-icon_3.entry-557c6007.js +35 -0
  8. package/dist/{bold-icon_3.entry-e94dcf5b.cjs → bold-icon_3.entry-ba732761.cjs} +1 -1
  9. package/dist/{add-circle-icon_2.entry-3f834b47.js → button-component.entry-22d0ac2e.js} +5 -15
  10. package/dist/button-component.entry-385f9581.cjs +1 -0
  11. package/dist/{calendar-cancel-icon.entry-f646c147.js → calendar-cancel-icon.entry-820cf967.js} +5 -5
  12. package/dist/{calendar-cancel-icon.entry-9088fa8b.cjs → calendar-cancel-icon.entry-b2657caf.cjs} +1 -1
  13. package/dist/{calendar-check-icon_2.entry-a7e4d0e6.js → calendar-check-icon_2.entry-128a5d67.js} +9 -9
  14. package/dist/{calendar-check-icon_2.entry-4dc1391a.cjs → calendar-check-icon_2.entry-b13e7cbb.cjs} +1 -1
  15. package/dist/{calendar-icon.entry-1658930c.js → calendar-icon.entry-a43e6011.js} +5 -5
  16. package/dist/{calendar-icon.entry-1e2acd5c.cjs → calendar-icon.entry-d17d7cfb.cjs} +1 -1
  17. package/dist/calendar-info-icon_28.entry-b4f09bfe.cjs +1 -0
  18. package/dist/{calendar-info-icon_25.entry-493c5547.js → calendar-info-icon_28.entry-b71c23c5.js} +754 -828
  19. package/dist/{chevron-icon_3.entry-52b97043.cjs → chevron-icon_3.entry-4807a0b1.cjs} +1 -1
  20. package/dist/{chevron-icon_3.entry-b3c7eb44.js → chevron-icon_3.entry-e0796c69.js} +5 -5
  21. package/dist/{clock-icon_2.entry-882249ee.cjs → clock-icon_2.entry-267614c2.cjs} +1 -1
  22. package/dist/{clock-icon_2.entry-58f07042.js → clock-icon_2.entry-e959ae50.js} +7 -7
  23. package/dist/{constants-f34b9c6e-1da5094b.cjs → constants-f34b9c6e-ebc2e19c.cjs} +1 -1
  24. package/dist/{constants-f34b9c6e-628beaa8.js → constants-f34b9c6e-efe2836b.js} +1 -1
  25. package/dist/{document-refresh-icon.entry-b53316b4.js → document-refresh-icon.entry-b4c217df.js} +2 -2
  26. package/dist/{document-refresh-icon.entry-4f581bf4.cjs → document-refresh-icon.entry-b8850675.cjs} +1 -1
  27. package/dist/elements/index.d.ts +1 -0
  28. package/dist/{elements-dc5b338e-3284591d.cjs → elements-dc5b338e-a33785e3.cjs} +1 -1
  29. package/dist/{elements-dc5b338e-7abe37c6.js → elements-dc5b338e-b0a290ae.js} +1 -1
  30. package/dist/{focus-visible-e8093c16-d6612604.js → focus-visible-e8093c16-5f1ae916.js} +1 -1
  31. package/dist/{focus-visible-e8093c16-cb6c97b1.cjs → focus-visible-e8093c16-d2afb13d.cjs} +1 -1
  32. package/dist/{forward-icon_6.entry-e402ad1e.cjs → forward-icon_6.entry-0009e4f0.cjs} +3 -3
  33. package/dist/{forward-icon_6.entry-d54244f7.js → forward-icon_6.entry-53683e82.js} +9 -9
  34. package/dist/{globe-icon.entry-e83c79c2.js → globe-icon.entry-dbb47687.js} +4 -4
  35. package/dist/{globe-icon.entry-db7377d9.cjs → globe-icon.entry-df67eab8.cjs} +1 -1
  36. package/dist/google-logo-icon_4.entry-77f3b86e.js +454 -0
  37. package/dist/google-logo-icon_4.entry-c5db1be3.cjs +1 -0
  38. package/dist/index-53420959-16700a42.cjs +1 -0
  39. package/dist/index-53420959-f0c4f9af.js +5 -0
  40. package/dist/{index-2d032bec.js → index-5851f0a2.js} +816 -825
  41. package/dist/{index-6d9eeb53-91d36348.js → index-6d9eeb53-2f37342f.js} +2 -2
  42. package/dist/{index-6d9eeb53-f478270c.cjs → index-6d9eeb53-ded66877.cjs} +1 -1
  43. package/dist/{index-9c04361d.cjs → index-769f0fdd.cjs} +3 -3
  44. package/dist/{index.es-9cc0eb3c-ee2ebbe1.js → index.es-9cc0eb3c-2cf4632f.js} +1 -1
  45. package/dist/{index.es-9cc0eb3c-2242baf6.cjs → index.es-9cc0eb3c-e8de46e6.cjs} +1 -1
  46. package/dist/{info-icon_2.entry-74eb7415.js → info-icon_2.entry-c27ac645.js} +3 -3
  47. package/dist/{info-icon_2.entry-4b257e73.cjs → info-icon_2.entry-e355fb7d.cjs} +1 -1
  48. package/dist/{input-component.entry-6bb4a5e8.js → input-component.entry-a38a65da.js} +4 -4
  49. package/dist/{input-component.entry-3ef7ce2c.cjs → input-component.entry-ef2b397d.cjs} +1 -1
  50. package/dist/input-dropdown_2.entry-9e50060e.cjs +1 -0
  51. package/dist/{input-dropdown_2.entry-f71e4c01.js → input-dropdown_2.entry-ce1da1b3.js} +37 -26
  52. package/dist/loading-icon.entry-175aca19.cjs +1 -0
  53. package/dist/loading-icon.entry-4ab88ed8.js +15 -0
  54. package/dist/{mailbox-store-64b4ef7c-202f1afd.js → mailbox-store-64b4ef7c-47dac9aa.js} +2 -2
  55. package/dist/{mailbox-store-64b4ef7c-74f959be.cjs → mailbox-store-64b4ef7c-ebe84c96.cjs} +1 -1
  56. package/dist/nylas-booked-event-card_10.entry-6de99d57.cjs +1 -0
  57. package/dist/{nylas-booked-event-card_10.entry-ddfcff5e.js → nylas-booked-event-card_10.entry-ef9c2d62.js} +11 -11
  58. package/dist/{nylas-custom-booking-flow.entry-63ed387e.cjs → nylas-custom-booking-flow.entry-c59c1306.cjs} +1 -1
  59. package/dist/{nylas-custom-booking-flow.entry-a1f66d05.js → nylas-custom-booking-flow.entry-f31400e2.js} +2 -2
  60. package/dist/{nylas-form-card.entry-ea1153b9.js → nylas-form-card.entry-b189e066.js} +2 -2
  61. package/dist/{nylas-form-card.entry-6fece0ff.cjs → nylas-form-card.entry-bc048703.cjs} +1 -1
  62. package/dist/{nylas-if-state.entry-05f8f66f.js → nylas-if-state.entry-5bdf8669.js} +3 -3
  63. package/dist/{nylas-if-state.entry-b75320f0.cjs → nylas-if-state.entry-933c79e0.cjs} +1 -1
  64. package/dist/{nylas-list-folders.entry-edc61b97.cjs → nylas-list-folders.entry-5d1bef7f.cjs} +1 -1
  65. package/dist/{nylas-list-folders.entry-bd5a1b1d.js → nylas-list-folders.entry-f0e7ae4e.js} +3 -3
  66. package/dist/{nylas-list-threads.entry-79ad0944.cjs → nylas-list-threads.entry-3e300e7e.cjs} +1 -1
  67. package/dist/{nylas-list-threads.entry-f3cd80de.js → nylas-list-threads.entry-3f7451ad.js} +3 -3
  68. package/dist/{nylas-login.entry-68873357.cjs → nylas-login.entry-dbf9e11f.cjs} +1 -1
  69. package/dist/{nylas-login.entry-b3207e82.js → nylas-login.entry-e3b757a0.js} +7 -7
  70. package/dist/{nylas-mailbox-pagination.entry-2ef5b88a.cjs → nylas-mailbox-pagination.entry-0db12a01.cjs} +1 -1
  71. package/dist/{nylas-mailbox-pagination.entry-22c5b9ca.js → nylas-mailbox-pagination.entry-6c845a2a.js} +2 -2
  72. package/dist/{nylas-mailbox-toolbar-button.entry-f2fa3a8e.cjs → nylas-mailbox-toolbar-button.entry-553f041a.cjs} +1 -1
  73. package/dist/{nylas-mailbox-toolbar-button.entry-95bb58b5.js → nylas-mailbox-toolbar-button.entry-ec196947.js} +4 -4
  74. package/dist/{nylas-mailbox.entry-4ef7d18d.js → nylas-mailbox.entry-1552ad11.js} +7 -7
  75. package/dist/{nylas-mailbox.entry-4b1d320f.cjs → nylas-mailbox.entry-c0bbca56.cjs} +1 -1
  76. package/dist/{nylas-provider.entry-7f7e098a.js → nylas-provider.entry-6d286e92.js} +37 -37
  77. package/dist/{nylas-provider.entry-b629340a.cjs → nylas-provider.entry-d4bf23c2.cjs} +1 -1
  78. package/dist/{nylas-scheduler-editor.entry-19a29c4c.cjs → nylas-scheduler-editor.entry-00a71304.cjs} +2 -2
  79. package/dist/{nylas-scheduler-editor.entry-2d19593f.js → nylas-scheduler-editor.entry-caa1026b.js} +8 -7
  80. package/dist/{nylas-scheduling.entry-753cb746.js → nylas-scheduling.entry-19ff3d50.js} +9 -9
  81. package/dist/nylas-scheduling.entry-f1fb67d2.cjs +1 -0
  82. package/dist/{nylas-threads-refresh.entry-5a774ad7.js → nylas-threads-refresh.entry-6acf3c2b.js} +4 -4
  83. package/dist/{nylas-threads-refresh.entry-0a832631.cjs → nylas-threads-refresh.entry-bc4c10ea.cjs} +1 -1
  84. package/dist/{nylas-threads-search.entry-451c6d5c.js → nylas-threads-search.entry-82fa1504.js} +5 -5
  85. package/dist/{nylas-threads-search.entry-5b57688b.cjs → nylas-threads-search.entry-ee28712c.cjs} +1 -1
  86. package/dist/nylas-time-window-picker.entry-131f84b4.cjs +1 -0
  87. package/dist/nylas-time-window-picker.entry-3c45d82e.js +316 -0
  88. package/dist/{nylas-view-thread.entry-7b273955.cjs → nylas-view-thread.entry-0d9a4aa9.cjs} +1 -1
  89. package/dist/{nylas-view-thread.entry-e0af8998.js → nylas-view-thread.entry-695a7b0b.js} +6 -6
  90. package/dist/{play-icon_2.entry-58592b64.js → play-icon_2.entry-ab47588e.js} +3 -3
  91. package/dist/{play-icon_2.entry-5b22a7ca.cjs → play-icon_2.entry-b1167d3a.cjs} +1 -1
  92. package/dist/react.cjs +1 -1
  93. package/dist/react.js +41 -40
  94. package/dist/{refresh-icon.entry-876b8aea.cjs → refresh-icon.entry-28e3ade7.cjs} +1 -1
  95. package/dist/{refresh-icon.entry-90756bc6.js → refresh-icon.entry-43267155.js} +5 -5
  96. package/dist/{register-component-a5a9ca5d-8bede801.js → register-component-a5a9ca5d-538c35c3.js} +1 -1
  97. package/dist/{register-component-a5a9ca5d-1fbb27d2.cjs → register-component-a5a9ca5d-8b06415c.cjs} +1 -1
  98. package/dist/scheduler-config-store-4a50a03d-40e87f35.cjs +1 -0
  99. package/dist/{scheduler-config-store-ec3b6190-cbc40d60.js → scheduler-config-store-4a50a03d-4a2e2abf.js} +4 -3
  100. package/dist/{scheduler-store-f02ce045-1d93c571.js → scheduler-store-f02ce045-121c1e09.js} +1 -1
  101. package/dist/{scheduler-store-f02ce045-712c600c.cjs → scheduler-store-f02ce045-f11cfad9.cjs} +1 -1
  102. package/dist/{textarea-component.entry-3ea161d6.js → textarea-component.entry-1ec19adb.js} +4 -4
  103. package/dist/{textarea-component.entry-9d6b5cdc.cjs → textarea-component.entry-402a369b.cjs} +1 -1
  104. package/dist/{translate-icon.entry-04dde6b1.cjs → translate-icon.entry-59f4e190.cjs} +1 -1
  105. package/dist/{translate-icon.entry-be9c3401.js → translate-icon.entry-d412697e.js} +6 -6
  106. package/dist/{warning-icon.entry-347d77af.js → warning-icon.entry-3ee1f451.js} +5 -5
  107. package/dist/{warning-icon.entry-84121a43.cjs → warning-icon.entry-aa6b2c2c.cjs} +1 -1
  108. package/package.json +3 -3
  109. package/dist/add-circle-icon_2.entry-00dc2c13.cjs +0 -1
  110. package/dist/bold-icon_3.entry-81a3ff1e.js +0 -35
  111. package/dist/calendar-info-icon_25.entry-7513d798.cjs +0 -1
  112. package/dist/close-icon.entry-4a39816a.js +0 -15
  113. package/dist/close-icon.entry-f1166251.cjs +0 -1
  114. package/dist/google-logo-icon_4.entry-8818686b.js +0 -429
  115. package/dist/google-logo-icon_4.entry-fa65ae29.cjs +0 -1
  116. package/dist/index-53420959-41ed02ae.js +0 -5
  117. package/dist/index-53420959-a76f0327.cjs +0 -1
  118. package/dist/input-dropdown_2.entry-a87714fc.cjs +0 -1
  119. package/dist/loading-icon.entry-30724cb0.js +0 -15
  120. package/dist/loading-icon.entry-bb250f1c.cjs +0 -1
  121. package/dist/nylas-additional-participants.entry-567c7c2a.cjs +0 -1
  122. package/dist/nylas-additional-participants.entry-7961be04.js +0 -81
  123. package/dist/nylas-booked-event-card_10.entry-c2f889ba.cjs +0 -1
  124. package/dist/nylas-scheduling.entry-70454242.cjs +0 -1
  125. package/dist/people-icon.entry-c7fb7f6c.cjs +0 -1
  126. package/dist/people-icon.entry-de3fada0.js +0 -15
  127. package/dist/scheduler-config-store-ec3b6190-104df545.cjs +0 -1
  128. package/dist/toggle-switch.entry-10aa0c1a.cjs +0 -1
  129. package/dist/toggle-switch.entry-a08c1027.js +0 -25
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-769f0fdd.cjs");require("react");require("react-dom");const p=':host{display:block;position:relative;--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{position:unset}}.dropdown{display:inline-block}.dropbtn{color:var(--nylas-base-800);padding:10px;font-size:1rem;font-family:var(--nylas-font-family);cursor:pointer;display:flex;gap:0.5rem;background:transparent;border:none;border-radius:var(--nylas-border-radius-2x);width:50px;padding:14px 16px;border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn:hover,.dropbtn:active{outline:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn span.chevron{display:flex;align-self:center}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropbtn span.selected-option{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:144px;font-size:14px;line-height:20px}@media screen and (max-width: 768px){.dropbtn span.selected-option{max-width:124px;font-size:16px}}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);max-width:306px;width:max-content;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1)}@media screen and (max-width: 768px){.dropdown-content{right:0;width:325px;max-width:unset}}.search-box{border-bottom:1px solid var(--nylas-base-200);padding:10px;position:sticky;top:0;background:var(--nylas-base-0)}.search-box .icon{position:absolute;top:1.25rem;left:1.25rem;color:var(--nylas-base-300)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content .selected{background-color:#e7e7e7}input[type=text]{width:-webkit-fill-available;padding:inherit;border:1px solid #ccc;border-radius:4px;position:sticky;background:no-repeat scroll 7px 7px;padding-left:30px;background-size:16px 16px}',c=p,a=class{constructor(e){s.registerInstance(this,e),this.inputOptionChanged=s.createEvent(this,"inputOptionChanged",7),this.name=void 0,this.options=[],this.defaultInputOption=void 0,this.inputValue=void 0,this.pluralizedLabel="",this.filterable=!1,this.selectedOption=this.defaultInputOption||null,this.isOpen=!1,this.filteredOptions=[...this.options],this.ariaActivedescendant="",this.shouldAutoScroll=!1}optionsChangedHandler(e,t){e!==t&&(this.filteredOptions=this.getFilteredOptions(e))}defaultSelectedOptionChangedHandler(e,t){e.label!==t.label&&(this.selectedOption=e)}inputValueChangedHandler(e,t){e!==t&&(this.inputValue=e,this.filteredOptions=this.getFilteredOptions(this.options))}componentWillLoad(){this.filteredOptions=this.getFilteredOptions(this.options),!this.selectedOption&&this.defaultInputOption&&(this.selectedOption=this.defaultInputOption),!this.selectedOption&&this.options.length>0&&(this.selectedOption=this.options[0])}getFilteredOptions(e){return this.filterable?e.filter(t=>{var i,o,r,n;return((o=t==null?void 0:t.value)==null?void 0:o.toString().toLowerCase().includes((i=this.inputValue)==null?void 0:i.toLowerCase()))||((n=t==null?void 0:t.label)==null?void 0:n.toLowerCase().includes((r=this.inputValue)==null?void 0:r.toLowerCase()))}):e}toggleDropdown(){this.isOpen=!this.isOpen}selectOption(e){this.selectedOption=e,this.toggleDropdown(),this.inputOptionChanged.emit({value:e.value,name:this.name})}handleOnInput(e){const t=e.target.value,i=this.options.findIndex(o=>o.label.toLowerCase().includes(t.toLowerCase()));i>-1&&this.scrollToViewWithinParent(i),this.inputOptionChanged.emit({value:t,name:this.name})}scrollToViewWithinParent(e){var d;const t=this.options[e],i=(d=this.el.shadowRoot)==null?void 0:d.getElementById(t.value.toString()),o=this.optionsRef;if(this.ariaActivedescendant=t.value.toString(),!i||!o)return;const r=i.getBoundingClientRect(),n=o.getBoundingClientRect();r.top<n.top?o.scrollTop-=n.top-r.top:r.bottom>n.bottom&&(o.scrollTop+=r.bottom-n.bottom)}handleSelectButtonKeyDown(e){var t;switch(e.key){case"ArrowDown":case"Enter":e.preventDefault(),this.isOpen||this.toggleDropdown(),(t=this.inputRef)==null||t.focus();break;case"Escape":this.isOpen=!1;break}}handleClick(e){if(this.isOpen){const t=e.target.value,i=this.options.findIndex(o=>o.label.toLowerCase().includes(t.toLowerCase()));i>-1&&setTimeout(()=>{this.scrollToViewWithinParent(i)},10)}}handleListboxKeydown(e){var o,r;const t=this.filteredOptions,i=t.findIndex(n=>n.value===this.ariaActivedescendant);if(e.key==="ArrowDown"||e.key==="Tab"&&!e.shiftKey){if(e.preventDefault(),i===t.length-1){this.ariaActivedescendant="",(o=this.inputRef)==null||o.focus();return}const n=i+1<t.length?i+1:0;this.ariaActivedescendant=t[n].value,this.focusOption(n)}else if(e.key==="ArrowUp"||e.key==="Tab"&&e.shiftKey){if(e.preventDefault(),i===0){this.ariaActivedescendant="",(r=this.inputRef)==null||r.focus();return}const n=i-1>=0?i-1:t.length-1;this.ariaActivedescendant=t[n].value,this.focusOption(n)}else e.key==="Enter"?(e.preventDefault(),this.ariaActivedescendant&&this.selectOption(t[i])):e.key==="Escape"&&(this.isOpen=!1)}focusOption(e){var r;const t=this.filteredOptions[e];if(!t)return;const i=t.value,o=(r=this.el.shadowRoot)==null?void 0:r.getElementById(i);o&&(o.focus(),o.scrollIntoView({behavior:"smooth",block:"nearest"}))}handleComboboxKeyDown(e){if(e.key==="ArrowDown"||e.key=="Tab"&&!e.shiftKey){if(e.preventDefault(),!this.isOpen){this.isOpen=!0,this.shouldAutoScroll=!0;return}this.ariaActivedescendant=this.filteredOptions[0].value,this.focusOption(0)}else e.key==="ArrowUp"||e.key==="Tab"&&e.shiftKey?(e.preventDefault(),this.ariaActivedescendant=this.filteredOptions[this.filteredOptions.length-1].value,this.focusOption(this.filteredOptions.length-1)):e.key==="Escape"&&(this.isOpen=!1)}handleOutsideClick(e){!e.composedPath().includes(this.el)&&this.isOpen&&(this.isOpen=!1)}render(){return s.h("div",{key:"46501632a9bcea1b4af6d5b4b073904e14d0cf50",class:"dropdown",part:"id_dropdown"},s.h("input",{key:"67e4a24466b39b39161066bb9915ca67467043f3",type:"text",name:this.name,id:this.name,part:"id_dropdown-input",class:{dropbtn:!0,open:this.isOpen},value:this.inputValue,onClick:e=>{this.toggleDropdown(),this.shouldAutoScroll=!0,this.handleClick(e)},"aria-haspopup":"listbox","aria-label":this.name,"aria-expanded":this.isOpen?"true":"false",onKeyDown:e=>this.handleComboboxKeyDown(e),onInput:e=>this.handleOnInput(e)}),this.isOpen?s.h("div",{class:"dropdown-content",part:"id_dropdown-content",ref:e=>this.optionsRef=e},s.h("ul",{tabindex:"-1",role:"listbox","aria-label":this.name,"aria-activedescendant":this.ariaActivedescendant,onKeyDown:e=>this.handleListboxKeydown(e)},this.filteredOptions.map(e=>s.h("li",{tabindex:"0",key:e.value,id:e.value,onClick:()=>this.selectOption(e),role:"option",class:{focused:this.ariaActivedescendant===e.value.toString()}},e.labelHTML?e.labelHTML:e.label)))):null)}get el(){return s.getElement(this)}static get watchers(){return{options:["optionsChangedHandler"],defaultInputOption:["defaultSelectedOptionChangedHandler"],inputValue:["inputValueChangedHandler"]}}};a.style=c;const h=".time-period-selector.sc-time-period-selector{display:grid;gap:0.5rem;grid-template-columns:auto 1fr}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector,.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector{border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector{width:116px}.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector{width:84px;display:flex;align-items:center}.time-period-selector.sc-time-period-selector select-dropdown#time-period.sc-time-period-selector::part(sd_dropdown-button){width:100%}.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector::part(id_dropdown){width:inherit;height:100%}.time-period-selector.sc-time-period-selector input-dropdown#time-number.sc-time-period-selector::part(id_dropdown-input){border:none;border-radius:var(--nylas-border-radius-2x)}.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector::part(id_dropdown-input){padding:17px;gap:1rem}.time-period-selector.sc-time-period-selector input-dropdown.sc-time-period-selector::part(id_dropdown-content){width:100%;max-height:200px}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector::part(sd_dropdown){width:inherit}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector::part(sd_dropdown-button){padding:1rem;gap:1rem;justify-content:space-between}.time-period-selector.sc-time-period-selector select-dropdown.sc-time-period-selector::part(sd_dropdown-content){width:100%;max-height:200px}",u=h,m={hours:"hour",days:"day",weeks:"week",months:"month"},l=class{constructor(e){s.registerInstance(this,e),this.timePeriodChanged=s.createEvent(this,"timePeriodChanged",7),this.timePeriods=["hour","day","week","month"],this.defaultSelectedPeriod="hour",this.defaultSelectedNumber=1,this.selectedPeriod=this.defaultSelectedPeriod,this.selectedNumber=this.defaultSelectedNumber,this.numberOptions=this.calculateOptions(this.defaultSelectedPeriod||"hour").map(t=>({label:t.toString(),value:t.toString()})),this.timePeriodOptions=this.timePeriods.map(t=>({label:t,value:t}))}defaultSelectedPeriodChangedHandler(e){this.selectedPeriod=e;const t=m[e]??e;this.updateNumberOptionsAndSelectedNumber(t)}defaultSelectedNumberChangedHandler(e){this.selectedNumber=e}timePeriodsChangedHandler(e){this.timePeriodOptions=e.map(t=>({label:t,value:t}))}calculateOptions(e){switch(e){case"hour":return Array.from({length:23},(t,i)=>i+1);case"minute":return Array.from({length:13},(t,i)=>i*5);case"day":return Array.from({length:30},(t,i)=>i+1);case"week":return Array.from({length:4},(t,i)=>i+1);case"month":return Array.from({length:12},(t,i)=>i+1);default:return[]}}inputOptionChangedHandler(e){s.debug("time-period-selector","inputOptionChangedHandler",e.detail);const{value:t,name:i}=e.detail;i==="time-number"&&(this.selectedNumber=parseInt(t));const o={number:this.selectedNumber,period:this.selectedPeriod};this.timePeriodChanged.emit(o)}nylasFormDropdownChangedHandler(e){s.debug("time-period-selector","nylasFormDropdownChangedHandler",e.detail);const{value:t,name:i}=e.detail;i==="time-period"?(this.selectedPeriod=t,this.updateNumberOptionsAndSelectedNumber(t)):i==="time-number"&&(this.selectedNumber=parseInt(t));const o={number:this.selectedNumber,period:this.selectedPeriod};this.timePeriodChanged.emit(o)}updateNumberOptionsAndSelectedNumber(e){const t=this.calculateOptions(e);this.numberOptions=t.map(i=>({label:i.toString(),value:i.toString()})),this.selectedNumber=parseInt(this.numberOptions[0].value)}render(){return s.h("div",{key:"0bd8e5ec168ca34bfd0540c6b1423954a716bbde",class:"time-period-selector"},s.h("input-dropdown",{key:"8d481cca0e6693367e9c64004cd5596e90aaaa03",id:"time-number",name:"time-number",inputValue:this.selectedNumber.toString(),exportparts:"sd_dropdown: tps__number-dropdown, sd_dropdown-button: tps__number-dropdown-button, sd_dropdown-content: tps__number-dropdown-content",options:this.numberOptions,defaultInputOption:this.numberOptions.find(e=>e.value==this.selectedNumber.toString())??this.numberOptions[0]}),s.h("select-dropdown",{key:"e173825b80107361a1d5323fcd3a5503b1d59de5",id:"time-period",name:"time-period",options:this.timePeriodOptions,exportparts:"sd_dropdown: tps__period-dropdown, sd_dropdown-button: tps__period-dropdown-button, sd_dropdown-content: tps__period-dropdown-content",pluralizedLabel:this.selectedNumber>1?"s":"",defaultSelectedOption:this.timePeriodOptions.find(e=>e.value==this.selectedPeriod)??this.timePeriodOptions[0],withSearch:!1}))}get host(){return s.getElement(this)}static get watchers(){return{defaultSelectedPeriod:["defaultSelectedPeriodChangedHandler"],defaultSelectedNumber:["defaultSelectedNumberChangedHandler"],timePeriods:["timePeriodsChangedHandler"]}}};l.style=u;exports.input_dropdown=a;exports.time_period_selector=l;
@@ -1,18 +1,27 @@
1
- import { r as l, c as p, h as r, g as c, d as a } from "./index-2d032bec.js";
1
+ import { r as l, c as p, h as r, g as c, d as a } from "./index-5851f0a2.js";
2
2
  import "react";
3
3
  import "react-dom";
4
4
  const h = ':host{display:block;position:relative;--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{position:unset}}.dropdown{display:inline-block}.dropbtn{color:var(--nylas-base-800);padding:10px;font-size:1rem;font-family:var(--nylas-font-family);cursor:pointer;display:flex;gap:0.5rem;background:transparent;border:none;border-radius:var(--nylas-border-radius-2x);width:50px;padding:14px 16px;border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn:hover,.dropbtn:active{outline:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn span.chevron{display:flex;align-self:center}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropbtn span.selected-option{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:144px;font-size:14px;line-height:20px}@media screen and (max-width: 768px){.dropbtn span.selected-option{max-width:124px;font-size:16px}}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);max-width:306px;width:max-content;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1)}@media screen and (max-width: 768px){.dropdown-content{right:0;width:325px;max-width:unset}}.search-box{border-bottom:1px solid var(--nylas-base-200);padding:10px;position:sticky;top:0;background:var(--nylas-base-0)}.search-box .icon{position:absolute;top:1.25rem;left:1.25rem;color:var(--nylas-base-300)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content .selected{background-color:#e7e7e7}input[type=text]{width:-webkit-fill-available;padding:inherit;border:1px solid #ccc;border-radius:4px;position:sticky;background:no-repeat scroll 7px 7px;padding-left:30px;background-size:16px 16px}', u = h, m = class {
5
5
  constructor(e) {
6
- l(this, e), this.inputOptionChanged = p(this, "inputOptionChanged", 7), this.name = void 0, this.options = [], this.defaultInputOption = void 0, this.inputValue = void 0, this.pluralizedLabel = "", this.selectedOption = this.defaultInputOption || null, this.isOpen = !1, this.filteredOptions = [...this.options], this.ariaActivedescendant = "", this.shouldAutoScroll = !1;
6
+ l(this, e), this.inputOptionChanged = p(this, "inputOptionChanged", 7), this.name = void 0, this.options = [], this.defaultInputOption = void 0, this.inputValue = void 0, this.pluralizedLabel = "", this.filterable = !1, this.selectedOption = this.defaultInputOption || null, this.isOpen = !1, this.filteredOptions = [...this.options], this.ariaActivedescendant = "", this.shouldAutoScroll = !1;
7
7
  }
8
8
  optionsChangedHandler(e, t) {
9
- e !== t && (this.filteredOptions = e);
9
+ e !== t && (this.filteredOptions = this.getFilteredOptions(e));
10
10
  }
11
11
  defaultSelectedOptionChangedHandler(e, t) {
12
12
  e.label !== t.label && (this.selectedOption = e);
13
13
  }
14
+ inputValueChangedHandler(e, t) {
15
+ e !== t && (this.inputValue = e, this.filteredOptions = this.getFilteredOptions(this.options));
16
+ }
14
17
  componentWillLoad() {
15
- this.filteredOptions = this.options, !this.selectedOption && this.defaultInputOption && (this.selectedOption = this.defaultInputOption), !this.selectedOption && this.options.length > 0 && (this.selectedOption = this.options[0]);
18
+ this.filteredOptions = this.getFilteredOptions(this.options), !this.selectedOption && this.defaultInputOption && (this.selectedOption = this.defaultInputOption), !this.selectedOption && this.options.length > 0 && (this.selectedOption = this.options[0]);
19
+ }
20
+ getFilteredOptions(e) {
21
+ return this.filterable ? e.filter((t) => {
22
+ var i, s, n, o;
23
+ return ((s = t == null ? void 0 : t.value) == null ? void 0 : s.toString().toLowerCase().includes((i = this.inputValue) == null ? void 0 : i.toLowerCase())) || ((o = t == null ? void 0 : t.label) == null ? void 0 : o.toLowerCase().includes((n = this.inputValue) == null ? void 0 : n.toLowerCase()));
24
+ }) : e;
16
25
  }
17
26
  toggleDropdown() {
18
27
  this.isOpen = !this.isOpen;
@@ -24,7 +33,7 @@ const h = ':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas
24
33
  });
25
34
  }
26
35
  handleOnInput(e) {
27
- const t = e.target.value, i = this.options.findIndex((o) => o.label.toLowerCase().includes(t.toLowerCase()));
36
+ const t = e.target.value, i = this.options.findIndex((s) => s.label.toLowerCase().includes(t.toLowerCase()));
28
37
  i > -1 && this.scrollToViewWithinParent(i), this.inputOptionChanged.emit({
29
38
  value: t,
30
39
  name: this.name
@@ -32,10 +41,11 @@ const h = ':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas
32
41
  }
33
42
  scrollToViewWithinParent(e) {
34
43
  var d;
35
- const t = this.options[e], i = (d = this.el.shadowRoot) == null ? void 0 : d.getElementById(t.value.toString()), o = this.optionsRef;
36
- this.ariaActivedescendant = t.value.toString();
37
- const n = i.getBoundingClientRect(), s = o.getBoundingClientRect();
38
- n.top < s.top ? o.scrollTop -= s.top - n.top : n.bottom > s.bottom && (o.scrollTop += n.bottom - s.bottom);
44
+ const t = this.options[e], i = (d = this.el.shadowRoot) == null ? void 0 : d.getElementById(t.value.toString()), s = this.optionsRef;
45
+ if (this.ariaActivedescendant = t.value.toString(), !i || !s)
46
+ return;
47
+ const n = i.getBoundingClientRect(), o = s.getBoundingClientRect();
48
+ n.top < o.top ? s.scrollTop -= o.top - n.top : n.bottom > o.bottom && (s.scrollTop += n.bottom - o.bottom);
39
49
  }
40
50
  handleSelectButtonKeyDown(e) {
41
51
  var t;
@@ -51,29 +61,29 @@ const h = ':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas
51
61
  }
52
62
  handleClick(e) {
53
63
  if (this.isOpen) {
54
- const t = e.target.value, i = this.options.findIndex((o) => o.label.toLowerCase().includes(t.toLowerCase()));
64
+ const t = e.target.value, i = this.options.findIndex((s) => s.label.toLowerCase().includes(t.toLowerCase()));
55
65
  i > -1 && setTimeout(() => {
56
66
  this.scrollToViewWithinParent(i);
57
67
  }, 10);
58
68
  }
59
69
  }
60
70
  handleListboxKeydown(e) {
61
- var o, n;
62
- const t = this.filteredOptions, i = t.findIndex((s) => s.value === this.ariaActivedescendant);
71
+ var s, n;
72
+ const t = this.filteredOptions, i = t.findIndex((o) => o.value === this.ariaActivedescendant);
63
73
  if (e.key === "ArrowDown" || e.key === "Tab" && !e.shiftKey) {
64
74
  if (e.preventDefault(), i === t.length - 1) {
65
- this.ariaActivedescendant = "", (o = this.inputRef) == null || o.focus();
75
+ this.ariaActivedescendant = "", (s = this.inputRef) == null || s.focus();
66
76
  return;
67
77
  }
68
- const s = i + 1 < t.length ? i + 1 : 0;
69
- this.ariaActivedescendant = t[s].value, this.focusOption(s);
78
+ const o = i + 1 < t.length ? i + 1 : 0;
79
+ this.ariaActivedescendant = t[o].value, this.focusOption(o);
70
80
  } else if (e.key === "ArrowUp" || e.key === "Tab" && e.shiftKey) {
71
81
  if (e.preventDefault(), i === 0) {
72
82
  this.ariaActivedescendant = "", (n = this.inputRef) == null || n.focus();
73
83
  return;
74
84
  }
75
- const s = i - 1 >= 0 ? i - 1 : t.length - 1;
76
- this.ariaActivedescendant = t[s].value, this.focusOption(s);
85
+ const o = i - 1 >= 0 ? i - 1 : t.length - 1;
86
+ this.ariaActivedescendant = t[o].value, this.focusOption(o);
77
87
  } else
78
88
  e.key === "Enter" ? (e.preventDefault(), this.ariaActivedescendant && this.selectOption(t[i])) : e.key === "Escape" && (this.isOpen = !1);
79
89
  }
@@ -82,8 +92,8 @@ const h = ':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas
82
92
  const t = this.filteredOptions[e];
83
93
  if (!t)
84
94
  return;
85
- const i = t.value, o = (n = this.el.shadowRoot) == null ? void 0 : n.getElementById(i);
86
- o && (o.focus(), o.scrollIntoView({ behavior: "smooth", block: "nearest" }));
95
+ const i = t.value, s = (n = this.el.shadowRoot) == null ? void 0 : n.getElementById(i);
96
+ s && (s.focus(), s.scrollIntoView({ behavior: "smooth", block: "nearest" }));
87
97
  }
88
98
  handleComboboxKeyDown(e) {
89
99
  if (e.key === "ArrowDown" || e.key == "Tab" && !e.shiftKey) {
@@ -99,7 +109,7 @@ const h = ':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas
99
109
  !e.composedPath().includes(this.el) && this.isOpen && (this.isOpen = !1);
100
110
  }
101
111
  render() {
102
- return r("div", { key: "763e9bef7edb44ff217147c9ee63ec0076c4cc4a", class: "dropdown", part: "id_dropdown" }, r("input", { key: "579022217510a4be6a23c6b2f65910c4b993b42d", type: "text", name: this.name, id: this.name, part: "id_dropdown-input", class: { dropbtn: !0, open: this.isOpen }, value: this.inputValue, onClick: (e) => {
112
+ return r("div", { key: "46501632a9bcea1b4af6d5b4b073904e14d0cf50", class: "dropdown", part: "id_dropdown" }, r("input", { key: "67e4a24466b39b39161066bb9915ca67467043f3", type: "text", name: this.name, id: this.name, part: "id_dropdown-input", class: { dropbtn: !0, open: this.isOpen }, value: this.inputValue, onClick: (e) => {
103
113
  this.toggleDropdown(), this.shouldAutoScroll = !0, this.handleClick(e);
104
114
  }, "aria-haspopup": "listbox", "aria-label": this.name, "aria-expanded": this.isOpen ? "true" : "false", onKeyDown: (e) => this.handleComboboxKeyDown(e), onInput: (e) => this.handleOnInput(e) }), this.isOpen ? r("div", { class: "dropdown-content", part: "id_dropdown-content", ref: (e) => this.optionsRef = e }, r("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: (e) => this.handleListboxKeydown(e) }, this.filteredOptions.map((e) => r("li", { tabindex: "0", key: e.value, id: e.value, onClick: () => this.selectOption(e), role: "option", class: {
105
115
  focused: this.ariaActivedescendant === e.value.toString()
@@ -111,7 +121,8 @@ const h = ':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas
111
121
  static get watchers() {
112
122
  return {
113
123
  options: ["optionsChangedHandler"],
114
- defaultInputOption: ["defaultSelectedOptionChangedHandler"]
124
+ defaultInputOption: ["defaultSelectedOptionChangedHandler"],
125
+ inputValue: ["inputValueChangedHandler"]
115
126
  };
116
127
  }
117
128
  };
@@ -165,21 +176,21 @@ const b = ".time-period-selector.sc-time-period-selector{display:grid;gap:0.5rem
165
176
  a("time-period-selector", "inputOptionChangedHandler", e.detail);
166
177
  const { value: t, name: i } = e.detail;
167
178
  i === "time-number" && (this.selectedNumber = parseInt(t));
168
- const o = {
179
+ const s = {
169
180
  number: this.selectedNumber,
170
181
  period: this.selectedPeriod
171
182
  };
172
- this.timePeriodChanged.emit(o);
183
+ this.timePeriodChanged.emit(s);
173
184
  }
174
185
  nylasFormDropdownChangedHandler(e) {
175
186
  a("time-period-selector", "nylasFormDropdownChangedHandler", e.detail);
176
187
  const { value: t, name: i } = e.detail;
177
188
  i === "time-period" ? (this.selectedPeriod = t, this.updateNumberOptionsAndSelectedNumber(t)) : i === "time-number" && (this.selectedNumber = parseInt(t));
178
- const o = {
189
+ const s = {
179
190
  number: this.selectedNumber,
180
191
  period: this.selectedPeriod
181
192
  };
182
- this.timePeriodChanged.emit(o);
193
+ this.timePeriodChanged.emit(s);
183
194
  }
184
195
  updateNumberOptionsAndSelectedNumber(e) {
185
196
  const t = this.calculateOptions(e);
@@ -189,7 +200,7 @@ const b = ".time-period-selector.sc-time-period-selector{display:grid;gap:0.5rem
189
200
  })), this.selectedNumber = parseInt(this.numberOptions[0].value);
190
201
  }
191
202
  render() {
192
- return r("div", { key: "89f218f22905064cadac4d109b631ec138b461ef", class: "time-period-selector" }, r("input-dropdown", { key: "2b86597d92716df5196e696a82ef813d895688dc", id: "time-number", name: "time-number", inputValue: this.selectedNumber.toString(), exportparts: "sd_dropdown: tps__number-dropdown, sd_dropdown-button: tps__number-dropdown-button, sd_dropdown-content: tps__number-dropdown-content", options: this.numberOptions, defaultInputOption: this.numberOptions.find((e) => e.value == this.selectedNumber.toString()) ?? this.numberOptions[0] }), r("select-dropdown", { key: "7283a087443a6c3827f41f0276e1c8024025eeca", id: "time-period", name: "time-period", options: this.timePeriodOptions, exportparts: "sd_dropdown: tps__period-dropdown, sd_dropdown-button: tps__period-dropdown-button, sd_dropdown-content: tps__period-dropdown-content", pluralizedLabel: this.selectedNumber > 1 ? "s" : "", defaultSelectedOption: this.timePeriodOptions.find((e) => e.value == this.selectedPeriod) ?? this.timePeriodOptions[0], withSearch: !1 }));
203
+ return r("div", { key: "0bd8e5ec168ca34bfd0540c6b1423954a716bbde", class: "time-period-selector" }, r("input-dropdown", { key: "8d481cca0e6693367e9c64004cd5596e90aaaa03", id: "time-number", name: "time-number", inputValue: this.selectedNumber.toString(), exportparts: "sd_dropdown: tps__number-dropdown, sd_dropdown-button: tps__number-dropdown-button, sd_dropdown-content: tps__number-dropdown-content", options: this.numberOptions, defaultInputOption: this.numberOptions.find((e) => e.value == this.selectedNumber.toString()) ?? this.numberOptions[0] }), r("select-dropdown", { key: "e173825b80107361a1d5323fcd3a5503b1d59de5", id: "time-period", name: "time-period", options: this.timePeriodOptions, exportparts: "sd_dropdown: tps__period-dropdown, sd_dropdown-button: tps__period-dropdown-button, sd_dropdown-content: tps__period-dropdown-content", pluralizedLabel: this.selectedNumber > 1 ? "s" : "", defaultSelectedOption: this.timePeriodOptions.find((e) => e.value == this.selectedPeriod) ?? this.timePeriodOptions[0], withSearch: !1 }));
193
204
  }
194
205
  get host() {
195
206
  return c(this);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-769f0fdd.cjs");require("react");require("react-dom");const d=".wave{display:flex;align-items:center;justify-content:center}.dot{width:4px;height:4px;background-color:var(--dot-color, white);border-radius:50%;margin:0 2px;animation:wave 1.5s infinite ease-in-out}.dot:nth-child(2){animation-delay:0.2s}.dot:nth-child(3){animation-delay:0.4s}@keyframes wave{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}",i=d,t=class{constructor(a){e.registerInstance(this,a),this.width="15",this.height="15"}render(){return e.h("div",{key:"ee82dd9858d420cd6b6d42a4571281ac65b759f0",class:"wave"},e.h("div",{key:"7a74e25e7bd8aa8f7f2d263148351ec67d587c2f",class:"dot"}),e.h("div",{key:"121eeeff24fa2bda6592b0b90567661fd3c25079",class:"dot"}),e.h("div",{key:"d1c7ecc10377c2f62f20f0837d9d4ba5ccbdbb40",class:"dot"}))}};t.style=i;exports.loading_icon=t;
@@ -0,0 +1,15 @@
1
+ import { r as e, h as t } from "./index-5851f0a2.js";
2
+ import "react";
3
+ import "react-dom";
4
+ const d = ".wave{display:flex;align-items:center;justify-content:center}.dot{width:4px;height:4px;background-color:var(--dot-color, white);border-radius:50%;margin:0 2px;animation:wave 1.5s infinite ease-in-out}.dot:nth-child(2){animation-delay:0.2s}.dot:nth-child(3){animation-delay:0.4s}@keyframes wave{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}", i = d, n = class {
5
+ constructor(a) {
6
+ e(this, a), this.width = "15", this.height = "15";
7
+ }
8
+ render() {
9
+ return t("div", { key: "ee82dd9858d420cd6b6d42a4571281ac65b759f0", class: "wave" }, t("div", { key: "7a74e25e7bd8aa8f7f2d263148351ec67d587c2f", class: "dot" }), t("div", { key: "121eeeff24fa2bda6592b0b90567661fd3c25079", class: "dot" }), t("div", { key: "d1c7ecc10377c2f62f20f0837d9d4ba5ccbdbb40", class: "dot" }));
10
+ }
11
+ };
12
+ n.style = i;
13
+ export {
14
+ n as loading_icon
15
+ };
@@ -1,5 +1,5 @@
1
- import { d as o, e as f } from "./index-2d032bec.js";
2
- import { X as u, Z as d } from "./index.es-9cc0eb3c-ee2ebbe1.js";
1
+ import { d as o, e as f } from "./index-5851f0a2.js";
2
+ import { X as u, Z as d } from "./index.es-9cc0eb3c-2cf4632f.js";
3
3
  class S {
4
4
  constructor(t, e) {
5
5
  this.nylasAuth = t, this.nylasAuthStore = e;
@@ -1 +1 @@
1
- "use strict";const n=require("./index-9c04361d.cjs"),i=require("./index.es-9cc0eb3c-2242baf6.cjs");class g{constructor(t,e){this.nylasAuth=t,this.nylasAuthStore=e}async validateSession(){const t=await this.isAccessTokenValid();if(!t)this.logout();else{let e=await this.nylasAuth.getTokenInfo();if(e){const a=Math.floor(Date.now()/1e3);if(e.expires_in&&e.expires_in-a<3e5&&(n.debug("[NylasAuthConnectorMixin] Refreshing access token"),e=await this.nylasAuth.refreshAccessToken(),!e)){n.debug("[NylasAuthConnectorMixin] Token is expired and could not be refreshed. Logging out."),this.logout();return}this.nylasAuthStore.state.tokenInfo=e}}this.nylasAuthStore.state.isAuthenticated=t}async isAuthenticated(){return this.nylasAuth.isAuthenticated()}async getTokenInfo(){return this.nylasAuth.getTokenInfo()}async isAccessTokenValid(){return this.nylasAuth.isAccessTokenValid()}async logout(){await this.nylasAuth.logout()}async getHostedAuthRedirectURL(t,e,s){return this.nylasAuth.getHostedAuthRedirectURL(t,e,s)}async manageHostedAuthCodeExchange(t){const s=new URL(t).searchParams.get("code");if(s){const a=await this.nylasAuth.exchangeAuthCodeForTokenInfo(s);if(a)return this.nylasAuthStore.state.tokenInfo=a,this.nylasAuthStore.state.isAuthenticated=!0,a}return null}}class f{constructor(t,e,s){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s}async getMessages(){var o;if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");this.nylasMailboxStore.state.state="loading";const t=this.nylasMailboxStore.state.messgeQueryParams,e=new URLSearchParams;for(const h in t){const u=(o=t[h])==null?void 0:o.toString();u&&e.append(h,u)}const s=`/v3/grants/me/messages?${e.toString()}`,a=await this.nylasAuth.nylasAPIRequest(s);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.messages=r,this.nylasMailboxStore.state.state="ready",r}async getThreadMessages(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=await this.nylasAuth.nylasAPIRequest(`/v3/grants/me/messages?thread_id=${t}&fields=include_headers`);if(i.Xr(e))throw new i.Zr(e.error);const s=e.data;return this.nylasMailboxStore.state.messages=s,s}downloadMessageAttachments(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=[],s=t.attachments||[];for(const a of s){const r=this.nylasAuth.nylasDownloadFileRequest(`/v3/grants/me/attachments/${a.id}?message_id=${t.id}`);e.push(r)}return e}async summarizeText(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=await this.nylasAuth.nylasAPIRequest("/v3/grants/me/mailbox/summarize","POST",{message:{body:t}},!0,this.nylasAuth.config.elementsApiUri);if(i.Xr(e))throw new i.Zr(e.error);return e.data.summary}async textToSpeech(t,e){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");return this.nylasAuth.nylasAPIRequest("/v3/grants/me/mailbox/tts","POST",{text:t},!1,this.nylasAuth.config.elementsApiUri,{...e?{signal:e==null?void 0:e.signal}:{}})}}class w{constructor(t,e,s,a){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s,this.router=a}async getThreads(t,e="overwrite",s=!0){var c;if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");s&&(this.nylasMailboxStore.state.state="loading");const a=t||this.nylasMailboxStore.state.threadsQueryParams,r=new URLSearchParams;for(const y in a){const d=(c=a[y])==null?void 0:c.toString();typeof d<"u"&&d!==null&&r.append(y,d)}a.search_query_native?this.router.navigate(`/?query=${a.search_query_native}`,!0):this.nylasMailboxStore.state.threadsQueryParams.search_query_native&&!a.search_query_native&&this.router.navigate("/",!0),a.page_token||(this.nylasMailboxStore.state.previousThreadPageTokens=[]),this.nylasMailboxStore.state.threadsQueryParams=a;const o=`/v3/grants/me/threads?${r.toString()}`,h=await this.nylasAuth.nylasAPIRequest(o);if(i.Xr(h))throw new i.Zr(h.error);const u=h.data;switch(e){case"prepend":this.nylasMailboxStore.state.threads=[...u,...this.nylasMailboxStore.state.threads];break;case"append":this.nylasMailboxStore.state.threads=[...this.nylasMailboxStore.state.threads,...u];break;case"overwrite":default:this.nylasMailboxStore.state.threads=u;break}return h.next_cursor?this.nylasMailboxStore.state.nextThreadPageToken=h.next_cursor:this.nylasMailboxStore.state.nextThreadPageToken=null,s&&(this.nylasMailboxStore.state.state="ready"),u}async getThread(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");const e=this.nylasMailboxStore.state.threads.find(o=>o.id===t);if(e)return e;this.nylasMailboxStore.state.state="loading";const s=`/v3/grants/me/threads/${t}`,a=await this.nylasAuth.nylasAPIRequest(s);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.threads=this.nylasMailboxStore.state.threads.map(o=>o.id===r.id?r:o),this.nylasMailboxStore.state.state="ready",r}async nextThreadPage(t="overwrite",e=!0){if(!this.nylasMailboxStore.state.nextThreadPageToken)throw new Error("No next page token");this.nylasMailboxStore.state.previousThreadPageTokens=Array.from(new Set([...this.nylasMailboxStore.state.previousThreadPageTokens,this.nylasMailboxStore.state.threadsQueryParams.page_token??null]));const s=this.nylasMailboxStore.state.nextThreadPageToken;return this.getThreads({...this.nylasMailboxStore.state.threadsQueryParams,page_token:s},t,e)}async previousThreadPage(t="overwrite",e=!0){if(!this.nylasMailboxStore.state.previousThreadPageTokens.length)throw new Error("No previous page token");const s=[...this.nylasMailboxStore.state.previousThreadPageTokens],a=s.pop();return this.nylasMailboxStore.state.previousThreadPageTokens=s,this.getThreads({...this.nylasMailboxStore.state.threadsQueryParams,page_token:a??void 0},t,e)}updateThreadQueryParams(t){this.nylasMailboxStore.state.threadsQueryParams={...this.nylasMailboxStore.state.threadsQueryParams,...t}}back(){this.router.navigate("/",!0),this.nylasMailboxStore.state.selectedThread=null}unSelectThread(){this.nylasMailboxStore.state.selectedThread=null}async selectThread(t){this.router.navigate(`/thread/${t.id}`,!0),this.nylasMailboxStore.state.selectedThread=t,t.unread&&this.markThreadAsRead(t).catch(e=>{n.debug("Error marking thread as read",e)})}async markThreadAsRead(t){return this.updateThread(t,{unread:!1})}async updateThread(t,e){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email","modify"))throw new Error("Missing thread:modify scope");const s=`/v3/grants/me/threads/${t.id}`,a=await this.nylasAuth.nylasAPIRequest(s,"PUT",e);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.threads=this.nylasMailboxStore.state.threads.map(o=>o.id===r.id?r:o),this.nylasMailboxStore.state.selectedThread=r,r}}class m{constructor(t,e,s){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s}async getFolders(){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");this.nylasMailboxStore.state.state="loading";const t="/v3/grants/me/folders",e=await this.nylasAuth.nylasAPIRequest(t);if(i.Xr(e))throw new i.Zr(e.error);const s=e.data;return this.nylasMailboxStore.state.folders=s,this.nylasMailboxStore.state.state="ready",s}async selectFolder(t){this.nylasMailboxStore.state.threadsQueryParams={in:t.id,...this.nylasMailboxStore.state.threadsQueryParams||{}}}}class p extends Event{constructor(t,e){super(t,e),this.oldURL=e.oldURL,this.newURL=e.newURL}}class S{constructor(){this.routeChangeListeners=[],n.debug("HashRouter constructor")}destroy(){n.debug("HashRouter destroy"),window.removeEventListener("hashchange",this.onRouteChange.bind(this))}init(){if(n.debug("HashRouter init"),window.addEventListener("hashchange",this.onRouteChange.bind(this)),typeof HashChangeEvent<"u"){const t=new HashChangeEvent("hashchange",{oldURL:"",newURL:window.location.href});this.onRouteChange(t)}else{const t=new p("hashchange",{oldURL:"",newURL:window.location.href});this.onRouteChange(t)}}addRouteChangeListener(t,e){n.debug("HashRouter addRouteChangeListener"),this.routeChangeListeners.push([t,e])}navigate(t,e){if(n.debug("HashRouter navigate"),e)return window.history.pushState(null,"",`#${t}`);window.location.hash=t}setRoute(t){n.debug("HashRouter setRoute"),window.location.hash=t}matchRoute(t,e){const s=t.split("/"),a=e.split("/");if(n.debug(`HashRouter matchRoute route=${t} path=${e}`,{routeParts:s,pathParts:a}),s[1]===""&&a[0]==="")return!0;if(s.length!==a.length)return!1;for(let r=0;r<s.length;r++){const o=s[r],h=a[r];if(!o.startsWith(":")&&o!==h)return!1}return!0}getRouteParams(t){n.debug("HashRouter getRouteParams");const e={},s=t.split("/"),a=window.location.hash.split("/");return s.forEach((r,o)=>{if(r.startsWith(":")){const h=r.substring(1);e[h]=a[o]}}),e}getRouteWithParams(t,e){n.debug("HashRouter getRouteWithParams");let s=t;return Object.keys(e).forEach(a=>{s=s.replace(`:${a}`,e[a])}),s}getRoute(){return n.debug("HashRouter getRoute"),window.location.hash}onRouteChange(t){this.routeChangeListeners.forEach(async([e,s])=>{const a=t.newURL.indexOf("#")===-1?"":t.newURL.substring(t.newURL.indexOf("#")+1);if(n.debug(`HashRouter onRouteChange route=${e} path=${a}`,{event:t}),!this.matchRoute(e,a)){n.debug(`HashRouter onRouteChange route=${e} path=${a} does not match`);return}const r=this.getRouteParams(e);await s(e,a,r)})}getBasePath(){return n.debug("HashRouter getBasePath"),""}}function A(l={}){const t={isAuthenticated:!1,tokenInfo:null,state:"ready",...l},e=n.createStore(t);return e.reset=()=>{for(const s in t){const a=t[s];e.set(s,a)}},e}function x(l={}){const t={state:"ready",messages:[],threads:[],folders:[],selectedThread:null,nextThreadPageToken:null,previousThreadPageTokens:[],searchQuery:"",hasNextThreadPage:!1,hasPreviousThreadPage:!1,selectedFolder:"inbox",threadsQueryParams:{in:"inbox"},messgeQueryParams:{fields:"include_headers"},...l},e=n.createStore({...t});return e.onChange("nextThreadPageToken",s=>{e.set("hasNextThreadPage",s!==null)}),e.onChange("previousThreadPageTokens",s=>{e.set("hasPreviousThreadPage",s.length>0)}),e.onChange("threadsQueryParams",s=>{e.set("selectedFolder",s.in||"inbox"),e.set("searchQuery",s.search_query_native||"")}),e.reset=()=>{for(const s in t){const a=t[s];e.set(s,a)}},e}exports.CreateNylasAuthStore=A;exports.CreateNylasMailboxStore=x;exports.HashRouter=S;exports.NylasAuthConnector=g;exports.NylasFoldersConnector=m;exports.NylasMessagesConnector=f;exports.NylasThreadsConnector=w;
1
+ "use strict";const n=require("./index-769f0fdd.cjs"),i=require("./index.es-9cc0eb3c-e8de46e6.cjs");class g{constructor(t,e){this.nylasAuth=t,this.nylasAuthStore=e}async validateSession(){const t=await this.isAccessTokenValid();if(!t)this.logout();else{let e=await this.nylasAuth.getTokenInfo();if(e){const a=Math.floor(Date.now()/1e3);if(e.expires_in&&e.expires_in-a<3e5&&(n.debug("[NylasAuthConnectorMixin] Refreshing access token"),e=await this.nylasAuth.refreshAccessToken(),!e)){n.debug("[NylasAuthConnectorMixin] Token is expired and could not be refreshed. Logging out."),this.logout();return}this.nylasAuthStore.state.tokenInfo=e}}this.nylasAuthStore.state.isAuthenticated=t}async isAuthenticated(){return this.nylasAuth.isAuthenticated()}async getTokenInfo(){return this.nylasAuth.getTokenInfo()}async isAccessTokenValid(){return this.nylasAuth.isAccessTokenValid()}async logout(){await this.nylasAuth.logout()}async getHostedAuthRedirectURL(t,e,s){return this.nylasAuth.getHostedAuthRedirectURL(t,e,s)}async manageHostedAuthCodeExchange(t){const s=new URL(t).searchParams.get("code");if(s){const a=await this.nylasAuth.exchangeAuthCodeForTokenInfo(s);if(a)return this.nylasAuthStore.state.tokenInfo=a,this.nylasAuthStore.state.isAuthenticated=!0,a}return null}}class f{constructor(t,e,s){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s}async getMessages(){var o;if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");this.nylasMailboxStore.state.state="loading";const t=this.nylasMailboxStore.state.messgeQueryParams,e=new URLSearchParams;for(const h in t){const u=(o=t[h])==null?void 0:o.toString();u&&e.append(h,u)}const s=`/v3/grants/me/messages?${e.toString()}`,a=await this.nylasAuth.nylasAPIRequest(s);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.messages=r,this.nylasMailboxStore.state.state="ready",r}async getThreadMessages(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=await this.nylasAuth.nylasAPIRequest(`/v3/grants/me/messages?thread_id=${t}&fields=include_headers`);if(i.Xr(e))throw new i.Zr(e.error);const s=e.data;return this.nylasMailboxStore.state.messages=s,s}downloadMessageAttachments(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=[],s=t.attachments||[];for(const a of s){const r=this.nylasAuth.nylasDownloadFileRequest(`/v3/grants/me/attachments/${a.id}?message_id=${t.id}`);e.push(r)}return e}async summarizeText(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=await this.nylasAuth.nylasAPIRequest("/v3/grants/me/mailbox/summarize","POST",{message:{body:t}},!0,this.nylasAuth.config.elementsApiUri);if(i.Xr(e))throw new i.Zr(e.error);return e.data.summary}async textToSpeech(t,e){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");return this.nylasAuth.nylasAPIRequest("/v3/grants/me/mailbox/tts","POST",{text:t},!1,this.nylasAuth.config.elementsApiUri,{...e?{signal:e==null?void 0:e.signal}:{}})}}class w{constructor(t,e,s,a){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s,this.router=a}async getThreads(t,e="overwrite",s=!0){var c;if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");s&&(this.nylasMailboxStore.state.state="loading");const a=t||this.nylasMailboxStore.state.threadsQueryParams,r=new URLSearchParams;for(const y in a){const d=(c=a[y])==null?void 0:c.toString();typeof d<"u"&&d!==null&&r.append(y,d)}a.search_query_native?this.router.navigate(`/?query=${a.search_query_native}`,!0):this.nylasMailboxStore.state.threadsQueryParams.search_query_native&&!a.search_query_native&&this.router.navigate("/",!0),a.page_token||(this.nylasMailboxStore.state.previousThreadPageTokens=[]),this.nylasMailboxStore.state.threadsQueryParams=a;const o=`/v3/grants/me/threads?${r.toString()}`,h=await this.nylasAuth.nylasAPIRequest(o);if(i.Xr(h))throw new i.Zr(h.error);const u=h.data;switch(e){case"prepend":this.nylasMailboxStore.state.threads=[...u,...this.nylasMailboxStore.state.threads];break;case"append":this.nylasMailboxStore.state.threads=[...this.nylasMailboxStore.state.threads,...u];break;case"overwrite":default:this.nylasMailboxStore.state.threads=u;break}return h.next_cursor?this.nylasMailboxStore.state.nextThreadPageToken=h.next_cursor:this.nylasMailboxStore.state.nextThreadPageToken=null,s&&(this.nylasMailboxStore.state.state="ready"),u}async getThread(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");const e=this.nylasMailboxStore.state.threads.find(o=>o.id===t);if(e)return e;this.nylasMailboxStore.state.state="loading";const s=`/v3/grants/me/threads/${t}`,a=await this.nylasAuth.nylasAPIRequest(s);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.threads=this.nylasMailboxStore.state.threads.map(o=>o.id===r.id?r:o),this.nylasMailboxStore.state.state="ready",r}async nextThreadPage(t="overwrite",e=!0){if(!this.nylasMailboxStore.state.nextThreadPageToken)throw new Error("No next page token");this.nylasMailboxStore.state.previousThreadPageTokens=Array.from(new Set([...this.nylasMailboxStore.state.previousThreadPageTokens,this.nylasMailboxStore.state.threadsQueryParams.page_token??null]));const s=this.nylasMailboxStore.state.nextThreadPageToken;return this.getThreads({...this.nylasMailboxStore.state.threadsQueryParams,page_token:s},t,e)}async previousThreadPage(t="overwrite",e=!0){if(!this.nylasMailboxStore.state.previousThreadPageTokens.length)throw new Error("No previous page token");const s=[...this.nylasMailboxStore.state.previousThreadPageTokens],a=s.pop();return this.nylasMailboxStore.state.previousThreadPageTokens=s,this.getThreads({...this.nylasMailboxStore.state.threadsQueryParams,page_token:a??void 0},t,e)}updateThreadQueryParams(t){this.nylasMailboxStore.state.threadsQueryParams={...this.nylasMailboxStore.state.threadsQueryParams,...t}}back(){this.router.navigate("/",!0),this.nylasMailboxStore.state.selectedThread=null}unSelectThread(){this.nylasMailboxStore.state.selectedThread=null}async selectThread(t){this.router.navigate(`/thread/${t.id}`,!0),this.nylasMailboxStore.state.selectedThread=t,t.unread&&this.markThreadAsRead(t).catch(e=>{n.debug("Error marking thread as read",e)})}async markThreadAsRead(t){return this.updateThread(t,{unread:!1})}async updateThread(t,e){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email","modify"))throw new Error("Missing thread:modify scope");const s=`/v3/grants/me/threads/${t.id}`,a=await this.nylasAuth.nylasAPIRequest(s,"PUT",e);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.threads=this.nylasMailboxStore.state.threads.map(o=>o.id===r.id?r:o),this.nylasMailboxStore.state.selectedThread=r,r}}class m{constructor(t,e,s){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s}async getFolders(){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");this.nylasMailboxStore.state.state="loading";const t="/v3/grants/me/folders",e=await this.nylasAuth.nylasAPIRequest(t);if(i.Xr(e))throw new i.Zr(e.error);const s=e.data;return this.nylasMailboxStore.state.folders=s,this.nylasMailboxStore.state.state="ready",s}async selectFolder(t){this.nylasMailboxStore.state.threadsQueryParams={in:t.id,...this.nylasMailboxStore.state.threadsQueryParams||{}}}}class p extends Event{constructor(t,e){super(t,e),this.oldURL=e.oldURL,this.newURL=e.newURL}}class S{constructor(){this.routeChangeListeners=[],n.debug("HashRouter constructor")}destroy(){n.debug("HashRouter destroy"),window.removeEventListener("hashchange",this.onRouteChange.bind(this))}init(){if(n.debug("HashRouter init"),window.addEventListener("hashchange",this.onRouteChange.bind(this)),typeof HashChangeEvent<"u"){const t=new HashChangeEvent("hashchange",{oldURL:"",newURL:window.location.href});this.onRouteChange(t)}else{const t=new p("hashchange",{oldURL:"",newURL:window.location.href});this.onRouteChange(t)}}addRouteChangeListener(t,e){n.debug("HashRouter addRouteChangeListener"),this.routeChangeListeners.push([t,e])}navigate(t,e){if(n.debug("HashRouter navigate"),e)return window.history.pushState(null,"",`#${t}`);window.location.hash=t}setRoute(t){n.debug("HashRouter setRoute"),window.location.hash=t}matchRoute(t,e){const s=t.split("/"),a=e.split("/");if(n.debug(`HashRouter matchRoute route=${t} path=${e}`,{routeParts:s,pathParts:a}),s[1]===""&&a[0]==="")return!0;if(s.length!==a.length)return!1;for(let r=0;r<s.length;r++){const o=s[r],h=a[r];if(!o.startsWith(":")&&o!==h)return!1}return!0}getRouteParams(t){n.debug("HashRouter getRouteParams");const e={},s=t.split("/"),a=window.location.hash.split("/");return s.forEach((r,o)=>{if(r.startsWith(":")){const h=r.substring(1);e[h]=a[o]}}),e}getRouteWithParams(t,e){n.debug("HashRouter getRouteWithParams");let s=t;return Object.keys(e).forEach(a=>{s=s.replace(`:${a}`,e[a])}),s}getRoute(){return n.debug("HashRouter getRoute"),window.location.hash}onRouteChange(t){this.routeChangeListeners.forEach(async([e,s])=>{const a=t.newURL.indexOf("#")===-1?"":t.newURL.substring(t.newURL.indexOf("#")+1);if(n.debug(`HashRouter onRouteChange route=${e} path=${a}`,{event:t}),!this.matchRoute(e,a)){n.debug(`HashRouter onRouteChange route=${e} path=${a} does not match`);return}const r=this.getRouteParams(e);await s(e,a,r)})}getBasePath(){return n.debug("HashRouter getBasePath"),""}}function A(l={}){const t={isAuthenticated:!1,tokenInfo:null,state:"ready",...l},e=n.createStore(t);return e.reset=()=>{for(const s in t){const a=t[s];e.set(s,a)}},e}function x(l={}){const t={state:"ready",messages:[],threads:[],folders:[],selectedThread:null,nextThreadPageToken:null,previousThreadPageTokens:[],searchQuery:"",hasNextThreadPage:!1,hasPreviousThreadPage:!1,selectedFolder:"inbox",threadsQueryParams:{in:"inbox"},messgeQueryParams:{fields:"include_headers"},...l},e=n.createStore({...t});return e.onChange("nextThreadPageToken",s=>{e.set("hasNextThreadPage",s!==null)}),e.onChange("previousThreadPageTokens",s=>{e.set("hasPreviousThreadPage",s.length>0)}),e.onChange("threadsQueryParams",s=>{e.set("selectedFolder",s.in||"inbox"),e.set("searchQuery",s.search_query_native||"")}),e.reset=()=>{for(const s in t){const a=t[s];e.set(s,a)}},e}exports.CreateNylasAuthStore=A;exports.CreateNylasMailboxStore=x;exports.HashRouter=S;exports.NylasAuthConnector=g;exports.NylasFoldersConnector=m;exports.NylasMessagesConnector=f;exports.NylasThreadsConnector=w;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-769f0fdd.cjs"),f=require("./register-component-a5a9ca5d-8b06415c.cjs"),h=require("./constants-f34b9c6e-ebc2e19c.cjs"),w=require("./index-6d9eeb53-ded66877.cjs");require("./index-53420959-16700a42.cjs");require("react");require("react-dom");const X=':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}sp-theme{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 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}.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}.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-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:16px;padding:8px;font-family:var(--nylas-font-family);font-weight:600;height:48px;line-height:24px}sp-button.cancel{color:var(--nylas-error)}sp-button.cancel:hover,sp-button.cancel:focus{border-color:var(--nylas-error)}sp-button.cancel:active{color:var(--nylas-error-pressed);border-color:var(--nylas-error-pressed)}sp-button.reschedule:hover,sp-button.reschedule:focus{border-color:var(--nylas-primary)}sp-button.reschedule:active{border-color:var(--nylas-base-600)}sp-divider{background-color:var(--nylas-base-200);height:1px}calendar-check-icon{display:flex;align-items:center;justify-content:center;height:100%}',J=X;var K=function(e,a,n,s){var o=arguments.length,i=o<3?a:s===null?s=Object.getOwnPropertyDescriptor(a,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,a,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(a,n,i):r(a,n))||i);return o>3&&i&&Object.defineProperty(a,n,i),i},_=function(e,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,a)};const M=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;const a=new Date(this.selectedTimeslot.start_time),n=(o=this.configSettings)==null?void 0:o.scheduler.min_cancellation_notice,s=a.getTime()-n*60*1e3;a.getTime()<s?this.cancelBookedEventValidationError.emit({error:{title:"Cancellation Error",message:`You cannot cancel the booking within ${n} minutes of the event.`}}):this.cancelBookingButtonClicked.emit({bookingId:this.eventInfo.booking_id})},this.handleRescheduleButtonClicked=()=>{const a=n=>{this.rescheduleBookedEventError.emit(n)};this.rescheduleButtonClicked.emit({bookingId:this.eventInfo.booking_id,errorHandler:a})},this.getOrganizer=a=>a==null?void 0:a.organizer,this.getPaticipantType=a=>{switch(a){case"host":return"Host";case"you":return"You";default:return""}},this.eventInfo=void 0,this.rescheduleBookingId=void 0,this.bookingInfo=void 0,this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.selectedTimeslot=void 0,this.configSettings=void 0}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){t.debug("[nylas-booked-event-card] Component will load")}async componentDidLoad(){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.')}render(){var e,a,n,s,o,i,r,l,c,d,u,p,y,g,m,b,v,$,G,q,V;return t.h(t.Host,{key:"25f461e554d352c8b62341f77c84d61521a40472",part:"nbec"},t.h("sp-theme",{key:"fa7ae9d97b3c334d71a64076bd6c5787b48b124b",theme:"spectrum",color:"dark",scale:"medium"},t.h("div",{key:"731d9d89bfc2f63b8a1095ea671f39d1a99dc4a4",class:"booked-event-timezone"},t.h("globe-icon",{key:"e7a7d73d7c9461f34145ddf3e99bf5640b39ab56"}),h.TIMEZONE_MAP[this.selectedTimezone]),t.h("div",{key:"dbb07cac45a1528a2633119af6050a630f8df173",class:"event-card-wrapper",part:"nbec__card"},t.h("div",{key:"79b6b636707f8e867358da1b4340e6f0bfeb386e",class:"calendar-icon"},t.h("calendar-check-icon",{key:"a268b01ecbf64976dc61c9e3c66a67cade9d2227"})),t.h("div",{key:"52c4c97407582b05bfb87e1379930f7cf149c013",class:"booked-event-header"},t.h("h2",{key:"ed4631c601b4920b20c27d158063dcbef92084d4",slot:"card-title",part:"nbec__title"},"Booking ",this.rescheduleBookingId?"rescheduled":"confirmed","!"),t.h("div",{key:"f5e93f73c4828764cb7e27cc3d5ab2b761e66fdc",part:"nbec__description"},((e=this.getOrganizer(this.eventInfo))==null?void 0:e.name)||((a=this.getOrganizer(this.eventInfo))==null?void 0:a.email)," & ",((s=(n=this.bookingInfo)==null?void 0:n.primaryParticipant)==null?void 0:s.name)||((i=(o=this.bookingInfo)==null?void 0:o.primaryParticipant)==null?void 0:i.email))),t.h("sp-divider",{key:"d9f14eeb24c4935f131edebb3102ffd69d2bde43"}),t.h("div",{key:"57f6f7877162eb8de8898d6523dac452b3c841e9",class:"booking-date-time"},t.h("checkmark-circle-icon",{key:"5bd672ae7c70b0102d6a14e2761b8ecc222ce488"}),t.h("h3",{key:"5e8ca582a26a51f790ca111648381a10f8ef917c"},"Booking date and time"),t.h("p",{key:"0b98f73c94add678003f63cd1e59352f7acd29b3"},new Date((r=this.selectedTimeslot)==null?void 0:r.start_time).toLocaleDateString(void 0,{dateStyle:"full"})," ",t.h("br",{key:"cc2a50917760651ca2e015fa22f264740b545a58"}),new Date((l=this.selectedTimeslot)==null?void 0:l.start_time).toLocaleTimeString(void 0,{timeStyle:"short"})," -"," ",new Date((c=this.selectedTimeslot)==null?void 0:c.end_time).toLocaleTimeString(void 0,{timeStyle:"short"}))),t.h("div",{key:"5ccf1dbc6002c9eaf60b3bd9211e590ab9135d68",class:"booking-participants"}),t.h("sp-divider",{key:"7ff9b9f4fa4bfc19da47d358ddda325b13b1a465"}),t.h("div",{key:"2c3d69854b255864cca3782a9ad87175a18d8cf9",class:{footer:!0,"no-footer":((u=(d=this.configSettings)==null?void 0:d.scheduler)==null?void 0:u.hide_cancellation_options)&&((y=(p=this.configSettings)==null?void 0:p.scheduler)==null?void 0:y.hide_rescheduling_options),"no-template-cols":((m=(g=this.configSettings)==null?void 0:g.scheduler)==null?void 0:m.hide_cancellation_options)||((v=(b=this.configSettings)==null?void 0:b.scheduler)==null?void 0:v.hide_rescheduling_options)}},!((G=($=this.configSettings)==null?void 0:$.scheduler)!=null&&G.hide_cancellation_options)&&t.h("sp-button",{variant:"secondary",treatment:"outline",class:"cancel",onClick:this.handleCancelBookingButtonClicked,part:"nbec__button-outline nbec__cancel-cta"},"Cancel booking"),!((V=(q=this.configSettings)==null?void 0:q.scheduler)!=null&&V.hide_rescheduling_options)&&t.h("sp-button",{variant:"secondary",treatment:"outline",class:"reschedule",onClick:this.handleRescheduleButtonClicked,part:"nbec__button-outline nbec__reschedule-cta"},"Reschedule")))))}};K([f.RegisterComponent({name:"nylas-booked-event-card",stateToProps:new Map([["scheduler.bookingInfo","bookingInfo"],["scheduler.rescheduleBookingId","rescheduleBookingId"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.configSettings","configSettings"]]),eventToProps:{cancelBookingButtonClicked:async(e,a)=>{a.scheduler.setCancel(e.detail.bookingId)},rescheduleButtonClicked:async(e,a)=>{const n=await a.scheduler.setReschedule(e.detail.bookingId),{errorHandler:s}=e.detail;s&&(!n||"error"in n)&&s(n)}},fireRegisterEvent:!0}),_("design:type",Function),_("design:paramtypes",[]),_("design:returntype",void 0)],M.prototype,"render",null);M.style=J;const Q=':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:flex;flex-direction:row;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{flex-direction:column-reverse}}sp-button{background-color:transparent;color:var(--nylas-base-800);border-radius:var(--nylas-border-radius-2x);--button-width:50%;font-family:var(--nylas-font-family);font-size:16px;font-weight:600;border:none;height:48px;padding:14px}@media screen and (max-width: 768px){sp-button{--button-width:100%}}sp-button:hover,sp-button:focus{background-color:var(--nylas-base-100);color:var(--nylas-primary);border-radius:var(--nylas-border-radius-2x)}sp-button:active{background-color:var(--nylas-base-200);color:var(--nylas-base-800)}sp-button.back{width:var(--button-width);background-color:transparent;color:var(--nylas-base-700);outline:1px solid var(--nylas-base-300)}sp-button.back:hover,sp-button.back:focus{outline-color:var(--nylas-primary)}sp-button.back:active{outline:2px solid var(--nylas-base-600)}sp-button.book{width:var(--button-width);background-color:var(--nylas-primary);color:var(--nylas-base-0)}sp-button.book:hover,sp-button.book:focus{background-color:var(--nylas-base-600)}sp-button.book:active{background-color:var(--nylas-base-800)}.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)}.guest-email-input{position:relative;display:flex;width:100%}',ee=Q;var te=function(e,a,n,s){var o=arguments.length,i=o<3?a:s===null?s=Object.getOwnPropertyDescriptor(a,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,a,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(a,n,i):r(a,n))||i);return o>3&&i&&Object.defineProperty(a,n,i),i},E=function(e,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,a)};const k=/^[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])?)*$/,F=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=(a,n)=>{this.resetGuestEmailError(a);const s=[...this.guestEmails];s[a]=w.sanitizeHtml$1(n),this.guestEmails=[...s]},this.handleGuestBlur=(a,n)=>{if(this.resetGuestEmailError(a),n===""){this.guestEmailErrors[a]="Email is required";return}if(!k.test(n)){this.guestEmailErrors[a]="Enter a valid email address";return}this.handleGuestChange(a,n)},this.addGuestButtonClickedHandler=a=>{a.preventDefault(),this.guestEmails=[...this.guestEmails,""]},this.removeGuestButtonClickHandler=(a,n)=>{a.preventDefault(),this.resetGuestEmailError(n);const s=[...this.guestEmails];s.splice(n,1),this.guestEmails=[...s]},this.handleBackButtonClicked=()=>{this.backButtonClicked.emit()},this.bookButtonClickedHandler=async a=>{var l,c,d,u,p,y,g;if(a.preventDefault(),this.bookingFormSubmitted.emit().defaultPrevented)return;t.debug("nylas-booking-form","bookButtonClickedHandler",this.bookingInfo);const s=this.name||((c=(l=this.bookingInfo)==null?void 0:l.primaryParticipant)==null?void 0:c.name),o=this.email||((u=(d=this.bookingInfo)==null?void 0:d.primaryParticipant)==null?void 0:u.email);if(!s||s===""){this.isNameValid=!1,this.validationError.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="Email is required",this.bookingFormError.emit({title:"Booking form error",description:"Email is required"});return}if(!k.test(o)){this.isEmailValid=!1,this.validationError.email="Enter a valid email address",this.bookingFormError.emit({title:"Booking form error",description:"Invalid email"});return}let i=[];if(this.guestEmails.length>0){let m=!1;if(this.guestEmails.forEach((b,v)=>{b===""?(m=!0,this.guestEmailErrors={...this.guestEmailErrors,[v]:"Email is required"}):k.test(b)||(m=!0,this.guestEmailErrors={...this.guestEmailErrors,[v]:"Enter a valid email address"})}),m){this.bookingFormError.emit({title:"Booking form error",description:"Invalid guest email"});return}i=this.guestEmails.map(b=>({name:b.trim(),email:b.trim()}))}else(p=this.bookingInfo)!=null&&p.guests&&(i=(y=this.bookingInfo)==null?void 0:y.guests);const r=((g=this.bookingInfo)==null?void 0:g.additionalFields)||[];this.detailsConfirmed.emit({primaryParticipant:{name:s,email:o},guests:i,additionalFields:[...r,...this.additionalFields]})},this.updateAdditionalFields=(a,n,s)=>{const o=this.additionalFields.findIndex(i=>i.name===a);o>-1?this.additionalFields[o].value=n:this.additionalFields.push({name:a,value:n,type:s||"text"})},this.isLoading=void 0,this.bookingInfo=void 0,this.eventInfo=void 0,this.configSettings=void 0,this.name="",this.email="",this.guestEmails=[],this.guestEmailErrors={},this.isNameValid=!0,this.isEmailValid=!0,this.additionalFields=[],this.validationError={name:"",email:""}}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){var e,a,n;t.debug("nylas-booking-form","componentWillLoad",this.bookingInfo),this.bookingInfo&&((e=this.bookingInfo)!=null&&e.primaryParticipant)&&(this.name=(a=this.bookingInfo.primaryParticipant)==null?void 0:a.name,this.email=(n=this.bookingInfo.primaryParticipant)==null?void 0:n.email)}bookingInfoChangedHandler(e){e&&e.primaryParticipant&&(this.name=e.primaryParticipant.name,this.email=e.primaryParticipant.email)}changeName(e){this.isNameValid=!0,this.validationError.name="",this.name=w.sanitizeHtml$1(e),this.nameChanged.emit(e)}changeEmail(e){this.isEmailValid=!0,this.validationError.email="",this.email=w.sanitizeHtml$1(e),this.emailChanged.emit(e)}resetGuestEmailError(e){const a={...this.guestEmailErrors};delete a[e],this.guestEmailErrors={...a}}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.label,e.detail.value,e.detail.type);break}e.detail.name==="name"?this.changeName(e.detail.value):e.detail.name==="email"&&this.changeEmail(e.detail.value)}selectOptionChangedHandler(e){if(e.detail.error){this.bookingFormError.emit({title:"Booking form error",description:e.detail.error});return}this.updateAdditionalFields(e.detail.label,e.detail.value,"dropdown")}switchToggledHandler(e){this.updateAdditionalFields(e.detail.label,e.detail.checked?"true":"false","checkbox")}checkboxToggledHandler(e){this.updateAdditionalFields(e.detail.label,e.detail.checked?"true":"false","checkbox")}render(){var e,a,n,s,o,i;return t.h(t.Host,{key:"5a4ca2feb2f89ada6abada8dd3f6dc4909cb3500"},t.h("form",{key:"1df9fb2f5a519f4e3ed189f9a11623caa86f3dee",onSubmit:r=>this.bookButtonClickedHandler(r),noValidate:!0},t.h("div",{key:"86a4548532291a4aec3f004eeeb6edde6064248b",class:"nylas-booking-form"},t.h("div",{key:"7749795a2086658ef53cbe1e6dfa073b29b8b880",class:"input-wrapper"},t.h("input-component",{key:"b2fd6473fa91b144cb2a23d1db9059f7aafce20b",label:"Name",name:"name",id:"name",defaultValue:((a=(e=this.bookingInfo)==null?void 0:e.primaryParticipant)==null?void 0:a.name)||this.name,placeholder:"Enter your name",type:"text",required:!0,part:"nbf__input-textfield"})),t.h("div",{key:"cf6fca8e8ced455047b555905e5b21ad7307505d",class:"input-wrapper"},t.h("input-component",{key:"0a5639811623911f7ed59fa12bd45ceb76ae0373",label:"Email",name:"email",id:"email",pattern:k,defaultValue:((s=(n=this.bookingInfo)==null?void 0:n.primaryParticipant)==null?void 0:s.email)||this.email,placeholder:"Enter your email",type:"email",required:!0,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"},this.guestEmails.map((r,l)=>t.h("div",{class:"input-wrapper button-wrapper"},t.h("label",{class:{error:!!this.guestEmailErrors[l]}},"Guest email"),t.h("div",{class:"guest-email-input"},t.h("input",{type:"email",id:`guest-email-${l}`,maxLength:100,class:{"guest-email":!0,error:!!this.guestEmailErrors[l]},placeholder:"Enter guest email",value:r,"data-index":l,part:"nbf__input-textfield",onBlur:c=>{var d;return this.handleGuestBlur(l,(d=c.target)==null?void 0:d.value)},onInput:c=>{var d;return this.handleGuestChange(l,(d=c.target)==null?void 0:d.value)}}),t.h("button-component",{variant:"basic",onClick:c=>this.removeGuestButtonClickHandler(c,l),class:{"remove-guest":!0,error:!!this.guestEmailErrors[l]}},t.h("close-icon",null))),t.h("p",{class:"help-text"},this.guestEmailErrors[l]))),t.h("button-component",{class:"add-guest",variant:"invisible",part:"nbf__button-ghost",onClick:r=>this.addGuestButtonClickedHandler(r)},t.h("div",{class:"button-content"},t.h("add-circle-icon",{slot:"icon"}),"Add ",this.guestEmails.length>0?"another ":"","guest"))),t.h("slot",{key:"d853e1e084cb8c769fa0eb0b1e94b09473f6e670",name:"custom-booking-form"})),t.h("div",{key:"5239eabf55e8be79d1c17b71c6d7f392f563d54d",class:"cta"},t.h("sp-button",{key:"7b11d64985c876327144ef026934357b37b09cb2",treatment:"outline",variant:"secondary",class:"back",part:"nbf__button-outline",onClick:this.handleBackButtonClicked},t.h("slot",{key:"160c368859256544a236a6a010f06eab039dc2ce",name:"booking-form-back-label"},"Back")),t.h("sp-button",{key:"6f6c79cf9d8bef6178af788e427f62262d873738",variant:"primary",class:"book",part:"nbf__button-primary",type:"submit"},this.isLoading&&t.h("loading-icon",{slot:"icon"}),t.h("slot",{key:"6fedba0ecc756ceb8941158b6620cdf1df6fe3c0",name:"booking-form-book-label"},"Book now")))))}get host(){return t.getElement(this)}static get watchers(){return{bookingInfo:["bookingInfoChangedHandler"]}}};te([f.RegisterComponent({name:"nylas-booking-form",stateToProps:new Map([["scheduler.isLoading","isLoading"],["scheduler.bookingInfo","bookingInfo"],["scheduler.eventInfo","eventInfo"],["scheduler.configSettings","configSettings"]]),eventToProps:{backButtonClicked:async(e,a)=>{a.scheduler.toggleAdditionalData(!1)},nameChanged:async(e,a)=>{a.scheduler.setParticipantName(e.detail)},emailChanged:async(e,a)=>{a.scheduler.setParticipantEmail(e.detail)}},fireRegisterEvent:!0}),E("design:type",Function),E("design:paramtypes",[]),E("design:returntype",void 0)],F.prototype,"render",null);F.style=ee;const ae=':host{display:block;width:400px;--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}sp-theme{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;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__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)}.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%}sp-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:16px;font-weight:600;width:100%;height:48px;padding:8px;line-height:24px;font-family:var(--nylas-font-family)}sp-button.cancel{margin-top:1.25rem;background-color:var(--nylas-primary);color:var(--nylas-base-0)}sp-button.cancel:hover,sp-button.cancel:focus{background-color:var(--nylas-base-600)}sp-button.cancel:active{background-color:var(--nylas-base-800)}sp-button.back{margin-top:0.5rem}sp-button.back:hover,sp-button.back:focus{border-color:var(--nylas-primary)}sp-button.back:active{border-color:var(--nylas-base-600)}sp-field-label{margin-top:1rem;display:flex;color:var(--nylas-base-800);font-size:14px}sp-field-label.error{color:var(--nylas-error)}sp-field-label span.required{color:var(--nylas-error)}sp-textfield{--spectrum-textfield-border-color:var(--nylas-base-300);--spectrum-textfield-icon-color-invalid:var(--nylas-error);position:relative;width:100%;height:48px;margin-bottom:16px;background-color:var(--nylas-base-0);color:var(--nylas-base-500)}sp-textfield.error{--spectrum-textfield-border-color:var(--nylas-error)}sp-help-text{margin:0.25rem 0 1rem 0;color:var(--nylas-error)}',ne=ae;var ie=function(e,a,n,s){var o=arguments.length,i=o<3?a:s===null?s=Object.getOwnPropertyDescriptor(a,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,a,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(a,n,i):r(a,n))||i);return o>3&&i&&Object.defineProperty(a,n,i),i},D=function(e,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,a)};const j=class{constructor(e){var a,n;t.registerInstance(this,e),this.goBackButtonClicked=t.createEvent(this,"goBackButtonClicked",7),this.cancelBookingFormSubmitted=t.createEvent(this,"cancelBookingFormSubmitted",7),this.cancelBookedEventError=t.createEvent(this,"cancelBookedEventError",7),this.cancelBookingFormError=t.createEvent(this,"cancelBookingFormError",7),this.handleGoBackClicked=()=>{this.goBackButtonClicked.emit()},this.handleSubmitCancelBooking=s=>{if(s.preventDefault(),!this.cancellationReason){this.cancellationError="Please provide a reason for cancellation.",this.cancelBookingFormError.emit({title:"Cancel booking form error",description:"Please provide a reason for cancellation."});return}t.debug(`[nylas-cancel-booking-form] Cancel booking form submitted with reason: ${this.cancellationReason}`);const o=i=>{this.cancelBookedEventError.emit(i)};this.cancelBookingFormSubmitted.emit({bookingId:this.cancelBookingId,reason:this.cancellationReason,errorHandler:o})},this.handleOnChangeCancellationReason=s=>{this.cancellationError="",this.cancellationReason=s.target.value},this.cancelBookingId=void 0,this.configSettings=void 0,this.cancellationReason="",this.cancellationError="",this.cancellationPolicy=((n=(a=this.configSettings)==null?void 0:a.scheduler)==null?void 0:n.cancellation_policy)||"Your current timeslot will become available to others."}configSettingsChangedHandler(e){var a;this.cancellationPolicy=((a=e==null?void 0:e.scheduler)==null?void 0:a.cancellation_policy)||"Your current timeslot will become available to others."}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.')}disconnectedCallback(){t.debug("[nylas-cancel-booking-form] Component disconnected")}render(){return t.h(t.Host,{key:"25f45d91057f52263ae313ffed14d56ba22a783d",part:"ncec"},t.h("sp-theme",{key:"c213bc36d8459f0c206ca19bdd77d2d6b5ba5c1b",theme:"spectrum",scale:"medium"},t.h("div",{key:"bd50aa9a5c416825bc6b05c0bf47d85a31021c29",class:"nylas-cancel-booking-form",part:"ncec__card"},t.h("div",{key:"9654b0cbda12436ac025265f82aa8bfe0a127fbd",class:"nylas-cancel-booking-form__calendar-icon",part:"ncec__icon"},t.h("calendar-cancel-icon",{key:"3a97606f7c5f2e0f9c08dc7f0b199e56a4afa7f4"})),t.h("h3",{key:"26c0a115101786847fa681fa2cb3492561516f64",class:"nylas-cancel-booking-form__title",part:"ncec__title"},"Cancel booking?"),t.h("div",{key:"05fe59fff1fa6b8bf38313bef5457d4022674570",class:"nylas-cancel-booking-form__description",part:"ncec__description"},this.cancellationPolicy),t.h("form",{key:"6c3c1365bde80d1915026f125be9208c3c16d69c",onSubmit:this.handleSubmitCancelBooking},t.h("sp-field-label",{key:"fca2f04d8300b0e1be7a8071fed69c714f82491e",for:"cancel-reason",class:this.cancellationError?"error":""},"Reason for cancellation ",t.h("span",{key:"1a77038fbda4048fca0e7cc8a39ad357a10f0fd7",class:"required"},"*")),t.h("sp-textfield",{key:"dbb19d14b09f7b85776ca288ec8f9fe58d5080f5",id:"cancel-reason",class:this.cancellationError?"error":"",part:"ncec__reason-textarea",multiline:!0,value:this.cancellationReason,onInput:this.handleOnChangeCancellationReason,onFocus:this.handleOnChangeCancellationReason,invalid:!!this.cancellationError},t.h("sp-help-text",{key:"e2e0c9794cae46b4a5cc857156d904a1236ccb49",slot:"negative-help-text"},this.cancellationError)),t.h("sp-button",{key:"a647e3e70704325f3986e6a869b65a5ec7495354",variant:"primary",class:"cancel",type:"submit",part:"ncec__button-cta"},"Cancel booking"),t.h("sp-button",{key:"b8b732ceafaf6d1090cf7b1a3d979854e17684ca",variant:"secondary",class:"back",treatment:"outline",part:"ncec__button-outline",onClick:this.handleGoBackClicked},"Go back")))))}static get watchers(){return{configSettings:["configSettingsChangedHandler"]}}};ie([f.RegisterComponent({name:"nylas-cancel-booking-form",stateToProps:new Map([["scheduler.configSettings","configSettings"]]),eventToProps:{cancelBookingFormSubmitted:async(e,a)=>{const n=await a.scheduler.cancelBooking(e.detail.bookingId,e.detail.reason),{errorHandler:s}=e.detail;s&&(!n||"error"in n)&&s(n)}},fireRegisterEvent:!0}),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",void 0)],j.prototype,"render",null);j.style=ne;const oe=':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}sp-theme{height:inherit;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:var(--nylas-font-family)}.nylas-cancelled-event-card{display:flex;align-items:center;flex-direction:column;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%}sp-button{background-color:var(--nylas-base-0);color:var(--nylas-base-700);border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);font-size:1rem;height:48px;padding:8px;line-height:24px;width:100%}sp-button:hover,sp-button:focus{border-color:var(--nylas-primary)}sp-button:active{border-color:var(--nylas-base-600)}',se=oe;var re=function(e,a,n,s){var o=arguments.length,i=o<3?a:s===null?s=Object.getOwnPropertyDescriptor(a,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,a,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(a,n,i):r(a,n))||i);return o>3&&i&&Object.defineProperty(a,n,i),i},T=function(e,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,a)};const N=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 a=n=>{this.cancelledEventCardError.emit(n),this.isClosing=!1};this.closeCancelEventCardClicked.emit({errorHandler:a})},this.cancelledEventInfo=void 0,this.isClosing=!1,this.configSettings=void 0}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.')}disconnectedCallback(){t.debug("[nylas-cancelled-event-card] Component disconnected")}render(){var e,a;return t.h(t.Host,{key:"9c4e8c3d74888d794d747e048ab368ae4f9fce9f",part:"ncec"},t.h("sp-theme",{key:"fe7c297e3da3ec06c54b8c4eddce779e283a6f8c",theme:"spectrum",color:"dark",scale:"medium"},t.h("div",{key:"1154b9e1271af9d613401f1958937a2dc87ad2e9",class:"nylas-cancelled-event-card",part:"ncec__card"},t.h("div",{key:"c1d5e51311db568bdfd14c45cdb17a341d1222ad",class:"nylas-cancelled-event-card__calendar-icon",part:"ncec__icon"},t.h("calendar-cancel-icon",{key:"9c3f516a80498ff983fe17dd2fbc84d9ee0ac7b8"})),t.h("h3",{key:"82ed5d4165dbc590bb996569252a5661ac915d98",class:"nylas-cancelled-event-card__title",part:"ncec__title"},"Your booking has been cancelled successfully!"),t.h("div",{key:"5a01351f61614bee349cb350395d00d61b43c574",class:"nylas-cancelled-event-card__description",part:"ncec__description"},"A cancellation email has been sent to ",((a=(e=this.configSettings)==null?void 0:e.organizer)==null?void 0:a.name)||"the participants","."),t.h("div",{key:"c82b6b6260111bdecf664a475591cbfab6d4321e",class:"nylas-cancelled-event-card__cta"},t.h("sp-button",{key:"34fdcee6945a44597a2084c3043aa3375cd560cb",variant:"secondary",treatment:"outline",disabled:this.isClosing,part:"ncec__button-outline",onClick:this.handleCloseClicked},this.isClosing?"Closing...":"Close")))))}};re([f.RegisterComponent({name:"nylas-cancelled-event-card",stateToProps:new Map([["scheduler.configSettings","configSettings"]]),eventToProps:{closeCancelEventCardClicked:async(e,a)=>{const n=await a.scheduler.resetCancel(),{errorHandler:s}=e.detail;s&&(!n||"error"in n)&&s(n)}},fireRegisterEvent:!0}),T("design:type",Function),T("design:paramtypes",[]),T("design:returntype",void 0)],N.prototype,"render",null);N.style=se;const S=new Date,z=new Date;function C(e,a,n,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)),a(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)=>(a(i=new Date(+i),r==null?1:Math.floor(r)),i),o.range=(i,r,l)=>{const c=[];if(i=o.ceil(i),l=l==null?1:Math.floor(l),!(i<r)||!(l>0))return c;let d;do c.push(d=new Date(+i)),a(i,l),e(i);while(d<i&&i<r);return c},o.filter=i=>C(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(;a(r,-1),!i(r););else for(;--l>=0;)for(;a(r,1),!i(r););}),n&&(o.count=(i,r)=>(S.setTime(+i),z.setTime(+r),e(S),e(z),Math.floor(n(S,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 le=1e3,U=le*60,ce=U*60,x=ce*24,B=C(e=>e.setHours(0,0,0,0),(e,a)=>e.setDate(e.getDate()+a),(e,a)=>(a-e-(a.getTimezoneOffset()-e.getTimezoneOffset())*U)/x,e=>e.getDate()-1);C(e=>{e.setUTCHours(0,0,0,0)},(e,a)=>{e.setUTCDate(e.getUTCDate()+a)},(e,a)=>(a-e)/x,e=>e.getUTCDate()-1);C(e=>{e.setUTCHours(0,0,0,0)},(e,a)=>{e.setUTCDate(e.getUTCDate()+a)},(e,a)=>(a-e)/x,e=>Math.floor(e/x));const de=':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)}',be=de;var he=function(e,a,n,s){var o=arguments.length,i=o<3?a:s===null?s=Object.getOwnPropertyDescriptor(a,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,a,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(a,n,i):r(a,n))||i);return o>3&&i&&Object.defineProperty(a,n,i),i},I=function(e,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,a)};const H=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.selectedDate=void 0,this.configSettings=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 a=new Date(this.month.getFullYear(),this.month.getMonth()+1,1),n=(o=e==null?void 0:e.scheduler)==null?void 0:o.available_days_in_future;if(n===void 0)return;t.addDaysToCurrentDate(new Date,n).getTime()<a.getTime()?this.disableNextMonthButton=!0:this.disableNextMonthButton=!1}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}getDates(){const e=t.getLastDayOfMonth(this.month),a=t.getFirstDayOfMonth(this.month);return B.range(B.offset(a,-a.getDay()),B.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 a=new Date(this.month.getFullYear(),this.month.getMonth()+1,1),n=(i=(o=this.configSettings)==null?void 0:o.scheduler)==null?void 0:i.available_days_in_future;t.addDaysToCurrentDate(new Date,n).getTime()<a.getTime()?this.disableNextMonthButton=!0:this.disableNextMonthButton=!1,this.dates=this.getDates(),this.monthChanged.emit(this.month),this.selectDate()}isSelected(e,a,n){return e&&a&&t.isSameDay(e,a)&&n&&(n==null?void 0:n.length)>0}isDisabled(e,a){return e&&(a==null?void 0:a.find(n=>t.isSameDay(n,e)))===void 0}render(){var e,a,n,s;return t.h(t.Host,{key:"bc2d37f59dc4cc59c9659a15ce640d3f3c738239",part:"ndp"},t.h("div",{key:"7b39c6ff3b5c820d6ee4cc3419a80f9803011deb",class:"nylas-date-picker"},t.h("div",{key:"e7e08bbe189da82d187241b1025633f9ea690bbe",class:"title",part:"'ndp__title"},t.h("h1",{key:"6619e950e5b31181663916bb95eb72efcda2031b"},t.h("person-icon",{key:"3db3207dea880167c6f7f4058887b51620da58f9"}),((a=(e=this.configSettings)==null?void 0:e.organizer)==null?void 0:a.name)||((n=this.configSettings)==null?void 0:n.organizer.email)),t.h("p",{key:"8a1ec0fe12579b46279b1c95af1928740b9fffb4"},t.h("clock-icon",{key:"677dc941e4bba5387a16af1f47eb52ed0daf37ab"}),this.eventDuration?t.convertMinutesToHoursAndMinutes(this.eventDuration):"- minutes")),t.h("div",{key:"55ceabd5fe27d3261d8a1c320cc9d612829c50b5",class:"header flex-row"},t.h("h2",{key:"0fb27b957ac9315139b1cc6ead9504d3b35549cd",part:"ndp__month-header"},t.h("strong",{key:"c916747bc9714fa1e0743674aa8845f0bb3bc8c6"},this.month.toLocaleDateString(void 0,{month:"long"}))," ",this.month.toLocaleDateString(void 0,{year:"numeric"})),t.h("div",{key:"f730a61b661c581d623eca6d56f809d40c0a775b",class:"pagination"},t.h("button",{key:"69555f5b4de9306dedd29bdeeb90effbda01c521",onClick:()=>this.changeMonth(-1),class:{"chevron-left":!0,button:!0},disabled:!((s=this.selectableDates)!=null&&s.length)||this.month<=new Date,part:"ndp__month-button"},t.h("chevron-icon",{key:"ea5c5492aa75cbb1c94af57d01c091a353b7ee2a"})),t.h("button",{key:"9313976fea433d8babf3ce5a63891492e93c22bc",onClick:()=>this.changeMonth(1),class:{"chevron-right":!0,button:!0},disabled:this.disableNextMonthButton,part:"ndp__month-button"},t.h("chevron-icon",{key:"81f86816719358949d8eef1e346702da314de68f"})))),t.h("div",{key:"32e3e0cf78205054739acc6ae3a3363b7d10c926",class:"dates"},["SUN","MON","TUE","WED","THU","FRI","SAT"].map(o=>t.h("div",{class:"day",part:"ndp__day"},o)),this.dates.map((o,i)=>{var l;const r=this.isDisabled(o,this.selectableDates);return this.isLoading?t.h("button",{disabled:!0,class:{"date day-skeleton":!0,"current-month":t.isSameMonth(o,this.month)},style:{animationDelay:`${i*20}ms`},part:"ndp__date"},o.getDate()):t.h("button",{class:{date:!0,selected:!!(this.selectedDate&&t.isSameDay(o,this.selectedDate)&&this.selectableDates&&((l=this.selectableDates)==null?void 0:l.length)>0),"current-day":t.isSameDay(o,new Date),"current-month":t.isSameMonth(o,this.month)},"aria-lang":o.toLocaleDateString(void 0,{dateStyle:"full"}),disabled:r,onClick:()=>this.selectDate(o),part:`ndp__date ${this.isSelected(o,this.selectedDate,this.selectableDates)?"ndp__date--selected":""} ${t.isSameDay(o,new Date)?"ndp__date--current-day":""} ${t.isSameMonth(o,this.month)?"ndp__date--current-month":""}`},o.getDate())}))))}static get watchers(){return{configSettings:["configSettingsChanged"]}}};he([f.RegisterComponent({name:"nylas-date-picker",stateToProps:new Map([["scheduler.selectableDates","selectableDates"],["scheduler.selectedDate","selectedDate"],["scheduler.isLoading","isLoading"],["scheduler.configSettings","configSettings"],["scheduler.eventDuration","eventDuration"]]),eventToProps:{dateSelected:async(e,a)=>{a.scheduler.selectDate(e.detail)}},fireRegisterEvent:!0}),I("design:type",Function),I("design:paramtypes",[]),I("design:returntype",void 0)],H.prototype,"render",null);H.style=be;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-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}',me=fe;var ue=function(e,a,n,s){var o=arguments.length,i=o<3?a:s===null?s=Object.getOwnPropertyDescriptor(a,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,a,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(a,n,i):r(a,n))||i);return o>3&&i&&Object.defineProperty(a,n,i),i},L=function(e,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,a)};const O=class{constructor(e){t.registerInstance(this,e),this.timezoneChanged=t.createEvent(this,"timezoneChanged",7),this.languageChanged=t.createEvent(this,"languageChanged",7),this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.selectedLanguage=navigator.language}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}changeTimezone(e){this.selectedTimezone=e,this.timezoneChanged.emit(e)}changeLanguage(e){this.selectedLanguage=e,this.languageChanged.emit(e)}nylasFormDropdownChangedHandler(e){const{name:a,value:n}=e.detail;a==="timezone"?this.changeTimezone(n):a==="language"&&this.changeLanguage(n)}getTimezoneLabelHTML(e){const a=h.getTimezoneOffset(e);return t.h("span",{class:"timezone-label",style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"-webkit-fill-available"}},h.TIMEZONE_MAP[e]," ",t.h("span",{class:"timezone-offset",style:{fontSize:"14px",fontWeight:"400",color:"var(--nylas-base-500)"}},a))}render(){const e=Object.keys(h.TIMEZONE_MAP).map(n=>({labelHTML:this.getTimezoneLabelHTML(n),label:h.TIMEZONE_MAP[n],value:n})),a=Object.keys(h.LANGUAGE_MAP).map(n=>({label:h.LANGUAGE_MAP[n],value:n}));return t.h(t.Host,{key:"b568b75977c586e88d88d69ce6a4b7651fd6123b"},t.h("div",{key:"95b12f2d96e46b31ed606c85c4fe3151861d188c",class:"nylas-locale-switch"},t.h("div",{key:"d44690dae20a0068ffe55ab87024c8e283acaa6c",class:{"select-wrapper":!0,timezone:!0}},t.h("select-dropdown",{key:"09b895b074f36381567d439869b68d8e10869b2a",name:"timezone",options:e,defaultSelectedOption:e.find(n=>n.value==this.selectedTimezone)},t.h("span",{key:"72a40810ca3d7a59b0e8d76be62c63f70c1cf183",slot:"select-icon"},t.h("globe-icon",{key:"01dedea1be14b299cf447085b5778663015b2e2d",width:"20",height:"20"})))),t.h("div",{key:"2b4078132bc366f7784648cce51fe0ee33467d06",class:{"select-wrapper":!0,language:!0}},t.h("select-dropdown",{key:"eb73c3eb853aba5c0acde42bf49dd09c19f1d43b",name:"language",options:a,defaultSelectedOption:a.find(n=>n.value==this.selectedLanguage)},t.h("span",{key:"b2b1b5e1d8d2b85e67615c6f63a69ac955e3fc16",slot:"select-icon"},t.h("translate-icon",{key:"161bb7dad0a08d8362c5c3cdd85238d732e5888c",width:"20",height:"20"}))))))}};ue([f.RegisterComponent({name:"nylas-locale-switch",stateToProps:new Map([["scheduler.selectedLanguage","selectedLanguage"],["scheduler.selectedTimezone","selectedTimezone"]]),eventToProps:{timezoneChanged:async(e,a)=>{a.scheduler.selectTimezone(e.detail)}},fireRegisterEvent:!0}),L("design:type",Function),L("design:paramtypes",[]),L("design:returntype",void 0)],O.prototype,"render",null);O.style=me;const pe=".sc-nylas-logo-h{display:flex}",ye=pe,W=class{constructor(e){t.registerInstance(this,e),this.width="69",this.height="24"}render(){return t.h("svg",{key:"dcfc1d62178b1d3d699e49e4ee23f8d3db1c58f0",width:this.width,height:this.height,viewBox:"0 0 69 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.h("g",{key:"0dba7753e8c6eaf6e21ed13db42b1f8b54be53d4","clip-path":"url(#clip0_455_3543)"},t.h("path",{key:"35e067694b0f607b7ca5b9342e8253a5ca11f840",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:"cea19b0f33edb2330b306a92865800e28f28b15e",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:"671c4d7360da3fccfa0f9a1db64d97122abf0a87",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:"7212a39f00bc169c28f29d5f88e5582ab003fe0d",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:"3a7901b100e2365da4c67c7f012b7212c505bd49",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:"e7d169a405085e5e02428fe8c2859e22dfec6554",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:"01d182723a8bf07a7c7e4e45cb7014dae5303486",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:"ca5c8ba4be2fbe7c80e212ac085809a9daba6674",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:"a0d9574defb476b7e2fdb8d3b28fa08ef38f042e"},t.h("clipPath",{key:"dff8cf481c3ba6324a58fc4348a3c76c9a4c8609",id:"clip0_455_3543"},t.h("rect",{key:"f72786c654715d47462741503b6a07d635389835",width:"68.7123",height:"19.2877",fill:"white",transform:"translate(0.144043 0.356201)"}))))}};W.style=ye;const ge=':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}',ve=ge,Y=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.title}`),this.handleNotification(e)}onWarning(e){t.debug(`[nylas-notification] Warning: ${e.detail.title}`),this.handleNotification(e)}onInfo(e){t.debug(`[nylas-notification] Info: ${e.detail.title}`),this.handleNotification(e)}onSuccess(e){t.debug(`[nylas-notification] Success: ${e.detail.title}`),this.handleNotification(e)}handleNotification(e){if(e.defaultPrevented){t.debug("[nylas-notification] Event default prevented");return}if(this.ttl===0){t.debug("[nylas-notification] TTL is 0");return}if(this.allowedCategories.length>0&&!this.allowedCategories.includes(e.detail.category)){t.debug("[nylas-notification] Category not allowed");return}if(this.notifications=[...this.notifications,{...e.detail}],e.detail.ttl!=="none"){const a=e.detail.ttl?e.detail.ttl:this.ttl;window.setTimeout(()=>{this.notifications=this.notifications.filter(n=>n.id!==e.detail.id)},a)}}dismissNotification(e){this.notifications=this.notifications.filter(a=>a.id!==e)}render(){return t.h(t.Host,{key:"9011372a63b5b706177dedf93b14df8158e14e04"},t.h(t.Fragment,{key:"d06168682c50f2b5330f8c923ecaec19dfc44add"},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:"6cfe1ecaea1c313ca1549d01b3b8c1627af0d8f2"})))}};Y.style=ve;const ke=":host{display:block}sp-theme{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}}",xe=ke;var Ce=function(e,a,n,s){var o=arguments.length,i=o<3?a:s===null?s=Object.getOwnPropertyDescriptor(a,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,a,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(a,n,i):r(a,n))||i);return o>3&&i&&Object.defineProperty(a,n,i),i},R=function(e,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,a)};const A=class{constructor(e){t.registerInstance(this,e),this.selectedDate=void 0,this.selectedTimeslot=void 0,this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.startTime="",this.endTime=""}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){t.debug("[nylas-selected-event-card] Component will load")}async componentDidLoad(){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.')}handleSelectedTimeslotChange(e){this.startTime=new Date(e==null?void 0:e.start_time).toLocaleString(void 0,{timeStyle:"short"}),this.endTime=new Date(e==null?void 0:e.end_time).toLocaleString(void 0,{timeStyle:"short"})}render(){var e;return t.h(t.Host,{key:"27aa2e0c4ea3a4ac04c24c3e7049360ab1da450c",part:"nsec"},t.h("sp-theme",{key:"06a93ef1f378da9bf9c8eeb8cbb3b7ab912cbe39",theme:"spectrum",color:"dark",scale:"medium"},t.h("div",{key:"cbeab1951966e48db4e7c0e652946099377abfaa",class:"event-card",part:"nsec__card"},t.h("div",{key:"014aed3ae5739ec763f3fe0ff7b94f859a35090c",class:"calendar-icon",part:"nsec__icon"},t.h("calendar-icon",{key:"b19e2752e3b87c07f14c23651416de2a1fa78ca5"})),t.h("div",{key:"d4adee688565fcec2e217cc2b3ae8bb2d2572630",class:"nylas-selected-event-card__date",part:"nsec__date"},(e=this.selectedDate)==null?void 0:e.toLocaleDateString(void 0,{dateStyle:"full"})),t.h("div",{key:"c9f15e73f1cf65d6df1739fe348abd9fe50c34d9",class:"nylas-selected-event-card__time",part:"nsec__time"},this.startTime," - ",this.endTime)),t.h("div",{key:"531c381692eefac442a0646d4584f9cf2a51808e",class:"event-timezone",part:"nsec__timezone"},t.h("globe-icon",{key:"d6d7225298063ab5d5005f2c0a8d2a57de0d1a27"}),h.TIMEZONE_MAP[this.selectedTimezone])))}static get watchers(){return{selectedTimeslot:["handleSelectedTimeslotChange"]}}};Ce([f.RegisterComponent({name:"nylas-selected-event-card",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"]]),eventToProps:{},fireRegisterEvent:!0}),R("design:type",Function),R("design:paramtypes",[]),R("design:returntype",void 0)],A.prototype,"render",null);A.style=xe;const we=":host{display:block;height:calc(100% - 48px)}.time-picker-wrapper{display:flex;flex-direction:column;height:100%}.time-slots{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 .time-slot-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)}.footer sp-button{padding:14px;color:var(--nylas-base-100);border-radius:var(--nylas-border-radius-2x);width:100%;height:48px;font-weight:600;font-size:16px;background-color:var(--nylas-primary);border:none}.footer sp-button:hover,.footer sp-button:focus{background-color:var(--nylas-base-600)}.footer sp-button:active{background-color:var(--nylas-base-800)}",_e=we;var Ee=function(e,a,n,s){var o=arguments.length,i=o<3?a:s===null?s=Object.getOwnPropertyDescriptor(a,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,a,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(i=(o<3?r(i):o>3?r(a,n,i):r(a,n))||i);return o>3&&i&&Object.defineProperty(a,n,i),i},P=function(e,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,a)};const Z=class{constructor(e){t.registerInstance(this,e),this.timeslotSelected=t.createEvent(this,"timeslotSelected",7),this.timeslotConfirmed=t.createEvent(this,"timeslotConfirmed",7),this.handleConfirmedTimeslot=async(a,n)=>{a.preventDefault(),t.debug("[nylas-timeslot-picker] Confirm timeslot",n),this.timeslotConfirmed.emit(n)},this.handleMouseEnter=a=>{this.hoveredTimeslotIndex=a},this.handleMouseLeave=()=>{this.hoveredTimeslotIndex=-1},this.selectedDate=new Date,this.availability=void 0,this.selectedTimeslot=void 0,this.isLoading=void 0,this.selectedTimezone=Intl.DateTimeFormat().resolvedOptions().timeZone,this.times=[],this.hoveredTimeslotIndex=void 0,this.selectedTimeslotIndex=void 0}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){var a;const e=(a=this.availability)==null?void 0:a.filter(n=>this.selectedDate&&t.isSameDay(n.start_time,this.selectedDate)).map(n=>n);this.times=e||[],t.debug("[nylas-timeslot-picker] Component will load",{selectedDate:this.selectedDate,availability:this.availability,times:this.times})}async componentDidLoad(){t.debug("[nylas-timeslot-picker] Component did load")}getTimeslotId(e,a){return`${e.toLocaleDateString()}-${a}`}onClickSelectTime(e,a){t.debug("[nylas-timeslot-picker] Time selected",e,a),this.selectedTimeslotIndex=this.getTimeslotId(e.start_time,a),this.timeslotSelected.emit({start_time:e.start_time,end_time:e.end_time})}getTimeSlotLabel(e){const a=new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"numeric",timeZone:this.selectedTimezone});return`${a.format(e.start_time)} - ${a.format(e.end_time)}`}selectedDateChanged(e){var a;if(t.debug("[nylas-timeslot-picker] Selected date changed",{newVal:e}),e&&(this.selectedTimeslotIndex="",typeof e<"u")){const n=(a=this.availability)==null?void 0:a.filter(s=>t.isSameDay(s.start_time,e)).map(s=>s);this.times=n||[]}}availabilityChanged(e){if(t.debug("[nylas-timeslot-picker] Available times changed",{newVal:e,selectedDate:this.selectedDate}),typeof e<"u"){const a=e==null?void 0:e.filter(n=>this.selectedDate&&t.isSameDay(n.start_time,this.selectedDate)).map(n=>n);this.times=a||[]}}render(){return this.isLoading?t.h(t.Host,null,t.h("div",{class:"loading"},new Array(6).fill(0).map((e,a)=>t.h("div",{class:"time-slot-skeleton",style:{animationDelay:`${a*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:"time-slots"},this.times.map((e,a)=>{var n,s,o,i;return t.h("button",{part:`ntp__timeslot ${((s=(n=this.selectedTimeslot)==null?void 0:n.start_time)==null?void 0:s.getTime())===e.start_time.getTime()?"ntp__timeslot--selected":""}`,"aria-role":"button",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,a),onMouseEnter:()=>this.handleMouseEnter(a),onMouseLeave:()=>this.handleMouseLeave()},this.hoveredTimeslotIndex==a||this.selectedTimeslotIndex==this.getTimeslotId(e.start_time,a)?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("sp-button",{variant:"primary",onClick:e=>this.handleConfirmedTimeslot(e,this.selectedTimeslot),part:"ntp__button-primary"},t.h("slot",{name:"timeslot-picker-cta-label"},"Next"))))):t.h(t.Host,null)}static get watchers(){return{selectedDate:["selectedDateChanged"],availability:["availabilityChanged"]}}};Ee([f.RegisterComponent({name:"nylas-timeslot-picker",stateToProps:new Map([["scheduler.selectedDate","selectedDate"],["scheduler.availability","availability"],["scheduler.selectedTimeslot","selectedTimeslot"],["scheduler.selectedTimezone","selectedTimezone"],["scheduler.isLoading","isLoading"]]),eventToProps:{timeslotSelected:async(e,a)=>{a.scheduler.selectTime(e.detail)},timeslotConfirmed:async(e,a)=>{e.detail&&a.scheduler.toggleAdditionalData(!0)}},fireRegisterEvent:!0}),P("design:type",Function),P("design:paramtypes",[]),P("design:returntype",void 0)],Z.prototype,"render",null);Z.style=_e;exports.nylas_booked_event_card=M;exports.nylas_booking_form=F;exports.nylas_cancel_booking_form=j;exports.nylas_cancelled_event_card=N;exports.nylas_date_picker=H;exports.nylas_locale_switch=O;exports.nylas_logo=W;exports.nylas_notification=Y;exports.nylas_selected_event_card=A;exports.nylas_timeslot_picker=Z;