@nylas/react 1.0.0-prealpha1
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.
- package/LICENSE.md +22 -0
- package/README.md +3 -0
- package/dist/_commonjsHelpers-57e89916-4a3ae7d8.cjs +1 -0
- package/dist/_commonjsHelpers-57e89916-af061c86.js +19 -0
- package/dist/archive-icon_7.entry-53aede1b.js +75 -0
- package/dist/archive-icon_7.entry-8c90815a.cjs +1 -0
- package/dist/arrow-icon.entry-2867f4fb.js +15 -0
- package/dist/arrow-icon.entry-a2f53919.cjs +1 -0
- package/dist/bold-icon_3.entry-ad806730.js +35 -0
- package/dist/bold-icon_3.entry-e0bc6774.cjs +1 -0
- package/dist/calendar-cancel-icon.entry-546b7bd4.cjs +1 -0
- package/dist/calendar-cancel-icon.entry-74051835.js +15 -0
- package/dist/calendar-check-icon_3.entry-42bab0b4.js +35 -0
- package/dist/calendar-check-icon_3.entry-f5846fee.cjs +1 -0
- package/dist/calendar-icon.entry-25474b1e.cjs +1 -0
- package/dist/calendar-icon.entry-c751873f.js +15 -0
- package/dist/chevron-icon.entry-60842fb6.js +15 -0
- package/dist/chevron-icon.entry-97e4621e.cjs +1 -0
- package/dist/close-icon_2.entry-aa015993.cjs +1 -0
- package/dist/close-icon_2.entry-ef03bd27.js +25 -0
- package/dist/core-js-38e53e34.cjs +4 -0
- package/dist/core-js-a9d3b6e1.js +3297 -0
- package/dist/document-refresh-icon.entry-b27207eb.js +15 -0
- package/dist/document-refresh-icon.entry-ca2ef29e.cjs +1 -0
- package/dist/dom-68f08be9.cjs +15 -0
- package/dist/dom-86e17616.js +664 -0
- package/dist/duration-bddc4a13-05d3e3e2.cjs +1 -0
- package/dist/duration-bddc4a13-179ce826.js +41 -0
- package/dist/elements/index.d.ts +56 -0
- package/dist/elements/react-component-lib/createComponent.d.ts +10 -0
- package/dist/elements/react-component-lib/createOverlayComponent.d.ts +21 -0
- package/dist/elements/react-component-lib/index.d.ts +2 -0
- package/dist/elements/react-component-lib/interfaces.d.ts +29 -0
- package/dist/elements/react-component-lib/utils/attachProps.d.ts +9 -0
- package/dist/elements/react-component-lib/utils/case.d.ts +2 -0
- package/dist/elements/react-component-lib/utils/dev.d.ts +2 -0
- package/dist/elements/react-component-lib/utils/index.d.ts +10 -0
- package/dist/elements-60ebdb01-24595598.cjs +16494 -0
- package/dist/elements-60ebdb01-5d144002.js +27455 -0
- package/dist/flow-40ff9cea-6f8c30e2.cjs +9 -0
- package/dist/flow-40ff9cea-ee70fdf5.js +505 -0
- package/dist/focus-visible-e8093c16-28fc08a0.js +82 -0
- package/dist/focus-visible-e8093c16-f380b705.cjs +1 -0
- package/dist/forward-icon_6.entry-725d1be4.cjs +3 -0
- package/dist/forward-icon_6.entry-dc8f7235.js +955 -0
- package/dist/globe-icon.entry-796d3f48.js +15 -0
- package/dist/globe-icon.entry-918cfd35.cjs +1 -0
- package/dist/index-29d0e781.cjs +30 -0
- package/dist/index-2b85580a-bfc3ceac.cjs +7 -0
- package/dist/index-2b85580a-f9211f23.js +3238 -0
- package/dist/index-4f65b6f9.js +1489 -0
- package/dist/index.d.ts +4 -0
- package/dist/loading-icon.entry-8e49fab0.js +15 -0
- package/dist/loading-icon.entry-b2534e3e.cjs +1 -0
- package/dist/mailbox-store-0019772c-06d31a90.js +380 -0
- package/dist/mailbox-store-0019772c-d1254c5c.cjs +1 -0
- package/dist/nylas-booked-event-card_9.entry-d995d7cb.js +4567 -0
- package/dist/nylas-booked-event-card_9.entry-ea02f083.cjs +148 -0
- package/dist/nylas-if-state_3.entry-ce816adb.js +291 -0
- package/dist/nylas-if-state_3.entry-e8c831b7.cjs +1 -0
- package/dist/nylas-list-folders.entry-8134344b.js +121 -0
- package/dist/nylas-list-folders.entry-de8cca60.cjs +1 -0
- package/dist/nylas-list-threads.entry-1367fe30.js +71 -0
- package/dist/nylas-list-threads.entry-93b70a1a.cjs +1 -0
- package/dist/nylas-mailbox-pagination.entry-568ac217.js +102 -0
- package/dist/nylas-mailbox-pagination.entry-6bb0ee37.cjs +1 -0
- package/dist/nylas-mailbox-toolbar-button.entry-9214b283.js +83 -0
- package/dist/nylas-mailbox-toolbar-button.entry-d4ad5c15.cjs +1 -0
- package/dist/nylas-open-hours-picker.entry-109f13f5.js +186 -0
- package/dist/nylas-open-hours-picker.entry-2c19643f.cjs +1 -0
- package/dist/nylas-provider.entry-2cfe5f0e.js +134 -0
- package/dist/nylas-provider.entry-87fa9276.cjs +1 -0
- package/dist/nylas-scheduler.entry-6ec8e574.js +195 -0
- package/dist/nylas-scheduler.entry-b41cbf99.cjs +1 -0
- package/dist/nylas-threads-refresh.entry-6d61a689.cjs +1 -0
- package/dist/nylas-threads-refresh.entry-9111a403.js +75 -0
- package/dist/nylas-threads-search.entry-03073490.cjs +1 -0
- package/dist/nylas-threads-search.entry-2124f663.js +70 -0
- package/dist/nylas-view-thread.entry-4ecbcd78.cjs +1 -0
- package/dist/nylas-view-thread.entry-fe51c1f6.js +204 -0
- package/dist/play-icon_2.entry-8e156535.js +25 -0
- package/dist/play-icon_2.entry-cf1cbc8d.cjs +1 -0
- package/dist/property-0065dde7-83dc9cc4.cjs +23 -0
- package/dist/property-0065dde7-c57b8fa3.js +589 -0
- package/dist/react.cjs +1 -0
- package/dist/react.js +62 -0
- package/dist/refresh-icon.entry-4ddd53b0.js +15 -0
- package/dist/refresh-icon.entry-9f24e833.cjs +1 -0
- package/dist/register-component-55376f31-5eaf8954.js +105 -0
- package/dist/register-component-55376f31-8d6ddee4.cjs +1 -0
- package/dist/scheduler-store-5a39585a-117668e3.js +173 -0
- package/dist/scheduler-store-5a39585a-2c848bec.cjs +1 -0
- package/dist/translate-icon.entry-0cd24de4.cjs +1 -0
- package/dist/translate-icon.entry-db2cdf1d.js +15 -0
- package/dist/utils-5074a070-ce33ee6b.js +119 -0
- package/dist/utils-5074a070-d5ba6add.cjs +2 -0
- package/package.json +47 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { r as p, h as i, H as b, c as m, g as N } from "./index-4f65b6f9.js";
|
|
2
|
+
import { R as A } from "./register-component-55376f31-5eaf8954.js";
|
|
3
|
+
import { d as h } from "./utils-5074a070-ce33ee6b.js";
|
|
4
|
+
import { N as P, e as L } from "./index-2b85580a-f9211f23.js";
|
|
5
|
+
import { C as T, a as O, H as I, N as H, b as E, c as B, d as $ } from "./mailbox-store-0019772c-06d31a90.js";
|
|
6
|
+
import "react";
|
|
7
|
+
import "react-dom";
|
|
8
|
+
const D = ":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}", F = D;
|
|
9
|
+
var U = function(e, t, o, n) {
|
|
10
|
+
var s = arguments.length, a = s < 3 ? t : n === null ? n = Object.getOwnPropertyDescriptor(t, o) : n, r;
|
|
11
|
+
if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
|
|
12
|
+
a = Reflect.decorate(e, t, o, n);
|
|
13
|
+
else
|
|
14
|
+
for (var l = e.length - 1; l >= 0; l--)
|
|
15
|
+
(r = e[l]) && (a = (s < 3 ? r(a) : s > 3 ? r(t, o, a) : r(t, o)) || a);
|
|
16
|
+
return s > 3 && a && Object.defineProperty(t, o, a), a;
|
|
17
|
+
}, y = function(e, t) {
|
|
18
|
+
if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
|
|
19
|
+
return Reflect.metadata(e, t);
|
|
20
|
+
};
|
|
21
|
+
const M = class {
|
|
22
|
+
constructor(e) {
|
|
23
|
+
p(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);
|
|
24
|
+
}
|
|
25
|
+
connectedCallback() {
|
|
26
|
+
}
|
|
27
|
+
disconnectedCallback() {
|
|
28
|
+
}
|
|
29
|
+
async componentWillLoad() {
|
|
30
|
+
h("[nylas-if-state] Component will load"), this.watchStore(!0);
|
|
31
|
+
}
|
|
32
|
+
async componentDidLoad() {
|
|
33
|
+
h("[nylas-if-state] Component did load");
|
|
34
|
+
}
|
|
35
|
+
shouldRender() {
|
|
36
|
+
const [e, t] = this.state ? this.state.split(".") : ["", ""], o = this.getStore;
|
|
37
|
+
if (typeof o > "u")
|
|
38
|
+
return h(`[nylas-if-state] Store name: ${e} | State name: ${t}`, { getStore: o }), !1;
|
|
39
|
+
const n = o(e);
|
|
40
|
+
if (typeof n > "u")
|
|
41
|
+
return h(`[nylas-if-state] Store name: ${e} | State name: ${t}`, { store: n }), !1;
|
|
42
|
+
const s = n.state[t];
|
|
43
|
+
return typeof this.isStateSet == "boolean" ? this.isStateSet === !1 && (typeof s > "u" || s === null || s.length === 0) || this.isStateSet === !0 && typeof s < "u" && s !== null : typeof this.isBoolean == "boolean" ? this.isBoolean === !0 && typeof s < "u" && s === !0 || this.isBoolean === !1 && typeof s < "u" && s === !1 : !1;
|
|
44
|
+
}
|
|
45
|
+
onGetStoreChange() {
|
|
46
|
+
this.watchStore(!0);
|
|
47
|
+
}
|
|
48
|
+
watchStore(e = !1) {
|
|
49
|
+
const [t, o] = this.state ? this.state.split(".") : ["", ""], n = this.getStore;
|
|
50
|
+
if (typeof n > "u")
|
|
51
|
+
return h(`[nylas-if-state] Store name: ${t} | State name: ${o}`, { getStore: n }), null;
|
|
52
|
+
const s = n(t);
|
|
53
|
+
if (typeof s > "u")
|
|
54
|
+
return h(`[nylas-if-state] Store name: ${t} | State name: ${o}`, { store: s }), null;
|
|
55
|
+
e === !0 && this.initTransition(), s.onChange(o, this.initTransition);
|
|
56
|
+
}
|
|
57
|
+
initTransition() {
|
|
58
|
+
const e = this.shouldRender();
|
|
59
|
+
switch (this.transition) {
|
|
60
|
+
case "fade":
|
|
61
|
+
case "slide":
|
|
62
|
+
case "swipe":
|
|
63
|
+
this.classes = {
|
|
64
|
+
[`${this.transition}-in`]: e,
|
|
65
|
+
[`${this.transition}-out`]: !e
|
|
66
|
+
}, setTimeout(() => {
|
|
67
|
+
this.show = e;
|
|
68
|
+
}, 150);
|
|
69
|
+
break;
|
|
70
|
+
default:
|
|
71
|
+
this.show = this.shouldRender();
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
render() {
|
|
76
|
+
return i(b, { key: "91d17bc89a09742106ef3bd9365c5ce48cf14e86" }, i("div", { key: "9d0070be4bf5d9a5f405fc4a0733e6d832fa669a", class: this.classes }, this.show && i("slot", null)));
|
|
77
|
+
}
|
|
78
|
+
static get watchers() {
|
|
79
|
+
return {
|
|
80
|
+
getStore: ["onGetStoreChange"]
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
U([
|
|
85
|
+
A({
|
|
86
|
+
name: "nylas-if-state",
|
|
87
|
+
getStoresToProp: "getStore",
|
|
88
|
+
fireRegisterEvent: !0
|
|
89
|
+
}),
|
|
90
|
+
y("design:type", Function),
|
|
91
|
+
y("design:paramtypes", []),
|
|
92
|
+
y("design:returntype", void 0)
|
|
93
|
+
], M.prototype, "render", null);
|
|
94
|
+
M.style = F;
|
|
95
|
+
const j = ":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);}", z = j;
|
|
96
|
+
var W = function(e, t, o, n) {
|
|
97
|
+
var s = arguments.length, a = s < 3 ? t : n === null ? n = Object.getOwnPropertyDescriptor(t, o) : n, r;
|
|
98
|
+
if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
|
|
99
|
+
a = Reflect.decorate(e, t, o, n);
|
|
100
|
+
else
|
|
101
|
+
for (var l = e.length - 1; l >= 0; l--)
|
|
102
|
+
(r = e[l]) && (a = (s < 3 ? r(a) : s > 3 ? r(t, o, a) : r(t, o)) || a);
|
|
103
|
+
return s > 3 && a && Object.defineProperty(t, o, a), a;
|
|
104
|
+
}, g = function(e, t) {
|
|
105
|
+
if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
|
|
106
|
+
return Reflect.metadata(e, t);
|
|
107
|
+
};
|
|
108
|
+
const _ = class {
|
|
109
|
+
constructor(e) {
|
|
110
|
+
p(this, e), this.buttonClick = m(this, "buttonClick", 7), this._handleLoginRedirect = async () => {
|
|
111
|
+
var n;
|
|
112
|
+
const t = await ((n = this.nylasConnector) == null ? void 0 : n.auth.getHostedAuthRedirectURL(this.scopes));
|
|
113
|
+
this.buttonClick.emit({ url: t }).defaultPrevented || t && (window.location.href = t);
|
|
114
|
+
}, this._onGoogleButtonClick = async (t) => {
|
|
115
|
+
var n;
|
|
116
|
+
t.preventDefault();
|
|
117
|
+
const o = await ((n = this.nylasConnector) == null ? void 0 : n.auth.getHostedAuthRedirectURL(this.scopes, void 0, "google"));
|
|
118
|
+
o && (window.location.href = o);
|
|
119
|
+
}, this._onMicrosoftButtonClick = async (t) => {
|
|
120
|
+
var n;
|
|
121
|
+
t.preventDefault();
|
|
122
|
+
const o = await ((n = this.nylasConnector) == null ? void 0 : n.auth.getHostedAuthRedirectURL(this.scopes, void 0, "microsoft"));
|
|
123
|
+
o && (window.location.href = o);
|
|
124
|
+
}, this._onFormSubmit = async (t) => {
|
|
125
|
+
var n;
|
|
126
|
+
t.preventDefault();
|
|
127
|
+
const o = await ((n = this.nylasConnector) == null ? void 0 : n.auth.getHostedAuthRedirectURL(this.scopes, this.email));
|
|
128
|
+
o && (window.location.href = o);
|
|
129
|
+
}, 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 = "";
|
|
130
|
+
}
|
|
131
|
+
connectedCallback() {
|
|
132
|
+
}
|
|
133
|
+
disconnectedCallback() {
|
|
134
|
+
}
|
|
135
|
+
componentWillLoad() {
|
|
136
|
+
}
|
|
137
|
+
async componentDidLoad() {
|
|
138
|
+
var t;
|
|
139
|
+
await ((t = this.nylasConnector) == null ? void 0 : t.auth.manageHostedAuthCodeExchange(window.location.href)) && window.history.replaceState({}, document.title, window.location.pathname);
|
|
140
|
+
}
|
|
141
|
+
render() {
|
|
142
|
+
var t;
|
|
143
|
+
const e = ((t = this.providers) == null ? void 0 : t.split(",")) || [];
|
|
144
|
+
return i(b, { key: "734ebbbe5cf2ba3c08943a665a4724f59705da5b" }, this.loginMethod === "redirect" && i("div", { class: "redirect-container" }, !this.isAuthenticated && i("sp-button", { part: "button", onClick: this._handleLoginRedirect }, this.buttonText)), this.loginMethod === "emebded" && i("main", { class: "login-container" }, i("section", { class: "login-box" }, i("header", null, i("img", { src: this.logoUrl, alt: `${this.companyName} logo`, width: "100%", style: {
|
|
145
|
+
minWidth: this.logoWidth
|
|
146
|
+
} }), i("h1", null, "Welcome")), i("p", null, "Log in to your account to continue to ", this.companyName), i("div", { class: "login-methods" }, e.includes("google") && i("button", { class: "login-google", onClick: this._onGoogleButtonClick }, i("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" }, i("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" }), i("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" }), i("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" }), i("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"), e.includes("microsoft") && i("button", { class: "login-microsoft", onClick: this._onMicrosoftButtonClick }, i("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" }, i("path", { fill: "#F3F3F3", d: "M0 32v192h192V32H0zm256 0v192h192V32H256zm192 256v192h-192V288h192zM0 224v192h192V224H0z" })), "Continue with Microsoft")), i("form", { class: "login-form", method: "POST", onSubmit: this._onFormSubmit }, i("label", { htmlFor: "email" }, "Email"), i("input", { type: "email", id: "email", name: "email", required: !0, value: this.email }), i("button", { type: "submit" }, "Next")))));
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
W([
|
|
150
|
+
A({
|
|
151
|
+
name: "nylas-login",
|
|
152
|
+
connectorToProp: "nylasConnector",
|
|
153
|
+
stateToProps: /* @__PURE__ */ new Map([["auth.isAuthenticated", "isAuthenticated"]]),
|
|
154
|
+
fireRegisterEvent: !0
|
|
155
|
+
}),
|
|
156
|
+
g("design:type", Function),
|
|
157
|
+
g("design:paramtypes", []),
|
|
158
|
+
g("design:returntype", void 0)
|
|
159
|
+
], _.prototype, "render", null);
|
|
160
|
+
_.style = z;
|
|
161
|
+
class Y {
|
|
162
|
+
constructor(t, o, n, s) {
|
|
163
|
+
this.router = t, this.nylasAuth = o, this.nylasAuthStore = n, this.nylasMailboxStore = s;
|
|
164
|
+
}
|
|
165
|
+
init() {
|
|
166
|
+
h("NylasMailboxConnector init");
|
|
167
|
+
}
|
|
168
|
+
get mailboxStore() {
|
|
169
|
+
return this.nylasMailboxStore;
|
|
170
|
+
}
|
|
171
|
+
get authStore() {
|
|
172
|
+
return this.nylasAuthStore;
|
|
173
|
+
}
|
|
174
|
+
get auth() {
|
|
175
|
+
return this._authConnector ? this._authConnector : (this._authConnector = new H(this.nylasAuth, this.nylasAuthStore), this._authConnector);
|
|
176
|
+
}
|
|
177
|
+
get threads() {
|
|
178
|
+
return this._threadConnector ? this._threadConnector : (this._threadConnector = new E(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore, this.router), this._threadConnector);
|
|
179
|
+
}
|
|
180
|
+
get messages() {
|
|
181
|
+
return this._messageConnector ? this._messageConnector : (this._messageConnector = new B(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore), this._messageConnector);
|
|
182
|
+
}
|
|
183
|
+
get folders() {
|
|
184
|
+
return this._foldersConnector ? this._foldersConnector : (this._foldersConnector = new $(this.nylasAuth, this.nylasAuthStore, this.nylasMailboxStore), this._foldersConnector);
|
|
185
|
+
}
|
|
186
|
+
getAuth() {
|
|
187
|
+
return this.nylasAuth;
|
|
188
|
+
}
|
|
189
|
+
resetStores() {
|
|
190
|
+
this.nylasMailboxStore.reset(), this.nylasAuthStore.reset();
|
|
191
|
+
}
|
|
192
|
+
async logout() {
|
|
193
|
+
await this.nylasAuth.logout(), this.resetStores();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const G = ":host{display:contents}", V = G, q = class {
|
|
197
|
+
constructor(e) {
|
|
198
|
+
p(this, e), this.init = m(this, "init", 7), this.loggedIn = m(this, "loggedIn", 7), this.loggedOut = m(this, "loggedOut", 7), this.handleAuthChange = async (t) => {
|
|
199
|
+
var o;
|
|
200
|
+
t ? this.loggedIn.emit(this.host) : this.loggedOut.emit(this.host).defaultPrevented || await ((o = this.nylasMailboxConnector) == null ? void 0 : o.logout());
|
|
201
|
+
}, this.automaticComponentRegistration = !0, this.eventOverrides = {}, this.authConfig = void 0, this.defaultAuthStoreState = void 0, this.defaultMailboxStoreState = void 0;
|
|
202
|
+
}
|
|
203
|
+
connectedCallback() {
|
|
204
|
+
h("[nylas-mailbox] connectedCallback");
|
|
205
|
+
}
|
|
206
|
+
async componentWillLoad() {
|
|
207
|
+
var n, s, a, r, l, C, v;
|
|
208
|
+
this.stores = {
|
|
209
|
+
auth: T(this.defaultAuthStoreState),
|
|
210
|
+
mailbox: O(this.defaultMailboxStoreState)
|
|
211
|
+
}, this.baseProvider = new P(this.host, this.stores, this.automaticComponentRegistration, this.eventOverrides), this.router = new I(), this.nylasAuth = L({
|
|
212
|
+
apiUri: "https://api.us.nylas.com",
|
|
213
|
+
elementsApiUri: "https://elements.us.nylas.com",
|
|
214
|
+
storageType: "indexeddb",
|
|
215
|
+
clientId: "YOUR_CLIENT_ID",
|
|
216
|
+
defaultScopes: [],
|
|
217
|
+
redirectURI: "/",
|
|
218
|
+
...this.authConfig
|
|
219
|
+
});
|
|
220
|
+
const e = (n = this.baseProvider) == null ? void 0 : n.getStore("auth");
|
|
221
|
+
if (!e)
|
|
222
|
+
throw new Error("Auth store is not defined");
|
|
223
|
+
const t = (s = this.baseProvider) == null ? void 0 : s.getStore("mailbox");
|
|
224
|
+
if (!t)
|
|
225
|
+
throw new Error("Mailbox store is not defined");
|
|
226
|
+
this.nylasMailboxConnector = new Y(this.router, this.nylasAuth, e, t), this.init.emit(this.host).defaultPrevented || await ((a = this.nylasMailboxConnector) == null ? void 0 : a.auth.validateSession()), (r = this.router) == null || r.addRouteChangeListener("/thread/:threadId", async (R, k, w) => {
|
|
227
|
+
var c, u;
|
|
228
|
+
const f = w.threadId, d = await ((c = this.nylasMailboxConnector) == null ? void 0 : c.threads.getThread(f));
|
|
229
|
+
d && ((u = this.nylasMailboxConnector) == null || u.mailboxStore.set("selectedThread", d));
|
|
230
|
+
}), (l = this.router) == null || l.addRouteChangeListener("/", async (R, k, w) => {
|
|
231
|
+
var d, c, u, S;
|
|
232
|
+
if (!e.state.isAuthenticated)
|
|
233
|
+
return;
|
|
234
|
+
(d = this.nylasMailboxConnector) == null || d.threads.unSelectThread(), (c = this.nylasMailboxConnector) == null || c.folders.getFolders();
|
|
235
|
+
const f = window.location.hash.split("?")[1];
|
|
236
|
+
if (f) {
|
|
237
|
+
const x = new URLSearchParams(f).get("query");
|
|
238
|
+
x && await ((u = this.nylasMailboxConnector) == null ? void 0 : u.threads.getThreads({
|
|
239
|
+
search_query_native: x,
|
|
240
|
+
page_token: void 0
|
|
241
|
+
}));
|
|
242
|
+
} else
|
|
243
|
+
(S = this.nylasMailboxConnector) == null || S.threads.getThreads();
|
|
244
|
+
}), (C = this.router) == null || C.init(), this.handleAuthChange(e.state.isAuthenticated), (v = this.baseProvider) == null || v.componentWillLoad(this.nylasMailboxConnector);
|
|
245
|
+
}
|
|
246
|
+
async componentDidLoad() {
|
|
247
|
+
var t, o;
|
|
248
|
+
const e = (t = this.baseProvider) == null ? void 0 : t.getStore("auth");
|
|
249
|
+
if (!e)
|
|
250
|
+
throw new Error("Auth store is not defined");
|
|
251
|
+
e.onChange("isAuthenticated", this.handleAuthChange), (o = this.baseProvider) == null || o.componentDidLoad();
|
|
252
|
+
}
|
|
253
|
+
componentDisconnected() {
|
|
254
|
+
var e;
|
|
255
|
+
(e = this.baseProvider) == null || e.componentDisconnected();
|
|
256
|
+
}
|
|
257
|
+
async registerComponentHandler(e) {
|
|
258
|
+
var t;
|
|
259
|
+
(t = this.baseProvider) == null || t.registerComponent(e.detail);
|
|
260
|
+
}
|
|
261
|
+
async unregisterComponentHandler(e) {
|
|
262
|
+
var t;
|
|
263
|
+
(t = this.baseProvider) == null || t.unregisterComponent(e.detail);
|
|
264
|
+
}
|
|
265
|
+
async getMailboxStore() {
|
|
266
|
+
var e;
|
|
267
|
+
return (e = this.baseProvider) == null ? void 0 : e.getStore("mailbox");
|
|
268
|
+
}
|
|
269
|
+
async getAuthStore() {
|
|
270
|
+
var e;
|
|
271
|
+
return (e = this.baseProvider) == null ? void 0 : e.getStore("auth");
|
|
272
|
+
}
|
|
273
|
+
async getNylasAuth() {
|
|
274
|
+
return this.nylasAuth;
|
|
275
|
+
}
|
|
276
|
+
async getNylasMailboxConnector() {
|
|
277
|
+
return this.nylasMailboxConnector;
|
|
278
|
+
}
|
|
279
|
+
render() {
|
|
280
|
+
return i(b, { key: "08e87a3218f672e8944102d626b690aefb3bab3f" }, i("slot", { key: "05ab1ca1539a00ea199bb9cb25c8b96af8d6ab66" }));
|
|
281
|
+
}
|
|
282
|
+
get host() {
|
|
283
|
+
return N(this);
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
q.style = V;
|
|
287
|
+
export {
|
|
288
|
+
M as nylas_if_state,
|
|
289
|
+
_ as nylas_login,
|
|
290
|
+
q as nylas_mailbox
|
|
291
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-29d0e781.cjs"),M=require("./register-component-55376f31-8d6ddee4.cjs"),h=require("./utils-5074a070-d5ba6add.cjs"),A=require("./index-2b85580a-bfc3ceac.cjs"),c=require("./mailbox-store-0019772c-d1254c5c.cjs");require("react");require("react-dom");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}",N=P;var L=function(e,t,n,s){var i=arguments.length,a=i<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(e,t,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},y=function(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)};const p=class{constructor(e){o.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(){h.debug("[nylas-if-state] Component will load"),this.watchStore(!0)}async componentDidLoad(){h.debug("[nylas-if-state] Component did load")}shouldRender(){const[e,t]=this.state?this.state.split("."):["",""],n=this.getStore;if(typeof n>"u")return h.debug(`[nylas-if-state] Store name: ${e} | State name: ${t}`,{getStore:n}),!1;const s=n(e);if(typeof s>"u")return h.debug(`[nylas-if-state] Store name: ${e} | State name: ${t}`,{store:s}),!1;const i=s.state[t];return typeof this.isStateSet=="boolean"?this.isStateSet===!1&&(typeof i>"u"||i===null||i.length===0)||this.isStateSet===!0&&typeof i<"u"&&i!==null:typeof this.isBoolean=="boolean"?this.isBoolean===!0&&typeof i<"u"&&i===!0||this.isBoolean===!1&&typeof i<"u"&&i===!1:!1}onGetStoreChange(){this.watchStore(!0)}watchStore(e=!1){const[t,n]=this.state?this.state.split("."):["",""],s=this.getStore;if(typeof s>"u")return h.debug(`[nylas-if-state] Store name: ${t} | State name: ${n}`,{getStore:s}),null;const i=s(t);if(typeof i>"u")return h.debug(`[nylas-if-state] Store name: ${t} | State name: ${n}`,{store:i}),null;e===!0&&this.initTransition(),i.onChange(n,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 o.h(o.Host,{key:"91d17bc89a09742106ef3bd9365c5ce48cf14e86"},o.h("div",{key:"9d0070be4bf5d9a5f405fc4a0733e6d832fa669a",class:this.classes},this.show&&o.h("slot",null)))}static get watchers(){return{getStore:["onGetStoreChange"]}}};L([M.RegisterComponent({name:"nylas-if-state",getStoresToProp:"getStore",fireRegisterEvent:!0}),y("design:type",Function),y("design:paramtypes",[]),y("design:returntype",void 0)],p.prototype,"render",null);p.style=N;const T=":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);}",I=T;var O=function(e,t,n,s){var i=arguments.length,a=i<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,n):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(e,t,n,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(a=(i<3?r(a):i>3?r(t,n,a):r(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},m=function(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)};const b=class{constructor(e){o.registerInstance(this,e),this.buttonClick=o.createEvent(this,"buttonClick",7),this._handleLoginRedirect=async()=>{var s;const t=await((s=this.nylasConnector)==null?void 0:s.auth.getHostedAuthRedirectURL(this.scopes));this.buttonClick.emit({url:t}).defaultPrevented||t&&(window.location.href=t)},this._onGoogleButtonClick=async t=>{var s;t.preventDefault();const n=await((s=this.nylasConnector)==null?void 0:s.auth.getHostedAuthRedirectURL(this.scopes,void 0,"google"));n&&(window.location.href=n)},this._onMicrosoftButtonClick=async t=>{var s;t.preventDefault();const n=await((s=this.nylasConnector)==null?void 0:s.auth.getHostedAuthRedirectURL(this.scopes,void 0,"microsoft"));n&&(window.location.href=n)},this._onFormSubmit=async t=>{var s;t.preventDefault();const n=await((s=this.nylasConnector)==null?void 0:s.auth.getHostedAuthRedirectURL(this.scopes,this.email));n&&(window.location.href=n)},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 t;await((t=this.nylasConnector)==null?void 0:t.auth.manageHostedAuthCodeExchange(window.location.href))&&window.history.replaceState({},document.title,window.location.pathname)}render(){var t;const e=((t=this.providers)==null?void 0:t.split(","))||[];return o.h(o.Host,{key:"734ebbbe5cf2ba3c08943a665a4724f59705da5b"},this.loginMethod==="redirect"&&o.h("div",{class:"redirect-container"},!this.isAuthenticated&&o.h("sp-button",{part:"button",onClick:this._handleLoginRedirect},this.buttonText)),this.loginMethod==="emebded"&&o.h("main",{class:"login-container"},o.h("section",{class:"login-box"},o.h("header",null,o.h("img",{src:this.logoUrl,alt:`${this.companyName} logo`,width:"100%",style:{minWidth:this.logoWidth}}),o.h("h1",null,"Welcome")),o.h("p",null,"Log in to your account to continue to ",this.companyName),o.h("div",{class:"login-methods"},e.includes("google")&&o.h("button",{class:"login-google",onClick:this._onGoogleButtonClick},o.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"},o.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"}),o.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"}),o.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"}),o.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"),e.includes("microsoft")&&o.h("button",{class:"login-microsoft",onClick:this._onMicrosoftButtonClick},o.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"},o.h("path",{fill:"#F3F3F3",d:"M0 32v192h192V32H0zm256 0v192h192V32H256zm192 256v192h-192V288h192zM0 224v192h192V224H0z"})),"Continue with Microsoft")),o.h("form",{class:"login-form",method:"POST",onSubmit:this._onFormSubmit},o.h("label",{htmlFor:"email"},"Email"),o.h("input",{type:"email",id:"email",name:"email",required:!0,value:this.email}),o.h("button",{type:"submit"},"Next")))))}};O([M.RegisterComponent({name:"nylas-login",connectorToProp:"nylasConnector",stateToProps:new Map([["auth.isAuthenticated","isAuthenticated"]]),fireRegisterEvent:!0}),m("design:type",Function),m("design:paramtypes",[]),m("design:returntype",void 0)],b.prototype,"render",null);b.style=I;class E{constructor(t,n,s,i){this.router=t,this.nylasAuth=n,this.nylasAuthStore=s,this.nylasMailboxStore=i}init(){h.debug("NylasMailboxConnector init")}get mailboxStore(){return this.nylasMailboxStore}get authStore(){return this.nylasAuthStore}get auth(){return this._authConnector?this._authConnector:(this._authConnector=new c.NylasAuthConnector(this.nylasAuth,this.nylasAuthStore),this._authConnector)}get threads(){return this._threadConnector?this._threadConnector:(this._threadConnector=new c.NylasThreadsConnector(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore,this.router),this._threadConnector)}get messages(){return this._messageConnector?this._messageConnector:(this._messageConnector=new c.NylasMessagesConnector(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore),this._messageConnector)}get folders(){return this._foldersConnector?this._foldersConnector:(this._foldersConnector=new c.NylasFoldersConnector(this.nylasAuth,this.nylasAuthStore,this.nylasMailboxStore),this._foldersConnector)}getAuth(){return this.nylasAuth}resetStores(){this.nylasMailboxStore.reset(),this.nylasAuthStore.reset()}async logout(){await this.nylasAuth.logout(),this.resetStores()}}const H=":host{display:contents}",B=H,_=class{constructor(e){o.registerInstance(this,e),this.init=o.createEvent(this,"init",7),this.loggedIn=o.createEvent(this,"loggedIn",7),this.loggedOut=o.createEvent(this,"loggedOut",7),this.handleAuthChange=async t=>{var n;t?this.loggedIn.emit(this.host):this.loggedOut.emit(this.host).defaultPrevented||await((n=this.nylasMailboxConnector)==null?void 0:n.logout())},this.automaticComponentRegistration=!0,this.eventOverrides={},this.authConfig=void 0,this.defaultAuthStoreState=void 0,this.defaultMailboxStoreState=void 0}connectedCallback(){h.debug("[nylas-mailbox] connectedCallback")}async componentWillLoad(){var s,i,a,r,l,v,C;this.stores={auth:c.CreateNylasAuthStore(this.defaultAuthStoreState),mailbox:c.CreateNylasMailboxStore(this.defaultMailboxStoreState)},this.baseProvider=new A.NylasBaseProvider(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides),this.router=new c.HashRouter,this.nylasAuth=A.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=(s=this.baseProvider)==null?void 0:s.getStore("auth");if(!e)throw new Error("Auth store is not defined");const t=(i=this.baseProvider)==null?void 0:i.getStore("mailbox");if(!t)throw new Error("Mailbox store is not defined");this.nylasMailboxConnector=new E(this.router,this.nylasAuth,e,t),this.init.emit(this.host).defaultPrevented||await((a=this.nylasMailboxConnector)==null?void 0:a.auth.validateSession()),(r=this.router)==null||r.addRouteChangeListener("/thread/:threadId",async(R,k,w)=>{var u,f;const g=w.threadId,d=await((u=this.nylasMailboxConnector)==null?void 0:u.threads.getThread(g));d&&((f=this.nylasMailboxConnector)==null||f.mailboxStore.set("selectedThread",d))}),(l=this.router)==null||l.addRouteChangeListener("/",async(R,k,w)=>{var d,u,f,S;if(!e.state.isAuthenticated)return;(d=this.nylasMailboxConnector)==null||d.threads.unSelectThread(),(u=this.nylasMailboxConnector)==null||u.folders.getFolders();const g=window.location.hash.split("?")[1];if(g){const x=new URLSearchParams(g).get("query");x&&await((f=this.nylasMailboxConnector)==null?void 0:f.threads.getThreads({search_query_native:x,page_token:void 0}))}else(S=this.nylasMailboxConnector)==null||S.threads.getThreads()}),(v=this.router)==null||v.init(),this.handleAuthChange(e.state.isAuthenticated),(C=this.baseProvider)==null||C.componentWillLoad(this.nylasMailboxConnector)}async componentDidLoad(){var t,n;const e=(t=this.baseProvider)==null?void 0:t.getStore("auth");if(!e)throw new Error("Auth store is not defined");e.onChange("isAuthenticated",this.handleAuthChange),(n=this.baseProvider)==null||n.componentDidLoad()}componentDisconnected(){var e;(e=this.baseProvider)==null||e.componentDisconnected()}async registerComponentHandler(e){var t;(t=this.baseProvider)==null||t.registerComponent(e.detail)}async unregisterComponentHandler(e){var t;(t=this.baseProvider)==null||t.unregisterComponent(e.detail)}async getMailboxStore(){var e;return(e=this.baseProvider)==null?void 0:e.getStore("mailbox")}async getAuthStore(){var e;return(e=this.baseProvider)==null?void 0:e.getStore("auth")}async getNylasAuth(){return this.nylasAuth}async getNylasMailboxConnector(){return this.nylasMailboxConnector}render(){return o.h(o.Host,{key:"08e87a3218f672e8944102d626b690aefb3bab3f"},o.h("slot",{key:"05ab1ca1539a00ea199bb9cb25c8b96af8d6ab66"}))}get host(){return o.getElement(this)}};_.style=B;exports.nylas_if_state=p;exports.nylas_login=b;exports.nylas_mailbox=_;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { r as u, c as p, h as s, F as h, H as y } from "./index-4f65b6f9.js";
|
|
2
|
+
import { R as b } from "./register-component-55376f31-5eaf8954.js";
|
|
3
|
+
import { d, t as F, f } from "./utils-5074a070-ce33ee6b.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import "react-dom";
|
|
6
|
+
const g = ":host{display:block}.folders{display:flex;flex-direction:column;align-items:self-start}.folders .folder{border:1px solid var(--nylas-color-primary-100);padding:0.5rem 0.75rem;margin-bottom:0.5rem;justify-content:left;width:100%;min-width:200px;border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-50)}.folders .folder:last-child{margin-bottom:0}.folders .folder.selected{background-color:var(--nylas-color-primary-100)}.folders .folder .icon{margin-right:0.5rem;stroke:var(--nylas-color-primary-900);fill:none}hr{width:100%;margin:1rem 0;border:0;border-top:1px solid var(--nylas-color-primary-100)}", C = g;
|
|
7
|
+
var v = function(r, t, e, o) {
|
|
8
|
+
var l = arguments.length, n = l < 3 ? t : o === null ? o = Object.getOwnPropertyDescriptor(t, e) : o, a;
|
|
9
|
+
if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
|
|
10
|
+
n = Reflect.decorate(r, t, e, o);
|
|
11
|
+
else
|
|
12
|
+
for (var i = r.length - 1; i >= 0; i--)
|
|
13
|
+
(a = r[i]) && (n = (l < 3 ? a(n) : l > 3 ? a(t, e, n) : a(t, e)) || n);
|
|
14
|
+
return l > 3 && n && Object.defineProperty(t, e, n), n;
|
|
15
|
+
}, c = function(r, t) {
|
|
16
|
+
if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
|
|
17
|
+
return Reflect.metadata(r, t);
|
|
18
|
+
};
|
|
19
|
+
const m = class {
|
|
20
|
+
constructor(r) {
|
|
21
|
+
u(this, r), this.folderSelected = p(this, "folderSelected", 7), this.folderSelectedHandler = (t) => {
|
|
22
|
+
var e;
|
|
23
|
+
(e = this.folderSelected) == null || e.emit(t);
|
|
24
|
+
}, this.folders = void 0, this.selectedFolder = void 0, this.defaultFolders = void 0, this.otherFolders = void 0;
|
|
25
|
+
}
|
|
26
|
+
connectedCallback() {
|
|
27
|
+
}
|
|
28
|
+
disconnectedCallback() {
|
|
29
|
+
}
|
|
30
|
+
async componentWillLoad() {
|
|
31
|
+
d("[nylas-list-folders] Component will load");
|
|
32
|
+
}
|
|
33
|
+
async componentDidLoad() {
|
|
34
|
+
d("[nylas-list-folders] Component did load");
|
|
35
|
+
}
|
|
36
|
+
watchFolders(r) {
|
|
37
|
+
d("[nylas-list-folders] watchFolders", { newFolders: r });
|
|
38
|
+
const t = ["inbox", "drafts", "sent", "starred", "spam", "archive", "trash"];
|
|
39
|
+
this.defaultFolders = t.filter((e) => r.find((o) => {
|
|
40
|
+
var l;
|
|
41
|
+
return ((l = o.name) == null ? void 0 : l.toLowerCase()) === e.toLowerCase();
|
|
42
|
+
})).map((e) => r.find((o) => {
|
|
43
|
+
var l;
|
|
44
|
+
return ((l = o.name) == null ? void 0 : l.toLowerCase()) === e.toLowerCase();
|
|
45
|
+
})).filter((e) => typeof e < "u").sort((e, o) => t.indexOf((e == null ? void 0 : e.name) ?? "") - t.indexOf((o == null ? void 0 : o.name) ?? "")), this.otherFolders = r.filter((e) => !t.find((o) => {
|
|
46
|
+
var l;
|
|
47
|
+
return ((l = e.name) == null ? void 0 : l.toLowerCase()) === o.toLowerCase();
|
|
48
|
+
})).sort((e, o) => (e.name ?? "").localeCompare(o.name ?? ""));
|
|
49
|
+
}
|
|
50
|
+
formatFolderName(r) {
|
|
51
|
+
var t;
|
|
52
|
+
return F(((t = r.name) == null ? void 0 : t.replace("CATEGORY_", "")) ?? "Unknown");
|
|
53
|
+
}
|
|
54
|
+
getFolderIcon(r) {
|
|
55
|
+
var t;
|
|
56
|
+
switch ((t = r.name) == null ? void 0 : t.toLowerCase()) {
|
|
57
|
+
case "inbox":
|
|
58
|
+
return s("inbox-icon", null);
|
|
59
|
+
case "drafts":
|
|
60
|
+
return s("drafts-icon", null);
|
|
61
|
+
case "sent":
|
|
62
|
+
return s("sent-icon", null);
|
|
63
|
+
case "starred":
|
|
64
|
+
return s("star-icon", null);
|
|
65
|
+
case "spam":
|
|
66
|
+
return s("spam-icon", null);
|
|
67
|
+
case "archive":
|
|
68
|
+
return s("archive-icon", null);
|
|
69
|
+
case "trash":
|
|
70
|
+
return s("trash-icon", null);
|
|
71
|
+
default:
|
|
72
|
+
return s("folder-icon", null);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
render() {
|
|
76
|
+
var r, t;
|
|
77
|
+
return s(y, { key: "68480d02623588939b4223197e10c567d0ee8bf7" }, s("div", { key: "840ceb51b17a2681b8c1b5717a26513afbb0db02", class: "folders" }, (r = this.defaultFolders) == null ? void 0 : r.map((e) => {
|
|
78
|
+
var o;
|
|
79
|
+
return s("sp-button", { onClick: () => this.folderSelectedHandler(e), class: {
|
|
80
|
+
folder: !0,
|
|
81
|
+
selected: f(e.name ?? "inbox").toLowerCase() === ((o = this.selectedFolder) == null ? void 0 : o.toLowerCase())
|
|
82
|
+
} }, s("div", { slot: "icon", class: "icon" }, this.getFolderIcon(e)), this.formatFolderName(e));
|
|
83
|
+
})), this.otherFolders && s(h, null, s("hr", null), s("div", { class: "folders" }, (t = this.otherFolders) == null ? void 0 : t.map((e) => {
|
|
84
|
+
var o;
|
|
85
|
+
return s("sp-button", { onClick: () => this.folderSelectedHandler(e), class: {
|
|
86
|
+
folder: !0,
|
|
87
|
+
selected: f(e.name ?? "inbox").toLowerCase() === ((o = this.selectedFolder) == null ? void 0 : o.toLowerCase())
|
|
88
|
+
} }, s("div", { slot: "icon", class: "icon" }, this.getFolderIcon(e)), this.formatFolderName(e));
|
|
89
|
+
}))));
|
|
90
|
+
}
|
|
91
|
+
static get watchers() {
|
|
92
|
+
return {
|
|
93
|
+
folders: ["watchFolders"]
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
v([
|
|
98
|
+
b({
|
|
99
|
+
name: "nylas-pagination",
|
|
100
|
+
stateToProps: /* @__PURE__ */ new Map([
|
|
101
|
+
["mailbox.folders", "folders"],
|
|
102
|
+
["mailbox.selectedFolder", "selectedFolder"]
|
|
103
|
+
]),
|
|
104
|
+
eventToProps: {
|
|
105
|
+
folderSelected: async (r, t) => {
|
|
106
|
+
d("[nylas-list-folders] folderSelected event", { _event: r }), await t.threads.getThreads({
|
|
107
|
+
page_token: void 0,
|
|
108
|
+
in: f(r.detail.id ?? "inbox")
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
fireRegisterEvent: !0
|
|
113
|
+
}),
|
|
114
|
+
c("design:type", Function),
|
|
115
|
+
c("design:paramtypes", []),
|
|
116
|
+
c("design:returntype", void 0)
|
|
117
|
+
], m.prototype, "render", null);
|
|
118
|
+
m.style = C;
|
|
119
|
+
export {
|
|
120
|
+
m as nylas_list_folders
|
|
121
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./index-29d0e781.cjs"),u=require("./register-component-55376f31-8d6ddee4.cjs"),a=require("./utils-5074a070-d5ba6add.cjs");require("react");require("react-dom");const h=":host{display:block}.folders{display:flex;flex-direction:column;align-items:self-start}.folders .folder{border:1px solid var(--nylas-color-primary-100);padding:0.5rem 0.75rem;margin-bottom:0.5rem;justify-content:left;width:100%;min-width:200px;border-radius:var(--nylas-border-radius);background-color:var(--nylas-color-primary-50)}.folders .folder:last-child{margin-bottom:0}.folders .folder.selected{background-color:var(--nylas-color-primary-100)}.folders .folder .icon{margin-right:0.5rem;stroke:var(--nylas-color-primary-900);fill:none}hr{width:100%;margin:1rem 0;border:0;border-top:1px solid var(--nylas-color-primary-100)}",m=h;var p=function(t,r,e,o){var s=arguments.length,n=s<3?r:o===null?o=Object.getOwnPropertyDescriptor(r,e):o,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,r,e,o);else for(var i=t.length-1;i>=0;i--)(d=t[i])&&(n=(s<3?d(n):s>3?d(r,e,n):d(r,e))||n);return s>3&&n&&Object.defineProperty(r,e,n),n},c=function(t,r){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,r)};const f=class{constructor(t){l.registerInstance(this,t),this.folderSelected=l.createEvent(this,"folderSelected",7),this.folderSelectedHandler=r=>{var e;(e=this.folderSelected)==null||e.emit(r)},this.folders=void 0,this.selectedFolder=void 0,this.defaultFolders=void 0,this.otherFolders=void 0}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){a.debug("[nylas-list-folders] Component will load")}async componentDidLoad(){a.debug("[nylas-list-folders] Component did load")}watchFolders(t){a.debug("[nylas-list-folders] watchFolders",{newFolders:t});const r=["inbox","drafts","sent","starred","spam","archive","trash"];this.defaultFolders=r.filter(e=>t.find(o=>{var s;return((s=o.name)==null?void 0:s.toLowerCase())===e.toLowerCase()})).map(e=>t.find(o=>{var s;return((s=o.name)==null?void 0:s.toLowerCase())===e.toLowerCase()})).filter(e=>typeof e<"u").sort((e,o)=>r.indexOf((e==null?void 0:e.name)??"")-r.indexOf((o==null?void 0:o.name)??"")),this.otherFolders=t.filter(e=>!r.find(o=>{var s;return((s=e.name)==null?void 0:s.toLowerCase())===o.toLowerCase()})).sort((e,o)=>(e.name??"").localeCompare(o.name??""))}formatFolderName(t){var r;return a.toTitleCase(((r=t.name)==null?void 0:r.replace("CATEGORY_",""))??"Unknown")}getFolderIcon(t){var r;switch((r=t.name)==null?void 0:r.toLowerCase()){case"inbox":return l.h("inbox-icon",null);case"drafts":return l.h("drafts-icon",null);case"sent":return l.h("sent-icon",null);case"starred":return l.h("star-icon",null);case"spam":return l.h("spam-icon",null);case"archive":return l.h("archive-icon",null);case"trash":return l.h("trash-icon",null);default:return l.h("folder-icon",null)}}render(){var t,r;return l.h(l.Host,{key:"68480d02623588939b4223197e10c567d0ee8bf7"},l.h("div",{key:"840ceb51b17a2681b8c1b5717a26513afbb0db02",class:"folders"},(t=this.defaultFolders)==null?void 0:t.map(e=>{var o;return l.h("sp-button",{onClick:()=>this.folderSelectedHandler(e),class:{folder:!0,selected:a.formatFolderName(e.name??"inbox").toLowerCase()===((o=this.selectedFolder)==null?void 0:o.toLowerCase())}},l.h("div",{slot:"icon",class:"icon"},this.getFolderIcon(e)),this.formatFolderName(e))})),this.otherFolders&&l.h(l.Fragment,null,l.h("hr",null),l.h("div",{class:"folders"},(r=this.otherFolders)==null?void 0:r.map(e=>{var o;return l.h("sp-button",{onClick:()=>this.folderSelectedHandler(e),class:{folder:!0,selected:a.formatFolderName(e.name??"inbox").toLowerCase()===((o=this.selectedFolder)==null?void 0:o.toLowerCase())}},l.h("div",{slot:"icon",class:"icon"},this.getFolderIcon(e)),this.formatFolderName(e))}))))}static get watchers(){return{folders:["watchFolders"]}}};p([u.RegisterComponent({name:"nylas-pagination",stateToProps:new Map([["mailbox.folders","folders"],["mailbox.selectedFolder","selectedFolder"]]),eventToProps:{folderSelected:async(t,r)=>{a.debug("[nylas-list-folders] folderSelected event",{_event:t}),await r.threads.getThreads({page_token:void 0,in:a.formatFolderName(t.detail.id??"inbox")})}},fireRegisterEvent:!0}),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],f.prototype,"render",null);f.style=m;exports.nylas_list_folders=f;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { r as m, c as u, h as a, H as h } from "./index-4f65b6f9.js";
|
|
2
|
+
import { R as y } from "./register-component-55376f31-5eaf8954.js";
|
|
3
|
+
import { d as n, a as f, b } from "./utils-5074a070-ce33ee6b.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import "react-dom";
|
|
6
|
+
const v = ':host{display:block;font-size:var(--nylas-font-size, inherit);font-family:var(--nylas-font-family, inherit)}.list-thread{display:grid;grid-auto-flow:row;color:var(--nylas-color-primary-800);width:100%}.thread{position:relative;width:100%;display:grid;padding:0.5rem 1rem;column-gap:0.25rem;grid-template-areas:"........ from count ....... date actions" "checkbox subject subject subject subject actions" "........ snippet snippet snippet snippet actions";grid-template-columns:auto auto auto auto auto auto;margin-bottom:0.75rem;border-radius:var(--nylas-border-radius-2x);color:var(--nylas-color-primary-00);background-color:var(--nylas-color-primary-50);border:0;box-sizing:border-box;text-align:left;cursor:pointer;box-shadow:1px 1px 3px 0px rgba(0, 0, 0, 0.3);font-size:inherit;font-family:inherit}.thread.loading{animation:pulsate 1.5s infinite ease-in-out;width:100%;height:90px}.thread:last-of-type{margin-bottom:0}.thread.selected{box-shadow:0 2px 0 0 var(--nylas-color-primary-200);background-color:var(--nylas-color-primary-100)}.thread:hover{box-shadow:0 2px 0 0 var(--nylas-color-primary-200);background-color:var(--nylas-color-primary-100)}.thread>div{align-self:center;pointer-events:all !important}.thread .actions{grid-area:actions}.thread .actions sp-action-menu{pointer-events:initial !important}.thread .actions sp-action-button{pointer-events:initial !important}.thread .actions sp-menu-item{pointer-events:initial !important}.thread .checkbox{grid-area:checkbox;margin-right:0.5rem;pointer-events:initial !important}.thread .checkbox sp-checkbox{pointer-events:initial !important}.thread .star{grid-area:star;justify-self:end}.thread .from{grid-area:from;color:var(--nylas-color-primary-600)}.thread .count{grid-area:count;color:var(--nylas-color-primary-600)}.thread .subject{grid-area:subject;color:var(--nylas-color-primary-600)}.thread .snippet{grid-area:snippet;color:var(--nylas-color-primary-500)}.thread .date{grid-area:date;align-self:center;color:var(--nylas-color-primary-500)}.thread.unread .from,.thread.unread .count,.thread.unread .subject,.thread.unread .date{font-weight:600;color:var(--nylas-color-primary-800)}.thread.unread .snippet{color:var(--nylas-color-primary-700)}.thread .from{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread .snippet{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread .subject{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (min-width: 768px){.thread{column-gap:1rem;grid-template-areas:"checkbox from count subject snippet date actions";grid-template-columns:auto minmax(auto, 200px) auto auto 1fr auto auto;margin-bottom:0.5rem;border:1px solid var(--nylas-color-primary-100)}.thread.no-checkbox{grid-template-areas:"from count subject snippet date actions";grid-template-columns:minmax(auto, 200px) auto auto 1fr auto auto}.thread .checkbox{margin-right:0}}@keyframes pulsate{0%{background-color:var(--nylas-color-primary-50)}50%{background-color:var(--nylas-color-primary-100)}100%{background-color:var(--nylas-color-primary-50)}}', g = v;
|
|
7
|
+
var x = function(e, t, r, i) {
|
|
8
|
+
var s = arguments.length, o = s < 3 ? t : i === null ? i = Object.getOwnPropertyDescriptor(t, r) : i, l;
|
|
9
|
+
if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
|
|
10
|
+
o = Reflect.decorate(e, t, r, i);
|
|
11
|
+
else
|
|
12
|
+
for (var c = e.length - 1; c >= 0; c--)
|
|
13
|
+
(l = e[c]) && (o = (s < 3 ? l(o) : s > 3 ? l(t, r, o) : l(t, r)) || o);
|
|
14
|
+
return s > 3 && o && Object.defineProperty(t, r, o), o;
|
|
15
|
+
}, d = function(e, t) {
|
|
16
|
+
if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
|
|
17
|
+
return Reflect.metadata(e, t);
|
|
18
|
+
};
|
|
19
|
+
const p = class {
|
|
20
|
+
constructor(e) {
|
|
21
|
+
m(this, e), this.threadSelected = u(this, "threadSelected", 7), this.handleThreadSelected = async (t) => {
|
|
22
|
+
n("[nylas-list-threads] Thread selected", { thread: t }), this.threadSelected.emit(t).defaultPrevented || n("[nylas-list-threads] Default event not prevented, selecting thread");
|
|
23
|
+
}, this.handleCheckboxClick = async (t) => {
|
|
24
|
+
n("[nylas-list-threads] Checkbox clicked", { event: t }), t.stopPropagation();
|
|
25
|
+
}, this.threads = [], this.isAuthenticated = !1, this.tokenInfo = void 0, this.state = "ready", this.showCheckbox = !1;
|
|
26
|
+
}
|
|
27
|
+
connectedCallback() {
|
|
28
|
+
}
|
|
29
|
+
disconnectedCallback() {
|
|
30
|
+
}
|
|
31
|
+
async componentWillLoad() {
|
|
32
|
+
n("[nylas-list-threads] Component will load");
|
|
33
|
+
}
|
|
34
|
+
async componentDidLoad() {
|
|
35
|
+
n("[nylas-list-threads] Component did load", { isAuthenticated: this.isAuthenticated });
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
return a(h, { key: "f8224d16a4bbf0202ae3bece1840871ad278b747" }, a("div", { key: "266e3536d199a4de04abfd57c0d4f8ea2bb84d95", class: "list-thread", part: "list-thread" }, this.state === "loading" && new Array(10).fill(0).map((e, t) => a("div", { class: "thread loading", style: { animationDelay: `${t * 20}ms` } })), this.state === "ready" && this.threads.map((e) => {
|
|
39
|
+
var t, r, i, s;
|
|
40
|
+
return a("button", { key: e == null ? void 0 : e.id, class: {
|
|
41
|
+
thread: !0,
|
|
42
|
+
unread: (e == null ? void 0 : e.unread) === !0,
|
|
43
|
+
"no-checkbox": this.showCheckbox === !1
|
|
44
|
+
}, part: "thread", "aria-label": `Thread with subject ${e == null ? void 0 : e.subject}`, onClick: () => this.handleThreadSelected(e) }, this.showCheckbox && a("div", { class: "checkbox", part: "checkbox" }, a("sp-checkbox", { size: "s", value: e == null ? void 0 : e.id, onClick: this.handleCheckboxClick })), a("div", { class: "from", part: "from" }, f(e.participants ?? [], (t = this.tokenInfo) == null ? void 0 : t.email, ((r = e == null ? void 0 : e.message_ids) == null ? void 0 : r.length) || 1, 1)), a("div", { class: "subject", part: "subject" }, e == null ? void 0 : e.subject), a("div", { class: "count", part: "count" }, ((i = e == null ? void 0 : e.message_ids) == null ? void 0 : i.length) || 1), a("div", { class: "snippet", part: "snippet" }, (s = e == null ? void 0 : e.snippet) == null ? void 0 : s.trim()), e.latest_message_received_date && a("div", { class: "date", "aria-label": `${Intl.DateTimeFormat(void 0, { dateStyle: "full" }).format(new Date(e.latest_message_received_date * 1e3))}`, part: "date" }, b(e.latest_message_received_date)));
|
|
45
|
+
})));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
x([
|
|
49
|
+
y({
|
|
50
|
+
name: "nylas-list-threads",
|
|
51
|
+
stateToProps: /* @__PURE__ */ new Map([
|
|
52
|
+
["auth.isAuthenticated", "isAuthenticated"],
|
|
53
|
+
["auth.tokenInfo", "tokenInfo"],
|
|
54
|
+
["mailbox.threads", "threads"],
|
|
55
|
+
["mailbox.state", "state"]
|
|
56
|
+
]),
|
|
57
|
+
eventToProps: {
|
|
58
|
+
threadSelected: async (e, t) => {
|
|
59
|
+
n("[nylas-list-threads] Thread selected", { event: e }), await t.threads.selectThread(e.detail);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
fireRegisterEvent: !0
|
|
63
|
+
}),
|
|
64
|
+
d("design:type", Function),
|
|
65
|
+
d("design:paramtypes", []),
|
|
66
|
+
d("design:returntype", void 0)
|
|
67
|
+
], p.prototype, "render", null);
|
|
68
|
+
p.style = g;
|
|
69
|
+
export {
|
|
70
|
+
p as nylas_list_threads
|
|
71
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index-29d0e781.cjs"),u=require("./register-component-55376f31-8d6ddee4.cjs"),i=require("./utils-5074a070-d5ba6add.cjs");require("react");require("react-dom");const h=':host{display:block;font-size:var(--nylas-font-size, inherit);font-family:var(--nylas-font-family, inherit)}.list-thread{display:grid;grid-auto-flow:row;color:var(--nylas-color-primary-800);width:100%}.thread{position:relative;width:100%;display:grid;padding:0.5rem 1rem;column-gap:0.25rem;grid-template-areas:"........ from count ....... date actions" "checkbox subject subject subject subject actions" "........ snippet snippet snippet snippet actions";grid-template-columns:auto auto auto auto auto auto;margin-bottom:0.75rem;border-radius:var(--nylas-border-radius-2x);color:var(--nylas-color-primary-00);background-color:var(--nylas-color-primary-50);border:0;box-sizing:border-box;text-align:left;cursor:pointer;box-shadow:1px 1px 3px 0px rgba(0, 0, 0, 0.3);font-size:inherit;font-family:inherit}.thread.loading{animation:pulsate 1.5s infinite ease-in-out;width:100%;height:90px}.thread:last-of-type{margin-bottom:0}.thread.selected{box-shadow:0 2px 0 0 var(--nylas-color-primary-200);background-color:var(--nylas-color-primary-100)}.thread:hover{box-shadow:0 2px 0 0 var(--nylas-color-primary-200);background-color:var(--nylas-color-primary-100)}.thread>div{align-self:center;pointer-events:all !important}.thread .actions{grid-area:actions}.thread .actions sp-action-menu{pointer-events:initial !important}.thread .actions sp-action-button{pointer-events:initial !important}.thread .actions sp-menu-item{pointer-events:initial !important}.thread .checkbox{grid-area:checkbox;margin-right:0.5rem;pointer-events:initial !important}.thread .checkbox sp-checkbox{pointer-events:initial !important}.thread .star{grid-area:star;justify-self:end}.thread .from{grid-area:from;color:var(--nylas-color-primary-600)}.thread .count{grid-area:count;color:var(--nylas-color-primary-600)}.thread .subject{grid-area:subject;color:var(--nylas-color-primary-600)}.thread .snippet{grid-area:snippet;color:var(--nylas-color-primary-500)}.thread .date{grid-area:date;align-self:center;color:var(--nylas-color-primary-500)}.thread.unread .from,.thread.unread .count,.thread.unread .subject,.thread.unread .date{font-weight:600;color:var(--nylas-color-primary-800)}.thread.unread .snippet{color:var(--nylas-color-primary-700)}.thread .from{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread .snippet{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread .subject{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (min-width: 768px){.thread{column-gap:1rem;grid-template-areas:"checkbox from count subject snippet date actions";grid-template-columns:auto minmax(auto, 200px) auto auto 1fr auto auto;margin-bottom:0.5rem;border:1px solid var(--nylas-color-primary-100)}.thread.no-checkbox{grid-template-areas:"from count subject snippet date actions";grid-template-columns:minmax(auto, 200px) auto auto 1fr auto auto}.thread .checkbox{margin-right:0}}@keyframes pulsate{0%{background-color:var(--nylas-color-primary-50)}50%{background-color:var(--nylas-color-primary-100)}100%{background-color:var(--nylas-color-primary-50)}}',m=h;var y=function(e,t,r,s){var n=arguments.length,o=n<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,r):s,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,r,s);else for(var c=e.length-1;c>=0;c--)(l=e[c])&&(o=(n<3?l(o):n>3?l(t,r,o):l(t,r))||o);return n>3&&o&&Object.defineProperty(t,r,o),o},d=function(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)};const p=class{constructor(e){a.registerInstance(this,e),this.threadSelected=a.createEvent(this,"threadSelected",7),this.handleThreadSelected=async t=>{i.debug("[nylas-list-threads] Thread selected",{thread:t}),this.threadSelected.emit(t).defaultPrevented||i.debug("[nylas-list-threads] Default event not prevented, selecting thread")},this.handleCheckboxClick=async t=>{i.debug("[nylas-list-threads] Checkbox clicked",{event:t}),t.stopPropagation()},this.threads=[],this.isAuthenticated=!1,this.tokenInfo=void 0,this.state="ready",this.showCheckbox=!1}connectedCallback(){}disconnectedCallback(){}async componentWillLoad(){i.debug("[nylas-list-threads] Component will load")}async componentDidLoad(){i.debug("[nylas-list-threads] Component did load",{isAuthenticated:this.isAuthenticated})}render(){return a.h(a.Host,{key:"f8224d16a4bbf0202ae3bece1840871ad278b747"},a.h("div",{key:"266e3536d199a4de04abfd57c0d4f8ea2bb84d95",class:"list-thread",part:"list-thread"},this.state==="loading"&&new Array(10).fill(0).map((e,t)=>a.h("div",{class:"thread loading",style:{animationDelay:`${t*20}ms`}})),this.state==="ready"&&this.threads.map(e=>{var t,r,s,n;return a.h("button",{key:e==null?void 0:e.id,class:{thread:!0,unread:(e==null?void 0:e.unread)===!0,"no-checkbox":this.showCheckbox===!1},part:"thread","aria-label":`Thread with subject ${e==null?void 0:e.subject}`,onClick:()=>this.handleThreadSelected(e)},this.showCheckbox&&a.h("div",{class:"checkbox",part:"checkbox"},a.h("sp-checkbox",{size:"s",value:e==null?void 0:e.id,onClick:this.handleCheckboxClick})),a.h("div",{class:"from",part:"from"},i.formatParticipants(e.participants??[],(t=this.tokenInfo)==null?void 0:t.email,((r=e==null?void 0:e.message_ids)==null?void 0:r.length)||1,1)),a.h("div",{class:"subject",part:"subject"},e==null?void 0:e.subject),a.h("div",{class:"count",part:"count"},((s=e==null?void 0:e.message_ids)==null?void 0:s.length)||1),a.h("div",{class:"snippet",part:"snippet"},(n=e==null?void 0:e.snippet)==null?void 0:n.trim()),e.latest_message_received_date&&a.h("div",{class:"date","aria-label":`${Intl.DateTimeFormat(void 0,{dateStyle:"full"}).format(new Date(e.latest_message_received_date*1e3))}`,part:"date"},i.formatDateTime(e.latest_message_received_date)))})))}};y([u.RegisterComponent({name:"nylas-list-threads",stateToProps:new Map([["auth.isAuthenticated","isAuthenticated"],["auth.tokenInfo","tokenInfo"],["mailbox.threads","threads"],["mailbox.state","state"]]),eventToProps:{threadSelected:async(e,t)=>{i.debug("[nylas-list-threads] Thread selected",{event:e}),await t.threads.selectThread(e.detail)}},fireRegisterEvent:!0}),d("design:type",Function),d("design:paramtypes",[]),d("design:returntype",void 0)],p.prototype,"render",null);p.style=m;exports.nylas_list_threads=p;
|