@nylas/react 0.0.0-canary-20240925163706

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 (135) hide show
  1. package/LICENSE.md +22 -0
  2. package/README.md +111 -0
  3. package/dist/add-circle-icon_2.entry-19a0fe6b.js +25 -0
  4. package/dist/add-circle-icon_2.entry-6f0ef50b.cjs +1 -0
  5. package/dist/archive-icon.entry-7caa062b.js +15 -0
  6. package/dist/archive-icon.entry-d9a39415.cjs +1 -0
  7. package/dist/arrow-icon.entry-29ce2105.cjs +1 -0
  8. package/dist/arrow-icon.entry-ab601786.js +15 -0
  9. package/dist/bold-icon.entry-6ff126e7.cjs +1 -0
  10. package/dist/bold-icon.entry-e389dd6a.js +15 -0
  11. package/dist/button-component_2.entry-06af034d.js +26 -0
  12. package/dist/button-component_2.entry-837792bd.cjs +1 -0
  13. package/dist/calendar-agenda-fill-icon_51.entry-6c5c6fd4.js +5336 -0
  14. package/dist/calendar-agenda-fill-icon_51.entry-aaa927bb.cjs +7 -0
  15. package/dist/calendar-cancel-icon.entry-bf97fa74.js +15 -0
  16. package/dist/calendar-cancel-icon.entry-da33711a.cjs +1 -0
  17. package/dist/calendar-check-icon_2.entry-0fcc2bd1.cjs +1 -0
  18. package/dist/calendar-check-icon_2.entry-e9709591.js +25 -0
  19. package/dist/calendar-icon.entry-056c8caf.cjs +1 -0
  20. package/dist/calendar-icon.entry-70cca97a.js +15 -0
  21. package/dist/checkbox-component_2.entry-88af9f01.js +79 -0
  22. package/dist/checkbox-component_2.entry-cf19cd62.cjs +1 -0
  23. package/dist/chevron-icon_3.entry-1c22f6d3.js +143 -0
  24. package/dist/chevron-icon_3.entry-85d098ed.cjs +1 -0
  25. package/dist/clock-icon_4.entry-5edf8fcd.js +45 -0
  26. package/dist/clock-icon_4.entry-7b892d79.cjs +1 -0
  27. package/dist/constants-c31dccfe-54f255f4.cjs +15 -0
  28. package/dist/constants-c31dccfe-93b0694c.js +3883 -0
  29. package/dist/copy-icon.entry-b3b8e543.js +15 -0
  30. package/dist/copy-icon.entry-fcd2c006.cjs +1 -0
  31. package/dist/core-js-38e53e34.cjs +4 -0
  32. package/dist/core-js-a9d3b6e1.js +3297 -0
  33. package/dist/delete-icon.entry-9745ae8b.cjs +1 -0
  34. package/dist/delete-icon.entry-f982c1a7.js +15 -0
  35. package/dist/document-refresh-icon.entry-5a30a275.cjs +1 -0
  36. package/dist/document-refresh-icon.entry-defaaba2.js +15 -0
  37. package/dist/dom-68f08be9.cjs +15 -0
  38. package/dist/dom-86e17616.js +664 -0
  39. package/dist/elements/index.d.ts +128 -0
  40. package/dist/elements/react-component-lib/createComponent.d.ts +10 -0
  41. package/dist/elements/react-component-lib/createOverlayComponent.d.ts +21 -0
  42. package/dist/elements/react-component-lib/index.d.ts +2 -0
  43. package/dist/elements/react-component-lib/interfaces.d.ts +29 -0
  44. package/dist/elements/react-component-lib/utils/attachProps.d.ts +9 -0
  45. package/dist/elements/react-component-lib/utils/case.d.ts +2 -0
  46. package/dist/elements/react-component-lib/utils/dev.d.ts +2 -0
  47. package/dist/elements/react-component-lib/utils/index.d.ts +10 -0
  48. package/dist/feedbackSync-ab657d65-b98458dc.cjs +448 -0
  49. package/dist/feedbackSync-ab657d65-d6521095.js +6035 -0
  50. package/dist/folder-icon.entry-08cf370b.js +15 -0
  51. package/dist/folder-icon.entry-425f61ef.cjs +1 -0
  52. package/dist/forward-icon.entry-4acbada4.js +15 -0
  53. package/dist/forward-icon.entry-7062edbf.cjs +1 -0
  54. package/dist/globe-icon.entry-51e847a3.js +15 -0
  55. package/dist/globe-icon.entry-b779a059.cjs +1 -0
  56. package/dist/google-logo-icon_4.entry-96a8caee.cjs +1 -0
  57. package/dist/google-logo-icon_4.entry-c44f16cc.js +715 -0
  58. package/dist/inbox-icon.entry-04d81697.cjs +1 -0
  59. package/dist/inbox-icon.entry-6e3a9428.js +15 -0
  60. package/dist/index-87381561.cjs +81 -0
  61. package/dist/index-995dd3b3.js +12865 -0
  62. package/dist/index.d.ts +6 -0
  63. package/dist/index.es-b475d61f-f250d992.cjs +7 -0
  64. package/dist/index.es-b475d61f-f52875ad.js +3129 -0
  65. package/dist/info-icon_2.entry-c3f4b245.js +34 -0
  66. package/dist/info-icon_2.entry-d733f421.cjs +1 -0
  67. package/dist/input-color-picker.entry-02e48131.js +48 -0
  68. package/dist/input-color-picker.entry-516445b9.cjs +1 -0
  69. package/dist/input-component.entry-5bb8197a.cjs +1 -0
  70. package/dist/input-component.entry-dbff4e12.js +70 -0
  71. package/dist/input-dropdown.entry-7b40f8a7.cjs +1 -0
  72. package/dist/input-dropdown.entry-cc4182c4.js +134 -0
  73. package/dist/italic-icon.entry-494a04f1.js +15 -0
  74. package/dist/italic-icon.entry-bd268b46.cjs +1 -0
  75. package/dist/multi-select-dropdown.entry-55f7dd99.cjs +1 -0
  76. package/dist/multi-select-dropdown.entry-b9ac9a80.js +95 -0
  77. package/dist/nylas-booked-event-card_12.entry-a1048d4e.cjs +1 -0
  78. package/dist/nylas-booked-event-card_12.entry-ac8f1a11.js +1139 -0
  79. package/dist/nylas-form-card.entry-9957f25c.cjs +1 -0
  80. package/dist/nylas-form-card.entry-9ec44108.js +57 -0
  81. package/dist/nylas-if-state.entry-934980c1.js +94 -0
  82. package/dist/nylas-if-state.entry-f7087bb0.cjs +1 -0
  83. package/dist/nylas-login.entry-074778e6.cjs +1 -0
  84. package/dist/nylas-login.entry-17a6788a.js +73 -0
  85. package/dist/nylas-provider.entry-0edfffb0.cjs +1 -0
  86. package/dist/nylas-provider.entry-58e44ef6.js +264 -0
  87. package/dist/nylas-reminder-emails.entry-0129ea1f.cjs +4 -0
  88. package/dist/nylas-reminder-emails.entry-dec904fb.js +168 -0
  89. package/dist/nylas-reminder-time_2.entry-48b85638.js +108 -0
  90. package/dist/nylas-reminder-time_2.entry-6d8982d9.cjs +1 -0
  91. package/dist/nylas-scheduler-editor.entry-a913f2b3.js +1447 -0
  92. package/dist/nylas-scheduler-editor.entry-b293366d.cjs +2 -0
  93. package/dist/nylas-scheduling.entry-29b473ef.js +400 -0
  94. package/dist/nylas-scheduling.entry-5d751778.cjs +1 -0
  95. package/dist/nylas-time-window-picker.entry-aa613b4d.cjs +1 -0
  96. package/dist/nylas-time-window-picker.entry-d2e2210e.js +316 -0
  97. package/dist/person-icon.entry-11852b43.cjs +1 -0
  98. package/dist/person-icon.entry-767695db.js +15 -0
  99. package/dist/play-icon.entry-125d062f.cjs +1 -0
  100. package/dist/play-icon.entry-9e385af9.js +15 -0
  101. package/dist/react.cjs +1 -0
  102. package/dist/react.js +136 -0
  103. package/dist/refresh-icon.entry-13e06ddd.cjs +1 -0
  104. package/dist/refresh-icon.entry-339c1223.js +15 -0
  105. package/dist/register-component-679c1308-0b6682e1.cjs +1 -0
  106. package/dist/register-component-679c1308-3b561946.js +109 -0
  107. package/dist/reply-all-icon.entry-e56e8608.cjs +1 -0
  108. package/dist/reply-all-icon.entry-f82e7b24.js +15 -0
  109. package/dist/reply-icon.entry-319e75df.js +15 -0
  110. package/dist/reply-icon.entry-ebb08667.cjs +1 -0
  111. package/dist/scheduler-config-store-2a3b403d-aed2458a.cjs +1 -0
  112. package/dist/scheduler-config-store-2a3b403d-f5b7b06f.js +27 -0
  113. package/dist/scheduler-store-908886c8-75b1f2d8.js +474 -0
  114. package/dist/scheduler-store-908886c8-9c388312.cjs +1 -0
  115. package/dist/sent-icon.entry-2f7a8e18.js +15 -0
  116. package/dist/sent-icon.entry-393a90a3.cjs +1 -0
  117. package/dist/spam-icon.entry-d7853085.cjs +1 -0
  118. package/dist/spam-icon.entry-de7c7233.js +15 -0
  119. package/dist/star-icon.entry-c8fa29e1.cjs +1 -0
  120. package/dist/star-icon.entry-cfb5c8e5.js +15 -0
  121. package/dist/stop-icon.entry-c6e9fd7f.js +15 -0
  122. package/dist/stop-icon.entry-e5415d24.cjs +1 -0
  123. package/dist/textarea-component.entry-6f80f914.js +37 -0
  124. package/dist/textarea-component.entry-d46ad4ac.cjs +1 -0
  125. package/dist/time-period-selector.entry-2eaf3ddb.cjs +1 -0
  126. package/dist/time-period-selector.entry-f8be5854.js +80 -0
  127. package/dist/translate-icon.entry-dc151da3.cjs +1 -0
  128. package/dist/translate-icon.entry-ffb6d5bf.js +15 -0
  129. package/dist/trash-fill-icon.entry-063b2e26.cjs +1 -0
  130. package/dist/trash-fill-icon.entry-a9966957.js +15 -0
  131. package/dist/underline-icon.entry-b992a0fc.js +15 -0
  132. package/dist/underline-icon.entry-c77e97df.cjs +1 -0
  133. package/dist/warning-icon.entry-0cae2440.cjs +1 -0
  134. package/dist/warning-icon.entry-28c1b03b.js +15 -0
  135. package/package.json +50 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-87381561.cjs"),b=require("./register-component-679c1308-0b6682e1.cjs");require("react");require("react-dom");const i=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-form-card{width:100%;border-radius:8px;border:1px solid var(--nylas-base-200)}.nylas-form-card__header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}',y=i;var m=function(a,n,t,r){var c=arguments.length,s=c<3?n:r===null?r=Object.getOwnPropertyDescriptor(n,t):r,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(a,n,t,r);else for(var o=a.length-1;o>=0;o--)(l=a[o])&&(s=(c<3?l(s):c>3?l(n,t,s):l(n,t))||s);return c>3&&s&&Object.defineProperty(n,t,s),s},d=function(a,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(a,n)};const f=class{constructor(a){e.registerInstance(this,a),a.$hostElement$["s-ei"]?this.internals=a.$hostElement$["s-ei"]:(this.internals=a.$hostElement$.attachInternals(),a.$hostElement$["s-ei"]=this.internals)}connectedCallback(){e.debug("nylas-event-card","connectedCallback")}componentWillLoad(){e.debug("nylas-event-card","componentWillLoad")}componentDidLoad(){e.debug("nylas-event-card","componentDidLoad")}disconnectedCallback(){e.debug("nylas-event-card","disconnectedCallback");const a=["header-title","header-subtitle","content"];e.checkForMissingSlots(a,this.host)}render(){return e.h(e.Host,{key:"9c490244ceaa1c08fae75cad5f796e2b45ea2538"},e.h("div",{key:"696b86c8697f4062afcd8a5862c97bf3bf5492e0",class:"nylas-form-card",part:"nfc"},e.h("div",{key:"af1f2eb827a74586fe44b476f1d59f9f8785e980",class:"nylas-form-card__header",part:"nfc__header"},e.h("slot",{key:"968b720f04d9e64df5708fd1c4d94a9998aa72fc",name:"header-title"}),e.h("slot",{key:"4df6bddacc17d303f3be42584be48e50bf7fb0f0",name:"header-subtitle"})),e.h("div",{key:"890fbc0f1628e40a2b92201bb3e4ebc116ed2f9e",class:"nylas-form-card__content"},e.h("slot",{key:"861b981bb7a420151fc375cc68dcdcd58ffbb8c2",name:"content"}))))}static get formAssociated(){return!0}get host(){return e.getElement(this)}};m([b.RegisterComponent({name:"nylas-form-card",eventToProps:{},fireRegisterEvent:!0}),d("design:type",Function),d("design:paramtypes",[]),d("design:returntype",void 0)],f.prototype,"render",null);f.style=y;exports.nylas_form_card=f;
@@ -0,0 +1,57 @@
1
+ import { r as i, d as o, I as y, h as n, H as m, g as p } from "./index-995dd3b3.js";
2
+ import { R as u } from "./register-component-679c1308-3b561946.js";
3
+ import "react";
4
+ import "react-dom";
5
+ const h = ':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.nylas-form-card{width:100%;border-radius:8px;border:1px solid var(--nylas-base-200)}.nylas-form-card__header{padding:1rem;border-bottom:1px solid var(--nylas-base-200)}', v = h;
6
+ var _ = function(e, a, t, r) {
7
+ var l = arguments.length, s = l < 3 ? a : r === null ? r = Object.getOwnPropertyDescriptor(a, t) : r, c;
8
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
9
+ s = Reflect.decorate(e, a, t, r);
10
+ else
11
+ for (var d = e.length - 1; d >= 0; d--)
12
+ (c = e[d]) && (s = (l < 3 ? c(s) : l > 3 ? c(a, t, s) : c(a, t)) || s);
13
+ return l > 3 && s && Object.defineProperty(a, t, s), s;
14
+ }, f = function(e, a) {
15
+ if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
16
+ return Reflect.metadata(e, a);
17
+ };
18
+ const b = class {
19
+ constructor(e) {
20
+ i(this, e), e.$hostElement$["s-ei"] ? this.internals = e.$hostElement$["s-ei"] : (this.internals = e.$hostElement$.attachInternals(), e.$hostElement$["s-ei"] = this.internals);
21
+ }
22
+ connectedCallback() {
23
+ o("nylas-event-card", "connectedCallback");
24
+ }
25
+ componentWillLoad() {
26
+ o("nylas-event-card", "componentWillLoad");
27
+ }
28
+ componentDidLoad() {
29
+ o("nylas-event-card", "componentDidLoad");
30
+ }
31
+ disconnectedCallback() {
32
+ o("nylas-event-card", "disconnectedCallback"), y(["header-title", "header-subtitle", "content"], this.host);
33
+ }
34
+ render() {
35
+ return n(m, { key: "9c490244ceaa1c08fae75cad5f796e2b45ea2538" }, n("div", { key: "696b86c8697f4062afcd8a5862c97bf3bf5492e0", class: "nylas-form-card", part: "nfc" }, n("div", { key: "af1f2eb827a74586fe44b476f1d59f9f8785e980", class: "nylas-form-card__header", part: "nfc__header" }, n("slot", { key: "968b720f04d9e64df5708fd1c4d94a9998aa72fc", name: "header-title" }), n("slot", { key: "4df6bddacc17d303f3be42584be48e50bf7fb0f0", name: "header-subtitle" })), n("div", { key: "890fbc0f1628e40a2b92201bb3e4ebc116ed2f9e", class: "nylas-form-card__content" }, n("slot", { key: "861b981bb7a420151fc375cc68dcdcd58ffbb8c2", name: "content" }))));
36
+ }
37
+ static get formAssociated() {
38
+ return !0;
39
+ }
40
+ get host() {
41
+ return p(this);
42
+ }
43
+ };
44
+ _([
45
+ u({
46
+ name: "nylas-form-card",
47
+ eventToProps: {},
48
+ fireRegisterEvent: !0
49
+ }),
50
+ f("design:type", Function),
51
+ f("design:paramtypes", []),
52
+ f("design:returntype", void 0)
53
+ ], b.prototype, "render", null);
54
+ b.style = v;
55
+ export {
56
+ b as nylas_form_card
57
+ };
@@ -0,0 +1,94 @@
1
+ import { r as h, d as o, h as l, H as u } from "./index-995dd3b3.js";
2
+ import { R as m } from "./register-component-679c1308-3b561946.js";
3
+ import "react";
4
+ import "react-dom";
5
+ const p = ":host{display:block}div{height:inherit}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fade-in{animation:fadeIn 1.5s}.fade-out{animation:fadeOut 1.5s}@keyframes slideIn{0%{transform:translateY(100%)}100%{transform:translateY(0)}}@keyframes slideOut{0%{transform:translateY(0)}100%{transform:translateY(100%)}}.slide-in{animation:slideIn 1.5s}.slide-out{animation:slideOut 1.5s}@keyframes swipeIn{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes swipeOut{0%{transform:translateX(0)}100%{transform:translateX(100%)}}.swipe-in{animation:swipeIn 1.5s}.swipe-out{animation:swipeOut 1.5s}", y = p;
6
+ var S = function(e, s, n, a) {
7
+ var t = arguments.length, i = t < 3 ? s : a === null ? a = Object.getOwnPropertyDescriptor(s, n) : a, r;
8
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
9
+ i = Reflect.decorate(e, s, n, a);
10
+ else
11
+ for (var f = e.length - 1; f >= 0; f--)
12
+ (r = e[f]) && (i = (t < 3 ? r(i) : t > 3 ? r(s, n, i) : r(s, n)) || i);
13
+ return t > 3 && i && Object.defineProperty(s, n, i), i;
14
+ }, d = function(e, s) {
15
+ if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
16
+ return Reflect.metadata(e, s);
17
+ };
18
+ const c = class {
19
+ constructor(e) {
20
+ h(this, e), this.state = void 0, this.isStateSet = void 0, this.isBoolean = void 0, this.getStore = void 0, this.transition = "none", this.show = !1, this.classes = {}, this.initTransition = this.initTransition.bind(this);
21
+ }
22
+ connectedCallback() {
23
+ }
24
+ disconnectedCallback() {
25
+ }
26
+ async componentWillLoad() {
27
+ o("[nylas-if-state] Component will load"), this.watchStore(!0);
28
+ }
29
+ async componentDidLoad() {
30
+ o("[nylas-if-state] Component did load");
31
+ }
32
+ shouldRender() {
33
+ const [e, s] = this.state ? this.state.split(".") : ["", ""], n = this.getStore;
34
+ if (typeof n > "u")
35
+ return o(`[nylas-if-state] Store name: ${e} | State name: ${s}`, { getStore: n }), !1;
36
+ const a = n(e);
37
+ if (typeof a > "u")
38
+ return o(`[nylas-if-state] Store name: ${e} | State name: ${s}`, { store: a }), !1;
39
+ const t = a.state[s];
40
+ return typeof this.isStateSet == "boolean" ? this.isStateSet === !1 && (typeof t > "u" || t === null || t.length === 0) || this.isStateSet === !0 && typeof t < "u" && t !== null : typeof this.isBoolean == "boolean" ? this.isBoolean === !0 && typeof t < "u" && t === !0 || this.isBoolean === !1 && typeof t < "u" && t === !1 : !1;
41
+ }
42
+ onGetStoreChange() {
43
+ this.watchStore(!0);
44
+ }
45
+ watchStore(e = !1) {
46
+ const [s, n] = this.state ? this.state.split(".") : ["", ""], a = this.getStore;
47
+ if (typeof a > "u")
48
+ return o(`[nylas-if-state] Store name: ${s} | State name: ${n}`, { getStore: a }), null;
49
+ const t = a(s);
50
+ if (typeof t > "u")
51
+ return o(`[nylas-if-state] Store name: ${s} | State name: ${n}`, { store: t }), null;
52
+ e === !0 && this.initTransition(), t.onChange(n, this.initTransition);
53
+ }
54
+ initTransition() {
55
+ const e = this.shouldRender();
56
+ switch (this.transition) {
57
+ case "fade":
58
+ case "slide":
59
+ case "swipe":
60
+ this.classes = {
61
+ [`${this.transition}-in`]: e,
62
+ [`${this.transition}-out`]: !e
63
+ }, setTimeout(() => {
64
+ this.show = e;
65
+ }, 150);
66
+ break;
67
+ default:
68
+ this.show = this.shouldRender();
69
+ break;
70
+ }
71
+ }
72
+ render() {
73
+ return l(u, { key: "8c7133e9d01ecb6d14db3a6f30321ecbb7047dcb" }, l("div", { key: "81ba387d18d24761a8f89da678161aaf5755c3f2", class: this.classes }, this.show && l("slot", null)));
74
+ }
75
+ static get watchers() {
76
+ return {
77
+ getStore: ["onGetStoreChange"]
78
+ };
79
+ }
80
+ };
81
+ S([
82
+ m({
83
+ name: "nylas-if-state",
84
+ getStoresToProp: "getStore",
85
+ fireRegisterEvent: !0
86
+ }),
87
+ d("design:type", Function),
88
+ d("design:paramtypes", []),
89
+ d("design:returntype", void 0)
90
+ ], c.prototype, "render", null);
91
+ c.style = y;
92
+ export {
93
+ c as nylas_if_state
94
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-87381561.cjs"),u=require("./register-component-679c1308-0b6682e1.cjs");require("react");require("react-dom");const c=":host{display:block}div{height:inherit}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fade-in{animation:fadeIn 1.5s}.fade-out{animation:fadeOut 1.5s}@keyframes slideIn{0%{transform:translateY(100%)}100%{transform:translateY(0)}}@keyframes slideOut{0%{transform:translateY(0)}100%{transform:translateY(100%)}}.slide-in{animation:slideIn 1.5s}.slide-out{animation:slideOut 1.5s}@keyframes swipeIn{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes swipeOut{0%{transform:translateX(0)}100%{transform:translateX(100%)}}.swipe-in{animation:swipeIn 1.5s}.swipe-out{animation:swipeOut 1.5s}",h=c;var m=function(e,n,s,a){var t=arguments.length,o=t<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,s):a,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,n,s,a);else for(var f=e.length-1;f>=0;f--)(r=e[f])&&(o=(t<3?r(o):t>3?r(n,s,o):r(n,s))||o);return t>3&&o&&Object.defineProperty(n,s,o),o},l=function(e,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,n)};const d=class{constructor(e){i.registerInstance(this,e),this.state=void 0,this.isStateSet=void 0,this.isBoolean=void 0,this.getStore=void 0,this.transition="none",this.show=!1,this.classes={},this.initTransition=this.initTransition.bind(this)}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){i.debug("[nylas-if-state] Component will load"),this.watchStore(!0)}async componentDidLoad(){i.debug("[nylas-if-state] Component did load")}shouldRender(){const[e,n]=this.state?this.state.split("."):["",""],s=this.getStore;if(typeof s>"u")return i.debug(`[nylas-if-state] Store name: ${e} | State name: ${n}`,{getStore:s}),!1;const a=s(e);if(typeof a>"u")return i.debug(`[nylas-if-state] Store name: ${e} | State name: ${n}`,{store:a}),!1;const t=a.state[n];return typeof this.isStateSet=="boolean"?this.isStateSet===!1&&(typeof t>"u"||t===null||t.length===0)||this.isStateSet===!0&&typeof t<"u"&&t!==null:typeof this.isBoolean=="boolean"?this.isBoolean===!0&&typeof t<"u"&&t===!0||this.isBoolean===!1&&typeof t<"u"&&t===!1:!1}onGetStoreChange(){this.watchStore(!0)}watchStore(e=!1){const[n,s]=this.state?this.state.split("."):["",""],a=this.getStore;if(typeof a>"u")return i.debug(`[nylas-if-state] Store name: ${n} | State name: ${s}`,{getStore:a}),null;const t=a(n);if(typeof t>"u")return i.debug(`[nylas-if-state] Store name: ${n} | State name: ${s}`,{store:t}),null;e===!0&&this.initTransition(),t.onChange(s,this.initTransition)}initTransition(){const e=this.shouldRender();switch(this.transition){case"fade":case"slide":case"swipe":this.classes={[`${this.transition}-in`]:e,[`${this.transition}-out`]:!e},setTimeout(()=>{this.show=e},150);break;default:this.show=this.shouldRender();break}}render(){return i.h(i.Host,{key:"8c7133e9d01ecb6d14db3a6f30321ecbb7047dcb"},i.h("div",{key:"81ba387d18d24761a8f89da678161aaf5755c3f2",class:this.classes},this.show&&i.h("slot",null)))}static get watchers(){return{getStore:["onGetStoreChange"]}}};m([u.RegisterComponent({name:"nylas-if-state",getStoresToProp:"getStore",fireRegisterEvent:!0}),l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],d.prototype,"render",null);d.style=h;exports.nylas_if_state=d;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-87381561.cjs"),h=require("./register-component-679c1308-0b6682e1.cjs");require("react");require("react-dom");const u=":host{font-family:'Arial', sans-serif;background:var(--nylas-color-primary-50);color:var(--nylas-color-primary-800);margin:0;display:contents}input{box-sizing:border-box}.login-container{display:flex;justify-content:center;align-items:center;height:100%}.login-box{width:300px;padding:20px;box-shadow:0 4px 8px rgba(0, 0, 0, 0.1);border-radius:var(--nylas-border-radius-2x);background:var(--nylas-color-primary-50);text-align:center}.login-box h1{margin-top:0;margin-bottom:0.5em}.login-box p{margin-bottom:1em}.login-methods button{display:block;width:100%;padding:10px 10px 10px 50px;margin-bottom:10px;border:none;border-radius:var(--nylas-border-radius);border:1px solid var(--nylas-color-primary-300);background:var(--nylas-color-primary-100);color:var(--nylas-color-primary-600);cursor:pointer;transition:background 0.3s ease;position:relative;text-align:left}.login-methods button svg{position:absolute;left:16px;top:50%;transform:translateY(-50%)}.login-methods button:hover{background:var(--nylas-color-primary-200);}.login-form label{display:block;margin-bottom:5px;text-align:left}.login-form input{width:100%;padding:10px;margin-bottom:10px;border:1px solid var(--nylas-color-primary-200);border-radius:var(--nylas-border-radius);background:var(--nylas-color-primary-100);color:var(--nylas-color-primary-800);}.login-form button{width:100%;padding:10px;border:none;border-radius:var(--nylas-border-radius);background:var(--nylas-color-primary-500);color:var(--nylas-color-primary-50);cursor:pointer;transition:background 0.3s ease}.login-form button:hover{background:var(--nylas-color-primary-600);}",p=u;var g=function(n,o,i,e){var a=arguments.length,r=a<3?o:e===null?e=Object.getOwnPropertyDescriptor(o,i):e,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,o,i,e);else for(var l=n.length-1;l>=0;l--)(s=n[l])&&(r=(a<3?s(r):a>3?s(o,i,r):s(o,i))||r);return a>3&&r&&Object.defineProperty(o,i,r),r},c=function(n,o){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,o)};const d=class{constructor(n){t.registerInstance(this,n),this.buttonClick=t.createEvent(this,"buttonClick",7),this._handleLoginRedirect=async()=>{var e;const o=await((e=this.nylasConnector)==null?void 0:e.auth.getHostedAuthRedirectURL(this.scopes));this.buttonClick.emit({url:o}).defaultPrevented||o&&(window.location.href=o)},this._onGoogleButtonClick=async o=>{var e;o.preventDefault();const i=await((e=this.nylasConnector)==null?void 0:e.auth.getHostedAuthRedirectURL(this.scopes,void 0,"google"));i&&(window.location.href=i)},this._onMicrosoftButtonClick=async o=>{var e;o.preventDefault();const i=await((e=this.nylasConnector)==null?void 0:e.auth.getHostedAuthRedirectURL(this.scopes,void 0,"microsoft"));i&&(window.location.href=i)},this._onFormSubmit=async o=>{var e;o.preventDefault();const i=await((e=this.nylasConnector)==null?void 0:e.auth.getHostedAuthRedirectURL(this.scopes,this.email));i&&(window.location.href=i)},this.isAuthenticated=!1,this.nylasConnector=void 0,this.scopes=void 0,this.loginMethod="redirect",this.companyName="Nylas",this.logoUrl="https://www.nylas.com/wp-content/uploads/main-logo.svg",this.logoWidth="min-content",this.providers="google,microsoft",this.buttonText="Login",this.email=""}connectedCallback(){}disconnectedCallback(){}componentWillLoad(){}async componentDidLoad(){var o;await((o=this.nylasConnector)==null?void 0:o.auth.manageHostedAuthCodeExchange(window.location.href))&&window.history.replaceState({},document.title,window.location.pathname)}render(){var o;const n=((o=this.providers)==null?void 0:o.split(","))||[];return t.h(t.Host,{key:"c19348287c1ee1aac3efb379ff4c6e1f7b79601b"},this.loginMethod==="redirect"&&t.h("div",{class:"redirect-container"},!this.isAuthenticated&&t.h("button",{part:"button",onClick:this._handleLoginRedirect},this.buttonText)),this.loginMethod==="emebded"&&t.h("main",{class:"login-container"},t.h("section",{class:"login-box"},t.h("header",null,t.h("img",{src:this.logoUrl,alt:`${this.companyName} logo`,width:"100%",style:{minWidth:this.logoWidth}}),t.h("h1",null,"Welcome")),t.h("p",null,"Log in to your account to continue to ",this.companyName),t.h("div",{class:"login-methods"},n.includes("google")&&t.h("button",{class:"login-google",onClick:this._onGoogleButtonClick},t.h("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"18",height:"18",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 256 262"},t.h("path",{fill:"#4285F4",d:"M255.6 131.6c0-8.2-.8-16.2-2.2-23.9H130v45.3h70.3c-3 16.1-12.4 29.7-26.3 38.9v32.4h42.6c25-23 39.4-56.7 39.4-97.7z"}),t.h("path",{fill:"#34A853",d:"M130 262c35.3 0 64.9-11.7 86.5-31.7l-42.6-32.4c-11.7 7.9-26.7 12.6-43.9 12.6-33.7 0-62.3-22.7-72.5-53.4H14.5v33.3A130.3 130.3 0 00130 262z"}),t.h("path",{fill:"#FBBC05",d:"M57.5 158.1a72.7 72.7 0 010-54.2V70.6H14.5a130.4 130.4 0 000 120.8l43-33.3z"}),t.h("path",{fill:"#EA4335",d:"M130 51.6c19 0 36 6.5 49.4 19.2l37-36C195 13.1 165.2 0 130 0A130.3 130.3 0 0014.5 70.6l43 33.3c10.2-30.7 38.8-53.3 72.5-53.3z"})),"Continue with Google"),n.includes("microsoft")&&t.h("button",{class:"login-microsoft",onClick:this._onMicrosoftButtonClick},t.h("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"18",height:"18",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 448 512"},t.h("path",{fill:"#F3F3F3",d:"M0 32v192h192V32H0zm256 0v192h192V32H256zm192 256v192h-192V288h192zM0 224v192h192V224H0z"})),"Continue with Microsoft")),t.h("form",{class:"login-form",method:"POST",onSubmit:this._onFormSubmit},t.h("label",{htmlFor:"email"},"Email"),t.h("input",{type:"email",id:"email",name:"email",required:!0,value:this.email}),t.h("button",{type:"submit"},"Next")))))}};g([h.RegisterComponent({name:"nylas-login",connectorToProp:"nylasConnector",stateToProps:new Map([["auth.isAuthenticated","isAuthenticated"]]),fireRegisterEvent:!0}),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],d.prototype,"render",null);d.style=p;exports.nylas_login=d;
@@ -0,0 +1,73 @@
1
+ import { r as h, c as p, h as o, H as u } from "./index-995dd3b3.js";
2
+ import { R as m } from "./register-component-679c1308-3b561946.js";
3
+ import "react";
4
+ import "react-dom";
5
+ const g = ":host{font-family:'Arial', sans-serif;background:var(--nylas-color-primary-50);color:var(--nylas-color-primary-800);margin:0;display:contents}input{box-sizing:border-box}.login-container{display:flex;justify-content:center;align-items:center;height:100%}.login-box{width:300px;padding:20px;box-shadow:0 4px 8px rgba(0, 0, 0, 0.1);border-radius:var(--nylas-border-radius-2x);background:var(--nylas-color-primary-50);text-align:center}.login-box h1{margin-top:0;margin-bottom:0.5em}.login-box p{margin-bottom:1em}.login-methods button{display:block;width:100%;padding:10px 10px 10px 50px;margin-bottom:10px;border:none;border-radius:var(--nylas-border-radius);border:1px solid var(--nylas-color-primary-300);background:var(--nylas-color-primary-100);color:var(--nylas-color-primary-600);cursor:pointer;transition:background 0.3s ease;position:relative;text-align:left}.login-methods button svg{position:absolute;left:16px;top:50%;transform:translateY(-50%)}.login-methods button:hover{background:var(--nylas-color-primary-200);}.login-form label{display:block;margin-bottom:5px;text-align:left}.login-form input{width:100%;padding:10px;margin-bottom:10px;border:1px solid var(--nylas-color-primary-200);border-radius:var(--nylas-border-radius);background:var(--nylas-color-primary-100);color:var(--nylas-color-primary-800);}.login-form button{width:100%;padding:10px;border:none;border-radius:var(--nylas-border-radius);background:var(--nylas-color-primary-500);color:var(--nylas-color-primary-50);cursor:pointer;transition:background 0.3s ease}.login-form button:hover{background:var(--nylas-color-primary-600);}", f = g;
6
+ var y = function(n, t, i, e) {
7
+ var a = arguments.length, r = a < 3 ? t : e === null ? e = Object.getOwnPropertyDescriptor(t, i) : e, s;
8
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
9
+ r = Reflect.decorate(n, t, i, e);
10
+ else
11
+ for (var l = n.length - 1; l >= 0; l--)
12
+ (s = n[l]) && (r = (a < 3 ? s(r) : a > 3 ? s(t, i, r) : s(t, i)) || r);
13
+ return a > 3 && r && Object.defineProperty(t, i, r), r;
14
+ }, c = function(n, t) {
15
+ if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
16
+ return Reflect.metadata(n, t);
17
+ };
18
+ const d = class {
19
+ constructor(n) {
20
+ h(this, n), this.buttonClick = p(this, "buttonClick", 7), this._handleLoginRedirect = async () => {
21
+ var e;
22
+ const t = await ((e = this.nylasConnector) == null ? void 0 : e.auth.getHostedAuthRedirectURL(this.scopes));
23
+ this.buttonClick.emit({ url: t }).defaultPrevented || t && (window.location.href = t);
24
+ }, this._onGoogleButtonClick = async (t) => {
25
+ var e;
26
+ t.preventDefault();
27
+ const i = await ((e = this.nylasConnector) == null ? void 0 : e.auth.getHostedAuthRedirectURL(this.scopes, void 0, "google"));
28
+ i && (window.location.href = i);
29
+ }, this._onMicrosoftButtonClick = async (t) => {
30
+ var e;
31
+ t.preventDefault();
32
+ const i = await ((e = this.nylasConnector) == null ? void 0 : e.auth.getHostedAuthRedirectURL(this.scopes, void 0, "microsoft"));
33
+ i && (window.location.href = i);
34
+ }, this._onFormSubmit = async (t) => {
35
+ var e;
36
+ t.preventDefault();
37
+ const i = await ((e = this.nylasConnector) == null ? void 0 : e.auth.getHostedAuthRedirectURL(this.scopes, this.email));
38
+ i && (window.location.href = i);
39
+ }, this.isAuthenticated = !1, this.nylasConnector = void 0, this.scopes = void 0, this.loginMethod = "redirect", this.companyName = "Nylas", this.logoUrl = "https://www.nylas.com/wp-content/uploads/main-logo.svg", this.logoWidth = "min-content", this.providers = "google,microsoft", this.buttonText = "Login", this.email = "";
40
+ }
41
+ connectedCallback() {
42
+ }
43
+ disconnectedCallback() {
44
+ }
45
+ componentWillLoad() {
46
+ }
47
+ async componentDidLoad() {
48
+ var t;
49
+ await ((t = this.nylasConnector) == null ? void 0 : t.auth.manageHostedAuthCodeExchange(window.location.href)) && window.history.replaceState({}, document.title, window.location.pathname);
50
+ }
51
+ render() {
52
+ var t;
53
+ const n = ((t = this.providers) == null ? void 0 : t.split(",")) || [];
54
+ return o(u, { key: "c19348287c1ee1aac3efb379ff4c6e1f7b79601b" }, this.loginMethod === "redirect" && o("div", { class: "redirect-container" }, !this.isAuthenticated && o("button", { part: "button", onClick: this._handleLoginRedirect }, this.buttonText)), this.loginMethod === "emebded" && o("main", { class: "login-container" }, o("section", { class: "login-box" }, o("header", null, o("img", { src: this.logoUrl, alt: `${this.companyName} logo`, width: "100%", style: {
55
+ minWidth: this.logoWidth
56
+ } }), o("h1", null, "Welcome")), o("p", null, "Log in to your account to continue to ", this.companyName), o("div", { class: "login-methods" }, n.includes("google") && o("button", { class: "login-google", onClick: this._onGoogleButtonClick }, o("svg", { xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", role: "img", width: "18", height: "18", preserveAspectRatio: "xMidYMid meet", viewBox: "0 0 256 262" }, o("path", { fill: "#4285F4", d: "M255.6 131.6c0-8.2-.8-16.2-2.2-23.9H130v45.3h70.3c-3 16.1-12.4 29.7-26.3 38.9v32.4h42.6c25-23 39.4-56.7 39.4-97.7z" }), o("path", { fill: "#34A853", d: "M130 262c35.3 0 64.9-11.7 86.5-31.7l-42.6-32.4c-11.7 7.9-26.7 12.6-43.9 12.6-33.7 0-62.3-22.7-72.5-53.4H14.5v33.3A130.3 130.3 0 00130 262z" }), o("path", { fill: "#FBBC05", d: "M57.5 158.1a72.7 72.7 0 010-54.2V70.6H14.5a130.4 130.4 0 000 120.8l43-33.3z" }), o("path", { fill: "#EA4335", d: "M130 51.6c19 0 36 6.5 49.4 19.2l37-36C195 13.1 165.2 0 130 0A130.3 130.3 0 0014.5 70.6l43 33.3c10.2-30.7 38.8-53.3 72.5-53.3z" })), "Continue with Google"), n.includes("microsoft") && o("button", { class: "login-microsoft", onClick: this._onMicrosoftButtonClick }, o("svg", { xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", role: "img", width: "18", height: "18", preserveAspectRatio: "xMidYMid meet", viewBox: "0 0 448 512" }, o("path", { fill: "#F3F3F3", d: "M0 32v192h192V32H0zm256 0v192h192V32H256zm192 256v192h-192V288h192zM0 224v192h192V224H0z" })), "Continue with Microsoft")), o("form", { class: "login-form", method: "POST", onSubmit: this._onFormSubmit }, o("label", { htmlFor: "email" }, "Email"), o("input", { type: "email", id: "email", name: "email", required: !0, value: this.email }), o("button", { type: "submit" }, "Next")))));
57
+ }
58
+ };
59
+ y([
60
+ m({
61
+ name: "nylas-login",
62
+ connectorToProp: "nylasConnector",
63
+ stateToProps: /* @__PURE__ */ new Map([["auth.isAuthenticated", "isAuthenticated"]]),
64
+ fireRegisterEvent: !0
65
+ }),
66
+ c("design:type", Function),
67
+ c("design:paramtypes", []),
68
+ c("design:returntype", void 0)
69
+ ], d.prototype, "render", null);
70
+ d.style = f;
71
+ export {
72
+ d as nylas_login
73
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-87381561.cjs"),l=require("./index.es-b475d61f-f250d992.cjs"),d=require("./scheduler-store-908886c8-9c388312.cjs"),y=require("./scheduler-config-store-2a3b403d-aed2458a.cjs");require("react");require("react-dom");class f{constructor(e,t){this.nylasAuth=e,this.nylasAuthStore=t}async validateSession(){const e=await this.isAccessTokenValid();if(!e)this.logout();else{let t=await this.nylasAuth.getTokenInfo();if(t){const r=Math.floor(Date.now()/1e3);if(t.expires_in&&t.expires_in-r<3e5&&(o.debug("[NylasAuthConnectorMixin] Refreshing access token"),t=await this.nylasAuth.refreshAccessToken(),!t)){o.debug("[NylasAuthConnectorMixin] Token is expired and could not be refreshed. Logging out."),this.logout();return}this.nylasAuthStore.state.tokenInfo=t}}this.nylasAuthStore.state.isAuthenticated=e}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(e,t,n){return this.nylasAuth.getHostedAuthRedirectURL(e,t,n)}async manageHostedAuthCodeExchange(e){const n=new URL(e).searchParams.get("code");if(n){const r=await this.nylasAuth.exchangeAuthCodeForTokenInfo(n);if(r)return this.nylasAuthStore.state.tokenInfo=r,this.nylasAuthStore.state.isAuthenticated=!0,r}return null}}class C{constructor(e,t,n,r,i,a="https://api.us.nylas.com"){this.router=e,this.schedulerAPIURL=a,this.nylasAuth=t,this.nylasAuthStore=n,this.nylasSchedulerStore=r,this.nylasSchedulerConfigStore=i}init(){o.debug("NylasConnector init")}get authStore(){return this.nylasAuthStore}get schedulerStore(){return this.nylasSchedulerStore}get schedulerConfigStore(){return this.nylasSchedulerConfigStore}get auth(){return this._authConnector?this._authConnector:(this._authConnector=new f(this.nylasAuth,this.nylasAuthStore),this._authConnector)}get scheduler(){return this._schedulerAPIConnector?this._schedulerAPIConnector:(this._schedulerAPIConnector=new d.NylaSchedulerAPIConnector({schedulerAPIURL:this.schedulerAPIURL,schedulerStore:this.schedulerStore}),this._schedulerAPIConnector)}getAuth(){return this.nylasAuth}resetStores(){this.nylasAuthStore.reset()}async logout(){await this.nylasAuth.logout(),this.resetStores()}}class A extends Event{constructor(e,t){super(e,t),this.oldURL=t.oldURL,this.newURL=t.newURL}}class R{constructor(){this.routeChangeListeners=[],o.debug("HashRouter constructor")}destroy(){o.debug("HashRouter destroy"),window.removeEventListener("hashchange",this.onRouteChange.bind(this))}init(){if(o.debug("HashRouter init"),window.addEventListener("hashchange",this.onRouteChange.bind(this)),typeof HashChangeEvent<"u"){const e=new HashChangeEvent("hashchange",{oldURL:"",newURL:window.location.href});this.onRouteChange(e)}else{const e=new A("hashchange",{oldURL:"",newURL:window.location.href});this.onRouteChange(e)}}addRouteChangeListener(e,t){o.debug("HashRouter addRouteChangeListener"),this.routeChangeListeners.push([e,t])}navigate(e,t){if(o.debug("HashRouter navigate"),t)return window.history.pushState(null,"",`#${e}`);window.location.hash=e}setRoute(e){o.debug("HashRouter setRoute"),window.location.hash=e}matchRoute(e,t){const n=e.split("/"),r=t.split("/");if(o.debug(`HashRouter matchRoute route=${e} path=${t}`,{routeParts:n,pathParts:r}),n[1]===""&&r[0]==="")return!0;if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){const a=n[i],h=r[i];if(!a.startsWith(":")&&a!==h)return!1}return!0}getRouteParams(e){o.debug("HashRouter getRouteParams");const t={},n=e.split("/"),r=window.location.hash.split("/");return n.forEach((i,a)=>{if(i.startsWith(":")){const h=i.substring(1);t[h]=r[a]}}),t}getRouteWithParams(e,t){o.debug("HashRouter getRouteWithParams");let n=e;return Object.keys(t).forEach(r=>{n=n.replace(`:${r}`,t[r])}),n}getRoute(){return o.debug("HashRouter getRoute"),window.location.hash}onRouteChange(e){this.routeChangeListeners.forEach(async([t,n])=>{const r=e.newURL.indexOf("#")===-1?"":e.newURL.substring(e.newURL.indexOf("#")+1);if(o.debug(`HashRouter onRouteChange route=${t} path=${r}`,{event:e}),!this.matchRoute(t,r)){o.debug(`HashRouter onRouteChange route=${t} path=${r} does not match`);return}const i=this.getRouteParams(t);await n(t,r,i)})}getBasePath(){return o.debug("HashRouter getBasePath"),""}}function S(s={}){const e={isAuthenticated:!1,tokenInfo:null,state:"ready",...s},t=o.createStore(e);return t.reset=()=>{for(const n in e){const r=e[n];t.set(n,r)}},t}const b=":host{display:contents}",w=b,g=class{constructor(s){o.registerInstance(this,s),this.init=o.createEvent(this,"init",7),this.loggedIn=o.createEvent(this,"loggedIn",7),this.loggedOut=o.createEvent(this,"loggedOut",7),this.handleAuthChange=async e=>{e?this.loggedIn.emit(this.host):this.loggedOut.emit(this.host)},this.authConfig=void 0,this.eventOverrides={},this.automaticComponentRegistration=!0}connectedCallback(){o.debug("[nylas-provider] connectedCallback")}async componentWillLoad(){var i,a,h,u,c;o.debug("[nylas-provider] componentWillLoad"),this.stores={auth:S(),scheduler:d.CreateNylasSchedulerStore(),schedulerConfig:y.CreateNylasSchedulerConfigStore()},this.baseProvider=new l.NylasBaseProvider(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides);const s=new R;this.nylasAuth=l.es({apiUri:"https://api.us.nylas.com",elementsApiUri:"https://elements.us.nylas.com",storageType:"indexeddb",clientId:"YOUR_CLIENT_ID",defaultScopes:[],redirectURI:"/",...this.authConfig});const e=(i=this.baseProvider)==null?void 0:i.getStore("auth");if(!e)throw new Error("The auth store is not set");const t=(a=this.baseProvider)==null?void 0:a.getStore("scheduler");if(!t)throw new Error("The scheduler store is not set");const n=(h=this.baseProvider)==null?void 0:h.getStore("schedulerConfig");if(!n)throw new Error("The scheduler config store is not set");this.nylasConnector=new C(s,this.nylasAuth,e,t,n),this.init.emit(this.host).defaultPrevented||await((u=this.nylasConnector)==null?void 0:u.auth.validateSession()),this.handleAuthChange(e.state.isAuthenticated),(c=this.baseProvider)==null||c.componentWillLoad(this.nylasConnector)}componentDidLoad(){var e,t;const s=(e=this.baseProvider)==null?void 0:e.getStore("auth");s==null||s.onChange("isAuthenticated",this.handleAuthChange),(t=this.baseProvider)==null||t.componentDidLoad()}componentDisconnected(){var s;(s=this.baseProvider)==null||s.componentDisconnected()}async registerComponentHandler(s){var e;(e=this.baseProvider)==null||e.registerComponent(s.detail)}async unregisterComponentHandler(s){var e;(e=this.baseProvider)==null||e.unregisterComponent(s.detail)}async getNylasAuth(){return this.nylasAuth}async getNylasConnector(){return this.nylasConnector}async getAuthStore(){var s;return(s=this.baseProvider)==null?void 0:s.getStore("auth")}async getNylasSchedulerStore(){var s;return(s=this.baseProvider)==null?void 0:s.getStore("scheduler")}async getNylasSchedulerConfigStore(){var s;return(s=this.baseProvider)==null?void 0:s.getStore("schedulerConfig")}render(){return o.h(o.Host,{key:"e4c9c9acb330cbbc466495c3153d54318b28d943"},o.h("slot",{key:"7a5b931d0ca83c251074eba2aeb4f243f131ae05"}))}get host(){return o.getElement(this)}};g.style=w;exports.nylas_provider=g;
@@ -0,0 +1,264 @@
1
+ import { r as g, c as u, d as r, h as d, H as y, g as f, a as C } from "./index-995dd3b3.js";
2
+ import { N as A, e as R } from "./index.es-b475d61f-f52875ad.js";
3
+ import { C as S, N as p } from "./scheduler-store-908886c8-75b1f2d8.js";
4
+ import { C as m } from "./scheduler-config-store-2a3b403d-f5b7b06f.js";
5
+ import "react";
6
+ import "react-dom";
7
+ class w {
8
+ constructor(t, e) {
9
+ this.nylasAuth = t, this.nylasAuthStore = e;
10
+ }
11
+ async validateSession() {
12
+ const t = await this.isAccessTokenValid();
13
+ if (!t)
14
+ this.logout();
15
+ else {
16
+ let e = await this.nylasAuth.getTokenInfo();
17
+ if (e) {
18
+ const o = Math.floor(Date.now() / 1e3);
19
+ if (e.expires_in && e.expires_in - o < 3e5 && (r("[NylasAuthConnectorMixin] Refreshing access token"), e = await this.nylasAuth.refreshAccessToken(), !e)) {
20
+ r("[NylasAuthConnectorMixin] Token is expired and could not be refreshed. Logging out."), this.logout();
21
+ return;
22
+ }
23
+ this.nylasAuthStore.state.tokenInfo = e;
24
+ }
25
+ }
26
+ this.nylasAuthStore.state.isAuthenticated = t;
27
+ }
28
+ async isAuthenticated() {
29
+ return this.nylasAuth.isAuthenticated();
30
+ }
31
+ async getTokenInfo() {
32
+ return this.nylasAuth.getTokenInfo();
33
+ }
34
+ async isAccessTokenValid() {
35
+ return this.nylasAuth.isAccessTokenValid();
36
+ }
37
+ async logout() {
38
+ await this.nylasAuth.logout();
39
+ }
40
+ async getHostedAuthRedirectURL(t, e, n) {
41
+ return this.nylasAuth.getHostedAuthRedirectURL(t, e, n);
42
+ }
43
+ async manageHostedAuthCodeExchange(t) {
44
+ const n = new URL(t).searchParams.get("code");
45
+ if (n) {
46
+ const o = await this.nylasAuth.exchangeAuthCodeForTokenInfo(n);
47
+ if (o)
48
+ return this.nylasAuthStore.state.tokenInfo = o, this.nylasAuthStore.state.isAuthenticated = !0, o;
49
+ }
50
+ return null;
51
+ }
52
+ }
53
+ class P {
54
+ constructor(t, e, n, o, a, i = "https://api.us.nylas.com") {
55
+ this.router = t, this.schedulerAPIURL = i, this.nylasAuth = e, this.nylasAuthStore = n, this.nylasSchedulerStore = o, this.nylasSchedulerConfigStore = a;
56
+ }
57
+ init() {
58
+ r("NylasConnector init");
59
+ }
60
+ get authStore() {
61
+ return this.nylasAuthStore;
62
+ }
63
+ get schedulerStore() {
64
+ return this.nylasSchedulerStore;
65
+ }
66
+ get schedulerConfigStore() {
67
+ return this.nylasSchedulerConfigStore;
68
+ }
69
+ get auth() {
70
+ return this._authConnector ? this._authConnector : (this._authConnector = new w(this.nylasAuth, this.nylasAuthStore), this._authConnector);
71
+ }
72
+ get scheduler() {
73
+ return this._schedulerAPIConnector ? this._schedulerAPIConnector : (this._schedulerAPIConnector = new p({
74
+ schedulerAPIURL: this.schedulerAPIURL,
75
+ schedulerStore: this.schedulerStore
76
+ }), this._schedulerAPIConnector);
77
+ }
78
+ getAuth() {
79
+ return this.nylasAuth;
80
+ }
81
+ resetStores() {
82
+ this.nylasAuthStore.reset();
83
+ }
84
+ async logout() {
85
+ await this.nylasAuth.logout(), this.resetStores();
86
+ }
87
+ }
88
+ class v extends Event {
89
+ constructor(t, e) {
90
+ super(t, e), this.oldURL = e.oldURL, this.newURL = e.newURL;
91
+ }
92
+ }
93
+ class L {
94
+ constructor() {
95
+ this.routeChangeListeners = [], r("HashRouter constructor");
96
+ }
97
+ destroy() {
98
+ r("HashRouter destroy"), window.removeEventListener("hashchange", this.onRouteChange.bind(this));
99
+ }
100
+ init() {
101
+ if (r("HashRouter init"), window.addEventListener("hashchange", this.onRouteChange.bind(this)), typeof HashChangeEvent < "u") {
102
+ const t = new HashChangeEvent("hashchange", { oldURL: "", newURL: window.location.href });
103
+ this.onRouteChange(t);
104
+ } else {
105
+ const t = new v("hashchange", { oldURL: "", newURL: window.location.href });
106
+ this.onRouteChange(t);
107
+ }
108
+ }
109
+ addRouteChangeListener(t, e) {
110
+ r("HashRouter addRouteChangeListener"), this.routeChangeListeners.push([t, e]);
111
+ }
112
+ navigate(t, e) {
113
+ if (r("HashRouter navigate"), e)
114
+ return window.history.pushState(null, "", `#${t}`);
115
+ window.location.hash = t;
116
+ }
117
+ setRoute(t) {
118
+ r("HashRouter setRoute"), window.location.hash = t;
119
+ }
120
+ matchRoute(t, e) {
121
+ const n = t.split("/"), o = e.split("/");
122
+ if (r(`HashRouter matchRoute route=${t} path=${e}`, { routeParts: n, pathParts: o }), n[1] === "" && o[0] === "")
123
+ return !0;
124
+ if (n.length !== o.length)
125
+ return !1;
126
+ for (let a = 0; a < n.length; a++) {
127
+ const i = n[a], h = o[a];
128
+ if (!i.startsWith(":") && i !== h)
129
+ return !1;
130
+ }
131
+ return !0;
132
+ }
133
+ getRouteParams(t) {
134
+ r("HashRouter getRouteParams");
135
+ const e = {}, n = t.split("/"), o = window.location.hash.split("/");
136
+ return n.forEach((a, i) => {
137
+ if (a.startsWith(":")) {
138
+ const h = a.substring(1);
139
+ e[h] = o[i];
140
+ }
141
+ }), e;
142
+ }
143
+ getRouteWithParams(t, e) {
144
+ r("HashRouter getRouteWithParams");
145
+ let n = t;
146
+ return Object.keys(e).forEach((o) => {
147
+ n = n.replace(`:${o}`, e[o]);
148
+ }), n;
149
+ }
150
+ getRoute() {
151
+ return r("HashRouter getRoute"), window.location.hash;
152
+ }
153
+ onRouteChange(t) {
154
+ this.routeChangeListeners.forEach(async ([e, n]) => {
155
+ const o = t.newURL.indexOf("#") === -1 ? "" : t.newURL.substring(t.newURL.indexOf("#") + 1);
156
+ if (r(`HashRouter onRouteChange route=${e} path=${o}`, { event: t }), !this.matchRoute(e, o)) {
157
+ r(`HashRouter onRouteChange route=${e} path=${o} does not match`);
158
+ return;
159
+ }
160
+ const a = this.getRouteParams(e);
161
+ await n(e, o, a);
162
+ });
163
+ }
164
+ getBasePath() {
165
+ return r("HashRouter getBasePath"), "";
166
+ }
167
+ }
168
+ function b(s = {}) {
169
+ const t = {
170
+ isAuthenticated: !1,
171
+ tokenInfo: null,
172
+ state: "ready",
173
+ ...s
174
+ }, e = C(t);
175
+ return e.reset = () => {
176
+ for (const n in t) {
177
+ const o = t[n];
178
+ e.set(n, o);
179
+ }
180
+ }, e;
181
+ }
182
+ const H = ":host{display:contents}", I = H, k = class {
183
+ constructor(s) {
184
+ g(this, s), this.init = u(this, "init", 7), this.loggedIn = u(this, "loggedIn", 7), this.loggedOut = u(this, "loggedOut", 7), this.handleAuthChange = async (t) => {
185
+ t ? this.loggedIn.emit(this.host) : this.loggedOut.emit(this.host);
186
+ }, this.authConfig = void 0, this.eventOverrides = {}, this.automaticComponentRegistration = !0;
187
+ }
188
+ connectedCallback() {
189
+ r("[nylas-provider] connectedCallback");
190
+ }
191
+ async componentWillLoad() {
192
+ var a, i, h, c, l;
193
+ r("[nylas-provider] componentWillLoad"), this.stores = {
194
+ auth: b(),
195
+ scheduler: S(),
196
+ schedulerConfig: m()
197
+ }, this.baseProvider = new A(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides);
198
+ const s = new L();
199
+ this.nylasAuth = R({
200
+ apiUri: "https://api.us.nylas.com",
201
+ elementsApiUri: "https://elements.us.nylas.com",
202
+ storageType: "indexeddb",
203
+ clientId: "YOUR_CLIENT_ID",
204
+ defaultScopes: [],
205
+ redirectURI: "/",
206
+ ...this.authConfig
207
+ });
208
+ const t = (a = this.baseProvider) == null ? void 0 : a.getStore("auth");
209
+ if (!t)
210
+ throw new Error("The auth store is not set");
211
+ const e = (i = this.baseProvider) == null ? void 0 : i.getStore("scheduler");
212
+ if (!e)
213
+ throw new Error("The scheduler store is not set");
214
+ const n = (h = this.baseProvider) == null ? void 0 : h.getStore("schedulerConfig");
215
+ if (!n)
216
+ throw new Error("The scheduler config store is not set");
217
+ this.nylasConnector = new P(s, this.nylasAuth, t, e, n), this.init.emit(this.host).defaultPrevented || await ((c = this.nylasConnector) == null ? void 0 : c.auth.validateSession()), this.handleAuthChange(t.state.isAuthenticated), (l = this.baseProvider) == null || l.componentWillLoad(this.nylasConnector);
218
+ }
219
+ componentDidLoad() {
220
+ var t, e;
221
+ const s = (t = this.baseProvider) == null ? void 0 : t.getStore("auth");
222
+ s == null || s.onChange("isAuthenticated", this.handleAuthChange), (e = this.baseProvider) == null || e.componentDidLoad();
223
+ }
224
+ componentDisconnected() {
225
+ var s;
226
+ (s = this.baseProvider) == null || s.componentDisconnected();
227
+ }
228
+ async registerComponentHandler(s) {
229
+ var t;
230
+ (t = this.baseProvider) == null || t.registerComponent(s.detail);
231
+ }
232
+ async unregisterComponentHandler(s) {
233
+ var t;
234
+ (t = this.baseProvider) == null || t.unregisterComponent(s.detail);
235
+ }
236
+ async getNylasAuth() {
237
+ return this.nylasAuth;
238
+ }
239
+ async getNylasConnector() {
240
+ return this.nylasConnector;
241
+ }
242
+ async getAuthStore() {
243
+ var s;
244
+ return (s = this.baseProvider) == null ? void 0 : s.getStore("auth");
245
+ }
246
+ async getNylasSchedulerStore() {
247
+ var s;
248
+ return (s = this.baseProvider) == null ? void 0 : s.getStore("scheduler");
249
+ }
250
+ async getNylasSchedulerConfigStore() {
251
+ var s;
252
+ return (s = this.baseProvider) == null ? void 0 : s.getStore("schedulerConfig");
253
+ }
254
+ render() {
255
+ return d(y, { key: "e4c9c9acb330cbbc466495c3153d54318b28d943" }, d("slot", { key: "7a5b931d0ca83c251074eba2aeb4f243f131ae05" }));
256
+ }
257
+ get host() {
258
+ return f(this);
259
+ }
260
+ };
261
+ k.style = I;
262
+ export {
263
+ k as nylas_provider
264
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-87381561.cjs"),c=require("./register-component-679c1308-0b6682e1.cjs");require("react");require("react-dom");const y=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;width:inherit}.cards-container{margin-bottom:4rem}.cards-container .nylas-reminder-email{width:inherit;display:flex;flex-direction:column;margin:1rem;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-200);text-align:left}.cards-container .nylas-reminder-email .reminder-open-close-toggle{display:flex;gap:16px}.cards-container .nylas-reminder-email .reminder-open-close-toggle .chevron{display:flex;align-self:center;cursor:pointer}.cards-container .nylas-reminder-email .reminder-open-close-toggle .chevron:hover,.cards-container .nylas-reminder-email .reminder-open-close-toggle .chevron:active{color:var(--nylas-primary)}.cards-container .nylas-reminder-email .reminder-open-close-toggle .chevron.open{transform:rotate(90deg)}.cards-container .nylas-reminder-email .reminder-open-close-toggle .chevron.closed{transform:rotate(270deg)}.cards-container .nylas-reminder-email .reminder-open-close-toggle .chevron.disabled{cursor:not-allowed;color:var(--nylas-base-300)}.cards-container .nylas-reminder-email .reminder-open-close-toggle .chevron.disabled:hover{color:var(--nylas-base-300)}.cards-container .nylas-reminder-email .header{padding:1rem;display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--nylas-base-200)}.cards-container .nylas-reminder-email .header h3{border-radius:var(--nylas-border-radius-2x);margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.cards-container .nylas-reminder-email .header p{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.cards-container .nylas-reminder-email .header .confirmation-email-toggle{display:flex;gap:24px;align-items:center}.cards-container .nylas-reminder-email .header .confirmation-email-toggle .chevron{display:flex;align-self:center;cursor:pointer}.cards-container .nylas-reminder-email .header .confirmation-email-toggle .chevron:hover,.cards-container .nylas-reminder-email .header .confirmation-email-toggle .chevron:active{color:var(--nylas-primary)}.cards-container .nylas-reminder-email .header .confirmation-email-toggle .chevron.open{transform:rotate(90deg)}.cards-container .nylas-reminder-email .header .confirmation-email-toggle .chevron.closed{transform:rotate(270deg)}.cards-container .nylas-reminder-email .header .confirmation-email-toggle .chevron.disabled{cursor:not-allowed;color:var(--nylas-base-300)}.cards-container .nylas-reminder-email .header .confirmation-email-toggle .chevron.disabled:hover{color:var(--nylas-base-300)}.cards-container .nylas-reminder-email .nylas-reminder-email__body{display:grid;grid-template-columns:1fr auto;background-color:var(--nylas-base-25);border-radius:var(--nylas-border-radius-2x)}@media screen and (max-width: 768px){.cards-container .nylas-reminder-email .nylas-reminder-email__body{grid-template-columns:1fr}}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section{padding:1rem;display:flex;flex-direction:column;gap:1rem;color:var(--nylas-base-800)}@media screen and (max-width: 768px){.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section{border:none}}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row.full-width-col{grid-template-columns:1fr}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row label{display:flex;align-items:center}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row label span.required{color:var(--nylas-error, #cc4841)}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row label span.label-icon{margin-left:4px}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row label span.label-icon tooltip-component{display:flex}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row p{margin:0.25rem 0 0 0;font-size:1rem;font-weight:500;line-height:24px;color:var(--nylas-base-900)}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row .company-logo-container{display:flex;gap:32px;width:100%}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row .company-logo-container .input-container{display:flex;flex-direction:column;flex:1}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row .company-logo-container .company-logo{display:flex;justify-content:center;align-items:center;width:200px;height:100px;border:var(--nylas-base-200) solid 1px;border-radius:var(--nylas-border-radius-2x);overflow:hidden;padding:10px}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row .company-logo-container .company-logo img{max-height:100%;max-width:100%;object-fit:contain;object-position:center}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .nylas-reminder-email__row span.selected-value{font-weight:500}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .subsection{display:flex;flex-direction:column;gap:1rem}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .subsection h3{margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .subsection .input-container{display:flex;flex-direction:column;gap:0.25rem}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__section .subsection .input-container textarea{padding:12px 16px;border-width:1;resize:vertical;border-radius:8px;font-family:var(--nylas-font-family);font-size:16px;line-height:24px;border:1px solid var(--nylas-base-200)}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__preview{width:208px;background:var(--nylas-base-25);border-bottom-right-radius:var(--nylas-border-radius-2x)}@media screen and (max-width: 768px){.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__preview{width:inherit;border-bottom-left-radius:var(--nylas-border-radius-2x)}}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__preview h4{font-size:14px;line-height:24px;color:var(--nylas-base-600);font-family:var(--nylas-font-family);font-weight:500;text-align:center;margin:0.75rem 0}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__preview .preview-container{padding:0 2rem 1rem}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__preview .preview-container .slot{background-color:transparent;border-top:1px solid var(--nylas-base-300)}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__preview .preview-container .slot.active{background-color:var(--nylas-base-100)}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__preview .preview-container .slot:last-of-type{border-bottom:1px solid var(--nylas-base-300)}.cards-container .nylas-reminder-email .nylas-reminder-email__body .nylas-reminder-email__preview .preview-container .event-slot{background-color:var(--nylas-base-600);border-top:1px solid var(--nylas-base-300)}.cards-container .nylas-reminder-email .nylas-reminder-email__body span.error-message{color:var(--nylas-error)}.cards-container .nylas-reminder-email .nylas-reminder-email__body span.help-text{margin:0.25rem 0 0 0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.cards-container .nylas-reminder-email .nylas-reminder-email__summary{padding:0.75rem 1rem;display:grid;grid-template-columns:auto 1fr;column-gap:1rem}.cards-container .nylas-reminder-email .nylas-reminder-email__summary p{margin:0;display:flex;align-items:center;column-gap:4px;font-size:0.875rem;font-weight:400;line-height:21px;color:var(--nylas-base-600);text-align:left}.cards-container .nylas-reminder-email .nylas-reminder-email__summary p span.summary-icon{display:flex;justify-content:center;min-width:20px}sp-divider{background-color:var(--nylas-base-200);height:1px;margin:0.25rem 0}button-component.create-reminder button{margin:1rem;width:calc(100% - 2rem)}button-component.delete-btn button{color:var(--nylas-error) !important}',p=y;var h=function(n,r,i,a){var s=arguments.length,l=s<3?r:a===null?a=Object.getOwnPropertyDescriptor(r,i):a,t;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(n,r,i,a);else for(var o=n.length-1;o>=0;o--)(t=n[o])&&(l=(s<3?t(l):s>3?t(r,i,l):t(r,i))||l);return s>3&&l&&Object.defineProperty(r,i,l),l},d=function(n,r){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,r)};const m=class{constructor(n){var r,i,a;e.registerInstance(this,n),this.valueChanged=e.createEvent(this,"valueChanged",7),n.$hostElement$["s-ei"]?this.internals=n.$hostElement$["s-ei"]:(this.internals=n.$hostElement$.attachInternals(),n.$hostElement$["s-ei"]=this.internals),this.selectedConfiguration=void 0,this.name="reminder-overrides",this.reminders=((i=(r=this.selectedConfiguration)==null?void 0:r.event_booking)==null?void 0:i.reminders)??[],this.reminderErrors={},this.participants=((a=this.selectedConfiguration)==null?void 0:a.participants)??[]}connectedCallback(){e.debug("nylas-reminder-emails","connectedCallback")}disconnectedCallback(){e.debug("nylas-reminder-emails","disconnectedCallback")}componentWillLoad(){e.debug("nylas-reminder-emails","componentWillLoad"),this.host.setAttribute("name",this.name)}componentDidLoad(){e.debug("nylas-reminder-emails","componentDidLoad"),this.selectedConfiguration?this.selectedConfigurationChangedHandler(this.selectedConfiguration):this.updateRemindersFormValue()}componentWillUpdate(){e.debug("nylas-reminder-emails","componentWillUpdate")}componentDidUpdate(){e.debug("nylas-reminder-emails","componentDidUpdate")}componentWillRender(){e.debug("nylas-reminder-emails","componentWillRender")}componentDidRender(){e.debug("nylas-reminder-emails","componentDidRender")}elementNameChangedHandler(n){e.debug("nylas-reminder-emails","elementNameChangedHandler",n),this.host.setAttribute("name",n)}selectedConfigurationChangedHandler(n){var r;e.debug("nylas-reminder-emails","selectedConfigurationChangedHandler",n),this.reminders=((r=n==null?void 0:n.event_booking)==null?void 0:r.reminders)??[],this.participants=(n==null?void 0:n.participants)??[],this.updateRemindersFormValue()}handleValueChanged(n){e.debug("nylas-reminder-emails","handleValueChanged",n);const{name:r,value:i}=n.detail;if(r.startsWith("reminder-time-")){const[a,s]=r.split(/(\d+)/),l=[...this.reminders];l[s].minutes_before_event=parseInt(i),this.reminders=[...l],this.updateRemindersFormValue()}}handleNylasFormDropdownChanged(n){e.debug("nylas-reminder-emails","handleNylasFormDropdownChanged",n);const{name:r,value:i}=n.detail;if(!r.startsWith("recipient-"))return;const[a,s]=r.split(/(\d+)/),l=[...this.reminders];l[s].recipient=i,this.reminders=[...l],this.updateRemindersFormValue()}addReminder(){e.debug("nylas-reminder-emails","addReminder"),this.reminders=[...this.reminders,{type:"email",minutes_before_event:30,editing:!0,recipient:"all"}],this.updateRemindersFormValue()}deleteReminder(n){this.reminders=this.reminders.filter((r,i)=>i!==n).map(r=>({...r})),this.updateRemindersFormValue()}updateRemindersFormValue(){e.debug("nylas-reminder-emails","updateRemindersFormValue");const n=this.reminders.map(r=>{const i={...r};return delete i.editing,i});this.internals.setFormValue(JSON.stringify(n),"reminder-overrides"),this.valueChanged.emit({value:JSON.stringify(n),name:"reminder-overrides"})}formatReminderTime(n){switch(!0){case n>24*60:return`${n/60/24} days`;case n===24*60:return"1 day";case(n>90||n===60):return`${n/60} hours`;default:return`${n} minute${n>1?"s":""} `}}render(){var i;const n=(i=this.participants.find(a=>a.is_organizer))==null?void 0:i.name,r=[{label:"All host & guests",value:"all"},{label:"All event guests",value:"guest"},{label:"Only event host",value:"host"}];return e.h(e.Host,{key:"f1982a2fe4c71ae1345b184767d015ba34336f1f"},e.h("div",{key:"02f612577517fcc9ca50e5278c8e4cf2492aa29e",class:"cards-container"},this.reminders.map((a,s)=>{var l;return e.h("div",{class:"nylas-reminder-email",part:"nre"},e.h("div",{class:"header",part:"nre__header"},e.h("div",null,e.h("h3",null,"Upcoming meeting",n?` with ${n} `:""),e.h("p",null,"Reminder before event")),a.editing?e.h("div",{class:"reminder-open-close-toggle"},e.h("button-component",{variant:"basic",class:"delete-btn",tooltip:"Delete reminder",key:`delete -${s} `,clickHandler:t=>{t.preventDefault(),this.deleteReminder(s)}},e.h("trash-icon",{width:"16",height:"16"})),e.h("span",{class:`chevron ${a.editing?"open":"closed"}`,onClick:()=>{a.editing=!a.editing,this.reminders=[...this.reminders]}},e.h("chevron-icon",{width:"24",height:"24"}))):e.h("button-component",{variant:"basic",key:`edit-${s} `,clickHandler:t=>{t.preventDefault(),a.editing=!0,this.reminders=[...this.reminders]}},e.h("edit-icon",{width:"16",height:"16"}),"Edit")),a.editing?e.h("div",{class:"nylas-reminder-email__body",part:"nre__body"},e.h("div",{class:"nylas-reminder-email__section"},e.h("div",{class:"nylas-reminder-email__row"},e.h("label",null,"Email recipients"),e.h("select-dropdown",{name:`recipient-${s}`,options:r,defaultSelectedOption:r.find(t=>t.value===a.recipient)??r[0],withSearch:!1})),e.h("div",{class:"nylas-reminder-email__row"},e.h("label",null,"Send confirmation email when",e.h("span",{class:"label-icon"},e.h("tooltip-component",null,e.h("info-icon",{slot:"tooltip-icon"}),e.h("span",{slot:"tooltip-content"},"The recipients will receive a reminder email at the specified time before the event.")))),e.h("nylas-reminder-time",{name:`reminder-time-${s}`,eventReminderTimeMinutes:a.minutes_before_event,exportparts:`nrt, nrt__input_dropdown: nre__reminder-input_dropdown,
2
+ nrt__input_dropdown-input: nre__reminder-input_dropdown-input,
3
+ nrt__input_dropdown-content: nre__reminder-input_dropdown-content,
4
+ `})))):e.h("div",{class:"nylas-reminder-email__summary",part:"nre__summary"},e.h("p",null,e.h("span",{class:"summary-icon"},e.h("person-clipboard-icon",null)),(l=r.find(t=>t.value===a.recipient))==null?void 0:l.label),e.h("p",null,e.h("span",{class:"summary-icon"},e.h("clock-icon",null)),this.formatReminderTime(a.minutes_before_event)," before the event")))})),e.h("button-component",{key:"5f0c78b6e6caca06bb8b3c8346480f3cde3ee8f9",class:"create-reminder",variant:"basic",clickHandler:a=>{a.preventDefault(),this.addReminder()}},e.h("plus-icon",{key:"b72802d4c496bcdad8f26986b43a8d70828fae68",width:"16",height:"16"}),"New reminder"))}static get formAssociated(){return!0}get host(){return e.getElement(this)}static get watchers(){return{name:["elementNameChangedHandler"],selectedConfiguration:["selectedConfigurationChangedHandler"]}}};h([c.RegisterComponent({name:"nylas-reminder-emails",stateToProps:new Map([["schedulerConfig.selectedConfiguration","selectedConfiguration"]]),eventToProps:{valueChanged:async(n,r)=>{const{valueChanged:i}=n.detail;i&&i(n)}},fireRegisterEvent:!0}),d("design:type",Function),d("design:paramtypes",[]),d("design:returntype",void 0)],m.prototype,"render",null);m.style=p;exports.nylas_reminder_emails=m;