@nylas/react 1.1.0-canary.9 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +110 -2
  2. package/dist/add-circle-icon_2.entry-b14ecb5c.js +25 -0
  3. package/dist/add-circle-icon_2.entry-c6211866.cjs +1 -0
  4. package/dist/archive-icon_7.entry-3fe7721a.js +75 -0
  5. package/dist/archive-icon_7.entry-54fc1f03.cjs +1 -0
  6. package/dist/arrow-icon.entry-1dfee3bc.cjs +1 -0
  7. package/dist/arrow-icon.entry-cc936041.js +15 -0
  8. package/dist/bold-icon_3.entry-4b9de887.cjs +1 -0
  9. package/dist/bold-icon_3.entry-e2a1d434.js +35 -0
  10. package/dist/button-component_2.entry-3639ade6.js +26 -0
  11. package/dist/button-component_2.entry-5666fdfa.cjs +1 -0
  12. package/dist/calendar-agenda-fill-icon_48.entry-56e364cd.js +5256 -0
  13. package/dist/calendar-agenda-fill-icon_48.entry-bf278e34.cjs +7 -0
  14. package/dist/calendar-cancel-icon.entry-ac1cb5dd.cjs +1 -0
  15. package/dist/calendar-cancel-icon.entry-dcd777cd.js +15 -0
  16. package/dist/calendar-check-icon_2.entry-6330bd2d.js +25 -0
  17. package/dist/calendar-check-icon_2.entry-7ad1b2a0.cjs +1 -0
  18. package/dist/calendar-icon.entry-5849a547.cjs +1 -0
  19. package/dist/calendar-icon.entry-8559fa0d.js +15 -0
  20. package/dist/checkbox-component_2.entry-1474c465.js +79 -0
  21. package/dist/checkbox-component_2.entry-6cf5da6b.cjs +1 -0
  22. package/dist/chevron-icon_3.entry-41170718.cjs +1 -0
  23. package/dist/chevron-icon_3.entry-cb757aa3.js +132 -0
  24. package/dist/clock-icon_4.entry-36a33de5.cjs +1 -0
  25. package/dist/clock-icon_4.entry-642f4dc6.js +45 -0
  26. package/dist/constants-50c3e067-4e027da4.cjs +15 -0
  27. package/dist/constants-50c3e067-83f1d865.js +3883 -0
  28. package/dist/copy-icon.entry-60740516.js +15 -0
  29. package/dist/copy-icon.entry-fb63cf53.cjs +1 -0
  30. package/dist/core-js-38e53e34.cjs +4 -0
  31. package/dist/core-js-a9d3b6e1.js +3297 -0
  32. package/dist/delete-icon_2.entry-45851bc5.js +25 -0
  33. package/dist/delete-icon_2.entry-d1af0606.cjs +1 -0
  34. package/dist/document-refresh-icon.entry-1731d4d9.cjs +1 -0
  35. package/dist/document-refresh-icon.entry-5db0830a.js +15 -0
  36. package/dist/dom-68f08be9.cjs +15 -0
  37. package/dist/dom-86e17616.js +664 -0
  38. package/dist/{types/elements → elements}/index.d.ts +48 -1
  39. package/dist/elements-dc5b338e-3099ee02.js +28031 -0
  40. package/dist/elements-dc5b338e-ab9afb63.cjs +16516 -0
  41. package/dist/flow-40ff9cea-6f8c30e2.cjs +9 -0
  42. package/dist/flow-40ff9cea-ee70fdf5.js +505 -0
  43. package/dist/focus-visible-e8093c16-067a8f23.js +84 -0
  44. package/dist/focus-visible-e8093c16-811f50fa.cjs +1 -0
  45. package/dist/forward-icon_6.entry-4e9c9686.cjs +3 -0
  46. package/dist/forward-icon_6.entry-e7c5fa46.js +953 -0
  47. package/dist/globe-icon.entry-74f79652.cjs +1 -0
  48. package/dist/globe-icon.entry-aa3f3ea3.js +15 -0
  49. package/dist/google-logo-icon_4.entry-0332a181.cjs +1 -0
  50. package/dist/google-logo-icon_4.entry-3fe41d69.js +673 -0
  51. package/dist/index-2a53b6a8.cjs +82 -0
  52. package/dist/index-a134f625.js +12842 -0
  53. package/dist/index.es-79f5b771-64a1baf0.cjs +7 -0
  54. package/dist/index.es-79f5b771-ce07d6fc.js +3135 -0
  55. package/dist/info-icon_2.entry-a3f40027.cjs +1 -0
  56. package/dist/info-icon_2.entry-fed731f4.js +34 -0
  57. package/dist/input-color-picker.entry-37826630.js +48 -0
  58. package/dist/input-color-picker.entry-cbdce7a1.cjs +1 -0
  59. package/dist/input-component.entry-b83b7103.js +70 -0
  60. package/dist/input-component.entry-e71b7062.cjs +1 -0
  61. package/dist/input-dropdown.entry-150819cd.cjs +1 -0
  62. package/dist/input-dropdown.entry-db0dae5f.js +134 -0
  63. package/dist/mailbox-store-9c52a3fa-04f22f60.cjs +1 -0
  64. package/dist/mailbox-store-9c52a3fa-80fe343c.js +380 -0
  65. package/dist/multi-select-dropdown.entry-629329d7.cjs +1 -0
  66. package/dist/multi-select-dropdown.entry-6b429b39.js +95 -0
  67. package/dist/nylas-booked-event-card_12.entry-660af56a.cjs +1 -0
  68. package/dist/nylas-booked-event-card_12.entry-c22c02b4.js +1133 -0
  69. package/dist/nylas-form-card.entry-2ced5eef.cjs +1 -0
  70. package/dist/nylas-form-card.entry-f3d6a1e4.js +57 -0
  71. package/dist/nylas-if-state.entry-55c32c0c.cjs +1 -0
  72. package/dist/nylas-if-state.entry-862ad978.js +94 -0
  73. package/dist/nylas-list-folders.entry-544fd38d.js +120 -0
  74. package/dist/nylas-list-folders.entry-77e936f7.cjs +1 -0
  75. package/dist/nylas-list-threads.entry-71411da7.js +70 -0
  76. package/dist/nylas-list-threads.entry-82e04782.cjs +1 -0
  77. package/dist/nylas-login.entry-3ccc2bef.cjs +1 -0
  78. package/dist/nylas-login.entry-48179c01.js +73 -0
  79. package/dist/nylas-mailbox-pagination.entry-77cf03b5.js +101 -0
  80. package/dist/nylas-mailbox-pagination.entry-d31f9aa4.cjs +1 -0
  81. package/dist/nylas-mailbox-toolbar-button.entry-33aad610.cjs +1 -0
  82. package/dist/nylas-mailbox-toolbar-button.entry-40e3c373.js +82 -0
  83. package/dist/nylas-mailbox.entry-963de1c3.cjs +1 -0
  84. package/dist/nylas-mailbox.entry-f4066fb2.js +134 -0
  85. package/dist/nylas-provider.entry-08767da3.cjs +1 -0
  86. package/dist/nylas-provider.entry-c61428b1.js +145 -0
  87. package/dist/nylas-reminder-emails.entry-cd8e1d2e.js +129 -0
  88. package/dist/nylas-reminder-emails.entry-d42a7f1d.cjs +4 -0
  89. package/dist/nylas-reminder-time_2.entry-d7115393.js +105 -0
  90. package/dist/nylas-reminder-time_2.entry-e5540fdd.cjs +1 -0
  91. package/dist/nylas-scheduler-editor.entry-65eb4938.js +1447 -0
  92. package/dist/nylas-scheduler-editor.entry-67904653.cjs +2 -0
  93. package/dist/nylas-scheduling.entry-50e41d85.cjs +1 -0
  94. package/dist/nylas-scheduling.entry-7aad4f63.js +345 -0
  95. package/dist/nylas-threads-refresh.entry-1b8befab.cjs +1 -0
  96. package/dist/nylas-threads-refresh.entry-d025575a.js +74 -0
  97. package/dist/nylas-threads-search.entry-78c06183.cjs +1 -0
  98. package/dist/nylas-threads-search.entry-a254c36e.js +69 -0
  99. package/dist/nylas-time-window-picker.entry-30baeb50.cjs +1 -0
  100. package/dist/nylas-time-window-picker.entry-89c15823.js +316 -0
  101. package/dist/nylas-view-thread.entry-939a4561.cjs +1 -0
  102. package/dist/nylas-view-thread.entry-c8d56573.js +203 -0
  103. package/dist/person-icon.entry-5ab75598.cjs +1 -0
  104. package/dist/person-icon.entry-8aef4041.js +15 -0
  105. package/dist/play-icon_2.entry-392ad303.cjs +1 -0
  106. package/dist/play-icon_2.entry-4b068c1b.js +25 -0
  107. package/dist/react.cjs +1 -0
  108. package/dist/react.js +145 -0
  109. package/dist/refresh-icon.entry-9ea254c9.cjs +1 -0
  110. package/dist/refresh-icon.entry-a754a2b5.js +15 -0
  111. package/dist/register-component-ea95564d-ab3d630f.cjs +1 -0
  112. package/dist/register-component-ea95564d-e19ec159.js +109 -0
  113. package/dist/scheduler-config-store-2a3b403d-4e10b542.cjs +1 -0
  114. package/dist/scheduler-config-store-2a3b403d-581c70cf.js +27 -0
  115. package/dist/scheduler-store-9ff4914b-6e28240e.cjs +1 -0
  116. package/dist/scheduler-store-9ff4914b-b71a0aca.js +474 -0
  117. package/dist/textarea-component.entry-70bb02bf.cjs +1 -0
  118. package/dist/textarea-component.entry-a5daab6c.js +37 -0
  119. package/dist/time-period-selector.entry-25348de7.js +80 -0
  120. package/dist/time-period-selector.entry-6306e456.cjs +1 -0
  121. package/dist/translate-icon.entry-785fa109.cjs +1 -0
  122. package/dist/translate-icon.entry-b6094ecc.js +15 -0
  123. package/dist/warning-icon.entry-4b400ee2.js +15 -0
  124. package/dist/warning-icon.entry-94e34c58.cjs +1 -0
  125. package/package.json +12 -8
  126. package/dist/elements/index.js +0 -92
  127. package/dist/elements/index.js.map +0 -1
  128. package/dist/elements/react-component-lib/createComponent.js +0 -65
  129. package/dist/elements/react-component-lib/createComponent.js.map +0 -1
  130. package/dist/elements/react-component-lib/createOverlayComponent.js +0 -98
  131. package/dist/elements/react-component-lib/createOverlayComponent.js.map +0 -1
  132. package/dist/elements/react-component-lib/index.js +0 -3
  133. package/dist/elements/react-component-lib/index.js.map +0 -1
  134. package/dist/elements/react-component-lib/interfaces.js +0 -2
  135. package/dist/elements/react-component-lib/interfaces.js.map +0 -1
  136. package/dist/elements/react-component-lib/utils/attachProps.js +0 -92
  137. package/dist/elements/react-component-lib/utils/attachProps.js.map +0 -1
  138. package/dist/elements/react-component-lib/utils/case.js +0 -7
  139. package/dist/elements/react-component-lib/utils/case.js.map +0 -1
  140. package/dist/elements/react-component-lib/utils/dev.js +0 -13
  141. package/dist/elements/react-component-lib/utils/dev.js.map +0 -1
  142. package/dist/elements/react-component-lib/utils/index.js +0 -31
  143. package/dist/elements/react-component-lib/utils/index.js.map +0 -1
  144. package/dist/index.js +0 -29
  145. package/dist/index.js.map +0 -1
  146. /package/dist/{types/elements → elements}/react-component-lib/createComponent.d.ts +0 -0
  147. /package/dist/{types/elements → elements}/react-component-lib/createOverlayComponent.d.ts +0 -0
  148. /package/dist/{types/elements → elements}/react-component-lib/index.d.ts +0 -0
  149. /package/dist/{types/elements → elements}/react-component-lib/interfaces.d.ts +0 -0
  150. /package/dist/{types/elements → elements}/react-component-lib/utils/attachProps.d.ts +0 -0
  151. /package/dist/{types/elements → elements}/react-component-lib/utils/case.d.ts +0 -0
  152. /package/dist/{types/elements → elements}/react-component-lib/utils/dev.d.ts +0 -0
  153. /package/dist/{types/elements → elements}/react-component-lib/utils/index.d.ts +0 -0
  154. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-2a53b6a8.cjs");require("react");require("react-dom");const i=".sc-info-icon-h{display:flex}",a=i,o=class{constructor(e){t.registerInstance(this,e),this.width="14",this.height="14"}render(){return t.h("svg",{key:"53da1e7144b384f7c1b7aed55e2a31f8cdca2ff4",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.h("path",{key:"2183e258f3d47e706ddc63dc0f7352d2dfef00d2",fill:"currentColor",d:"M6.5 5.5C6.77614 5.5 7 5.72386 7 6V9C7 9.27614 6.77614 9.5 6.5 9.5C6.22386 9.5 6 9.27614 6 9V6C6 5.72386 6.22386 5.5 6.5 5.5ZM6.50001 4.74907C6.91369 4.74907 7.24905 4.41371 7.24905 4.00003C7.24905 3.58635 6.91369 3.251 6.50001 3.251C6.08633 3.251 5.75098 3.58635 5.75098 4.00003C5.75098 4.41371 6.08633 4.74907 6.50001 4.74907ZM0.5 6.5C0.5 3.18629 3.18629 0.5 6.5 0.5C9.81371 0.5 12.5 3.18629 12.5 6.5C12.5 9.81371 9.81371 12.5 6.5 12.5C3.18629 12.5 0.5 9.81371 0.5 6.5ZM6.5 1.5C3.73858 1.5 1.5 3.73858 1.5 6.5C1.5 9.26142 3.73858 11.5 6.5 11.5C9.26142 11.5 11.5 9.26142 11.5 6.5C11.5 3.73858 9.26142 1.5 6.5 1.5Z"}))}};o.style=a;const s='.tooltip-container{position:relative;display:flex;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.tooltip-content{visibility:hidden;background-color:var(--nylas-base-800);color:var(--nylas-base-0);text-align:left;border-radius:6px;padding:5px 0;position:absolute;z-index:1;opacity:0;transition:opacity 0.3s;padding:0.5rem 1rem;max-width:200px;width:max-content}.tooltip-content.top{bottom:0;left:0;margin-bottom:1.25rem;transform:translateX(-50%)}.tooltip-content.right{top:50%;left:0%;margin-left:1.25rem;transform:translateY(-50%)}.tooltip-content.bottom{top:0;left:0;margin-top:1.25rem;transform:translateX(-50%)}.tooltip-content.left{top:50%;right:0%;margin-right:1.25rem;transform:translateY(-50%)}.tooltip-container:hover .tooltip-content,.tooltip-container:focus-within .tooltip-content{visibility:visible;opacity:1}.tooltip-content::after{content:"";position:absolute;top:-0.75rem;left:50%;transform:rotate(180deg);border-width:6px;border-style:solid;border-color:black transparent transparent transparent}.tooltip-content.top::after{top:100%;left:50%;transform:rotate(0deg)}.tooltip-content.bottom::after{top:-0.75rem;left:50%;transform:rotate(180deg)}.tooltip-content.left::after{top:47.5%;left:100%;transform:rotate(270deg)}.tooltip-content.right::after{top:47.5%;left:-0.75rem;transform:rotate(90deg)}',r=s,n=class{constructor(e){t.registerInstance(this,e),this.position="bottom"}showTooltip(e){e.target.nextElementSibling.style.visibility="visible",e.target.nextElementSibling.style.opacity="1"}hideTooltip(e){e.target.nextElementSibling.style.visibility="hidden",e.target.nextElementSibling.style.opacity="0"}render(){return t.h("div",{key:"39014243f733656bf550b9141eabd5c13e3c43d9",class:"tooltip-container",part:"tc__container"},t.h("span",{key:"8b331b143065287a337e26a4680b3744ca8e2bc7",class:"info-icon",tabindex:"0",onFocus:this.showTooltip.bind(this),onBlur:this.hideTooltip.bind(this)},t.h("slot",{key:"cf584033435cee5ca7143f5ee5fb983e3e9ab550",name:"tooltip-icon"},"i")),t.h("span",{key:"409b87ee03bc5aa39fcaf965eca18d03f0ef1a44",class:`tooltip-content ${this.position}`,part:"tc__content"},t.h("slot",{key:"00f5fa51bcf2cd31fac498f94a97ac67d5b7de3f",name:"tooltip-content"},"This is a help text.")))}get el(){return t.getElement(this)}};n.style=r;exports.info_icon=o;exports.tooltip_component=n;
@@ -0,0 +1,34 @@
1
+ import { r as o, h as e, g as n } from "./index-a134f625.js";
2
+ import "react";
3
+ import "react-dom";
4
+ const a = ".sc-info-icon-h{display:flex}", i = a, s = class {
5
+ constructor(t) {
6
+ o(this, t), this.width = "14", this.height = "14";
7
+ }
8
+ render() {
9
+ return e("svg", { key: "53da1e7144b384f7c1b7aed55e2a31f8cdca2ff4", width: this.width, height: this.height, fill: "none", xmlns: "http://www.w3.org/2000/svg" }, e("path", { key: "2183e258f3d47e706ddc63dc0f7352d2dfef00d2", fill: "currentColor", d: "M6.5 5.5C6.77614 5.5 7 5.72386 7 6V9C7 9.27614 6.77614 9.5 6.5 9.5C6.22386 9.5 6 9.27614 6 9V6C6 5.72386 6.22386 5.5 6.5 5.5ZM6.50001 4.74907C6.91369 4.74907 7.24905 4.41371 7.24905 4.00003C7.24905 3.58635 6.91369 3.251 6.50001 3.251C6.08633 3.251 5.75098 3.58635 5.75098 4.00003C5.75098 4.41371 6.08633 4.74907 6.50001 4.74907ZM0.5 6.5C0.5 3.18629 3.18629 0.5 6.5 0.5C9.81371 0.5 12.5 3.18629 12.5 6.5C12.5 9.81371 9.81371 12.5 6.5 12.5C3.18629 12.5 0.5 9.81371 0.5 6.5ZM6.5 1.5C3.73858 1.5 1.5 3.73858 1.5 6.5C1.5 9.26142 3.73858 11.5 6.5 11.5C9.26142 11.5 11.5 9.26142 11.5 6.5C11.5 3.73858 9.26142 1.5 6.5 1.5Z" }));
10
+ }
11
+ };
12
+ s.style = i;
13
+ const r = '.tooltip-container{position:relative;display:flex;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.tooltip-content{visibility:hidden;background-color:var(--nylas-base-800);color:var(--nylas-base-0);text-align:left;border-radius:6px;padding:5px 0;position:absolute;z-index:1;opacity:0;transition:opacity 0.3s;padding:0.5rem 1rem;max-width:200px;width:max-content}.tooltip-content.top{bottom:0;left:0;margin-bottom:1.25rem;transform:translateX(-50%)}.tooltip-content.right{top:50%;left:0%;margin-left:1.25rem;transform:translateY(-50%)}.tooltip-content.bottom{top:0;left:0;margin-top:1.25rem;transform:translateX(-50%)}.tooltip-content.left{top:50%;right:0%;margin-right:1.25rem;transform:translateY(-50%)}.tooltip-container:hover .tooltip-content,.tooltip-container:focus-within .tooltip-content{visibility:visible;opacity:1}.tooltip-content::after{content:"";position:absolute;top:-0.75rem;left:50%;transform:rotate(180deg);border-width:6px;border-style:solid;border-color:black transparent transparent transparent}.tooltip-content.top::after{top:100%;left:50%;transform:rotate(0deg)}.tooltip-content.bottom::after{top:-0.75rem;left:50%;transform:rotate(180deg)}.tooltip-content.left::after{top:47.5%;left:100%;transform:rotate(270deg)}.tooltip-content.right::after{top:47.5%;left:-0.75rem;transform:rotate(90deg)}', l = r, c = class {
14
+ constructor(t) {
15
+ o(this, t), this.position = "bottom";
16
+ }
17
+ showTooltip(t) {
18
+ t.target.nextElementSibling.style.visibility = "visible", t.target.nextElementSibling.style.opacity = "1";
19
+ }
20
+ hideTooltip(t) {
21
+ t.target.nextElementSibling.style.visibility = "hidden", t.target.nextElementSibling.style.opacity = "0";
22
+ }
23
+ render() {
24
+ return e("div", { key: "39014243f733656bf550b9141eabd5c13e3c43d9", class: "tooltip-container", part: "tc__container" }, e("span", { key: "8b331b143065287a337e26a4680b3744ca8e2bc7", class: "info-icon", tabindex: "0", onFocus: this.showTooltip.bind(this), onBlur: this.hideTooltip.bind(this) }, e("slot", { key: "cf584033435cee5ca7143f5ee5fb983e3e9ab550", name: "tooltip-icon" }, "i")), e("span", { key: "409b87ee03bc5aa39fcaf965eca18d03f0ef1a44", class: `tooltip-content ${this.position}`, part: "tc__content" }, e("slot", { key: "00f5fa51bcf2cd31fac498f94a97ac67d5b7de3f", name: "tooltip-content" }, "This is a help text.")));
25
+ }
26
+ get el() {
27
+ return n(this);
28
+ }
29
+ };
30
+ c.style = l;
31
+ export {
32
+ s as info_icon,
33
+ c as tooltip_component
34
+ };
@@ -0,0 +1,48 @@
1
+ import { r as n, c as o, h as r, g as s } from "./index-a134f625.js";
2
+ import "react";
3
+ import "react-dom";
4
+ const l = ':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:100%}@media screen and (max-width: 768px){:host{position:unset}}label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%;flex-direction:column;gap:4px;font-family:var(--nylas-font-family);font-size:16px;color:var(--nylas-base-800)}label.error{color:var(--nylas-error)}label span.required{color:var(--nylas-error);padding:0 0.25rem}label p{margin:0}label .error{color:var(--nylas-error)}.color-picker-container{display:flex;height:48px;padding-left:16px;align-items:center;gap:8px;align-self:stretch;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:400;line-height:150%;width:-moz-available;width:-webkit-fill-available;padding-left:0;gap:0;overflow:hidden}.color-picker-container:focus{outline-color:var(--nylas-primary)}.color-picker-container.error{border-radius:var(--nylas-border-radius-2x);font-weight:600;border-color:var(--nylas-error);border-width:2px}.color-picker-container.error::placeholder{font-weight:400}.color-picker-container::placeholder{color:var(--nylas-base-300)}.color-picker-container input{display:flex;align-items:center;height:100%;appearance:none;border:none;border-right:1px solid var(--nylas-base-200);background:transparent}.color-picker-container input::-webkit-color-swatch{min-width:30px;border-radius:0.25rem;border:1px solid var(--nylas-base-200);margin:0.25rem}.color-picker-container input::-moz-color-swatch{min-width:30px;border-radius:0.25rem;border:1px solid var(--nylas-base-200);margin:0.25rem}.color-picker-container.error{border:1px solid var(--nylas-error)}.color-picker-container:hover,.color-picker-container:active{outline:1px solid var(--nylas-primary)}.color-picker-container:active{outline:2px solid var(--nylas-primary)}.color-picker-container label{width:100%}.labelBtn{color:var(--nylas-base-800);padding:14px;font-size:1rem;font-family:var(--nylas-font-family);cursor:pointer;display:flex;flex-direction:row;justify-content:space-between;width:100%;gap:0.5rem;background:transparent;border:none}.labelBtn.error{border:1px solid var(--nylas-error)}.labelBtn.focus{background:transparent}.labelBtn:hover,.labelBtn:active{outline:1px solid var(--nylas-primary)}.labelBtn span.chevron{display:flex;align-self:center}.labelBtn span.open{transform:rotate(90deg)}.labelBtn span.closed{transform:rotate(270deg)}.labelBtn span.selected-option{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:144px;font-size:14px;line-height:20px}@media screen and (max-width: 768px){.labelBtn span.selected-option{max-width:124px;font-size:16px}}', t = l, i = class {
5
+ constructor(e) {
6
+ n(this, e), this.nylasFormDropdownChanged = o(this, "nylasFormDropdownChanged", 7), this.componentType = "color-picker", this.name = void 0, this.defaultSelectedColor = void 0, this.selectedColor = this.defaultSelectedColor, this.isOpen = !1, this.ariaActivedescendant = "", this.errorMessage = "";
7
+ }
8
+ componentWillLoad() {
9
+ this.selectedColor = this.defaultSelectedColor, this.el.setAttribute("component-type", this.componentType);
10
+ }
11
+ handleFocus() {
12
+ this.isOpen = !0;
13
+ }
14
+ handleBlur() {
15
+ this.isOpen = !1;
16
+ }
17
+ handleInput(e) {
18
+ this.selectedColor = e.target.value;
19
+ }
20
+ handleChange(e) {
21
+ this.selectedColor = e.target.value, this.nylasFormDropdownChanged.emit({
22
+ value: this.selectedColor,
23
+ name: this.name,
24
+ error: this.errorMessage
25
+ });
26
+ }
27
+ handleKeyDown(e) {
28
+ var a;
29
+ (e.code === "Enter" || e.code === "Space") && (e.preventDefault(), (a = this.inputRef) == null || a.click());
30
+ }
31
+ handleOutsideClick(e) {
32
+ !e.composedPath().includes(this.el) && this.isOpen && (this.isOpen = !1);
33
+ }
34
+ render() {
35
+ return r("div", { key: "145dabea01809c210829fc3cdc4882793b38a154", class: "color-picker-container", part: "icp_color-picker", tabindex: "0", onKeyDown: (e) => this.handleKeyDown(e) }, r("input", { key: "4ee61547ce9d051d2066fdcbcb1ebd048a8444cf", type: "color", ref: (e) => this.inputRef = e, id: this.name, name: this.name, value: this.selectedColor, tabindex: "-1", onFocus: () => this.handleFocus(), onBlur: () => this.handleBlur(), onInput: (e) => this.handleInput(e), onChange: (e) => this.handleChange(e), onKeyDown: (e) => this.handleKeyDown(e) }), r("label", { key: "9473f60a27db4bb073c740df461ea2f276890ddb", part: "icp_color-picker-button", htmlFor: this.name, class: { labelBtn: !0, open: this.isOpen, error: !!this.errorMessage }, "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? "true" : "false", "aria-label": this.name }, r("span", { key: "3e10c11d8dae028ca965da307f06a51c6c71cf40", class: "selected-option", part: "icp_color-picker-button-selected-label" }, this.selectedColor || "Select a color"), r("span", { key: "bfbe7728225a7e6203189ae4da06fc4abf4f4ec4", class: {
36
+ open: this.isOpen,
37
+ closed: !this.isOpen,
38
+ chevron: !0
39
+ }, "aria-hidden": "true" }, r("chevron-icon", { key: "99d0dc5de95436ef6ca79421026debda57c32390", width: "16", height: "16" })), this.errorMessage && r("span", { class: "error help-text" }, this.errorMessage)));
40
+ }
41
+ get el() {
42
+ return s(this);
43
+ }
44
+ };
45
+ i.style = t;
46
+ export {
47
+ i as input_color_picker
48
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-2a53b6a8.cjs");require("react");require("react-dom");const o=':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:100%}@media screen and (max-width: 768px){:host{position:unset}}label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%;flex-direction:column;gap:4px;font-family:var(--nylas-font-family);font-size:16px;color:var(--nylas-base-800)}label.error{color:var(--nylas-error)}label span.required{color:var(--nylas-error);padding:0 0.25rem}label p{margin:0}label .error{color:var(--nylas-error)}.color-picker-container{display:flex;height:48px;padding-left:16px;align-items:center;gap:8px;align-self:stretch;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:400;line-height:150%;width:-moz-available;width:-webkit-fill-available;padding-left:0;gap:0;overflow:hidden}.color-picker-container:focus{outline-color:var(--nylas-primary)}.color-picker-container.error{border-radius:var(--nylas-border-radius-2x);font-weight:600;border-color:var(--nylas-error);border-width:2px}.color-picker-container.error::placeholder{font-weight:400}.color-picker-container::placeholder{color:var(--nylas-base-300)}.color-picker-container input{display:flex;align-items:center;height:100%;appearance:none;border:none;border-right:1px solid var(--nylas-base-200);background:transparent}.color-picker-container input::-webkit-color-swatch{min-width:30px;border-radius:0.25rem;border:1px solid var(--nylas-base-200);margin:0.25rem}.color-picker-container input::-moz-color-swatch{min-width:30px;border-radius:0.25rem;border:1px solid var(--nylas-base-200);margin:0.25rem}.color-picker-container.error{border:1px solid var(--nylas-error)}.color-picker-container:hover,.color-picker-container:active{outline:1px solid var(--nylas-primary)}.color-picker-container:active{outline:2px solid var(--nylas-primary)}.color-picker-container label{width:100%}.labelBtn{color:var(--nylas-base-800);padding:14px;font-size:1rem;font-family:var(--nylas-font-family);cursor:pointer;display:flex;flex-direction:row;justify-content:space-between;width:100%;gap:0.5rem;background:transparent;border:none}.labelBtn.error{border:1px solid var(--nylas-error)}.labelBtn.focus{background:transparent}.labelBtn:hover,.labelBtn:active{outline:1px solid var(--nylas-primary)}.labelBtn span.chevron{display:flex;align-self:center}.labelBtn span.open{transform:rotate(90deg)}.labelBtn span.closed{transform:rotate(270deg)}.labelBtn span.selected-option{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:144px;font-size:14px;line-height:20px}@media screen and (max-width: 768px){.labelBtn span.selected-option{max-width:124px;font-size:16px}}',l=o,n=class{constructor(e){r.registerInstance(this,e),this.nylasFormDropdownChanged=r.createEvent(this,"nylasFormDropdownChanged",7),this.componentType="color-picker",this.name=void 0,this.defaultSelectedColor=void 0,this.selectedColor=this.defaultSelectedColor,this.isOpen=!1,this.ariaActivedescendant="",this.errorMessage=""}componentWillLoad(){this.selectedColor=this.defaultSelectedColor,this.el.setAttribute("component-type",this.componentType)}handleFocus(){this.isOpen=!0}handleBlur(){this.isOpen=!1}handleInput(e){this.selectedColor=e.target.value}handleChange(e){this.selectedColor=e.target.value,this.nylasFormDropdownChanged.emit({value:this.selectedColor,name:this.name,error:this.errorMessage})}handleKeyDown(e){var a;(e.code==="Enter"||e.code==="Space")&&(e.preventDefault(),(a=this.inputRef)==null||a.click())}handleOutsideClick(e){!e.composedPath().includes(this.el)&&this.isOpen&&(this.isOpen=!1)}render(){return r.h("div",{key:"145dabea01809c210829fc3cdc4882793b38a154",class:"color-picker-container",part:"icp_color-picker",tabindex:"0",onKeyDown:e=>this.handleKeyDown(e)},r.h("input",{key:"4ee61547ce9d051d2066fdcbcb1ebd048a8444cf",type:"color",ref:e=>this.inputRef=e,id:this.name,name:this.name,value:this.selectedColor,tabindex:"-1",onFocus:()=>this.handleFocus(),onBlur:()=>this.handleBlur(),onInput:e=>this.handleInput(e),onChange:e=>this.handleChange(e),onKeyDown:e=>this.handleKeyDown(e)}),r.h("label",{key:"9473f60a27db4bb073c740df461ea2f276890ddb",part:"icp_color-picker-button",htmlFor:this.name,class:{labelBtn:!0,open:this.isOpen,error:!!this.errorMessage},"aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false","aria-label":this.name},r.h("span",{key:"3e10c11d8dae028ca965da307f06a51c6c71cf40",class:"selected-option",part:"icp_color-picker-button-selected-label"},this.selectedColor||"Select a color"),r.h("span",{key:"bfbe7728225a7e6203189ae4da06fc4abf4f4ec4",class:{open:this.isOpen,closed:!this.isOpen,chevron:!0},"aria-hidden":"true"},r.h("chevron-icon",{key:"99d0dc5de95436ef6ca79421026debda57c32390",width:"16",height:"16"})),this.errorMessage&&r.h("span",{class:"error help-text"},this.errorMessage)))}get el(){return r.getElement(this)}};n.style=l;exports.input_color_picker=n;
@@ -0,0 +1,70 @@
1
+ import { r as l, c as a, E as r, h as t, g as i } from "./index-a134f625.js";
2
+ import "react";
3
+ import "react-dom";
4
+ const n = ':host{display:block;height:auto;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:100%}label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%;flex-direction:column;gap:4px;font-family:var(--nylas-font-family);font-size:16px;color:var(--nylas-base-800)}label.error{color:var(--nylas-error)}label span.required{color:var(--nylas-error);padding:0 0.25rem}label p{margin:0}label .error{color:var(--nylas-error)}.input_wrapper{display:flex;align-items:center;gap:1rem}input[type=text],input[type=email]{display:flex;height:48px;padding-left:16px;align-items:center;gap:8px;align-self:stretch;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:400;line-height:150%;width:-moz-available;width:-webkit-fill-available}input[type=text]:focus,input[type=email]:focus{outline-color:var(--nylas-primary)}input[type=text].error,input[type=email].error{border-radius:var(--nylas-border-radius-2x);font-weight:600;border-color:var(--nylas-error);border-width:2px}input[type=text].error::placeholder,input[type=email].error::placeholder{font-weight:400}input[type=text]::placeholder,input[type=email]::placeholder{color:var(--nylas-base-300)}', o = n, h = {
5
+ email: /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,
6
+ phone_number: /^\+?\d{1,15}$/
7
+ }, u = {
8
+ email: "name@example.com",
9
+ phone_number: "1234567890"
10
+ }, p = class {
11
+ constructor(e) {
12
+ l(this, e), this.nylasFormInputChanged = a(this, "nylasFormInputChanged", 7), this.nylasFormInputFocused = a(this, "nylasFormInputFocused", 7), this.nylasFormInputBlurred = a(this, "nylasFormInputBlurred", 7), this.name = "input", this.defaultValue = void 0, this.label = "", this.type = "text", this.placeholder = u[this.type], this.required = !1, this.readOnly = !1, this.autoFocus = !1, this.pattern = void 0, this.maxLength = 255, this.patternError = "", this.requiredError = "", this.value = void 0, this.error = "";
13
+ }
14
+ handleDefaultValueChange(e) {
15
+ this.value = r(e), this.value && this.validatePattern(this.value);
16
+ }
17
+ componentDidLoad() {
18
+ this.value = r(this.defaultValue || ""), this.type !== "text" && !this.pattern && (this.pattern = h[this.type]), this.value && this.validatePattern(this.value);
19
+ }
20
+ handleBookingFormSubmitted(e) {
21
+ this.validatePattern(this.value), this.error && e.preventDefault();
22
+ }
23
+ async handleFormSubmitted(e) {
24
+ var s;
25
+ (s = this.el) != null && s.getAttribute("data-page-styling") && (this.validatePattern(this.value), this.error && e.preventDefault());
26
+ }
27
+ handleInput(e) {
28
+ this.error = "", this.value = r(e.target.value), this.nylasFormInputChanged.emit({
29
+ value: this.value,
30
+ name: this.name,
31
+ label: this.label,
32
+ error: this.error,
33
+ type: this.type
34
+ });
35
+ }
36
+ handleBlur() {
37
+ this.nylasFormInputBlurred.emit({
38
+ value: this.value,
39
+ name: this.name
40
+ });
41
+ }
42
+ handleFocus() {
43
+ this.nylasFormInputFocused.emit({
44
+ value: this.value,
45
+ name: this.name
46
+ });
47
+ }
48
+ validatePattern(e) {
49
+ if (this.error = "", this.required && !e) {
50
+ this.error = this.requiredError || "This field is required.";
51
+ return;
52
+ }
53
+ !this.pattern || !e && !this.required || (this.pattern.test(e) ? this.error = "" : this.error = this.patternError || "Invalid format.");
54
+ }
55
+ render() {
56
+ return t("label", { key: "207cb06847b7a045c4917180affc535169b55596", part: "ic__label", class: { error: !!this.error } }, this.label && t("p", null, t("span", { class: "label" }, this.label), this.required && t("span", { class: "required" }, "*")), t("div", { key: "8da4d52acd543376116d9851df43eb54b3e3fec1", part: "ic__input_wrapper", class: "input_wrapper" }, t("input", { key: "541168da152c81e01dfa0263f8c1f0b6e73e09f2", type: "text", name: this.name, part: "ic__input", readOnly: this.readOnly, autoFocus: this.autoFocus, value: this.value, maxLength: this.maxLength, placeholder: this.placeholder, class: { error: !!this.error }, onInput: (e) => this.handleInput(e), onFocus: () => this.handleFocus(), onBlur: () => this.handleBlur() }), t("slot", { key: "9e4ccbf52802dc59bda1d6b738c45026b8b78bd4", name: "additional-input" })), this.error && t("span", { class: "error help-text" }, this.error));
57
+ }
58
+ get el() {
59
+ return i(this);
60
+ }
61
+ static get watchers() {
62
+ return {
63
+ defaultValue: ["handleDefaultValueChange"]
64
+ };
65
+ }
66
+ };
67
+ p.style = o;
68
+ export {
69
+ p as input_component
70
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-2a53b6a8.cjs");require("react");require("react-dom");const s=':host{display:block;height:auto;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:100%}label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%;flex-direction:column;gap:4px;font-family:var(--nylas-font-family);font-size:16px;color:var(--nylas-base-800)}label.error{color:var(--nylas-error)}label span.required{color:var(--nylas-error);padding:0 0.25rem}label p{margin:0}label .error{color:var(--nylas-error)}.input_wrapper{display:flex;align-items:center;gap:1rem}input[type=text],input[type=email]{display:flex;height:48px;padding-left:16px;align-items:center;gap:8px;align-self:stretch;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:400;line-height:150%;width:-moz-available;width:-webkit-fill-available}input[type=text]:focus,input[type=email]:focus{outline-color:var(--nylas-primary)}input[type=text].error,input[type=email].error{border-radius:var(--nylas-border-radius-2x);font-weight:600;border-color:var(--nylas-error);border-width:2px}input[type=text].error::placeholder,input[type=email].error::placeholder{font-weight:400}input[type=text]::placeholder,input[type=email]::placeholder{color:var(--nylas-base-300)}',i=s,l={email:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,phone_number:/^\+?\d{1,15}$/},n={email:"name@example.com",phone_number:"1234567890"},r=class{constructor(t){e.registerInstance(this,t),this.nylasFormInputChanged=e.createEvent(this,"nylasFormInputChanged",7),this.nylasFormInputFocused=e.createEvent(this,"nylasFormInputFocused",7),this.nylasFormInputBlurred=e.createEvent(this,"nylasFormInputBlurred",7),this.name="input",this.defaultValue=void 0,this.label="",this.type="text",this.placeholder=n[this.type],this.required=!1,this.readOnly=!1,this.autoFocus=!1,this.pattern=void 0,this.maxLength=255,this.patternError="",this.requiredError="",this.value=void 0,this.error=""}handleDefaultValueChange(t){this.value=e.sanitize(t),this.value&&this.validatePattern(this.value)}componentDidLoad(){this.value=e.sanitize(this.defaultValue||""),this.type!=="text"&&!this.pattern&&(this.pattern=l[this.type]),this.value&&this.validatePattern(this.value)}handleBookingFormSubmitted(t){this.validatePattern(this.value),this.error&&t.preventDefault()}async handleFormSubmitted(t){var a;(a=this.el)!=null&&a.getAttribute("data-page-styling")&&(this.validatePattern(this.value),this.error&&t.preventDefault())}handleInput(t){this.error="",this.value=e.sanitize(t.target.value),this.nylasFormInputChanged.emit({value:this.value,name:this.name,label:this.label,error:this.error,type:this.type})}handleBlur(){this.nylasFormInputBlurred.emit({value:this.value,name:this.name})}handleFocus(){this.nylasFormInputFocused.emit({value:this.value,name:this.name})}validatePattern(t){if(this.error="",this.required&&!t){this.error=this.requiredError||"This field is required.";return}!this.pattern||!t&&!this.required||(this.pattern.test(t)?this.error="":this.error=this.patternError||"Invalid format.")}render(){return e.h("label",{key:"207cb06847b7a045c4917180affc535169b55596",part:"ic__label",class:{error:!!this.error}},this.label&&e.h("p",null,e.h("span",{class:"label"},this.label),this.required&&e.h("span",{class:"required"},"*")),e.h("div",{key:"8da4d52acd543376116d9851df43eb54b3e3fec1",part:"ic__input_wrapper",class:"input_wrapper"},e.h("input",{key:"541168da152c81e01dfa0263f8c1f0b6e73e09f2",type:"text",name:this.name,part:"ic__input",readOnly:this.readOnly,autoFocus:this.autoFocus,value:this.value,maxLength:this.maxLength,placeholder:this.placeholder,class:{error:!!this.error},onInput:t=>this.handleInput(t),onFocus:()=>this.handleFocus(),onBlur:()=>this.handleBlur()}),e.h("slot",{key:"9e4ccbf52802dc59bda1d6b738c45026b8b78bd4",name:"additional-input"})),this.error&&e.h("span",{class:"error help-text"},this.error))}get el(){return e.getElement(this)}static get watchers(){return{defaultValue:["handleDefaultValueChange"]}}};r.style=i;exports.input_component=r;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-2a53b6a8.cjs");require("react");require("react-dom");const d=':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}@media screen and (max-width: 768px){:host{position:unset}}.dropdown{display:inline-block}.dropbtn{color:var(--nylas-base-800);padding:10px;font-size:1rem;font-family:var(--nylas-font-family);cursor:pointer;display:flex;gap:0.5rem;background:transparent;border:none;border-radius:var(--nylas-border-radius-2x);width:50px;padding:14px 16px;border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn:hover,.dropbtn:active{outline:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn span.chevron{display:flex;align-self:center}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropbtn span.selected-option{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:144px;font-size:14px;line-height:20px}@media screen and (max-width: 768px){.dropbtn span.selected-option{max-width:124px;font-size:16px}}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);max-width:306px;width:max-content;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1)}@media screen and (max-width: 768px){.dropdown-content{right:0;width:325px;max-width:unset}}.search-box{border-bottom:1px solid var(--nylas-base-200);padding:10px;position:sticky;top:0;background:var(--nylas-base-0)}.search-box .icon{position:absolute;top:1.25rem;left:1.25rem;color:var(--nylas-base-300)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content .selected{background-color:#e7e7e7}input[type=text]{width:-webkit-fill-available;padding:inherit;border:1px solid #ccc;border-radius:4px;position:sticky;background:no-repeat scroll 7px 7px;padding-left:30px;background-size:16px 16px}',p=d,l=class{constructor(e){a.registerInstance(this,e),this.inputOptionChanged=a.createEvent(this,"inputOptionChanged",7),this.name=void 0,this.options=[],this.defaultInputOption=void 0,this.inputValue=void 0,this.pluralizedLabel="",this.filterable=!1,this.selectedOption=this.defaultInputOption||null,this.isOpen=!1,this.typedValue="",this.filteredOptions=[...this.options],this.ariaActivedescendant="",this.shouldAutoScroll=!1}optionsChangedHandler(e,t){e!==t&&(this.filteredOptions=this.getFilteredOptions(e))}defaultSelectedOptionChangedHandler(e,t){(e==null?void 0:e.label)!==(t==null?void 0:t.label)&&(this.selectedOption=e)}inputValueChangedHandler(e,t){e!==t&&(this.filteredOptions=this.getFilteredOptions(this.options))}componentWillLoad(){this.filteredOptions=this.getFilteredOptions(this.options),!this.selectedOption&&this.defaultInputOption&&(this.selectedOption=this.defaultInputOption),!this.selectedOption&&this.options.length>0&&(this.selectedOption=this.options[0])}getFilteredOptions(e){return this.filterable?e.filter(t=>{var i,n,o,s;return((n=t==null?void 0:t.value)==null?void 0:n.toString().toLowerCase().includes((i=this.typedValue)==null?void 0:i.toLowerCase()))||((s=t==null?void 0:t.label)==null?void 0:s.toLowerCase().includes((o=this.typedValue)==null?void 0:o.toLowerCase()))}):e}toggleDropdown(){this.isOpen=!this.isOpen}selectOption(e){this.selectedOption=e,this.toggleDropdown(),this.inputOptionChanged.emit({value:e.value,name:this.name})}handleOnInput(e){const t=e.target.value;this.typedValue=t;const i=this.options.findIndex(n=>n.label.toLowerCase().includes(t.toLowerCase()));i>-1&&this.scrollToViewWithinParent(i),this.inputOptionChanged.emit({value:t,name:this.name})}scrollToViewWithinParent(e){var r;const t=this.options[e],i=(r=this.el.shadowRoot)==null?void 0:r.getElementById(t.value.toString()),n=this.optionsRef;if(this.ariaActivedescendant=t.value.toString(),!i||!n)return;const o=i.getBoundingClientRect(),s=n.getBoundingClientRect();o.top<s.top?n.scrollTop-=s.top-o.top:o.bottom>s.bottom&&(n.scrollTop+=o.bottom-s.bottom)}handleSelectButtonKeyDown(e){var t;switch(e.key){case"ArrowDown":case"Enter":e.preventDefault(),this.isOpen||this.toggleDropdown(),(t=this.inputRef)==null||t.focus();break;case"Escape":this.isOpen=!1;break}}handleClick(e){if(this.isOpen){const t=e.target.value,i=this.options.findIndex(n=>n.label.toLowerCase().includes(t.toLowerCase()));i>-1&&setTimeout(()=>{this.scrollToViewWithinParent(i)},10)}}handleListboxKeydown(e){var n,o;const t=this.filteredOptions,i=t.findIndex(s=>s.value===this.ariaActivedescendant);if(e.key==="ArrowDown"||e.key==="Tab"&&!e.shiftKey){if(e.preventDefault(),i===t.length-1){this.ariaActivedescendant="",(n=this.inputRef)==null||n.focus();return}const s=i+1<t.length?i+1:0;this.ariaActivedescendant=t[s].value,this.focusOption(s)}else if(e.key==="ArrowUp"||e.key==="Tab"&&e.shiftKey){if(e.preventDefault(),i===0){this.ariaActivedescendant="",(o=this.inputRef)==null||o.focus();return}const s=i-1>=0?i-1:t.length-1;this.ariaActivedescendant=t[s].value,this.focusOption(s)}else e.key==="Enter"?(e.preventDefault(),this.ariaActivedescendant&&this.selectOption(t[i])):e.key==="Escape"&&(this.isOpen=!1)}focusOption(e){var o;const t=this.filteredOptions[e];if(!t)return;const i=t.value,n=(o=this.el.shadowRoot)==null?void 0:o.getElementById(i);n&&(n.focus(),n.scrollIntoView({behavior:"smooth",block:"nearest"}))}handleComboboxKeyDown(e){if(e.key==="ArrowDown"||e.key=="Tab"&&!e.shiftKey){if(e.preventDefault(),!this.isOpen){this.isOpen=!0,this.shouldAutoScroll=!0;return}this.ariaActivedescendant=this.filteredOptions[0].value,this.focusOption(0)}else e.key==="ArrowUp"||e.key==="Tab"&&e.shiftKey?(e.preventDefault(),this.ariaActivedescendant=this.filteredOptions[this.filteredOptions.length-1].value,this.focusOption(this.filteredOptions.length-1)):e.key==="Escape"&&(this.isOpen=!1)}handleOutsideClick(e){!e.composedPath().includes(this.el)&&this.isOpen&&(this.isOpen=!1)}render(){return a.h("div",{key:"fa0347bf09ec791976c3628837a400ffce06f785",class:"dropdown",part:"id_dropdown"},a.h("input",{key:"d18704609aa859f705397ca57a0d491a8f09ed99",type:"text",name:this.name,id:this.name,part:"id_dropdown-input",class:{dropbtn:!0,open:this.isOpen},value:this.inputValue,onClick:e=>{this.toggleDropdown(),this.shouldAutoScroll=!0,this.handleClick(e)},"aria-haspopup":"listbox","aria-label":this.name,"aria-expanded":this.isOpen?"true":"false",onKeyDown:e=>this.handleComboboxKeyDown(e),onInput:e=>this.handleOnInput(e)}),this.isOpen?a.h("div",{class:"dropdown-content",part:"id_dropdown-content",ref:e=>this.optionsRef=e},a.h("ul",{tabindex:"-1",role:"listbox","aria-label":this.name,"aria-activedescendant":this.ariaActivedescendant,onKeyDown:e=>this.handleListboxKeydown(e)},this.filteredOptions.map(e=>a.h("li",{tabindex:"0",key:e.value,id:e.value,onClick:()=>this.selectOption(e),role:"option",class:{focused:this.ariaActivedescendant===e.value.toString()}},e.labelHTML?e.labelHTML:e.label)))):null)}get el(){return a.getElement(this)}static get watchers(){return{options:["optionsChangedHandler"],defaultInputOption:["defaultSelectedOptionChangedHandler"],inputValue:["inputValueChangedHandler"]}}};l.style=p;exports.input_dropdown=l;
@@ -0,0 +1,134 @@
1
+ import { r as l, c as d, h as a, g as p } from "./index-a134f625.js";
2
+ import "react";
3
+ import "react-dom";
4
+ const c = ':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}@media screen and (max-width: 768px){:host{position:unset}}.dropdown{display:inline-block}.dropbtn{color:var(--nylas-base-800);padding:10px;font-size:1rem;font-family:var(--nylas-font-family);cursor:pointer;display:flex;gap:0.5rem;background:transparent;border:none;border-radius:var(--nylas-border-radius-2x);width:50px;padding:14px 16px;border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn:hover,.dropbtn:active{outline:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn span.chevron{display:flex;align-self:center}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropbtn span.selected-option{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:144px;font-size:14px;line-height:20px}@media screen and (max-width: 768px){.dropbtn span.selected-option{max-width:124px;font-size:16px}}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);max-width:306px;width:max-content;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1)}@media screen and (max-width: 768px){.dropdown-content{right:0;width:325px;max-width:unset}}.search-box{border-bottom:1px solid var(--nylas-base-200);padding:10px;position:sticky;top:0;background:var(--nylas-base-0)}.search-box .icon{position:absolute;top:1.25rem;left:1.25rem;color:var(--nylas-base-300)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:black;padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content .selected{background-color:#e7e7e7}input[type=text]{width:-webkit-fill-available;padding:inherit;border:1px solid #ccc;border-radius:4px;position:sticky;background:no-repeat scroll 7px 7px;padding-left:30px;background-size:16px 16px}', h = c, u = class {
5
+ constructor(e) {
6
+ l(this, e), this.inputOptionChanged = d(this, "inputOptionChanged", 7), this.name = void 0, this.options = [], this.defaultInputOption = void 0, this.inputValue = void 0, this.pluralizedLabel = "", this.filterable = !1, this.selectedOption = this.defaultInputOption || null, this.isOpen = !1, this.typedValue = "", this.filteredOptions = [...this.options], this.ariaActivedescendant = "", this.shouldAutoScroll = !1;
7
+ }
8
+ optionsChangedHandler(e, t) {
9
+ e !== t && (this.filteredOptions = this.getFilteredOptions(e));
10
+ }
11
+ defaultSelectedOptionChangedHandler(e, t) {
12
+ (e == null ? void 0 : e.label) !== (t == null ? void 0 : t.label) && (this.selectedOption = e);
13
+ }
14
+ inputValueChangedHandler(e, t) {
15
+ e !== t && (this.filteredOptions = this.getFilteredOptions(this.options));
16
+ }
17
+ componentWillLoad() {
18
+ this.filteredOptions = this.getFilteredOptions(this.options), !this.selectedOption && this.defaultInputOption && (this.selectedOption = this.defaultInputOption), !this.selectedOption && this.options.length > 0 && (this.selectedOption = this.options[0]);
19
+ }
20
+ getFilteredOptions(e) {
21
+ return this.filterable ? e.filter((t) => {
22
+ var i, n, o, s;
23
+ return ((n = t == null ? void 0 : t.value) == null ? void 0 : n.toString().toLowerCase().includes((i = this.typedValue) == null ? void 0 : i.toLowerCase())) || ((s = t == null ? void 0 : t.label) == null ? void 0 : s.toLowerCase().includes((o = this.typedValue) == null ? void 0 : o.toLowerCase()));
24
+ }) : e;
25
+ }
26
+ toggleDropdown() {
27
+ this.isOpen = !this.isOpen;
28
+ }
29
+ selectOption(e) {
30
+ this.selectedOption = e, this.toggleDropdown(), this.inputOptionChanged.emit({
31
+ value: e.value,
32
+ name: this.name
33
+ });
34
+ }
35
+ handleOnInput(e) {
36
+ const t = e.target.value;
37
+ this.typedValue = t;
38
+ const i = this.options.findIndex((n) => n.label.toLowerCase().includes(t.toLowerCase()));
39
+ i > -1 && this.scrollToViewWithinParent(i), this.inputOptionChanged.emit({
40
+ value: t,
41
+ name: this.name
42
+ });
43
+ }
44
+ scrollToViewWithinParent(e) {
45
+ var r;
46
+ const t = this.options[e], i = (r = this.el.shadowRoot) == null ? void 0 : r.getElementById(t.value.toString()), n = this.optionsRef;
47
+ if (this.ariaActivedescendant = t.value.toString(), !i || !n)
48
+ return;
49
+ const o = i.getBoundingClientRect(), s = n.getBoundingClientRect();
50
+ o.top < s.top ? n.scrollTop -= s.top - o.top : o.bottom > s.bottom && (n.scrollTop += o.bottom - s.bottom);
51
+ }
52
+ handleSelectButtonKeyDown(e) {
53
+ var t;
54
+ switch (e.key) {
55
+ case "ArrowDown":
56
+ case "Enter":
57
+ e.preventDefault(), this.isOpen || this.toggleDropdown(), (t = this.inputRef) == null || t.focus();
58
+ break;
59
+ case "Escape":
60
+ this.isOpen = !1;
61
+ break;
62
+ }
63
+ }
64
+ handleClick(e) {
65
+ if (this.isOpen) {
66
+ const t = e.target.value, i = this.options.findIndex((n) => n.label.toLowerCase().includes(t.toLowerCase()));
67
+ i > -1 && setTimeout(() => {
68
+ this.scrollToViewWithinParent(i);
69
+ }, 10);
70
+ }
71
+ }
72
+ handleListboxKeydown(e) {
73
+ var n, o;
74
+ const t = this.filteredOptions, i = t.findIndex((s) => s.value === this.ariaActivedescendant);
75
+ if (e.key === "ArrowDown" || e.key === "Tab" && !e.shiftKey) {
76
+ if (e.preventDefault(), i === t.length - 1) {
77
+ this.ariaActivedescendant = "", (n = this.inputRef) == null || n.focus();
78
+ return;
79
+ }
80
+ const s = i + 1 < t.length ? i + 1 : 0;
81
+ this.ariaActivedescendant = t[s].value, this.focusOption(s);
82
+ } else if (e.key === "ArrowUp" || e.key === "Tab" && e.shiftKey) {
83
+ if (e.preventDefault(), i === 0) {
84
+ this.ariaActivedescendant = "", (o = this.inputRef) == null || o.focus();
85
+ return;
86
+ }
87
+ const s = i - 1 >= 0 ? i - 1 : t.length - 1;
88
+ this.ariaActivedescendant = t[s].value, this.focusOption(s);
89
+ } else
90
+ e.key === "Enter" ? (e.preventDefault(), this.ariaActivedescendant && this.selectOption(t[i])) : e.key === "Escape" && (this.isOpen = !1);
91
+ }
92
+ focusOption(e) {
93
+ var o;
94
+ const t = this.filteredOptions[e];
95
+ if (!t)
96
+ return;
97
+ const i = t.value, n = (o = this.el.shadowRoot) == null ? void 0 : o.getElementById(i);
98
+ n && (n.focus(), n.scrollIntoView({ behavior: "smooth", block: "nearest" }));
99
+ }
100
+ handleComboboxKeyDown(e) {
101
+ if (e.key === "ArrowDown" || e.key == "Tab" && !e.shiftKey) {
102
+ if (e.preventDefault(), !this.isOpen) {
103
+ this.isOpen = !0, this.shouldAutoScroll = !0;
104
+ return;
105
+ }
106
+ this.ariaActivedescendant = this.filteredOptions[0].value, this.focusOption(0);
107
+ } else
108
+ e.key === "ArrowUp" || e.key === "Tab" && e.shiftKey ? (e.preventDefault(), this.ariaActivedescendant = this.filteredOptions[this.filteredOptions.length - 1].value, this.focusOption(this.filteredOptions.length - 1)) : e.key === "Escape" && (this.isOpen = !1);
109
+ }
110
+ handleOutsideClick(e) {
111
+ !e.composedPath().includes(this.el) && this.isOpen && (this.isOpen = !1);
112
+ }
113
+ render() {
114
+ return a("div", { key: "fa0347bf09ec791976c3628837a400ffce06f785", class: "dropdown", part: "id_dropdown" }, a("input", { key: "d18704609aa859f705397ca57a0d491a8f09ed99", type: "text", name: this.name, id: this.name, part: "id_dropdown-input", class: { dropbtn: !0, open: this.isOpen }, value: this.inputValue, onClick: (e) => {
115
+ this.toggleDropdown(), this.shouldAutoScroll = !0, this.handleClick(e);
116
+ }, "aria-haspopup": "listbox", "aria-label": this.name, "aria-expanded": this.isOpen ? "true" : "false", onKeyDown: (e) => this.handleComboboxKeyDown(e), onInput: (e) => this.handleOnInput(e) }), this.isOpen ? a("div", { class: "dropdown-content", part: "id_dropdown-content", ref: (e) => this.optionsRef = e }, a("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: (e) => this.handleListboxKeydown(e) }, this.filteredOptions.map((e) => a("li", { tabindex: "0", key: e.value, id: e.value, onClick: () => this.selectOption(e), role: "option", class: {
117
+ focused: this.ariaActivedescendant === e.value.toString()
118
+ } }, e.labelHTML ? e.labelHTML : e.label)))) : null);
119
+ }
120
+ get el() {
121
+ return p(this);
122
+ }
123
+ static get watchers() {
124
+ return {
125
+ options: ["optionsChangedHandler"],
126
+ defaultInputOption: ["defaultSelectedOptionChangedHandler"],
127
+ inputValue: ["inputValueChangedHandler"]
128
+ };
129
+ }
130
+ };
131
+ u.style = h;
132
+ export {
133
+ u as input_dropdown
134
+ };
@@ -0,0 +1 @@
1
+ "use strict";const n=require("./index-2a53b6a8.cjs"),i=require("./index.es-79f5b771-64a1baf0.cjs");class g{constructor(t,e){this.nylasAuth=t,this.nylasAuthStore=e}async validateSession(){const t=await this.isAccessTokenValid();if(!t)this.logout();else{let e=await this.nylasAuth.getTokenInfo();if(e){const a=Math.floor(Date.now()/1e3);if(e.expires_in&&e.expires_in-a<3e5&&(n.debug("[NylasAuthConnectorMixin] Refreshing access token"),e=await this.nylasAuth.refreshAccessToken(),!e)){n.debug("[NylasAuthConnectorMixin] Token is expired and could not be refreshed. Logging out."),this.logout();return}this.nylasAuthStore.state.tokenInfo=e}}this.nylasAuthStore.state.isAuthenticated=t}async isAuthenticated(){return this.nylasAuth.isAuthenticated()}async getTokenInfo(){return this.nylasAuth.getTokenInfo()}async isAccessTokenValid(){return this.nylasAuth.isAccessTokenValid()}async logout(){await this.nylasAuth.logout()}async getHostedAuthRedirectURL(t,e,s){return this.nylasAuth.getHostedAuthRedirectURL(t,e,s)}async manageHostedAuthCodeExchange(t){const s=new URL(t).searchParams.get("code");if(s){const a=await this.nylasAuth.exchangeAuthCodeForTokenInfo(s);if(a)return this.nylasAuthStore.state.tokenInfo=a,this.nylasAuthStore.state.isAuthenticated=!0,a}return null}}class f{constructor(t,e,s){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s}async getMessages(){var o;if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");this.nylasMailboxStore.state.state="loading";const t=this.nylasMailboxStore.state.messgeQueryParams,e=new URLSearchParams;for(const h in t){const u=(o=t[h])==null?void 0:o.toString();u&&e.append(h,u)}const s=`/v3/grants/me/messages?${e.toString()}`,a=await this.nylasAuth.nylasAPIRequest(s);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.messages=r,this.nylasMailboxStore.state.state="ready",r}async getThreadMessages(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=await this.nylasAuth.nylasAPIRequest(`/v3/grants/me/messages?thread_id=${t}&fields=include_headers`);if(i.Xr(e))throw new i.Zr(e.error);const s=e.data;return this.nylasMailboxStore.state.messages=s,s}downloadMessageAttachments(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=[],s=t.attachments||[];for(const a of s){const r=this.nylasAuth.nylasDownloadFileRequest(`/v3/grants/me/attachments/${a.id}?message_id=${t.id}`);e.push(r)}return e}async summarizeText(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");const e=await this.nylasAuth.nylasAPIRequest("/v3/grants/me/mailbox/summarize","POST",{message:{body:t}},!0,this.nylasAuth.config.elementsApiUri);if(i.Xr(e))throw new i.Zr(e.error);return e.data.summary}async textToSpeech(t,e){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing message:read-only scope");return this.nylasAuth.nylasAPIRequest("/v3/grants/me/mailbox/tts","POST",{text:t},!1,this.nylasAuth.config.elementsApiUri,{...e?{signal:e==null?void 0:e.signal}:{}})}}class w{constructor(t,e,s,a){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s,this.router=a}async getThreads(t,e="overwrite",s=!0){var c;if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");s&&(this.nylasMailboxStore.state.state="loading");const a=t||this.nylasMailboxStore.state.threadsQueryParams,r=new URLSearchParams;for(const y in a){const d=(c=a[y])==null?void 0:c.toString();typeof d<"u"&&d!==null&&r.append(y,d)}a.search_query_native?this.router.navigate(`/?query=${a.search_query_native}`,!0):this.nylasMailboxStore.state.threadsQueryParams.search_query_native&&!a.search_query_native&&this.router.navigate("/",!0),a.page_token||(this.nylasMailboxStore.state.previousThreadPageTokens=[]),this.nylasMailboxStore.state.threadsQueryParams=a;const o=`/v3/grants/me/threads?${r.toString()}`,h=await this.nylasAuth.nylasAPIRequest(o);if(i.Xr(h))throw new i.Zr(h.error);const u=h.data;switch(e){case"prepend":this.nylasMailboxStore.state.threads=[...u,...this.nylasMailboxStore.state.threads];break;case"append":this.nylasMailboxStore.state.threads=[...this.nylasMailboxStore.state.threads,...u];break;case"overwrite":default:this.nylasMailboxStore.state.threads=u;break}return h.next_cursor?this.nylasMailboxStore.state.nextThreadPageToken=h.next_cursor:this.nylasMailboxStore.state.nextThreadPageToken=null,s&&(this.nylasMailboxStore.state.state="ready"),u}async getThread(t){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");const e=this.nylasMailboxStore.state.threads.find(o=>o.id===t);if(e)return e;this.nylasMailboxStore.state.state="loading";const s=`/v3/grants/me/threads/${t}`,a=await this.nylasAuth.nylasAPIRequest(s);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.threads=this.nylasMailboxStore.state.threads.map(o=>o.id===r.id?r:o),this.nylasMailboxStore.state.state="ready",r}async nextThreadPage(t="overwrite",e=!0){if(!this.nylasMailboxStore.state.nextThreadPageToken)throw new Error("No next page token");this.nylasMailboxStore.state.previousThreadPageTokens=Array.from(new Set([...this.nylasMailboxStore.state.previousThreadPageTokens,this.nylasMailboxStore.state.threadsQueryParams.page_token??null]));const s=this.nylasMailboxStore.state.nextThreadPageToken;return this.getThreads({...this.nylasMailboxStore.state.threadsQueryParams,page_token:s},t,e)}async previousThreadPage(t="overwrite",e=!0){if(!this.nylasMailboxStore.state.previousThreadPageTokens.length)throw new Error("No previous page token");const s=[...this.nylasMailboxStore.state.previousThreadPageTokens],a=s.pop();return this.nylasMailboxStore.state.previousThreadPageTokens=s,this.getThreads({...this.nylasMailboxStore.state.threadsQueryParams,page_token:a??void 0},t,e)}updateThreadQueryParams(t){this.nylasMailboxStore.state.threadsQueryParams={...this.nylasMailboxStore.state.threadsQueryParams,...t}}back(){this.router.navigate("/",!0),this.nylasMailboxStore.state.selectedThread=null}unSelectThread(){this.nylasMailboxStore.state.selectedThread=null}async selectThread(t){this.router.navigate(`/thread/${t.id}`,!0),this.nylasMailboxStore.state.selectedThread=t,t.unread&&this.markThreadAsRead(t).catch(e=>{n.debug("Error marking thread as read",e)})}async markThreadAsRead(t){return this.updateThread(t,{unread:!1})}async updateThread(t,e){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email","modify"))throw new Error("Missing thread:modify scope");const s=`/v3/grants/me/threads/${t.id}`,a=await this.nylasAuth.nylasAPIRequest(s,"PUT",e);if(i.Xr(a))throw new i.Zr(a.error);const r=a.data;return this.nylasMailboxStore.state.threads=this.nylasMailboxStore.state.threads.map(o=>o.id===r.id?r:o),this.nylasMailboxStore.state.selectedThread=r,r}}class m{constructor(t,e,s){this.nylasAuth=t,this.nylasAuthStore=e,this.nylasMailboxStore=s}async getFolders(){if(!this.nylasAuthStore.state.isAuthenticated)throw new Error("Not authenticated");if(!this.nylasAuth.hasScopeByType("email",["read-only","modify"]))throw new Error("Missing thread:read-only scope");this.nylasMailboxStore.state.state="loading";const t="/v3/grants/me/folders",e=await this.nylasAuth.nylasAPIRequest(t);if(i.Xr(e))throw new i.Zr(e.error);const s=e.data;return this.nylasMailboxStore.state.folders=s,this.nylasMailboxStore.state.state="ready",s}async selectFolder(t){this.nylasMailboxStore.state.threadsQueryParams={in:t.id,...this.nylasMailboxStore.state.threadsQueryParams||{}}}}class p extends Event{constructor(t,e){super(t,e),this.oldURL=e.oldURL,this.newURL=e.newURL}}class S{constructor(){this.routeChangeListeners=[],n.debug("HashRouter constructor")}destroy(){n.debug("HashRouter destroy"),window.removeEventListener("hashchange",this.onRouteChange.bind(this))}init(){if(n.debug("HashRouter init"),window.addEventListener("hashchange",this.onRouteChange.bind(this)),typeof HashChangeEvent<"u"){const t=new HashChangeEvent("hashchange",{oldURL:"",newURL:window.location.href});this.onRouteChange(t)}else{const t=new p("hashchange",{oldURL:"",newURL:window.location.href});this.onRouteChange(t)}}addRouteChangeListener(t,e){n.debug("HashRouter addRouteChangeListener"),this.routeChangeListeners.push([t,e])}navigate(t,e){if(n.debug("HashRouter navigate"),e)return window.history.pushState(null,"",`#${t}`);window.location.hash=t}setRoute(t){n.debug("HashRouter setRoute"),window.location.hash=t}matchRoute(t,e){const s=t.split("/"),a=e.split("/");if(n.debug(`HashRouter matchRoute route=${t} path=${e}`,{routeParts:s,pathParts:a}),s[1]===""&&a[0]==="")return!0;if(s.length!==a.length)return!1;for(let r=0;r<s.length;r++){const o=s[r],h=a[r];if(!o.startsWith(":")&&o!==h)return!1}return!0}getRouteParams(t){n.debug("HashRouter getRouteParams");const e={},s=t.split("/"),a=window.location.hash.split("/");return s.forEach((r,o)=>{if(r.startsWith(":")){const h=r.substring(1);e[h]=a[o]}}),e}getRouteWithParams(t,e){n.debug("HashRouter getRouteWithParams");let s=t;return Object.keys(e).forEach(a=>{s=s.replace(`:${a}`,e[a])}),s}getRoute(){return n.debug("HashRouter getRoute"),window.location.hash}onRouteChange(t){this.routeChangeListeners.forEach(async([e,s])=>{const a=t.newURL.indexOf("#")===-1?"":t.newURL.substring(t.newURL.indexOf("#")+1);if(n.debug(`HashRouter onRouteChange route=${e} path=${a}`,{event:t}),!this.matchRoute(e,a)){n.debug(`HashRouter onRouteChange route=${e} path=${a} does not match`);return}const r=this.getRouteParams(e);await s(e,a,r)})}getBasePath(){return n.debug("HashRouter getBasePath"),""}}function A(l={}){const t={isAuthenticated:!1,tokenInfo:null,state:"ready",...l},e=n.createStore(t);return e.reset=()=>{for(const s in t){const a=t[s];e.set(s,a)}},e}function x(l={}){const t={state:"ready",messages:[],threads:[],folders:[],selectedThread:null,nextThreadPageToken:null,previousThreadPageTokens:[],searchQuery:"",hasNextThreadPage:!1,hasPreviousThreadPage:!1,selectedFolder:"inbox",threadsQueryParams:{in:"inbox"},messgeQueryParams:{fields:"include_headers"},...l},e=n.createStore({...t});return e.onChange("nextThreadPageToken",s=>{e.set("hasNextThreadPage",s!==null)}),e.onChange("previousThreadPageTokens",s=>{e.set("hasPreviousThreadPage",s.length>0)}),e.onChange("threadsQueryParams",s=>{e.set("selectedFolder",s.in||"inbox"),e.set("searchQuery",s.search_query_native||"")}),e.reset=()=>{for(const s in t){const a=t[s];e.set(s,a)}},e}exports.CreateNylasAuthStore=A;exports.CreateNylasMailboxStore=x;exports.HashRouter=S;exports.NylasAuthConnector=g;exports.NylasFoldersConnector=m;exports.NylasMessagesConnector=f;exports.NylasThreadsConnector=w;