@nylas/react 1.0.2-prealpha1 → 1.1.0-canary.4

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 (133) hide show
  1. package/dist/add-circle-icon_22.entry-077661c3.cjs +1 -0
  2. package/dist/add-circle-icon_22.entry-f699d91e.js +1733 -0
  3. package/dist/{archive-icon_7.entry-91aaa1aa.js → archive-icon_7.entry-40b7ef3b.js} +20 -20
  4. package/dist/{archive-icon_7.entry-84d70dbf.cjs → archive-icon_7.entry-e8630de9.cjs} +1 -1
  5. package/dist/arrow-icon.entry-58246303.js +15 -0
  6. package/dist/{arrow-icon.entry-400a08fa.cjs → arrow-icon.entry-ffa53114.cjs} +1 -1
  7. package/dist/{bold-icon_3.entry-9ad35153.cjs → bold-icon_3.entry-106a4e77.cjs} +1 -1
  8. package/dist/{bold-icon_3.entry-4b2798a8.js → bold-icon_3.entry-f5f1643d.js} +4 -4
  9. package/dist/{calendar-cancel-icon.entry-fcb66929.cjs → calendar-cancel-icon.entry-6ae0fd0f.cjs} +1 -1
  10. package/dist/{calendar-cancel-icon.entry-83ba884a.js → calendar-cancel-icon.entry-75b15b19.js} +4 -4
  11. package/dist/calendar-check-icon_2.entry-57339318.js +25 -0
  12. package/dist/calendar-check-icon_2.entry-c57f83f3.cjs +1 -0
  13. package/dist/{calendar-icon.entry-8f38af4a.js → calendar-icon.entry-2069fec6.js} +2 -2
  14. package/dist/{calendar-icon.entry-7bae38d7.cjs → calendar-icon.entry-492c2630.cjs} +1 -1
  15. package/dist/chevron-icon_3.entry-83df50c3.js +117 -0
  16. package/dist/chevron-icon_3.entry-878ff6df.cjs +1 -0
  17. package/dist/close-icon.entry-480c199d.js +15 -0
  18. package/dist/close-icon.entry-8015ca05.cjs +1 -0
  19. package/dist/{nylas-booked-event-card_10.entry-7e66a648.js → constants-6ee60d6d-4cd16450.js} +1656 -2374
  20. package/dist/{nylas-booked-event-card_10.entry-ed515326.cjs → constants-6ee60d6d-6c0540db.cjs} +6 -6
  21. package/dist/document-refresh-icon.entry-06f7972b.cjs +1 -0
  22. package/dist/document-refresh-icon.entry-09870b14.js +15 -0
  23. package/dist/elements/index.d.ts +31 -2
  24. package/dist/{forward-icon_6.entry-b60fcb35.js → forward-icon_6.entry-8bb201eb.js} +127 -127
  25. package/dist/{forward-icon_6.entry-3345af84.cjs → forward-icon_6.entry-eeecf2a2.cjs} +3 -3
  26. package/dist/{globe-icon.entry-8325e73e.cjs → globe-icon.entry-a690028c.cjs} +1 -1
  27. package/dist/{globe-icon.entry-e3fd373f.js → globe-icon.entry-d515cbfa.js} +4 -4
  28. package/dist/google-logo-icon_3.entry-2164cec1.js +258 -0
  29. package/dist/google-logo-icon_3.entry-b2b85284.cjs +1 -0
  30. package/dist/index-2b8437d6.cjs +30 -0
  31. package/dist/index-db0c5017.js +1824 -0
  32. package/dist/index.d.ts +3 -1
  33. package/dist/index.es-2578c6a5-098d48d0.cjs +7 -0
  34. package/dist/{index-b30d446a-a90f84b2.js → index.es-2578c6a5-71441142.js} +833 -933
  35. package/dist/info-icon_2.entry-300ef196.js +34 -0
  36. package/dist/info-icon_2.entry-e286aaa5.cjs +1 -0
  37. package/dist/{loading-icon.entry-27410cf8.js → loading-icon.entry-6d8adaa4.js} +4 -4
  38. package/dist/{loading-icon.entry-b2096d2b.cjs → loading-icon.entry-dc40e97d.cjs} +1 -1
  39. package/dist/{mailbox-store-19f0c6c9-e3e8b4e5.js → mailbox-store-bb21512c-649a374c.js} +17 -16
  40. package/dist/mailbox-store-bb21512c-fc3c8c03.cjs +1 -0
  41. package/dist/nylas-additional-participants.entry-4afba192.js +83 -0
  42. package/dist/nylas-additional-participants.entry-db05e510.cjs +1 -0
  43. package/dist/nylas-booked-event-card_10.entry-1ebbe0c0.js +784 -0
  44. package/dist/nylas-booked-event-card_10.entry-6b6fdfae.cjs +1 -0
  45. package/dist/nylas-form-card.entry-70b20571.cjs +1 -0
  46. package/dist/nylas-form-card.entry-7bc23695.js +56 -0
  47. package/dist/nylas-if-state.entry-3829cb3d.js +96 -0
  48. package/dist/nylas-if-state.entry-ebeffe22.cjs +1 -0
  49. package/dist/nylas-list-folders.entry-191688f2.cjs +1 -0
  50. package/dist/{nylas-list-folders.entry-a5437201.js → nylas-list-folders.entry-7347e78d.js} +9 -8
  51. package/dist/{nylas-list-threads.entry-fd6cda61.js → nylas-list-threads.entry-432a8d8c.js} +5 -4
  52. package/dist/nylas-list-threads.entry-44658578.cjs +1 -0
  53. package/dist/nylas-login.entry-5311f0a7.js +75 -0
  54. package/dist/nylas-login.entry-db17a3d2.cjs +1 -0
  55. package/dist/{nylas-mailbox-pagination.entry-988214bc.js → nylas-mailbox-pagination.entry-20150fb2.js} +4 -3
  56. package/dist/nylas-mailbox-pagination.entry-9d3f5baa.cjs +1 -0
  57. package/dist/nylas-mailbox-toolbar-button.entry-6c0f7299.cjs +1 -0
  58. package/dist/{nylas-mailbox-toolbar-button.entry-c720e22a.js → nylas-mailbox-toolbar-button.entry-eec426d5.js} +11 -10
  59. package/dist/nylas-mailbox.entry-b6c758b9.js +136 -0
  60. package/dist/nylas-mailbox.entry-d41401e0.cjs +1 -0
  61. package/dist/{nylas-provider.entry-70721009.js → nylas-provider.entry-271cafd2.js} +46 -33
  62. package/dist/nylas-provider.entry-6173b721.cjs +1 -0
  63. package/dist/nylas-scheduler-editor.entry-0c75d39e.cjs +7 -0
  64. package/dist/nylas-scheduler-editor.entry-b51ad4b1.js +2192 -0
  65. package/dist/nylas-scheduling.entry-081c8825.cjs +1 -0
  66. package/dist/nylas-scheduling.entry-0a8d1da8.js +237 -0
  67. package/dist/{nylas-threads-refresh.entry-b7f9e93f.js → nylas-threads-refresh.entry-72dd854e.js} +6 -5
  68. package/dist/nylas-threads-refresh.entry-c3509e6a.cjs +1 -0
  69. package/dist/nylas-threads-search.entry-16a59ef6.cjs +1 -0
  70. package/dist/{nylas-threads-search.entry-95afea9c.js → nylas-threads-search.entry-4750a187.js} +15 -14
  71. package/dist/nylas-view-thread.entry-27df3349.cjs +1 -0
  72. package/dist/{nylas-view-thread.entry-165173b1.js → nylas-view-thread.entry-c6adce43.js} +5 -4
  73. package/dist/people-icon.entry-342be0c8.js +15 -0
  74. package/dist/people-icon.entry-35252ca9.cjs +1 -0
  75. package/dist/play-icon_2.entry-0787352c.js +25 -0
  76. package/dist/play-icon_2.entry-f83fa92a.cjs +1 -0
  77. package/dist/react.cjs +1 -1
  78. package/dist/react.js +92 -61
  79. package/dist/{refresh-icon.entry-e48a338f.js → refresh-icon.entry-8fbabfe7.js} +2 -2
  80. package/dist/{refresh-icon.entry-601cac89.cjs → refresh-icon.entry-ddbc5446.cjs} +1 -1
  81. package/dist/{register-component-152c6ad2-a06f58c2.js → register-component-dc659dc3-e43e8fae.js} +2 -2
  82. package/dist/{register-component-152c6ad2-0df7215b.cjs → register-component-dc659dc3-fb85ee68.cjs} +1 -1
  83. package/dist/scheduler-config-store-51ee4f42-66f8c2ac.js +14 -0
  84. package/dist/scheduler-config-store-51ee4f42-d7d9c25d.cjs +1 -0
  85. package/dist/scheduler-store-72116723-ce4c7a69.cjs +1 -0
  86. package/dist/{scheduler-store-7d48e682-0c0c3991.js → scheduler-store-72116723-e5f87122.js} +100 -95
  87. package/dist/time-period-selector.entry-333942a8.js +78 -0
  88. package/dist/time-period-selector.entry-78d5b3c2.cjs +1 -0
  89. package/dist/translate-icon.entry-87a62108.js +15 -0
  90. package/dist/translate-icon.entry-cb19864c.cjs +1 -0
  91. package/dist/utils-c00bdc3c-89ab163d.js +2111 -0
  92. package/dist/utils-c00bdc3c-94b9c3b6.cjs +8 -0
  93. package/dist/warning-icon.entry-50755d91.cjs +1 -0
  94. package/dist/warning-icon.entry-7a72e24a.js +15 -0
  95. package/package.json +7 -4
  96. package/dist/add-circle-icon.entry-2ccb238b.cjs +0 -1
  97. package/dist/add-circle-icon.entry-35d6aa07.js +0 -15
  98. package/dist/arrow-icon.entry-8b2e96a6.js +0 -15
  99. package/dist/calendar-check-icon_3.entry-903e2d82.js +0 -35
  100. package/dist/calendar-check-icon_3.entry-a16ce05e.cjs +0 -1
  101. package/dist/chevron-icon.entry-58366662.cjs +0 -1
  102. package/dist/chevron-icon.entry-5e11cef5.js +0 -15
  103. package/dist/close-icon_2.entry-011d9cf4.js +0 -25
  104. package/dist/close-icon_2.entry-83088b9a.cjs +0 -1
  105. package/dist/document-refresh-icon.entry-071ffd66.cjs +0 -1
  106. package/dist/document-refresh-icon.entry-9083a2e9.js +0 -15
  107. package/dist/duration-bddc4a13-05d3e3e2.cjs +0 -1
  108. package/dist/duration-bddc4a13-179ce826.js +0 -41
  109. package/dist/index-3b6f5cd5.cjs +0 -30
  110. package/dist/index-630f4e87.js +0 -1498
  111. package/dist/index-b30d446a-cbbef925.cjs +0 -7
  112. package/dist/mailbox-store-19f0c6c9-a0cbfa97.cjs +0 -1
  113. package/dist/nylas-if-state_3.entry-504be976.cjs +0 -1
  114. package/dist/nylas-if-state_3.entry-e96d01f1.js +0 -291
  115. package/dist/nylas-list-folders.entry-866361cc.cjs +0 -1
  116. package/dist/nylas-list-threads.entry-04989295.cjs +0 -1
  117. package/dist/nylas-mailbox-pagination.entry-e0bd4aef.cjs +0 -1
  118. package/dist/nylas-mailbox-toolbar-button.entry-3d772b26.cjs +0 -1
  119. package/dist/nylas-open-hours-picker.entry-6bdc7c73.js +0 -186
  120. package/dist/nylas-open-hours-picker.entry-881b6db7.cjs +0 -1
  121. package/dist/nylas-provider.entry-8d9a844b.cjs +0 -1
  122. package/dist/nylas-scheduler.entry-7321e18f.js +0 -230
  123. package/dist/nylas-scheduler.entry-e82977fb.cjs +0 -1
  124. package/dist/nylas-threads-refresh.entry-477e68e4.cjs +0 -1
  125. package/dist/nylas-threads-search.entry-c5854641.cjs +0 -1
  126. package/dist/nylas-view-thread.entry-8b72cbdb.cjs +0 -1
  127. package/dist/play-icon_2.entry-ed5877e3.js +0 -25
  128. package/dist/play-icon_2.entry-f23ed6c1.cjs +0 -1
  129. package/dist/scheduler-store-7d48e682-674705ef.cjs +0 -1
  130. package/dist/search-icon_3.entry-292138c3.js +0 -101
  131. package/dist/search-icon_3.entry-8e555357.cjs +0 -1
  132. package/dist/utils-5074a070-ce33ee6b.js +0 -119
  133. package/dist/utils-5074a070-d5ba6add.cjs +0 -2
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-3b6f5cd5.cjs"),u=require("./register-component-152c6ad2-0df7215b.cjs"),i=require("./utils-5074a070-d5ba6add.cjs");require("react");require("react-dom");const h=':host{display:block;font-size:var(--nylas-font-size, inherit);font-family:var(--nylas-font-family, inherit)}.list-thread{display:grid;grid-auto-flow:row;color:var(--nylas-color-primary-800);width:100%}.thread{position:relative;width:100%;display:grid;padding:0.5rem 1rem;column-gap:0.25rem;grid-template-areas:"........ from count ....... date actions" "checkbox subject subject subject subject actions" "........ snippet snippet snippet snippet actions";grid-template-columns:auto auto auto auto auto auto;margin-bottom:0.75rem;border-radius:var(--nylas-border-radius-2x);color:var(--nylas-color-primary-00);background-color:var(--nylas-color-primary-50);border:0;box-sizing:border-box;text-align:left;cursor:pointer;box-shadow:1px 1px 3px 0px rgba(0, 0, 0, 0.3);font-size:inherit;font-family:inherit}.thread.loading{animation:pulsate 1.5s infinite ease-in-out;width:100%;height:90px}.thread:last-of-type{margin-bottom:0}.thread.selected{box-shadow:0 2px 0 0 var(--nylas-color-primary-200);background-color:var(--nylas-color-primary-100)}.thread:hover{box-shadow:0 2px 0 0 var(--nylas-color-primary-200);background-color:var(--nylas-color-primary-100)}.thread>div{align-self:center;pointer-events:all !important}.thread .actions{grid-area:actions}.thread .actions sp-action-menu{pointer-events:initial !important}.thread .actions sp-action-button{pointer-events:initial !important}.thread .actions sp-menu-item{pointer-events:initial !important}.thread .checkbox{grid-area:checkbox;margin-right:0.5rem;pointer-events:initial !important}.thread .checkbox sp-checkbox{pointer-events:initial !important}.thread .star{grid-area:star;justify-self:end}.thread .from{grid-area:from;color:var(--nylas-color-primary-600)}.thread .count{grid-area:count;color:var(--nylas-color-primary-600)}.thread .subject{grid-area:subject;color:var(--nylas-color-primary-600)}.thread .snippet{grid-area:snippet;color:var(--nylas-color-primary-500)}.thread .date{grid-area:date;align-self:center;color:var(--nylas-color-primary-500)}.thread.unread .from,.thread.unread .count,.thread.unread .subject,.thread.unread .date{font-weight:600;color:var(--nylas-color-primary-800)}.thread.unread .snippet{color:var(--nylas-color-primary-700)}.thread .from{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread .snippet{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread .subject{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (min-width: 768px){.thread{column-gap:1rem;grid-template-areas:"checkbox from count subject snippet date actions";grid-template-columns:auto minmax(auto, 200px) auto auto 1fr auto auto;margin-bottom:0.5rem;border:1px solid var(--nylas-color-primary-100)}.thread.no-checkbox{grid-template-areas:"from count subject snippet date actions";grid-template-columns:minmax(auto, 200px) auto auto 1fr auto auto}.thread .checkbox{margin-right:0}}@keyframes pulsate{0%{background-color:var(--nylas-color-primary-50)}50%{background-color:var(--nylas-color-primary-100)}100%{background-color:var(--nylas-color-primary-50)}}',m=h;var y=function(e,t,r,s){var n=arguments.length,o=n<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,r):s,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,r,s);else for(var c=e.length-1;c>=0;c--)(l=e[c])&&(o=(n<3?l(o):n>3?l(t,r,o):l(t,r))||o);return n>3&&o&&Object.defineProperty(t,r,o),o},d=function(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)};const p=class{constructor(e){a.registerInstance(this,e),this.threadSelected=a.createEvent(this,"threadSelected",7),this.handleThreadSelected=async t=>{i.debug("[nylas-list-threads] Thread selected",{thread:t}),this.threadSelected.emit(t).defaultPrevented||i.debug("[nylas-list-threads] Default event not prevented, selecting thread")},this.handleCheckboxClick=async t=>{i.debug("[nylas-list-threads] Checkbox clicked",{event:t}),t.stopPropagation()},this.threads=[],this.isAuthenticated=!1,this.tokenInfo=void 0,this.state="ready",this.showCheckbox=!1}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){i.debug("[nylas-list-threads] Component will load")}async componentDidLoad(){i.debug("[nylas-list-threads] Component did load",{isAuthenticated:this.isAuthenticated})}render(){return a.h(a.Host,{key:"162954a4241d7ddb5a7957686dc63b805972645c"},a.h("div",{key:"4912c92ca812790c2fede6220494da1c8ce7959e",class:"list-thread",part:"list-thread"},this.state==="loading"&&new Array(10).fill(0).map((e,t)=>a.h("div",{class:"thread loading",style:{animationDelay:`${t*20}ms`}})),this.state==="ready"&&this.threads.map(e=>{var t,r,s,n;return a.h("button",{key:e==null?void 0:e.id,class:{thread:!0,unread:(e==null?void 0:e.unread)===!0,"no-checkbox":this.showCheckbox===!1},part:"thread","aria-label":`Thread with subject ${e==null?void 0:e.subject}`,onClick:()=>this.handleThreadSelected(e)},this.showCheckbox&&a.h("div",{class:"checkbox",part:"checkbox"},a.h("sp-checkbox",{size:"s",value:e==null?void 0:e.id,onClick:this.handleCheckboxClick})),a.h("div",{class:"from",part:"from"},i.formatParticipants(e.participants??[],(t=this.tokenInfo)==null?void 0:t.email,((r=e==null?void 0:e.message_ids)==null?void 0:r.length)||1,1)),a.h("div",{class:"subject",part:"subject"},e==null?void 0:e.subject),a.h("div",{class:"count",part:"count"},((s=e==null?void 0:e.message_ids)==null?void 0:s.length)||1),a.h("div",{class:"snippet",part:"snippet"},(n=e==null?void 0:e.snippet)==null?void 0:n.trim()),e.latest_message_received_date&&a.h("div",{class:"date","aria-label":`${Intl.DateTimeFormat(void 0,{dateStyle:"full"}).format(new Date(e.latest_message_received_date*1e3))}`,part:"date"},i.formatDateTime(e.latest_message_received_date)))})))}};y([u.RegisterComponent({name:"nylas-list-threads",stateToProps:new Map([["auth.isAuthenticated","isAuthenticated"],["auth.tokenInfo","tokenInfo"],["mailbox.threads","threads"],["mailbox.state","state"]]),eventToProps:{threadSelected:async(e,t)=>{i.debug("[nylas-list-threads] Thread selected",{event:e}),await t.threads.selectThread(e.detail)}},fireRegisterEvent:!0}),d("design:type",Function),d("design:paramtypes",[]),d("design:returntype",void 0)],p.prototype,"render",null);p.style=m;exports.nylas_list_threads=p;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-3b6f5cd5.cjs"),g=require("./register-component-152c6ad2-0df7215b.cjs"),a=require("./utils-5074a070-d5ba6add.cjs");require("react");require("react-dom");const p=":host{display:contents}.container{height:var(--container-height, 100dvh);overflow-y:var(--container-overflow-y, auto)}.pagination{display:flex;justify-content:center;align-items:center;margin:0 auto;padding:0;list-style:none;font-size:0.875rem;font-weight:600;color:var(--nylas-color-primary-600)}.pagination sp-button svg{animation:rotate 1s linear infinite}sp-button{border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-400);color:var(--nylas-color-primary-900);fill:var(--nylas-color-primary-900)}sp-button:hover{background-color:var(--nylas-color-primary-500)}sp-button:disabled{background-color:var(--nylas-color-primary-200);color:var(--nylas-color-primary-600);cursor:not-allowed}sp-button chevron-icon svg{width:15px;height:15px}.next chevron-icon{transform:rotate(180deg)}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}",u=p;var m=function(t,n,i,r){var s=arguments.length,o=s<3?n:r===null?r=Object.getOwnPropertyDescriptor(n,i):r,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,n,i,r);else for(var h=t.length-1;h>=0;h--)(l=t[h])&&(o=(s<3?l(o):s>3?l(n,i,o):l(n,i))||o);return s>3&&o&&Object.defineProperty(n,i,o),o},c=function(t,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,n)};const d=class{constructor(t){e.registerInstance(this,t),this.next=e.createEvent(this,"next",7),this.previous=e.createEvent(this,"previous",7),this.state="ready",this.hasNextPage=!1,this.hasPreviousPage=!1,this.scrollTarget="container",this.mobileOnlyInfiniteScroll=!0,this.mobileViewPortWidth=768,a.debug("[nylas-pagination] Constructed"),this.isScrollAtContainerBottom=this.isScrollAtContainerBottom.bind(this),this.isScrollAtPageBottom=this.isScrollAtPageBottom.bind(this),this.nextPage=this.nextPage.bind(this),this.previousPage=this.previousPage.bind(this),this.handlePageScroll=this.handlePageScroll.bind(this),this.handleContainerScroll=this.handleContainerScroll.bind(this)}connectedCallback(){a.debug("[nylas-pagination] Component connected")}async componentWillLoad(){a.debug("[nylas-pagination] Component will load")}async componentDidLoad(){a.debug("[nylas-pagination] Component did load"),this.containerElement&&this.containerElement.addEventListener("scroll",this.handleContainerScroll)}async componentWillRender(){a.debug("[nylas-pagination] Component will render")}disconnectedCallback(){a.debug("[nylas-pagination] Component disconnected"),this.containerElement&&this.containerElement.removeEventListener("scroll",this.handleContainerScroll)}handlePageScroll(t){this.isScrollAtPageBottom()&&this.canScroll&&this.scrollTarget==="page"&&this.nextPage()}async nextPage(){const t=this.host.children.length>0;this.next.emit({hasChildren:t})}async previousPage(){const t=this.host.children.length>0;this.previous.emit({hasChildren:t})}handleContainerScroll(t){this.isScrollAtContainerBottom()&&this.canScroll&&this.scrollTarget==="container"&&this.nextPage()}isScrollAtContainerBottom(){return this.containerElement?this.containerElement&&this.containerElement.scrollTop+this.containerElement.clientHeight>=this.containerElement.scrollHeight:!1}isScrollAtPageBottom(){return window.innerHeight+window.scrollY>=document.body.offsetHeight}get canScroll(){const t=this.host.children.length>0;return this.state==="ready"&&t&&(!this.mobileOnlyInfiniteScroll||window.innerWidth<this.mobileViewPortWidth)}render(){return this.host.children.length>0?e.h(e.Host,null,e.h("div",{class:"container",ref:n=>this.containerElement=n},e.h("slot",null),this.canScroll&&e.h("div",{class:"pagination"},e.h("sp-theme",{scale:"medium",color:"dark"},this.state==="ready"&&this.hasNextPage&&e.h("sp-button",{onClick:this.nextPage},e.h("div",{slot:"icon"},e.h("refresh-icon",{class:"refres-icon"}))," ","Load more..."))))):e.h(e.Host,null,e.h("sp-theme",{scale:"medium",color:"dark"},this.hasPreviousPage&&e.h("sp-button",{class:"previous",parr:"previous",onClick:this.previousPage},e.h("div",{slot:"icon"},e.h("chevron-icon",{class:"previous-icon"}))," ","Previous"),this.hasPreviousPage&&this.hasNextPage&&" ",this.hasNextPage&&e.h("sp-button",{class:"next",parr:"next",onClick:this.nextPage},e.h("div",{slot:"icon"},e.h("chevron-icon",{class:"next-icon"}))," ","Next")))}get host(){return e.getElement(this)}};m([g.RegisterComponent({name:"nylas-pagination",stateToProps:new Map([["mailbox.hasNextThreadPage","hasNextPage"],["mailbox.hasPreviousThreadPage","hasPreviousPage"],["mailbox.state","state"]]),eventToProps:{next:async(t,n)=>{a.debug("[nylas-pagination] Next page event fired");const{hasChildren:i}=t.detail;await n.threads.nextThreadPage(i?"append":"overwrite",!i)},previous:async(t,n)=>{a.debug("[nylas-pagination] Previous page event fired");const{hasChildren:i}=t.detail;await n.threads.previousThreadPage(i?"append":"overwrite",!i)}},fireRegisterEvent:!0}),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],d.prototype,"render",null);d.style=u;exports.nylas_mailbox_pagination=d;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-3b6f5cd5.cjs"),b=require("./register-component-152c6ad2-0df7215b.cjs"),c=require("./utils-5074a070-d5ba6add.cjs");require("react");require("react-dom");const y=":host{display:block}sp-button{border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-400);color:var(--nylas-color-primary-900);fill:var(--nylas-color-primary-900)}sp-button:hover{background-color:var(--nylas-color-primary-500)}sp-button:disabled{background-color:var(--nylas-color-primary-200);color:var(--nylas-color-primary-600);cursor:not-allowed}",f=y;var h=function(t,o,e,n){var l=arguments.length,a=l<3?o:n===null?n=Object.getOwnPropertyDescriptor(o,e):n,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,o,e,n);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(l<3?i(a):l>3?i(o,e,a):i(o,e))||a);return l>3&&a&&Object.defineProperty(o,e,a),a},d=function(t,o){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,o)};const u=class{constructor(t){r.registerInstance(this,t),this.onClick=async()=>{const o=this.method;if(c.debug("[nylas-mailbox-toolbar-button] onClick",{method:o,mailboxConnector:this.mailboxConnector}),this.mailboxConnector&&o){const e=this.callMethod(this.mailboxConnector,o);e&&await e()}},this.method=void 0,this.dataState=void 0,this.iconOnly=!1,this.mailboxConnector=void 0}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){c.debug("[nylas-if-state] Component will load")}async componentDidLoad(){c.debug("[nylas-if-state] Component did load")}callMethod(t,o){const e=o.split(".");let n=t;for(const i of e.slice(0,-1))if(n=n[i],!n)return;const l=e[e.length-1],a=n[l];if(typeof a=="function")return a.bind(n)}renderByState(t){return t?r.h("slot",{name:"loading"},"Loading..."):r.h("slot",null,"Click")}hasSlot(t){return!!this.host.querySelector(`[slot="${t}"]`)}render(){var n;let t=!1;const o=(n=this.mailboxConnector)==null?void 0:n.nylasMailboxStore;if(typeof o<"u"){const l=String(this.dataState);t=this.dataState?o.get(l)==="loading":!1}const e=t?"state-loading":"state-ready";return r.h(r.Host,{key:"a54c99a0881643686516cecb59f8f945ba8e3ef1"},r.h("sp-theme",{key:"075773f3a5e9c354bae00d01c70d3b458cc40961",scale:"medium",color:"dark"},r.h("sp-button",{onClick:this.onClick,disabled:t,key:e,"icon-only":this.iconOnly,label:this.renderByState(t)},this.hasSlot("icon")&&r.h("div",{slot:"icon",class:"slot"},r.h("slot",{name:"icon"})),!this.iconOnly&&this.renderByState(t))))}get host(){return r.getElement(this)}};h([b.RegisterComponent({name:"nylas-mailbox-toolbar-button",connectorToProp:"mailboxConnector",fireRegisterEvent:!0}),d("design:type",Function),d("design:paramtypes",[]),d("design:returntype",void 0)],u.prototype,"render",null);u.style=f;exports.nylas_mailbox_toolbar_button=u;
@@ -1,186 +0,0 @@
1
- import { r as y, c as D, h, H as M, g as H } from "./index-630f4e87.js";
2
- import { d as f, g as b, c as w } from "./utils-5074a070-ce33ee6b.js";
3
- import { t as p, d as c, a as T, b as m } from "./duration-bddc4a13-179ce826.js";
4
- import "react";
5
- import "react-dom";
6
- const S = p((t) => {
7
- t.setTime(t - t.getMilliseconds() - t.getSeconds() * T);
8
- }, (t, e) => {
9
- t.setTime(+t + e * c);
10
- }, (t, e) => (e - t) / c, (t) => t.getMinutes()), k = S.range;
11
- p((t) => {
12
- t.setUTCSeconds(0, 0);
13
- }, (t, e) => {
14
- t.setTime(+t + e * c);
15
- }, (t, e) => (e - t) / c, (t) => t.getUTCMinutes());
16
- const x = p((t) => {
17
- t.setTime(t - t.getMilliseconds() - t.getSeconds() * T - t.getMinutes() * c);
18
- }, (t, e) => {
19
- t.setTime(+t + e * m);
20
- }, (t, e) => (e - t) / m, (t) => t.getHours()), v = x.range;
21
- p((t) => {
22
- t.setUTCMinutes(0, 0, 0);
23
- }, (t, e) => {
24
- t.setTime(+t + e * m);
25
- }, (t, e) => (e - t) / m, (t) => t.getUTCHours());
26
- const C = ':host{display:block;font-size:inherit;font-family:inherit;--nylas-grid-border-color:var(--nylas-base-100);--nylas-available-color:var(--nylas-base-500);--nylas-available-hover-color:var(--nylas-base-100);--nylas-unavailable-color:inherit}.legend{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;font-size:inherit;font-family:inherit;max-width:fit-content;margin:0 auto;margin-top:1rem}.legend .available{display:grid;grid-template-columns:auto 1fr;gap:0.5rem;align-items:center;font-size:inherit;font-family:inherit}.legend .available .box{width:2rem;height:2rem;background-color:var(--nylas-available-color);border:1px dashed var(--nylas-grid-border-color)}.legend .unavailable{display:grid;grid-template-columns:auto 1fr;gap:0.5rem;align-items:center;font-size:inherit;font-family:inherit}.legend .unavailable .box{width:2rem;height:2rem;background-color:var(--nylas-unavailable-color);border:1px dashed var(--nylas-grid-border-color)}.open-hours{display:grid;gap:1rem;grid-template:".... days days" "hours selected-hours selected-hours" 1fr/auto 1fr}.open-hours .days{grid-area:days;display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;text-align:center;justify-items:center;font-size:inherit;font-family:inherit}.open-hours .hours{display:grid;grid-auto-flow:row;grid-area:hours;text-align:right;align-items:start;font-size:inherit;font-family:inherit}.open-hours .hours span{top:-0.6rem;display:block;position:relative}.open-hours .selected-hours{display:grid;grid-area:selected-hours;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr}.open-hours .selected-hours .hour{display:grid;border:1px dashed var(--nylas-grid-border-color);height:40px;background-color:var(--nylas-unavailable-color)}.open-hours .selected-hours .hour.selected{background-color:var(--nylas-available-color)}.open-hours .selected-hours .hour.hovered{background-color:var(--nylas-available-hover-color)}.open-hours .selected-hours.inverse .hour{background-color:var(--nylas-available-color)}.open-hours .selected-hours.inverse .hour.selected{background-color:var(--nylas-unavailable-color)}.open-hours .selected-hours.inverse .hour.hovered{background-color:var(--nylas-available-hover-color)}', O = C, E = class {
27
- constructor(t) {
28
- y(this, t), this.openHoursChanged = D(this, "openHoursChanged", 7), this.dragStartTime = 0, this.onSelectedHoursWeel = (e) => {
29
- e.preventDefault(), e.stopPropagation();
30
- const { deltaY: s } = e, a = s > 0 ? -1 : 1;
31
- if (this.intervalMinutes === this.stepMinutes && a === -1 || this.intervalMinutes === 60 && a === 1)
32
- return;
33
- this.intervalMinutes = this.intervalMinutes + a * this.stepMinutes;
34
- const i = new Date(this.startTime);
35
- i.setHours(this.endTime.getHours(), 0, 0, 0), this.intervalMinutes < 60 ? this.times = k(this.startTime, i, this.intervalMinutes) : this.times = v(this.startTime, i, this.intervalMinutes / 60);
36
- }, this.onContextMenu = (e) => {
37
- e.preventDefault(), e.stopPropagation(), this.inverse = !this.inverse;
38
- }, this.onMouseDown = (e, s) => {
39
- this.draggingStartDate = s, this.dragStartTime = (/* @__PURE__ */ new Date()).getTime(), e.preventDefault(), e.stopPropagation();
40
- }, this.onMouseOver = (e, s) => {
41
- this.isDragging() && (this.draggingEndDate = s);
42
- }, this.onMouseUp = (e, s) => {
43
- if (this.host.querySelectorAll(".hovered").forEach((i) => {
44
- i.classList.remove("hovered");
45
- }), this.isDragging() && this.draggingStartDate && this.draggingEndDate) {
46
- const i = [];
47
- let r = this.draggingStartDate, o = this.draggingEndDate;
48
- o.setMinutes(o.getMinutes() + this.intervalMinutes);
49
- const n = r.getDay(), u = o.getDay();
50
- if (n === u)
51
- i.push({ start: r, end: o });
52
- else if (u > n)
53
- for (let l = 0; l <= u - n; l++) {
54
- const d = new Date(r), g = new Date(r);
55
- d.setDate(r.getDate() + l), g.setDate(r.getDate() + l), g.setHours(o.getHours()), i.push({ start: d, end: g });
56
- }
57
- for (let l of i)
58
- this.updateAvailableTimes(l.start, l.end);
59
- }
60
- this.draggingStartDate = null, this.draggingEndDate = null, e.preventDefault(), e.stopPropagation();
61
- }, this.onTimeClick = (e) => {
62
- if (this.isDragging()) {
63
- f("dragging for more than threshold, skipping click event");
64
- return;
65
- }
66
- this.draggingStartDate = null;
67
- const s = new Date(e), a = new Date(e);
68
- a.setMinutes(a.getMinutes() + this.intervalMinutes), this.updateAvailableTimes(s, a);
69
- }, this.isDragging = () => {
70
- const e = (/* @__PURE__ */ new Date()).getTime();
71
- return this.draggingStartDate && e - this.dragStartTime > this.dragThreshold;
72
- }, this.updateAvailableTimes = (e, s) => {
73
- const { availableTimes: a } = this, i = a.findIndex((n) => e.getTime() >= n.start.getTime() && s.getTime() <= n.end.getTime());
74
- if (i !== -1) {
75
- a.splice(i, 1), this.availableTimes = [...a];
76
- return;
77
- }
78
- const r = a.findIndex((n) => e.getTime() === n.end.getTime());
79
- if (r !== -1) {
80
- a[r].end = s, this.availableTimes = [...a];
81
- return;
82
- }
83
- const o = a.findIndex((n) => s.getTime() === n.start.getTime());
84
- if (o !== -1) {
85
- a[o].start = e, this.availableTimes = [...a];
86
- return;
87
- }
88
- this.availableTimes = [...a, { start: e, end: s }];
89
- }, this.isAvailableTime = (e) => this.availableTimes.some((s) => s.start.getTime() <= e.getTime() && s.end.getTime() > e.getTime()), this.getSelectedDate = (e) => {
90
- const s = new Date(this.startTime);
91
- s.setDate(e % 7 + 1);
92
- const a = Math.floor(e / 7);
93
- return s.setHours(this.times[a].getHours()), s.setMinutes(this.times[a].getMinutes()), s;
94
- }, this.isHovering = (e) => !this.draggingStartDate || !this.draggingEndDate ? !1 : e.getDay() >= this.draggingStartDate.getDay() && e.getHours() >= this.draggingStartDate.getHours() && e.getHours() <= this.draggingEndDate.getHours() && e.getDay() <= this.draggingEndDate.getDay(), this.calculateAvailableTimes = (e) => {
95
- const s = [];
96
- for (const a of e)
97
- for (const i of a.days) {
98
- if (a.start === a.end)
99
- continue;
100
- const [r, o] = a.start.split(":").map((g) => parseInt(g, 10)), [n, u] = a.end.split(":").map((g) => parseInt(g, 10)), l = new Date(this.startTime);
101
- l.setDate(l.getDate() + i), l.setHours(r), l.setMinutes(o);
102
- const d = new Date(this.startTime);
103
- d.setDate(d.getDate() + i), d.setHours(n), d.setMinutes(u), s.push({ start: l, end: d });
104
- }
105
- return s.sort((a, i) => a.start.getTime() - i.start.getTime()), f("availableTimes", s), s;
106
- }, this.calculateOpenHours = () => {
107
- const e = {}, s = [];
108
- let a = [...this.availableTimes];
109
- if (a.sort((i, r) => i.start.getTime() - r.start.getTime()), this.inverse) {
110
- const i = [...a];
111
- a = [];
112
- let r = this.startTime;
113
- for (const o of i) {
114
- const n = o.start;
115
- a.push({ start: r, end: n }), r = o.end;
116
- }
117
- a.push({ start: r, end: this.endTime });
118
- }
119
- a.sort((i, r) => i.start.getTime() - r.start.getTime());
120
- for (const i of a) {
121
- const r = i.start.getDay(), o = i.end.getDay(), n = new Date(i.start);
122
- n.setDate(n.getDate() + 1), n.setHours(0, 0, 0, 0), (r > o || o > r) && (a.push({ start: n, end: i.end }), i.end = new Date(i.start), i.end.setHours(23, 0, 0, 0));
123
- const u = b(i.start), l = b(i.end), d = `${u}-${l}`;
124
- e[d] ? e[d].push(r) : e[d] = [r];
125
- }
126
- for (const i in e) {
127
- const [r, o] = i.split("-"), u = {
128
- days: e[i],
129
- start: r,
130
- end: o,
131
- timezone: w()
132
- };
133
- s.push(u);
134
- }
135
- this.openHoursChanged.emit(s);
136
- }, this.getNumberOfDatesBetween = (e, s) => {
137
- const a = Math.abs(s.getTime() - e.getTime());
138
- return Math.ceil(a / (1e3 * 60 * 60 * 24));
139
- }, this.openHours = [], this.startTime = new Date(2024, 8, 1, 8, 0, 0, 0), this.endTime = new Date(2024, 8, 7, 18, 0, 0, 0), this.stepMinutes = 15, this.dragThreshold = 150, this.mobileViewPortWidth = 768, this.intervalMinutes = 60, this.times = [], this.availableTimes = [], this.draggingStartDate = null, this.draggingEndDate = null, this.inverse = !1, this.isMobile = !1;
140
- }
141
- componentWillLoad() {
142
- this.onResize();
143
- const t = new Date(this.startTime);
144
- t.setHours(this.endTime.getHours(), 0, 0, 0), this.times = v(this.startTime, t, this.intervalMinutes / 60), this.availableTimes = this.calculateAvailableTimes(this.openHours);
145
- }
146
- whenOpenHoursChanged(t, e) {
147
- JSON.stringify(t) !== JSON.stringify(e) && (this.availableTimes = this.calculateAvailableTimes(t));
148
- }
149
- availableTimesChanged() {
150
- this.calculateOpenHours();
151
- }
152
- inverseChanged() {
153
- this.calculateOpenHours();
154
- }
155
- onResize() {
156
- const t = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);
157
- this.isMobile = t <= this.mobileViewPortWidth;
158
- }
159
- render() {
160
- return h(M, { key: "d5bbd9de6ab37f3f65d15b3dc5707b01a851956d" }, h("div", { key: "5ff3bdae2037ba3899332c0aca490c2b4cc80196", class: "open-hours", part: "open-hours" }, h("div", { key: "c8de6bcc08a63326182fad04ea4e1808c628c609", class: "days", part: "days" }, Array.from({ length: this.getNumberOfDatesBetween(this.startTime, this.endTime) }).map((t, e) => {
161
- const s = new Date(this.startTime);
162
- return s.setDate(s.getDate() + e), h("span", null, s.toLocaleDateString(void 0, { weekday: this.isMobile ? "short" : "long" }));
163
- })), h("div", { key: "3592ca8e4b4de1302cca7fdca24cfb6ed09c7d41", class: "hours", part: "hours" }, this.times.map((t) => h("span", null, t.toLocaleTimeString(void 0, { timeStyle: "short" })))), h("div", { key: "48ead6932850e177cfbd43a6227720c8c86145ea", class: {
164
- "selected-hours": !0,
165
- inverse: this.inverse
166
- }, part: "selected-hours", onWheel: this.onSelectedHoursWeel, onContextMenu: this.onContextMenu }, Array.from({ length: this.getNumberOfDatesBetween(this.startTime, this.endTime) * this.times.length }).map((t, e) => h("div", { part: "hour", class: {
167
- hour: !0,
168
- selected: this.isAvailableTime(this.getSelectedDate(e)),
169
- hovered: this.isHovering(this.getSelectedDate(e))
170
- }, onMouseDown: (s) => this.onMouseDown(s, this.getSelectedDate(e)), onMouseUp: (s) => this.onMouseUp(s, this.getSelectedDate(e)), onMouseOver: (s) => this.onMouseOver(s, this.getSelectedDate(e)), onClick: () => this.onTimeClick(this.getSelectedDate(e)) }, " ")))), h("div", { key: "ca2aa5bef7a0e31b29b4a1a759fcefcabc6f0785", class: "legend", part: "legend" }, h("div", { key: "a7b3b3a0a02c8dfbac69f8cad10c392e3a2e3e84", class: "available", part: "available" }, h("span", { key: "dcfcd5d5fd2934672fb0069825ab98e50c886682", class: "box", part: "box" }), h("span", { key: "37cc29e78d063c1087d46a1cc5de6dbe46677031", class: "label", part: "label" }, "Available")), h("div", { key: "9db85b0c8c208aa764f2ea0c6e3371dcea0594e0", class: "unavailable", part: "unavailable" }, h("span", { key: "c0a3ef91cc2a8f418329d2c6d91feb7d90e4658f", class: "box", part: "box" }), h("span", { key: "0f21587a4222836b2273e19094b8c0c35b88de20", class: "label", part: "label" }, "Unavailable"))));
171
- }
172
- get host() {
173
- return H(this);
174
- }
175
- static get watchers() {
176
- return {
177
- openHours: ["whenOpenHoursChanged"],
178
- availableTimes: ["availableTimesChanged"],
179
- inverse: ["inverseChanged"]
180
- };
181
- }
182
- };
183
- E.style = O;
184
- export {
185
- E as nylas_open_hours_picker
186
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-3b6f5cd5.cjs"),m=require("./utils-5074a070-d5ba6add.cjs"),u=require("./duration-bddc4a13-05d3e3e2.cjs");require("react");require("react-dom");const f=u.timeInterval(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*u.durationSecond)},(t,e)=>{t.setTime(+t+e*u.durationMinute)},(t,e)=>(e-t)/u.durationMinute,t=>t.getMinutes()),v=f.range;u.timeInterval(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*u.durationMinute)},(t,e)=>(e-t)/u.durationMinute,t=>t.getUTCMinutes());const T=u.timeInterval(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*u.durationSecond-t.getMinutes()*u.durationMinute)},(t,e)=>{t.setTime(+t+e*u.durationHour)},(t,e)=>(e-t)/u.durationHour,t=>t.getHours()),p=T.range;u.timeInterval(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*u.durationHour)},(t,e)=>(e-t)/u.durationHour,t=>t.getUTCHours());const y=':host{display:block;font-size:inherit;font-family:inherit;--nylas-grid-border-color:var(--nylas-base-100);--nylas-available-color:var(--nylas-base-500);--nylas-available-hover-color:var(--nylas-base-100);--nylas-unavailable-color:inherit}.legend{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;font-size:inherit;font-family:inherit;max-width:fit-content;margin:0 auto;margin-top:1rem}.legend .available{display:grid;grid-template-columns:auto 1fr;gap:0.5rem;align-items:center;font-size:inherit;font-family:inherit}.legend .available .box{width:2rem;height:2rem;background-color:var(--nylas-available-color);border:1px dashed var(--nylas-grid-border-color)}.legend .unavailable{display:grid;grid-template-columns:auto 1fr;gap:0.5rem;align-items:center;font-size:inherit;font-family:inherit}.legend .unavailable .box{width:2rem;height:2rem;background-color:var(--nylas-unavailable-color);border:1px dashed var(--nylas-grid-border-color)}.open-hours{display:grid;gap:1rem;grid-template:".... days days" "hours selected-hours selected-hours" 1fr/auto 1fr}.open-hours .days{grid-area:days;display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;text-align:center;justify-items:center;font-size:inherit;font-family:inherit}.open-hours .hours{display:grid;grid-auto-flow:row;grid-area:hours;text-align:right;align-items:start;font-size:inherit;font-family:inherit}.open-hours .hours span{top:-0.6rem;display:block;position:relative}.open-hours .selected-hours{display:grid;grid-area:selected-hours;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr}.open-hours .selected-hours .hour{display:grid;border:1px dashed var(--nylas-grid-border-color);height:40px;background-color:var(--nylas-unavailable-color)}.open-hours .selected-hours .hour.selected{background-color:var(--nylas-available-color)}.open-hours .selected-hours .hour.hovered{background-color:var(--nylas-available-hover-color)}.open-hours .selected-hours.inverse .hour{background-color:var(--nylas-available-color)}.open-hours .selected-hours.inverse .hour.selected{background-color:var(--nylas-unavailable-color)}.open-hours .selected-hours.inverse .hour.hovered{background-color:var(--nylas-available-hover-color)}',D=y,b=class{constructor(t){o.registerInstance(this,t),this.openHoursChanged=o.createEvent(this,"openHoursChanged",7),this.dragStartTime=0,this.onSelectedHoursWeel=e=>{e.preventDefault(),e.stopPropagation();const{deltaY:s}=e,i=s>0?-1:1;if(this.intervalMinutes===this.stepMinutes&&i===-1||this.intervalMinutes===60&&i===1)return;this.intervalMinutes=this.intervalMinutes+i*this.stepMinutes;const a=new Date(this.startTime);a.setHours(this.endTime.getHours(),0,0,0),this.intervalMinutes<60?this.times=v(this.startTime,a,this.intervalMinutes):this.times=p(this.startTime,a,this.intervalMinutes/60)},this.onContextMenu=e=>{e.preventDefault(),e.stopPropagation(),this.inverse=!this.inverse},this.onMouseDown=(e,s)=>{this.draggingStartDate=s,this.dragStartTime=new Date().getTime(),e.preventDefault(),e.stopPropagation()},this.onMouseOver=(e,s)=>{this.isDragging()&&(this.draggingEndDate=s)},this.onMouseUp=(e,s)=>{if(this.host.querySelectorAll(".hovered").forEach(a=>{a.classList.remove("hovered")}),this.isDragging()&&this.draggingStartDate&&this.draggingEndDate){const a=[];let r=this.draggingStartDate,l=this.draggingEndDate;l.setMinutes(l.getMinutes()+this.intervalMinutes);const n=r.getDay(),c=l.getDay();if(n===c)a.push({start:r,end:l});else if(c>n)for(let h=0;h<=c-n;h++){const d=new Date(r),g=new Date(r);d.setDate(r.getDate()+h),g.setDate(r.getDate()+h),g.setHours(l.getHours()),a.push({start:d,end:g})}for(let h of a)this.updateAvailableTimes(h.start,h.end)}this.draggingStartDate=null,this.draggingEndDate=null,e.preventDefault(),e.stopPropagation()},this.onTimeClick=e=>{if(this.isDragging()){m.debug("dragging for more than threshold, skipping click event");return}this.draggingStartDate=null;const s=new Date(e),i=new Date(e);i.setMinutes(i.getMinutes()+this.intervalMinutes),this.updateAvailableTimes(s,i)},this.isDragging=()=>{const e=new Date().getTime();return this.draggingStartDate&&e-this.dragStartTime>this.dragThreshold},this.updateAvailableTimes=(e,s)=>{const{availableTimes:i}=this,a=i.findIndex(n=>e.getTime()>=n.start.getTime()&&s.getTime()<=n.end.getTime());if(a!==-1){i.splice(a,1),this.availableTimes=[...i];return}const r=i.findIndex(n=>e.getTime()===n.end.getTime());if(r!==-1){i[r].end=s,this.availableTimes=[...i];return}const l=i.findIndex(n=>s.getTime()===n.start.getTime());if(l!==-1){i[l].start=e,this.availableTimes=[...i];return}this.availableTimes=[...i,{start:e,end:s}]},this.isAvailableTime=e=>this.availableTimes.some(s=>s.start.getTime()<=e.getTime()&&s.end.getTime()>e.getTime()),this.getSelectedDate=e=>{const s=new Date(this.startTime);s.setDate(e%7+1);const i=Math.floor(e/7);return s.setHours(this.times[i].getHours()),s.setMinutes(this.times[i].getMinutes()),s},this.isHovering=e=>!this.draggingStartDate||!this.draggingEndDate?!1:e.getDay()>=this.draggingStartDate.getDay()&&e.getHours()>=this.draggingStartDate.getHours()&&e.getHours()<=this.draggingEndDate.getHours()&&e.getDay()<=this.draggingEndDate.getDay(),this.calculateAvailableTimes=e=>{const s=[];for(const i of e)for(const a of i.days){if(i.start===i.end)continue;const[r,l]=i.start.split(":").map(g=>parseInt(g,10)),[n,c]=i.end.split(":").map(g=>parseInt(g,10)),h=new Date(this.startTime);h.setDate(h.getDate()+a),h.setHours(r),h.setMinutes(l);const d=new Date(this.startTime);d.setDate(d.getDate()+a),d.setHours(n),d.setMinutes(c),s.push({start:h,end:d})}return s.sort((i,a)=>i.start.getTime()-a.start.getTime()),m.debug("availableTimes",s),s},this.calculateOpenHours=()=>{const e={},s=[];let i=[...this.availableTimes];if(i.sort((a,r)=>a.start.getTime()-r.start.getTime()),this.inverse){const a=[...i];i=[];let r=this.startTime;for(const l of a){const n=l.start;i.push({start:r,end:n}),r=l.end}i.push({start:r,end:this.endTime})}i.sort((a,r)=>a.start.getTime()-r.start.getTime());for(const a of i){const r=a.start.getDay(),l=a.end.getDay(),n=new Date(a.start);n.setDate(n.getDate()+1),n.setHours(0,0,0,0),(r>l||l>r)&&(i.push({start:n,end:a.end}),a.end=new Date(a.start),a.end.setHours(23,0,0,0));const c=m.get24HourTime(a.start),h=m.get24HourTime(a.end),d=`${c}-${h}`;e[d]?e[d].push(r):e[d]=[r]}for(const a in e){const[r,l]=a.split("-"),c={days:e[a],start:r,end:l,timezone:m.getUserTimezone()};s.push(c)}this.openHoursChanged.emit(s)},this.getNumberOfDatesBetween=(e,s)=>{const i=Math.abs(s.getTime()-e.getTime());return Math.ceil(i/(1e3*60*60*24))},this.openHours=[],this.startTime=new Date(2024,8,1,8,0,0,0),this.endTime=new Date(2024,8,7,18,0,0,0),this.stepMinutes=15,this.dragThreshold=150,this.mobileViewPortWidth=768,this.intervalMinutes=60,this.times=[],this.availableTimes=[],this.draggingStartDate=null,this.draggingEndDate=null,this.inverse=!1,this.isMobile=!1}componentWillLoad(){this.onResize();const t=new Date(this.startTime);t.setHours(this.endTime.getHours(),0,0,0),this.times=p(this.startTime,t,this.intervalMinutes/60),this.availableTimes=this.calculateAvailableTimes(this.openHours)}whenOpenHoursChanged(t,e){JSON.stringify(t)!==JSON.stringify(e)&&(this.availableTimes=this.calculateAvailableTimes(t))}availableTimesChanged(){this.calculateOpenHours()}inverseChanged(){this.calculateOpenHours()}onResize(){const t=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0);this.isMobile=t<=this.mobileViewPortWidth}render(){return o.h(o.Host,{key:"d5bbd9de6ab37f3f65d15b3dc5707b01a851956d"},o.h("div",{key:"5ff3bdae2037ba3899332c0aca490c2b4cc80196",class:"open-hours",part:"open-hours"},o.h("div",{key:"c8de6bcc08a63326182fad04ea4e1808c628c609",class:"days",part:"days"},Array.from({length:this.getNumberOfDatesBetween(this.startTime,this.endTime)}).map((t,e)=>{const s=new Date(this.startTime);return s.setDate(s.getDate()+e),o.h("span",null,s.toLocaleDateString(void 0,{weekday:this.isMobile?"short":"long"}))})),o.h("div",{key:"3592ca8e4b4de1302cca7fdca24cfb6ed09c7d41",class:"hours",part:"hours"},this.times.map(t=>o.h("span",null,t.toLocaleTimeString(void 0,{timeStyle:"short"})))),o.h("div",{key:"48ead6932850e177cfbd43a6227720c8c86145ea",class:{"selected-hours":!0,inverse:this.inverse},part:"selected-hours",onWheel:this.onSelectedHoursWeel,onContextMenu:this.onContextMenu},Array.from({length:this.getNumberOfDatesBetween(this.startTime,this.endTime)*this.times.length}).map((t,e)=>o.h("div",{part:"hour",class:{hour:!0,selected:this.isAvailableTime(this.getSelectedDate(e)),hovered:this.isHovering(this.getSelectedDate(e))},onMouseDown:s=>this.onMouseDown(s,this.getSelectedDate(e)),onMouseUp:s=>this.onMouseUp(s,this.getSelectedDate(e)),onMouseOver:s=>this.onMouseOver(s,this.getSelectedDate(e)),onClick:()=>this.onTimeClick(this.getSelectedDate(e))}," ")))),o.h("div",{key:"ca2aa5bef7a0e31b29b4a1a759fcefcabc6f0785",class:"legend",part:"legend"},o.h("div",{key:"a7b3b3a0a02c8dfbac69f8cad10c392e3a2e3e84",class:"available",part:"available"},o.h("span",{key:"dcfcd5d5fd2934672fb0069825ab98e50c886682",class:"box",part:"box"}),o.h("span",{key:"37cc29e78d063c1087d46a1cc5de6dbe46677031",class:"label",part:"label"},"Available")),o.h("div",{key:"9db85b0c8c208aa764f2ea0c6e3371dcea0594e0",class:"unavailable",part:"unavailable"},o.h("span",{key:"c0a3ef91cc2a8f418329d2c6d91feb7d90e4658f",class:"box",part:"box"}),o.h("span",{key:"0f21587a4222836b2273e19094b8c0c35b88de20",class:"label",part:"label"},"Unavailable"))))}get host(){return o.getElement(this)}static get watchers(){return{openHours:["whenOpenHoursChanged"],availableTimes:["availableTimesChanged"],inverse:["inverseChanged"]}}};b.style=D;exports.nylas_open_hours_picker=b;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-3b6f5cd5.cjs"),y=require("./index-b30d446a-cbbef925.cjs"),a=require("./utils-5074a070-d5ba6add.cjs"),o=require("./mailbox-store-19f0c6c9-a0cbfa97.cjs"),g=require("./scheduler-store-7d48e682-674705ef.cjs");require("react");require("react-dom");class S{constructor(t,s,n,l,i,h="https://scheduler.nylas.com"){this.router=t,this.schedulerAPIURL=h,this.nylasAuth=s,this.nylasAuthStore=n,this.nylasMailboxStore=l,this.nylasSchedulerStore=i}init(){a.debug("NylasConnector init")}get authStore(){return this.nylasAuthStore}get mailboxStore(){return this.nylasMailboxStore}get schedulerStore(){return this.nylasSchedulerStore}get auth(){return this._authConnector?this._authConnector:(this._authConnector=new o.NylasAuthConnector(this.nylasAuth,this.nylasAuthStore),this._authConnector)}get threads(){return this._threadConnector?this._threadConnector:(this._threadConnector=new o.NylasThreadsConnector(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore,this.router),this._threadConnector)}get messages(){return this._messageConnector?this._messageConnector:(this._messageConnector=new o.NylasMessagesConnector(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore),this._messageConnector)}get folders(){return this._foldersConnector?this._foldersConnector:(this._foldersConnector=new o.NylasFoldersConnector(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore),this._foldersConnector)}get scheduler(){return this._schedulerAPIConnector?this._schedulerAPIConnector:(this._schedulerAPIConnector=new g.NylaSchedulerAPIConnector({schedulerAPIURL:this.schedulerAPIURL,schedulerStore:this.schedulerStore}),this._schedulerAPIConnector)}getAuth(){return this.nylasAuth}resetStores(){this.nylasAuthStore.reset(),this.nylasMailboxStore.reset()}async logout(){await this.nylasAuth.logout(),this.resetStores()}}const b=":host{display:contents}",m=b,C=class{constructor(e){r.registerInstance(this,e),this.init=r.createEvent(this,"init",7),this.loggedIn=r.createEvent(this,"loggedIn",7),this.loggedOut=r.createEvent(this,"loggedOut",7),this.handleAuthChange=async t=>{t?this.loggedIn.emit(this.host):this.loggedOut.emit(this.host)},this.authConfig=void 0,this.eventOverrides={},this.automaticComponentRegistration=!0}connectedCallback(){a.debug("[nylas-provider] connectedCallback")}async componentWillLoad(){var i,h,c,u,d;a.debug("[nylas-provider] componentWillLoad"),this.stores={auth:o.CreateNylasAuthStore(),mailbox:o.CreateNylasMailboxStore(),scheduler:g.CreateNylasSchedulerStore()},this.baseProvider=new y.NylasBaseProvider(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides);const e=new o.HashRouter;this.nylasAuth=y.es({apiUri:"https://api.us.nylas.com",elementsApiUri:"https://elements.us.nylas.com",storageType:"indexeddb",clientId:"YOUR_CLIENT_ID",defaultScopes:[],redirectURI:"/",...this.authConfig});const t=(i=this.baseProvider)==null?void 0:i.getStore("mailbox");if(!t)throw new Error("The mailbox store is not set");const s=(h=this.baseProvider)==null?void 0:h.getStore("auth");if(!s)throw new Error("The auth store is not set");const n=(c=this.baseProvider)==null?void 0:c.getStore("scheduler");if(!n)throw new Error("The scheduler store is not set");this.nylasConnector=new S(e,this.nylasAuth,s,t,n),this.init.emit(this.host).defaultPrevented||await((u=this.nylasConnector)==null?void 0:u.auth.validateSession()),this.handleAuthChange(s.state.isAuthenticated),(d=this.baseProvider)==null||d.componentWillLoad(this.nylasConnector)}componentDidLoad(){var t,s;const e=(t=this.baseProvider)==null?void 0:t.getStore("auth");e==null||e.onChange("isAuthenticated",this.handleAuthChange),(s=this.baseProvider)==null||s.componentDidLoad()}componentDisconnected(){var e;(e=this.baseProvider)==null||e.componentDisconnected()}async registerComponentHandler(e){var t;(t=this.baseProvider)==null||t.registerComponent(e.detail)}async unregisterComponentHandler(e){var t;(t=this.baseProvider)==null||t.unregisterComponent(e.detail)}async getNylasAuth(){return this.nylasAuth}async getNylasConnector(){return this.nylasConnector}async getMailboxStore(){var e;return(e=this.baseProvider)==null?void 0:e.getStore("mailbox")}async getAuthStore(){var e;return(e=this.baseProvider)==null?void 0:e.getStore("auth")}async getNylasSchedulerStore(){var e;return(e=this.baseProvider)==null?void 0:e.getStore("scheduler")}render(){return r.h(r.Host,{key:"5428aca07aa5a047a2912685b1d4475a19ac7783"},r.h("slot",{key:"6e15b9b39a557f02de8c1ea07973d27fdf0451f7"}))}get host(){return r.getElement(this)}};C.style=m;exports.nylas_provider=C;
@@ -1,230 +0,0 @@
1
- import { r as v, c as p, h as n, H as d, g as w, F as x } from "./index-630f4e87.js";
2
- import { n as u, N as _ } from "./index-b30d446a-a90f84b2.js";
3
- import { d as m } from "./utils-5074a070-ce33ee6b.js";
4
- import { E as b, C as k, N as I } from "./scheduler-store-7d48e682-0c0c3991.js";
5
- import "react";
6
- import "react-dom";
7
- class E {
8
- constructor({ schedulerAPIURL: t, nylasSchedulerStore: s, sessionId: i }) {
9
- if (!t)
10
- throw new Error("schedulerAPIURL is required");
11
- if (!s)
12
- throw new Error("nylasSchedulerStore is required");
13
- if (!i)
14
- throw new Error("sessionId is required");
15
- t === "/" && (t = new URL(window.location.href).origin), this.sessionId = i, this.schedulerAPIURL = t, this.nylasSchedulerStore = s;
16
- }
17
- init() {
18
- m("NylasConnector init");
19
- }
20
- get schedulerStore() {
21
- return this.nylasSchedulerStore;
22
- }
23
- get scheduler() {
24
- return this._schedulerAPIConnector ? this._schedulerAPIConnector : (this._schedulerAPIConnector = new I({
25
- schedulerAPIURL: this.schedulerAPIURL,
26
- schedulerStore: this.schedulerStore,
27
- sessionId: this.sessionId
28
- }), this._schedulerAPIConnector);
29
- }
30
- resetStores() {
31
- this.nylasSchedulerStore.reset();
32
- }
33
- }
34
- const h = (e, t) => {
35
- const s = e.isLoading, i = e.showNotification;
36
- return n(
37
- x,
38
- null,
39
- s && n(
40
- "div",
41
- { class: "loading" },
42
- n(
43
- "div",
44
- { class: "left" },
45
- n("div", { class: "skeleton" })
46
- ),
47
- n(
48
- "div",
49
- { class: "right" },
50
- n("div", { class: "skeleton" }),
51
- n("div", { class: "skeleton" }),
52
- n("div", { class: "skeleton" }),
53
- n("div", { class: "skeleton" }),
54
- n("div", { class: "skeleton" })
55
- )
56
- ),
57
- !s && t,
58
- i && n("nylas-notification", null),
59
- n(
60
- "div",
61
- { class: "footer" },
62
- "Powered by  ",
63
- n("nylas-logo", null)
64
- )
65
- );
66
- }, C = ":host{display:flex;flex-direction:column;overflow:visible;border-radius:var(--nylas-border-radius-2x);width:fit-content;background:var(--nylas-base-0);position:relative;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem}@media screen and (max-width: 768px){:host{width:auto;min-width:325px}}.error{padding:8rem 12rem;color:var(--nylas-base-0);background-color:var(--nylas-error);margin:1.5rem;border-radius:var(--nylas-border-radius-2x)}.loading{margin:1.5rem;display:flex;gap:1rem}.loading .skeleton{border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite}.loading .skeleton:nth-child(2){animation-delay:-100ms}.loading .skeleton:nth-child(3){animation-delay:-200ms}.loading .skeleton:nth-child(4){animation-delay:-300ms}.loading .skeleton:nth-child(5){animation-delay:-400ms}.loading .left .skeleton{height:100%;width:400px}.loading .right .skeleton{height:5rem;width:300px;margin-bottom:1rem}.loading .right .skeleton:last-child{margin-bottom:0}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.select-date-page,.additional-data-page,.booked-event-page,.cancelled-event-page,.cancel-flow-page{border-top-left-radius:var(--nylas-border-radius-2x);border-top-right-radius:var(--nylas-border-radius-2x)}.select-date-page,.additional-data-page{display:flex}@media screen and (max-width: 768px){.select-date-page,.additional-data-page{flex-direction:column}}.booked-event-page{background-color:var(--nylas-base-50)}.cancelled-event-page,.cancel-flow-page{padding:1rem;height:496px;display:flex;justify-content:center;align-items:center}.booked-event-page,.cancelled-event-page,.cancel-flow-page{min-width:784px}@media screen and (max-width: 768px){.booked-event-page,.cancelled-event-page,.cancel-flow-page{min-width:90%}}.left-panel{padding:1rem 20px 0;gap:1rem;height:512px;min-width:384px;border:1px solid var(--nylas-base-200);border-top-left-radius:inherit}@media screen and (max-width: 768px){.left-panel{border-top-right-radius:inherit;min-width:unset}}@media screen and (max-width: 768px){.additional-data-page .left-panel{height:325px}}@media screen and (max-width: 768px){.select-date-page .left-panel{padding:0.5rem 4px 0}}.border{margin-left:-1.25rem;margin-right:-1.25rem;border-top-width:1px;height:1px;background-color:var(--nylas-base-200)}@media screen and (max-width: 768px){.border{display:none}}.right-panel{min-width:360px;width:360px;background-color:var(--nylas-base-50);height:512px;padding-top:1rem;border:1px solid var(--nylas-base-200);border-top-right-radius:inherit}@media screen and (max-width: 768px){.right-panel{border-top-right-radius:0px;width:inherit;min-width:unset}}.right-panel h2{display:flex;margin:1.5rem 1rem 1rem;gap:0.25rem;justify-content:center;align-items:center;width:auto;font-size:1.125rem;line-height:1.75rem;font-weight:600;text-align:center;color:var(--nylas-base-800)}.additional-data-page .left-panel{background-color:var(--nylas-base-50)}.additional-data-page .right-panel{background-color:var(--nylas-base-0)}nylas-selected-event-card{height:496px}@media screen and (max-width: 768px){nylas-selected-event-card{height:325px}}.footer{display:flex;justify-content:flex-end;align-items:center;padding:16px;font-size:14px;font-weight:300;color:var(--nylas-base-500);border-top:1px solid var(--nylas-base-100)}.footer svg{fill:var(--nylas-base-500)}.footer svg{margin-top:1px}nylas-selected-event-card::part(nsec__timezone){position:absolute;bottom:0}", D = C, f = { title: "Something went wrong...", type: u.Error, category: b.Component }, L = class {
67
- constructor(e) {
68
- v(this, e), this.init = p(this, "init", 7), this.schedulerWillLoad = p(this, "schedulerWillLoad", 7), this.schedulerDidLoad = p(this, "schedulerDidLoad", 7), this.nylasSchedulerError = p(this, "nylasSchedulerError", 7), this.mode = "app", this.defaultSchedulerStoreState = void 0, this.sessionId = void 0, this.schedulerApiUrl = "https://elements-staging.us.nylas.com", this.bookingInfo = void 0, this.rescheduleBookingId = void 0, this.cancelBookingId = void 0, this.eventOverrides = {}, this.isLoading = void 0, this.themeConfig = void 0, this.showNotification = !0, this.automaticComponentRegistration = !0, this.selectedDateLabel = (/* @__PURE__ */ new Date()).toLocaleDateString(void 0, { dateStyle: "full" }) || "No date selected";
69
- }
70
- connectedCallback() {
71
- m("[nylas-scheduler] connectedCallback");
72
- }
73
- async componentWillLoad() {
74
- var s, i;
75
- if (m("[nylas-scheduler] Component will load"), this.schedulerWillLoad.emit(this.host).defaultPrevented || !this.checkIfSessionIdExists())
76
- return;
77
- this.stores = {
78
- scheduler: k({
79
- bookingInfo: this.bookingInfo,
80
- ...this.defaultSchedulerStoreState
81
- })
82
- }, this.baseProvider = new _(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides);
83
- const t = (s = this.baseProvider) == null ? void 0 : s.getStore("scheduler");
84
- if (this.nylasSchedulerConnector = new E({
85
- schedulerAPIURL: this.schedulerApiUrl,
86
- sessionId: this.sessionId,
87
- nylasSchedulerStore: t
88
- }), this.init.emit(this.host), (i = this.baseProvider) == null || i.componentWillLoad(this.nylasSchedulerConnector), this.themeConfig)
89
- for (const [a, o] of Object.entries(this.themeConfig))
90
- this.host.style.setProperty(`${a}`, o);
91
- }
92
- async componentDidLoad() {
93
- var a, o, r, c;
94
- if ((a = this.baseProvider) == null || a.componentDidLoad(), !this.checkIfSessionIdExists())
95
- return;
96
- const e = (o = this.baseProvider) == null ? void 0 : o.getStore("scheduler"), t = e == null ? void 0 : e.get("selectedTimeslot");
97
- if (t && (t != null && t.start_time)) {
98
- if (!this.isTimeslotValid(t))
99
- return;
100
- if (e != null && e.get("showBookingForm")) {
101
- e == null || e.set("selectedDate", t.start_time);
102
- return;
103
- }
104
- }
105
- const s = e == null ? void 0 : e.get("selectedDate");
106
- let i;
107
- if (!s)
108
- i = await ((r = this.nylasSchedulerConnector) == null ? void 0 : r.scheduler.getAvailability());
109
- else {
110
- const l = new Date(s.getFullYear(), s.getMonth(), 1).getTime() / 1e3, g = new Date(s.getFullYear(), s.getMonth() + 1, 1).getTime() / 1e3;
111
- i = await ((c = this.nylasSchedulerConnector) == null ? void 0 : c.scheduler.getAvailability(l, g));
112
- }
113
- if ((!i || "error" in i) && this.nylasSchedulerError.emit({ ...this.getErrorObject(i == null ? void 0 : i.error) }), !s) {
114
- let l = /* @__PURE__ */ new Date();
115
- const g = e == null ? void 0 : e.get("availability").find((y) => new Date(y.start_time) > /* @__PURE__ */ new Date());
116
- g && (l = g.start_time), e == null || e.set("selectedDate", l);
117
- }
118
- }
119
- componentDisconnected() {
120
- var e;
121
- (e = this.baseProvider) == null || e.componentDisconnected();
122
- }
123
- bookingInfoChanged(e) {
124
- var t;
125
- (t = this.stores) == null || t.scheduler.set("bookingInfo", e);
126
- }
127
- async registerComponentHandler(e) {
128
- var t;
129
- (t = this.baseProvider) == null || t.registerComponent(e.detail);
130
- }
131
- async unregisterComponentHandler(e) {
132
- var t;
133
- (t = this.baseProvider) == null || t.unregisterComponent(e.detail);
134
- }
135
- async monthChangedHandler(e) {
136
- var o;
137
- const t = e.detail, s = new Date(t.getFullYear(), t.getMonth(), 1).getTime() / 1e3, i = new Date(t.getFullYear(), t.getMonth() + 1, 1).getTime() / 1e3, a = await ((o = this.nylasSchedulerConnector) == null ? void 0 : o.scheduler.getAvailability(s, i));
138
- (!a || "error" in a) && this.nylasSchedulerError.emit({ ...this.getErrorObject(a == null ? void 0 : a.error) });
139
- }
140
- async bookButtonClickedHandler(e) {
141
- var s, i, a, o;
142
- if (this.rescheduleBookingId) {
143
- const r = await ((s = this.nylasSchedulerConnector) == null ? void 0 : s.scheduler.rescheduleBooking(this.rescheduleBookingId, e.detail));
144
- !r || "error" in r ? this.nylasSchedulerError.emit({ ...this.getErrorObject(r == null ? void 0 : r.error) }) : (i = this.baseProvider) == null || i.getStore("scheduler").set("showThankYouMessage", !0);
145
- return;
146
- }
147
- const t = await ((a = this.nylasSchedulerConnector) == null ? void 0 : a.scheduler.bookTimeslot(e.detail));
148
- !t || "error" in t ? this.nylasSchedulerError.emit({ ...this.getErrorObject(t == null ? void 0 : t.error) }) : (o = this.baseProvider) == null || o.getStore("scheduler").set("showThankYouMessage", !0);
149
- }
150
- dateSelectedHandler(e) {
151
- const t = e.detail;
152
- this.selectedDateLabel = t ? t.toLocaleDateString(void 0, { dateStyle: "full" }) : "No date selected";
153
- }
154
- cancelBookedEventErrorHandler(e) {
155
- this.nylasSchedulerError.emit({ ...this.getErrorObject(e.detail.error) });
156
- }
157
- rescheduleBookedEventErrorHandler(e) {
158
- this.nylasSchedulerError.emit({ ...this.getErrorObject(e.detail.error) });
159
- }
160
- async getNylasSchedulerStore() {
161
- var e;
162
- return (e = this.baseProvider) == null ? void 0 : e.getStore("scheduler");
163
- }
164
- async getNylasSchedulerConnector() {
165
- return this.nylasSchedulerConnector;
166
- }
167
- async getRef() {
168
- return this.host;
169
- }
170
- getErrorObject(e) {
171
- return {
172
- title: (e == null ? void 0 : e.title) || f.title,
173
- category: (e == null ? void 0 : e.category) || f.category,
174
- type: u.Error,
175
- description: (e == null ? void 0 : e.message) || "",
176
- id: (/* @__PURE__ */ new Date()).getTime().toString()
177
- };
178
- }
179
- checkIfSessionIdExists() {
180
- return this.sessionId ? !0 : (this.nylasSchedulerError.emit({
181
- title: "No sessionId!",
182
- category: b.Component,
183
- type: u.Error,
184
- description: "Session ID is required",
185
- id: (/* @__PURE__ */ new Date()).getTime().toString(),
186
- ttl: "none"
187
- }), !1);
188
- }
189
- isTimeslotValid(e) {
190
- return new Date(e.start_time) < /* @__PURE__ */ new Date() ? (this.nylasSchedulerError.emit({
191
- title: "Invalid tiemslot!",
192
- category: b.Component,
193
- type: u.Error,
194
- description: "The selected timeslot is invalid.",
195
- id: (/* @__PURE__ */ new Date()).getTime().toString(),
196
- ttl: "none"
197
- }), !1) : !0;
198
- }
199
- render() {
200
- var c;
201
- const e = this.mode === "app", t = (c = this.baseProvider) == null ? void 0 : c.getStore("scheduler"), s = t == null ? void 0 : t.get("eventInfo"), i = t == null ? void 0 : t.get("showThankYouMessage"), a = t == null ? void 0 : t.get("showBookingForm"), o = t == null ? void 0 : t.get("cancelledEvent"), r = (t == null ? void 0 : t.get("cancelBookingId")) || this.cancelBookingId;
202
- if (e && r && !o)
203
- return n(d, null, n(h, { isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "cancel-flow-page", part: "cancel-flow-page" }, n("nylas-cancel-booking-form", { cancelBookingId: r, exportparts: "ncbf, ncbf__input-textfield, ncbf__button-cta, ncbf__button-outline, ncbf__input-label" }))));
204
- if (e && o)
205
- return n(d, null, n(h, { isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "cancelled-event-page", part: "cancelled-event-page" }, n("nylas-cancelled-event-card", { cancelledEvent: o, exportparts: "ncec, ncec__icon, ncec__title, ncec__description, ncec__button-outline, ncec__card" }))));
206
- if (e && i && s)
207
- return n(d, null, n(h, { isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "booked-event-page", part: "booked-event-page" }, n("nylas-booked-event-card", { eventInfo: s, exportparts: "nbec, nbec__title, nbec__card, nbec__description, nbec__button-outline, nbec__cancel-cta, nbec__reschedule-cta" }))));
208
- if (e && !i && !a) {
209
- const l = this.host.querySelector('[slot="timeslot-picker-cta-label"]');
210
- return n(d, null, n(h, { isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "select-date-page", part: "select-date-page" }, n("div", { class: "left-panel" }, n("nylas-date-picker", { exportparts: "ndp, ndp__month-header, ndp__month-button, ndp__day, ndp__date, ndp__date--selected, ndp__date--current-day, ndp__date--current-month" }), n("div", { class: "border" }), n("nylas-locale-switch", null)), n("div", { class: "right-panel" }, n("h2", null, n("calendar-icon", null), n("span", { id: "selectedDate" }, this.selectedDateLabel)), n("nylas-timeslot-picker", { exportparts: "ntp, ntp__timeslot, ntp__timeslot--selected, ntp__button-primary" }, l && n("span", { slot: "timeslot-picker-cta-label" }, n("slot", { name: "timeslot-picker-cta-label" })))))));
211
- }
212
- if (e && !i && a) {
213
- const l = this.host.querySelector('[slot="custom-booking-form"]');
214
- return n(d, null, n(h, { isLoading: this.isLoading, showNotification: this.showNotification }, n("div", { class: "additional-data-page", part: "additional-data-page" }, n("div", { class: "left-panel" }, n("div", { class: "wrapper" }, n("nylas-selected-event-card", { exportparts: "nsec, nsec__card, nsec__icon, nsec__date, nsec__time" }))), n("div", { class: "right-panel" }, n("nylas-booking-form", { exportparts: "nbf, nbf__input-label, nbf__input-textfield, nbf__button-ghost, nbf__button-primary, nbf__button-outline" }, l && n("div", { slot: "custom-booking-form" }, n("slot", { name: "custom-booking-form" })))))));
215
- }
216
- return n(d, null, n("slot", null));
217
- }
218
- get host() {
219
- return w(this);
220
- }
221
- static get watchers() {
222
- return {
223
- bookingInfo: ["bookingInfoChanged"]
224
- };
225
- }
226
- };
227
- L.style = D;
228
- export {
229
- L as nylas_scheduler
230
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-3b6f5cd5.cjs"),h=require("./index-b30d446a-cbbef925.cjs"),p=require("./utils-5074a070-d5ba6add.cjs"),g=require("./scheduler-store-7d48e682-674705ef.cjs");require("react");require("react-dom");class y{constructor({schedulerAPIURL:n,nylasSchedulerStore:s,sessionId:i}){if(!n)throw new Error("schedulerAPIURL is required");if(!s)throw new Error("nylasSchedulerStore is required");if(!i)throw new Error("sessionId is required");n==="/"&&(n=new URL(window.location.href).origin),this.sessionId=i,this.schedulerAPIURL=n,this.nylasSchedulerStore=s}init(){p.debug("NylasConnector init")}get schedulerStore(){return this.nylasSchedulerStore}get scheduler(){return this._schedulerAPIConnector?this._schedulerAPIConnector:(this._schedulerAPIConnector=new g.NylaSchedulerAPIConnector({schedulerAPIURL:this.schedulerAPIURL,schedulerStore:this.schedulerStore,sessionId:this.sessionId}),this._schedulerAPIConnector)}resetStores(){this.nylasSchedulerStore.reset()}}const c=(e,n)=>{const s=e.isLoading,i=e.showNotification;return t.h(t.Fragment,null,s&&t.h("div",{class:"loading"},t.h("div",{class:"left"},t.h("div",{class:"skeleton"})),t.h("div",{class:"right"},t.h("div",{class:"skeleton"}),t.h("div",{class:"skeleton"}),t.h("div",{class:"skeleton"}),t.h("div",{class:"skeleton"}),t.h("div",{class:"skeleton"}))),!s&&n,i&&t.h("nylas-notification",null),t.h("div",{class:"footer"},"Powered by  ",t.h("nylas-logo",null)))},v=":host{display:flex;flex-direction:column;overflow:visible;border-radius:var(--nylas-border-radius-2x);width:fit-content;background:var(--nylas-base-0);position:relative;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem}@media screen and (max-width: 768px){:host{width:auto;min-width:325px}}.error{padding:8rem 12rem;color:var(--nylas-base-0);background-color:var(--nylas-error);margin:1.5rem;border-radius:var(--nylas-border-radius-2x)}.loading{margin:1.5rem;display:flex;gap:1rem}.loading .skeleton{border-radius:var(--nylas-border-radius-2x);animation:pulsate 1.5s infinite}.loading .skeleton:nth-child(2){animation-delay:-100ms}.loading .skeleton:nth-child(3){animation-delay:-200ms}.loading .skeleton:nth-child(4){animation-delay:-300ms}.loading .skeleton:nth-child(5){animation-delay:-400ms}.loading .left .skeleton{height:100%;width:400px}.loading .right .skeleton{height:5rem;width:300px;margin-bottom:1rem}.loading .right .skeleton:last-child{margin-bottom:0}@keyframes pulsate{0%{background-color:var(--nylas-base-50)}50%{background-color:var(--nylas-base-100)}100%{background-color:var(--nylas-base-50)}}.select-date-page,.additional-data-page,.booked-event-page,.cancelled-event-page,.cancel-flow-page{border-top-left-radius:var(--nylas-border-radius-2x);border-top-right-radius:var(--nylas-border-radius-2x)}.select-date-page,.additional-data-page{display:flex}@media screen and (max-width: 768px){.select-date-page,.additional-data-page{flex-direction:column}}.booked-event-page{background-color:var(--nylas-base-50)}.cancelled-event-page,.cancel-flow-page{padding:1rem;height:496px;display:flex;justify-content:center;align-items:center}.booked-event-page,.cancelled-event-page,.cancel-flow-page{min-width:784px}@media screen and (max-width: 768px){.booked-event-page,.cancelled-event-page,.cancel-flow-page{min-width:90%}}.left-panel{padding:1rem 20px 0;gap:1rem;height:512px;min-width:384px;border:1px solid var(--nylas-base-200);border-top-left-radius:inherit}@media screen and (max-width: 768px){.left-panel{border-top-right-radius:inherit;min-width:unset}}@media screen and (max-width: 768px){.additional-data-page .left-panel{height:325px}}@media screen and (max-width: 768px){.select-date-page .left-panel{padding:0.5rem 4px 0}}.border{margin-left:-1.25rem;margin-right:-1.25rem;border-top-width:1px;height:1px;background-color:var(--nylas-base-200)}@media screen and (max-width: 768px){.border{display:none}}.right-panel{min-width:360px;width:360px;background-color:var(--nylas-base-50);height:512px;padding-top:1rem;border:1px solid var(--nylas-base-200);border-top-right-radius:inherit}@media screen and (max-width: 768px){.right-panel{border-top-right-radius:0px;width:inherit;min-width:unset}}.right-panel h2{display:flex;margin:1.5rem 1rem 1rem;gap:0.25rem;justify-content:center;align-items:center;width:auto;font-size:1.125rem;line-height:1.75rem;font-weight:600;text-align:center;color:var(--nylas-base-800)}.additional-data-page .left-panel{background-color:var(--nylas-base-50)}.additional-data-page .right-panel{background-color:var(--nylas-base-0)}nylas-selected-event-card{height:496px}@media screen and (max-width: 768px){nylas-selected-event-card{height:325px}}.footer{display:flex;justify-content:flex-end;align-items:center;padding:16px;font-size:14px;font-weight:300;color:var(--nylas-base-500);border-top:1px solid var(--nylas-base-100)}.footer svg{fill:var(--nylas-base-500)}.footer svg{margin-top:1px}nylas-selected-event-card::part(nsec__timezone){position:absolute;bottom:0}",w=v,b={title:"Something went wrong...",type:h.nr.Error,category:g.ErrorCategory.Component},m=class{constructor(e){t.registerInstance(this,e),this.init=t.createEvent(this,"init",7),this.schedulerWillLoad=t.createEvent(this,"schedulerWillLoad",7),this.schedulerDidLoad=t.createEvent(this,"schedulerDidLoad",7),this.nylasSchedulerError=t.createEvent(this,"nylasSchedulerError",7),this.mode="app",this.defaultSchedulerStoreState=void 0,this.sessionId=void 0,this.schedulerApiUrl="https://elements-staging.us.nylas.com",this.bookingInfo=void 0,this.rescheduleBookingId=void 0,this.cancelBookingId=void 0,this.eventOverrides={},this.isLoading=void 0,this.themeConfig=void 0,this.showNotification=!0,this.automaticComponentRegistration=!0,this.selectedDateLabel=new Date().toLocaleDateString(void 0,{dateStyle:"full"})||"No date selected"}connectedCallback(){p.debug("[nylas-scheduler] connectedCallback")}async componentWillLoad(){var s,i;if(p.debug("[nylas-scheduler] Component will load"),this.schedulerWillLoad.emit(this.host).defaultPrevented||!this.checkIfSessionIdExists())return;this.stores={scheduler:g.CreateNylasSchedulerStore({bookingInfo:this.bookingInfo,...this.defaultSchedulerStoreState})},this.baseProvider=new h.NylasBaseProvider(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides);const n=(s=this.baseProvider)==null?void 0:s.getStore("scheduler");if(this.nylasSchedulerConnector=new y({schedulerAPIURL:this.schedulerApiUrl,sessionId:this.sessionId,nylasSchedulerStore:n}),this.init.emit(this.host),(i=this.baseProvider)==null||i.componentWillLoad(this.nylasSchedulerConnector),this.themeConfig)for(const[a,o]of Object.entries(this.themeConfig))this.host.style.setProperty(`${a}`,o)}async componentDidLoad(){var a,o,r,d;if((a=this.baseProvider)==null||a.componentDidLoad(),!this.checkIfSessionIdExists())return;const e=(o=this.baseProvider)==null?void 0:o.getStore("scheduler"),n=e==null?void 0:e.get("selectedTimeslot");if(n&&(n!=null&&n.start_time)){if(!this.isTimeslotValid(n))return;if(e!=null&&e.get("showBookingForm")){e==null||e.set("selectedDate",n.start_time);return}}const s=e==null?void 0:e.get("selectedDate");let i;if(!s)i=await((r=this.nylasSchedulerConnector)==null?void 0:r.scheduler.getAvailability());else{const l=new Date(s.getFullYear(),s.getMonth(),1).getTime()/1e3,u=new Date(s.getFullYear(),s.getMonth()+1,1).getTime()/1e3;i=await((d=this.nylasSchedulerConnector)==null?void 0:d.scheduler.getAvailability(l,u))}if((!i||"error"in i)&&this.nylasSchedulerError.emit({...this.getErrorObject(i==null?void 0:i.error)}),!s){let l=new Date;const u=e==null?void 0:e.get("availability").find(f=>new Date(f.start_time)>new Date);u&&(l=u.start_time),e==null||e.set("selectedDate",l)}}componentDisconnected(){var e;(e=this.baseProvider)==null||e.componentDisconnected()}bookingInfoChanged(e){var n;(n=this.stores)==null||n.scheduler.set("bookingInfo",e)}async registerComponentHandler(e){var n;(n=this.baseProvider)==null||n.registerComponent(e.detail)}async unregisterComponentHandler(e){var n;(n=this.baseProvider)==null||n.unregisterComponent(e.detail)}async monthChangedHandler(e){var o;const n=e.detail,s=new Date(n.getFullYear(),n.getMonth(),1).getTime()/1e3,i=new Date(n.getFullYear(),n.getMonth()+1,1).getTime()/1e3,a=await((o=this.nylasSchedulerConnector)==null?void 0:o.scheduler.getAvailability(s,i));(!a||"error"in a)&&this.nylasSchedulerError.emit({...this.getErrorObject(a==null?void 0:a.error)})}async bookButtonClickedHandler(e){var s,i,a,o;if(this.rescheduleBookingId){const r=await((s=this.nylasSchedulerConnector)==null?void 0:s.scheduler.rescheduleBooking(this.rescheduleBookingId,e.detail));!r||"error"in r?this.nylasSchedulerError.emit({...this.getErrorObject(r==null?void 0:r.error)}):(i=this.baseProvider)==null||i.getStore("scheduler").set("showThankYouMessage",!0);return}const n=await((a=this.nylasSchedulerConnector)==null?void 0:a.scheduler.bookTimeslot(e.detail));!n||"error"in n?this.nylasSchedulerError.emit({...this.getErrorObject(n==null?void 0:n.error)}):(o=this.baseProvider)==null||o.getStore("scheduler").set("showThankYouMessage",!0)}dateSelectedHandler(e){const n=e.detail;this.selectedDateLabel=n?n.toLocaleDateString(void 0,{dateStyle:"full"}):"No date selected"}cancelBookedEventErrorHandler(e){this.nylasSchedulerError.emit({...this.getErrorObject(e.detail.error)})}rescheduleBookedEventErrorHandler(e){this.nylasSchedulerError.emit({...this.getErrorObject(e.detail.error)})}async getNylasSchedulerStore(){var e;return(e=this.baseProvider)==null?void 0:e.getStore("scheduler")}async getNylasSchedulerConnector(){return this.nylasSchedulerConnector}async getRef(){return this.host}getErrorObject(e){return{title:(e==null?void 0:e.title)||b.title,category:(e==null?void 0:e.category)||b.category,type:h.nr.Error,description:(e==null?void 0:e.message)||"",id:new Date().getTime().toString()}}checkIfSessionIdExists(){return this.sessionId?!0:(this.nylasSchedulerError.emit({title:"No sessionId!",category:g.ErrorCategory.Component,type:h.nr.Error,description:"Session ID is required",id:new Date().getTime().toString(),ttl:"none"}),!1)}isTimeslotValid(e){return new Date(e.start_time)<new Date?(this.nylasSchedulerError.emit({title:"Invalid tiemslot!",category:g.ErrorCategory.Component,type:h.nr.Error,description:"The selected timeslot is invalid.",id:new Date().getTime().toString(),ttl:"none"}),!1):!0}render(){var d;const e=this.mode==="app",n=(d=this.baseProvider)==null?void 0:d.getStore("scheduler"),s=n==null?void 0:n.get("eventInfo"),i=n==null?void 0:n.get("showThankYouMessage"),a=n==null?void 0:n.get("showBookingForm"),o=n==null?void 0:n.get("cancelledEvent"),r=(n==null?void 0:n.get("cancelBookingId"))||this.cancelBookingId;if(e&&r&&!o)return t.h(t.Host,null,t.h(c,{isLoading:this.isLoading,showNotification:this.showNotification},t.h("div",{class:"cancel-flow-page",part:"cancel-flow-page"},t.h("nylas-cancel-booking-form",{cancelBookingId:r,exportparts:"ncbf, ncbf__input-textfield, ncbf__button-cta, ncbf__button-outline, ncbf__input-label"}))));if(e&&o)return t.h(t.Host,null,t.h(c,{isLoading:this.isLoading,showNotification:this.showNotification},t.h("div",{class:"cancelled-event-page",part:"cancelled-event-page"},t.h("nylas-cancelled-event-card",{cancelledEvent:o,exportparts:"ncec, ncec__icon, ncec__title, ncec__description, ncec__button-outline, ncec__card"}))));if(e&&i&&s)return t.h(t.Host,null,t.h(c,{isLoading:this.isLoading,showNotification:this.showNotification},t.h("div",{class:"booked-event-page",part:"booked-event-page"},t.h("nylas-booked-event-card",{eventInfo:s,exportparts:"nbec, nbec__title, nbec__card, nbec__description, nbec__button-outline, nbec__cancel-cta, nbec__reschedule-cta"}))));if(e&&!i&&!a){const l=this.host.querySelector('[slot="timeslot-picker-cta-label"]');return t.h(t.Host,null,t.h(c,{isLoading:this.isLoading,showNotification:this.showNotification},t.h("div",{class:"select-date-page",part:"select-date-page"},t.h("div",{class:"left-panel"},t.h("nylas-date-picker",{exportparts:"ndp, ndp__month-header, ndp__month-button, ndp__day, ndp__date, ndp__date--selected, ndp__date--current-day, ndp__date--current-month"}),t.h("div",{class:"border"}),t.h("nylas-locale-switch",null)),t.h("div",{class:"right-panel"},t.h("h2",null,t.h("calendar-icon",null),t.h("span",{id:"selectedDate"},this.selectedDateLabel)),t.h("nylas-timeslot-picker",{exportparts:"ntp, ntp__timeslot, ntp__timeslot--selected, ntp__button-primary"},l&&t.h("span",{slot:"timeslot-picker-cta-label"},t.h("slot",{name:"timeslot-picker-cta-label"})))))))}if(e&&!i&&a){const l=this.host.querySelector('[slot="custom-booking-form"]');return t.h(t.Host,null,t.h(c,{isLoading:this.isLoading,showNotification:this.showNotification},t.h("div",{class:"additional-data-page",part:"additional-data-page"},t.h("div",{class:"left-panel"},t.h("div",{class:"wrapper"},t.h("nylas-selected-event-card",{exportparts:"nsec, nsec__card, nsec__icon, nsec__date, nsec__time"}))),t.h("div",{class:"right-panel"},t.h("nylas-booking-form",{exportparts:"nbf, nbf__input-label, nbf__input-textfield, nbf__button-ghost, nbf__button-primary, nbf__button-outline"},l&&t.h("div",{slot:"custom-booking-form"},t.h("slot",{name:"custom-booking-form"})))))))}return t.h(t.Host,null,t.h("slot",null))}get host(){return t.getElement(this)}static get watchers(){return{bookingInfo:["bookingInfoChanged"]}}};m.style=w;exports.nylas_scheduler=m;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-3b6f5cd5.cjs"),f=require("./register-component-152c6ad2-0df7215b.cjs"),o=require("./utils-5074a070-d5ba6add.cjs");require("react");require("react-dom");const u=":host{display:contents}.container{width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.pull-to-refresh{display:none;border:0;background-color:transparent;text-align:center;width:100%;justify-content:center}.pulling{position:relative;display:flex;margin:0 auto;padding:1rem}.pulling svg{width:24px;height:24px;color:var(--nylas-color-primary-500);transform:rotate(90deg)}.refreshing{position:relative;display:flex;margin:0 auto;padding:1rem}.refreshing svg{width:24px;height:24px;fill:var(--nylas-color-primary-500);animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}",p=u;var g=function(t,e,n,a){var i=arguments.length,s=i<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,n):a,h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,a);else for(var l=t.length-1;l>=0;l--)(h=t[l])&&(s=(i<3?h(s):i>3?h(e,n,s):h(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s},c=function(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)};const d=class{constructor(t){r.registerInstance(this,t),this.refresh=r.createEvent(this,"refresh",7),this.threshold=100,this.onTouchStart=e=>{var n,a,i,s;o.debug("[nylas-threads-refresh] Touch start",e.touches[0].pageY,(n=this.containerElement)==null?void 0:n.scrollTop,(a=this.containerElement)==null?void 0:a.offsetHeight,(i=this.contentElement)==null?void 0:i.scrollTop),((s=this.containerElement)==null?void 0:s.scrollTop)===0?this.start=e.touches[0].pageY:this.start=0},this.onTouchMove=e=>{this.start&&(e.touches[0].pageY-this.start>this.threshold?this.pulling=!0:this.pulling=!1)},this.onTouchEnd=e=>{this.start&&(e.changedTouches[0].pageY-this.start>this.threshold&&(this.pulling=!1,this.refresh.emit({updateState:this.updateState})),this.start=0)},this.start=0,this.state="ready",this.pulling=!1,o.debug("[nylas-threads-refresh] Constructor"),this.updateState=this.updateState.bind(this)}connectedCallback(){}async componentWillLoad(){o.debug("[nylas-threads-refresh] Component will load")}componentDidLoad(){var t,e,n;o.debug("[nylas-threads-refresh] Component did load"),(t=this.containerElement)==null||t.addEventListener("touchstart",this.onTouchStart),(e=this.containerElement)==null||e.addEventListener("touchmove",this.onTouchMove),(n=this.containerElement)==null||n.addEventListener("touchend",this.onTouchEnd)}disconnectedCallback(){var t,e,n;o.debug("[nylas-threads-refresh] Component disconnected"),(t=this.containerElement)==null||t.removeEventListener("touchstart",this.onTouchStart),(e=this.containerElement)==null||e.removeEventListener("touchmove",this.onTouchMove),(n=this.containerElement)==null||n.removeEventListener("touchend",this.onTouchEnd)}async updateState(t){this.state=t}render(){return r.h(r.Host,{key:"8fcb207468340169fd22f41ffcb224ef2bd8c516"},r.h("div",{key:"f239948e3160c7925ee754812a23c246adc50bfd",class:"container",ref:t=>this.containerElement=t},r.h("button",{key:"5dae9634879e56779cf73d74a645fcbbf5016d7f",class:{"pull-to-refresh":!0,pulling:this.pulling,refreshing:this.state==="loading"},"aria-label":"Refreshing..."},this.state==="loading"&&r.h("refresh-icon",{slot:"icon"}),this.state!=="loading"&&r.h("arrow-icon",{slot:"icon"})),r.h("div",{key:"ba4888a84d3c9d557a119c972ec438f1f36d52ea",class:"content",ref:t=>this.contentElement=t},r.h("slot",{key:"6deb2ad38560d82714b94da7cc2f340265b77fc3"}))))}};g([f.RegisterComponent({name:"nylas-threads-refresh",eventToProps:{refresh:async(t,e)=>{o.debug("[nylas-threads-refresh] Refreshing threads");const{updateState:n}=t.detail;await n("loading"),await e.threads.getThreads(void 0,"overwrite",!1),await n("ready")}},fireRegisterEvent:!0}),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],d.prototype,"render",null);d.style=p;exports.nylas_threads_refresh=d;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-3b6f5cd5.cjs"),h=require("./register-component-152c6ad2-0df7215b.cjs"),u=require("./utils-5074a070-d5ba6add.cjs");require("react");require("react-dom");const y=":host{display:block}sp-search{width:100%;border:0}",p=y;var f=function(t,e,n,a){var o=arguments.length,r=o<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,n):a,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(t,e,n,a);else for(var i=t.length-1;i>=0;i--)(c=t[i])&&(r=(o<3?c(r):o>3?c(e,n,r):c(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r},l=function(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)};const d=class{constructor(t){s.registerInstance(this,t),this.search=s.createEvent(this,"search",7),this.onSearch=async e=>{e.preventDefault(),e.stopPropagation();const a=e.target.value;a!==this.internalQuery&&(this.internalQuery=a,this.search.emit(this.internalQuery))},this.query="",this.internalQuery=""}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){u.debug("[nylas-threads-search] Component will load")}async componentDidLoad(){u.debug("[nylas-threads-search] Component did load")}onQueryChange(){this.internalQuery=this.query}render(){return s.h(s.Host,{key:"d777659666abd1205d8010c8f2468f1cfab4995e"},s.h("sp-theme",{key:"37f266bb3bb9ac490526d30a6c9fed104515fabb",scale:"medium",color:"dark"},s.h("sp-search",{key:"7b6db41e97baa3124d078ec1226dd884d73a251c",quiet:!0,onSubmit:this.onSearch,onBlur:this.onSearch,value:this.internalQuery})))}static get watchers(){return{query:["onQueryChange"]}}};f([h.RegisterComponent({name:"nylas-pagination",stateToProps:new Map([["mailbox.searchQuery","query"]]),eventToProps:{search:async(t,e)=>{await e.threads.getThreads({search_query_native:t.detail||void 0,page_token:void 0})}},fireRegisterEvent:!0}),l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],d.prototype,"render",null);d.style=p;exports.nylas_threads_search=d;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-3b6f5cd5.cjs"),w=require("./register-component-152c6ad2-0df7215b.cjs"),i=require("./utils-5074a070-d5ba6add.cjs");require("react");require("react-dom");function f(t,a,s,o,r){if(!o||!s||s.children.length>0)return;i.debug("[nylas-view-thread] Rendering email",{message:t,attachments:a,viewEmailElement:o});const n=o.cloneNode(!0);n.message=t.data,n.parent=r,s.appendChild(n)}const m=({viewEmailElement:t,message:a,attachments:s,onMessageClick:o,onShowContactDataClick:r,parent:n})=>{var d,l,h,u,v,y,b;return e.h(e.Fragment,null,e.h("div",{key:a.id,class:"message"},e.h("div",{class:"sub-header","data-id":a.data.id,onClick:o},e.h("div",{class:"avatar"},a.data.from&&((d=a.data.from[0])==null?void 0:d.name)&&((h=(l=a.data.from[0])==null?void 0:l.name[0])==null?void 0:h.toUpperCase())),e.h("div",{class:"from"},e.h("span",{class:"name"},a.data.from&&((u=a.data.from[0])==null?void 0:u.name))," ",e.h("span",{class:"email"},a.data.from&&((v=a.data.from[0])==null?void 0:v.email))),e.h("div",{class:"date"},new Date(a.data.date*1e3).toLocaleTimeString(void 0,{timeStyle:"short"})," ","(",i.formatTimeAgo(new Date(a.data.date*1e3)),")"),e.h("sp-button-group",{class:"buttons"},e.h("nylas-summarize-message-button",{message:a.data})),a.collapse&&e.h("div",{class:"snippet"},a.data.snippet),!a.collapse&&a.data.to&&e.h("div",{class:"to"},e.h("span",null,"to")," ",i.formatParticipants(a.data.to)," ",e.h("button",{type:"button",value:a.data.id,onClick:r,class:{expand:!0,"expand--showContactData":a.showContactData}},e.h("chevron-icon",null)))),a.showContactData&&e.h("div",{class:"address-info"},e.h("div",{class:"label"},"From"),e.h("div",{class:"value"},i.formatRecipient((y=a.data)!=null&&y.from?(b=a==null?void 0:a.data)==null?void 0:b.from[0]:{name:"",email:""})),a.data.to&&e.h(e.Fragment,null,e.h("div",{class:"label"},"To"),e.h("div",{class:"value"},a.data.to.map(c=>e.h("div",null,i.formatRecipient(c))))),typeof a.data.cc<"u"&&a.data.cc.length>0&&e.h(e.Fragment,null,e.h("div",{class:"label"},"CC"),e.h("div",{class:"value"},a.data.cc.map(c=>e.h("div",null,i.formatRecipient(c)))))),!a.collapse&&t&&e.h("div",{key:a.id,ref:c=>f(a,s,c,t,n)}),!a.collapse&&!t&&e.h("nylas-view-email",{key:a.id,message:a.data,parent:n})),e.h("hr",null))},C=':host{display:block;font-size:inherit}.avatar{z-index:1;border-radius:100%;background-color:var(--nylas-color-primary-200);height:40px;width:40px;align-items:center;display:flex;justify-content:center;border:1px solid var(--nylas-color-primary-200)}.view-thread{display:grid;grid-auto-flow:row;width:100%}.view-thread .header{display:grid;grid-gap:1rem;align-items:center;margin-bottom:1rem}.view-thread .header .subject{font-size:1.25rem;font-weight:600;line-height:1.5rem}.view-thread .header .folders{display:grid;grid-auto-flow:column;grid-auto-columns:min-content;overflow-x:auto;gap:1rem}.view-thread .header .folders .folder{padding:0 0.5rem;font-size:0.9rem;color:var(--nylas-color-primary-900);background-color:var(--nylas-color-primary-300)}.view-thread .messages{display:grid;gap:1rem}.view-thread .messages hr{margin:0;width:100%;border:1px solid var(--nylas-color-primary-200)}.view-thread .messages hr:last-of-type{display:none}.view-thread .messages .message{display:grid;grid-auto-flow:row;gap:1rem}.view-thread .messages .message:last-of-type .sub-header{cursor:default}.view-thread .messages .message .sub-header{display:grid;grid-template:"avatar from date buttons" "avatar to to buttons";grid-column-gap:1rem;grid-template-columns:auto 1fr auto auto;cursor:pointer}.view-thread .messages .message .sub-header>*{pointer-events:none}.view-thread .messages .message .sub-header .avatar{grid-area:avatar}.view-thread .messages .message .sub-header .from{grid-area:from}.view-thread .messages .message .sub-header .from span.email{display:none;color:var(--nylas-color-primary-400);font-weight:600}.view-thread .messages .message .sub-header .buttons{grid-area:buttons;align-self:center}.view-thread .messages .message .sub-header .buttons *{pointer-events:all}.view-thread .messages .message .sub-header .date{grid-area:date;align-self:center;color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .snippet{width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--nylas-color-primary-600)}.view-thread .messages .message .sub-header .to{grid-area:to;color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .to>span{color:var(--nylas-color-primary-400)}.view-thread .messages .message .sub-header .to button{border:0;background-color:transparent;cursor:pointer;pointer-events:all;padding:0;margin:0}.view-thread .messages .message .sub-header .to button>*{pointer-events:none}.view-thread .messages .message .sub-header .to button chevron-icon{display:inline-table;fill:var(--nylas-color-primary-400);width:15px;height:15px;vertical-align:middle}.view-thread .messages .message .sub-header .to button chevron-icon svg{width:15px;height:15px;transform:rotate(90deg)}.view-thread .messages .message .sub-header .to button.expand--showContactData chevron-icon svg{transform:rotate(270deg)}.view-thread .messages .message .address-info{display:grid;column-gap:1rem;row-gap:0.5rem;grid-template-columns:auto 1fr;grid-template-rows:1fr;padding:1rem 2rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-color-primary-200);align-items:flex-start;color:var(--nylas-color-primary-600)}.view-thread .messages .message .address-info .label{color:var(--nylas-color-primary-400);font-weight:600}.show-more{position:relative;display:flex;width:100%}.show-more .sr-only{display:none}.show-more button{position:relative;display:inline-flex;width:100%;padding:0;border:0;background-color:transparent;cursor:pointer;text-align:left;overflow:hidden}.show-more button span{border:1px solid var(--nylas-color-primary-400)}.show-more button:hover span{background-color:var(--nylas-color-primary-700)}.show-more button::after{border-top:1px solid rgba(100, 121, 143, 0.122);border-bottom:1px solid rgba(100, 121, 143, 0.122);content:"";height:4px;width:100%;position:absolute;top:50%}.loading{position:absolute;width:100%;height:100%;background-color:var(--loading__background-color);top:0;bottom:0;left:0;z-index:1;display:grid;justify-content:center;align-items:center;font-weight:600;overflow:hidden}.reply-buttons{display:grid;grid-auto-flow:column;grid-auto-columns:min-content;gap:1rem;margin-top:1rem}.reply-buttons sp-button{border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-400);color:var(--nylas-color-primary-900);fill:var(--nylas-color-primary-900)}.reply-buttons sp-button:hover{background-color:var(--nylas-color-primary-500)}.reply-buttons sp-button:disabled{background-color:var(--nylas-color-primary-200);color:var(--nylas-color-primary-600);cursor:not-allowed}.reply-buttons sp-button chevron-icon{display:inline-block}@media only screen and (min-width: 768px){.view-thread .messages .message .sub-header .from span.email{display:inline}}',k=C;var M=function(t,a,s,o){var r=arguments.length,n=r<3?a:o===null?o=Object.getOwnPropertyDescriptor(a,s):o,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,a,s,o);else for(var l=t.length-1;l>=0;l--)(d=t[l])&&(n=(r<3?d(n):r>3?d(a,s,n):d(a,s))||n);return r>3&&n&&Object.defineProperty(a,s,n),n},p=function(t,a){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,a)};const g=class{constructor(t){e.registerInstance(this,t),this.threadSelected=e.createEvent(this,"threadSelected",7),this.showContactDataClicked=e.createEvent(this,"showContactDataClicked",7),this.messageClicked=e.createEvent(this,"messageClicked",7),this.nylasViewEmailElement=null,this.nylasComposerElement=null,this.onShowContactDataClick=a=>{a.stopPropagation();const o=a.target.value,r=this.internalMessages.find(d=>d.data.id===o);if(!r){i.debug(`[nylas-view-thread] Could not find message ${o}`);return}this.showContactDataClicked.emit(r.data).defaultPrevented||(r.showContactData=!r.showContactData,this.internalMessages=[...this.internalMessages]),i.debug(`[nylas-view-thread] show contact data clicked ${o} ${r.showContactData?"collapsed":"expanded"}`)},this.onMessageClick=a=>{var d;const o=a.target.dataset.id,r=this.internalMessages.find(l=>l.data.id===o);if(!r){i.debug(`[nylas-view-thread] Could not find message ${o}`);return}this.messageClicked.emit(r.data).defaultPrevented||(r.id!==((d=this.internalMessages[this.internalMessages.length-1])==null?void 0:d.id)&&(r.collapse=!r.collapse,r.collapse&&(r.showContactData=!1)),this.internalMessages=[...this.internalMessages]),i.debug(`[nylas-view-thread] message clicked ${o} ${r.collapse?"collapsed":"expanded"}`)},this.onShowAllEmailsClick=()=>{this.showAllEmails=!this.showAllEmails},this.showComposerClick=()=>{this.showComposer=!this.showComposer},this.draft=void 0,this.thread=void 0,this.messages=[],this.attachments=[],this.state="loading",this.internalMessages=[],this.showAllEmails=!1,this.showComposer=!1}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){i.debug("[nylas-view-thread] Component will load"),this.updateInternalMessages(this.messages);const t=this.host.querySelector("template.nylas-view-email");if(!t){i.debug("[nylas-view-thread] Could not find template");return}const a=document.importNode(t.content,!0);this.nylasViewEmailElement=a.querySelector("nylas-view-email");const s=this.host.querySelector("template.nylas-composer");if(!s){i.debug("[nylas-view-thread] Could not find composer template");return}const o=document.importNode(s.content,!0);this.nylasComposerElement=o.querySelector("nylas-composer")}async componentDidLoad(){i.debug("[nylas-view-thread] Component did load")}async threadChanged(t){i.debug("[nylas-view-thread] Thread changed",{thread:t}),this.internalMessages=[],this.threadSelected.emit(t).defaultPrevented||i.debug("[nylas-view-thread] Default event not prevented, initializing")}updateInternalMessages(t){i.debug("[nylas-view-thread] Updating internal messages",{messages:t});const a=t.sort((s,o)=>s.date>o.date?1:-1).map((s,o)=>({id:s.id,data:s,collapse:o!==t.length-1,showContactData:!1}));this.internalMessages=a}render(){var r,n,d;const t=this.internalMessages.length>2?this.internalMessages[0]:null,a=this.internalMessages.slice(this.internalMessages.length-2,this.internalMessages.length),s=this.internalMessages.slice(1,this.internalMessages.length-2),o=this.internalMessages[this.internalMessages.length-1];return e.h(e.Host,{key:"0bb124ce159dd13b929574d159b15c07ab1d6ac2"},e.h("sp-theme",{key:"ad8bbcceb405fc841ee0a5743bfbd025c1097725",scale:"medium",color:"dark"},e.h("div",{key:"e4ddbcdffd5a5cd6a3b1630779e3aadcecdfb437",class:"view-thread"},e.h("div",{key:"b9e6607a0ede36ee3b571461ec35dd01438ec6f1",class:"header"},e.h("div",{key:"d34f199c2585fb5aec3b3f53c3f94e9282b89a76",class:"subject"},(r=this.thread)==null?void 0:r.subject),e.h("div",{key:"9feca4265e39206945d0b208f2c48d9d3ab3972e",class:"folders"},(d=(n=this.thread)==null?void 0:n.folders)==null?void 0:d.map(l=>e.h("sp-tag",{size:"s"},i.toTitleCase(l.replace("CATEGORY_","").replace("_"," ")))))),e.h("div",{key:"6b6d657df61e2e1e1a2a6cbb86735828a71bd436",class:"messages"},t&&e.h(m,{message:t,attachments:this.attachments.filter(l=>l.messageId===t.id),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement}),s.length>0&&this.messages.length>1&&!this.showAllEmails&&a.length>0&&e.h(e.Fragment,null,e.h("div",{class:"show-more"},e.h("button",{type:"button",onClick:this.onShowAllEmailsClick},e.h("span",{class:"avatar"},s.length)," ",e.h("span",{class:"sr-only"},"Show ",s.length," more emails"))),e.h("hr",null)),s.length>0&&this.showAllEmails&&this.messages.length>2&&s.map(l=>e.h(m,{message:l,attachments:this.attachments.filter(h=>h.messageId===(t==null?void 0:t.id)),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement})),a.length>0&&a.map(l=>e.h(m,{message:l,attachments:this.attachments.filter(h=>h.messageId===(t==null?void 0:t.id)),onMessageClick:this.onMessageClick,onShowContactDataClick:this.onShowContactDataClick,parent:this.host,viewEmailElement:this.nylasViewEmailElement,composerElement:this.nylasComposerElement}))),!(this.showComposer&&o)&&e.h("div",{class:"reply-buttons"},e.h("sp-button",{variant:"cta",type:"button",onClick:this.showComposerClick},e.h("span",{slot:"icon"},e.h("reply-icon",null)),e.h("span",null,"Reply")),e.h("sp-button",{variant:"cta",type:"button"},e.h("span",{slot:"icon"},e.h("reply-all-icon",null)),e.h("span",null,"Reply All")),e.h("sp-button",{variant:"cta",type:"button"},e.h("span",{slot:"icon"},e.h("forward-icon",null)),e.h("span",null,"Forward"))),this.showComposer&&o&&e.h("div",{class:"composer"},e.h("nylas-composer",{message:o.data,onClose:this.showComposerClick,onSend:l=>{i.debug("[nylas-view-thread] Send event",{message:l.detail.message,replyBody:l.detail.replyBody})}})))))}get host(){return e.getElement(this)}static get watchers(){return{thread:["threadChanged"],messages:["updateInternalMessages"]}}};M([w.RegisterComponent({name:"nylas-view-thread",stateToProps:new Map([["mailbox.selectedThread","thread"],["mailbox.messages","messages"],["mailbox.state","state"]]),eventToProps:{threadSelected:async(t,a)=>{i.debug("[nylas-view-thread] Nylas init event. Fetching thread messages.",{event:t});const s=t.detail;s&&s.id&&await a.messages.getThreadMessages(s.id)}},fireRegisterEvent:!0}),p("design:type",Function),p("design:paramtypes",[]),p("design:returntype",void 0)],g.prototype,"render",null);g.style=k;exports.nylas_view_thread=g;