@gamention/pulse-elements 0.1.14 → 0.1.15
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/dist/pulse-elements.cjs +105 -101
- package/dist/pulse-elements.js +660 -566
- package/package.json +1 -1
package/dist/pulse-elements.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2021 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
5
|
*/
|
|
6
|
-
let
|
|
6
|
+
let yt = class extends Event {
|
|
7
7
|
constructor(e, t, i, s) {
|
|
8
8
|
super("context-request", { bubbles: !0, composed: !0 }), this.context = e, this.contextTarget = t, this.callback = i, this.subscribe = s ?? !1;
|
|
9
9
|
}
|
|
@@ -18,7 +18,7 @@ let vt = class extends Event {
|
|
|
18
18
|
* Copyright 2021 Google LLC
|
|
19
19
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
20
20
|
*/
|
|
21
|
-
let
|
|
21
|
+
let Ye = class {
|
|
22
22
|
constructor(e, t, i, s) {
|
|
23
23
|
if (this.subscribe = !1, this.provided = !1, this.value = void 0, this.t = (o, r) => {
|
|
24
24
|
this.unsubscribe && (this.unsubscribe !== r && (this.provided = !1, this.unsubscribe()), this.subscribe || this.unsubscribe()), this.value = o, this.host.requestUpdate(), this.provided && !this.subscribe || (this.provided = !0, this.callback && this.callback(o, r)), this.unsubscribe = r;
|
|
@@ -35,7 +35,7 @@ let We = class {
|
|
|
35
35
|
this.unsubscribe && (this.unsubscribe(), this.unsubscribe = void 0);
|
|
36
36
|
}
|
|
37
37
|
dispatchRequest() {
|
|
38
|
-
this.host.dispatchEvent(new
|
|
38
|
+
this.host.dispatchEvent(new yt(this.context, this.host, this.t, this.subscribe));
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
@@ -43,7 +43,7 @@ let We = class {
|
|
|
43
43
|
* Copyright 2021 Google LLC
|
|
44
44
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
45
45
|
*/
|
|
46
|
-
let
|
|
46
|
+
let It = class {
|
|
47
47
|
get value() {
|
|
48
48
|
return this.o;
|
|
49
49
|
}
|
|
@@ -76,11 +76,11 @@ let At = class {
|
|
|
76
76
|
* Copyright 2021 Google LLC
|
|
77
77
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
78
78
|
*/
|
|
79
|
-
let
|
|
79
|
+
let Mt = class extends Event {
|
|
80
80
|
constructor(e, t) {
|
|
81
81
|
super("context-provider", { bubbles: !0, composed: !0 }), this.context = e, this.contextTarget = t;
|
|
82
82
|
}
|
|
83
|
-
},
|
|
83
|
+
}, Ke = class extends It {
|
|
84
84
|
constructor(e, t, i) {
|
|
85
85
|
var s, o;
|
|
86
86
|
super(t.context !== void 0 ? t.initialValue : i), this.onContextRequest = (r) => {
|
|
@@ -90,7 +90,7 @@ let It = class extends Event {
|
|
|
90
90
|
}, this.onProviderRequest = (r) => {
|
|
91
91
|
if (r.context !== this.context || (r.contextTarget ?? r.composedPath()[0]) === this.host) return;
|
|
92
92
|
const l = /* @__PURE__ */ new Set();
|
|
93
|
-
for (const [a, { consumerHost: c }] of this.subscriptions) l.has(a) || (l.add(a), c.dispatchEvent(new
|
|
93
|
+
for (const [a, { consumerHost: c }] of this.subscriptions) l.has(a) || (l.add(a), c.dispatchEvent(new yt(this.context, c, a, !0)));
|
|
94
94
|
r.stopPropagation();
|
|
95
95
|
}, this.host = e, t.context !== void 0 ? this.context = t.context : this.context = t, this.attachListeners(), (o = (s = this.host).addController) == null || o.call(s, this);
|
|
96
96
|
}
|
|
@@ -98,7 +98,7 @@ let It = class extends Event {
|
|
|
98
98
|
this.host.addEventListener("context-request", this.onContextRequest), this.host.addEventListener("context-provider", this.onProviderRequest);
|
|
99
99
|
}
|
|
100
100
|
hostConnected() {
|
|
101
|
-
this.host.dispatchEvent(new
|
|
101
|
+
this.host.dispatchEvent(new Mt(this.context, this.host));
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
/**
|
|
@@ -106,7 +106,7 @@ let It = class extends Event {
|
|
|
106
106
|
* Copyright 2017 Google LLC
|
|
107
107
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
108
108
|
*/
|
|
109
|
-
function
|
|
109
|
+
function Ot({ context: n }) {
|
|
110
110
|
return (e, t) => {
|
|
111
111
|
const i = /* @__PURE__ */ new WeakMap();
|
|
112
112
|
if (typeof t == "object") return { get() {
|
|
@@ -114,11 +114,11 @@ function Mt({ context: n }) {
|
|
|
114
114
|
}, set(s) {
|
|
115
115
|
return i.get(this).setValue(s), e.set.call(this, s);
|
|
116
116
|
}, init(s) {
|
|
117
|
-
return i.set(this, new
|
|
117
|
+
return i.set(this, new Ke(this, { context: n, initialValue: s })), s;
|
|
118
118
|
} };
|
|
119
119
|
{
|
|
120
120
|
e.constructor.addInitializer(((r) => {
|
|
121
|
-
i.set(r, new
|
|
121
|
+
i.set(r, new Ke(r, { context: n }));
|
|
122
122
|
}));
|
|
123
123
|
const s = Object.getOwnPropertyDescriptor(e, t);
|
|
124
124
|
let o;
|
|
@@ -144,22 +144,22 @@ function Mt({ context: n }) {
|
|
|
144
144
|
* Copyright 2022 Google LLC
|
|
145
145
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
146
146
|
*/
|
|
147
|
-
function
|
|
147
|
+
function ue({ context: n, subscribe: e }) {
|
|
148
148
|
return (t, i) => {
|
|
149
149
|
typeof i == "object" ? i.addInitializer((function() {
|
|
150
|
-
new
|
|
150
|
+
new Ye(this, { context: n, callback: (s) => {
|
|
151
151
|
t.set.call(this, s);
|
|
152
152
|
}, subscribe: e });
|
|
153
153
|
})) : t.constructor.addInitializer(((s) => {
|
|
154
|
-
new
|
|
154
|
+
new Ye(s, { context: n, callback: (o) => {
|
|
155
155
|
s[i] = o;
|
|
156
156
|
}, subscribe: e });
|
|
157
157
|
}));
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
|
-
var
|
|
161
|
-
const
|
|
162
|
-
let
|
|
160
|
+
var Rt = Object.defineProperty, Lt = (n, e, t) => e in n ? Rt(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, $ = (n, e, t) => Lt(n, typeof e != "symbol" ? e + "" : e, t);
|
|
161
|
+
const jt = "ws://localhost:4567";
|
|
162
|
+
let Ue = class {
|
|
163
163
|
constructor() {
|
|
164
164
|
$(this, "handlers", /* @__PURE__ */ new Map());
|
|
165
165
|
}
|
|
@@ -179,9 +179,9 @@ let je = class {
|
|
|
179
179
|
removeAll() {
|
|
180
180
|
this.handlers.clear();
|
|
181
181
|
}
|
|
182
|
-
},
|
|
182
|
+
}, zt = class extends Ue {
|
|
183
183
|
constructor(e) {
|
|
184
|
-
super(), $(this, "ws", null), $(this, "endpoint"), $(this, "reconnectAttempt", 0), $(this, "reconnectTimer", null), $(this, "_state", "disconnected"), this.endpoint = e ??
|
|
184
|
+
super(), $(this, "ws", null), $(this, "endpoint"), $(this, "reconnectAttempt", 0), $(this, "reconnectTimer", null), $(this, "_state", "disconnected"), this.endpoint = e ?? jt;
|
|
185
185
|
}
|
|
186
186
|
get state() {
|
|
187
187
|
return this._state;
|
|
@@ -216,7 +216,7 @@ let je = class {
|
|
|
216
216
|
this.reconnectTimer = null, this.connect();
|
|
217
217
|
}, e);
|
|
218
218
|
}
|
|
219
|
-
},
|
|
219
|
+
}, Ut = class extends Ue {
|
|
220
220
|
constructor() {
|
|
221
221
|
super(...arguments), $(this, "baseUrl", ""), $(this, "_user", null), $(this, "_users", /* @__PURE__ */ new Map()), $(this, "_presence", /* @__PURE__ */ new Map()), $(this, "_threads", /* @__PURE__ */ new Map()), $(this, "_reactions", /* @__PURE__ */ new Map()), $(this, "_notifications", []), $(this, "_activityLogs", []), $(this, "_typing", /* @__PURE__ */ new Map()), $(this, "_viewports", /* @__PURE__ */ new Map()), $(this, "_selections", /* @__PURE__ */ new Map());
|
|
222
222
|
}
|
|
@@ -426,12 +426,12 @@ let je = class {
|
|
|
426
426
|
reset() {
|
|
427
427
|
this._user = null, this._users.clear(), this._presence.clear(), this._threads.clear(), this._reactions.clear(), this._notifications = [], this._activityLogs = [], this._typing.clear(), this._viewports.clear(), this._selections.clear();
|
|
428
428
|
}
|
|
429
|
-
},
|
|
429
|
+
}, wt = class extends Ue {
|
|
430
430
|
constructor(e) {
|
|
431
431
|
var t;
|
|
432
|
-
super(), $(this, "state"), $(this, "connection"), $(this, "config"), $(this, "heartbeatTimer", null), $(this, "lastCursorSend", 0), $(this, "pendingCursor", null), $(this, "cursorTimer", null), this.config = e, this.state = new
|
|
432
|
+
super(), $(this, "state"), $(this, "connection"), $(this, "config"), $(this, "heartbeatTimer", null), $(this, "lastCursorSend", 0), $(this, "pendingCursor", null), $(this, "cursorTimer", null), this.config = e, this.state = new Ut(), this.state.baseUrl = (e.endpoint ?? "").replace(/^ws(s?):/, "http$1:").replace(/\/$/, "");
|
|
433
433
|
const i = ((t = e.endpoint) == null ? void 0 : t.replace(/^http/, "ws")) ?? void 0;
|
|
434
|
-
this.connection = new
|
|
434
|
+
this.connection = new zt(i), this.connection.on("message", (s) => {
|
|
435
435
|
this.state.handleMessage(s), this.emit(s.type, s);
|
|
436
436
|
}), this.connection.on("state", (s) => {
|
|
437
437
|
this.emit("connection", s), s === "connected" ? (this.authenticate(), this.startHeartbeat()) : s === "disconnected" && this.stopHeartbeat();
|
|
@@ -575,18 +575,18 @@ let je = class {
|
|
|
575
575
|
* Copyright 2019 Google LLC
|
|
576
576
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
577
577
|
*/
|
|
578
|
-
const
|
|
579
|
-
let
|
|
578
|
+
const xe = globalThis, De = xe.ShadowRoot && (xe.ShadyCSS === void 0 || xe.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, He = Symbol(), Ge = /* @__PURE__ */ new WeakMap();
|
|
579
|
+
let $t = class {
|
|
580
580
|
constructor(e, t, i) {
|
|
581
|
-
if (this._$cssResult$ = !0, i !==
|
|
581
|
+
if (this._$cssResult$ = !0, i !== He) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
582
582
|
this.cssText = e, this.t = t;
|
|
583
583
|
}
|
|
584
584
|
get styleSheet() {
|
|
585
585
|
let e = this.o;
|
|
586
586
|
const t = this.t;
|
|
587
|
-
if (
|
|
587
|
+
if (De && e === void 0) {
|
|
588
588
|
const i = t !== void 0 && t.length === 1;
|
|
589
|
-
i && (e =
|
|
589
|
+
i && (e = Ge.get(t)), e === void 0 && ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText), i && Ge.set(t, e));
|
|
590
590
|
}
|
|
591
591
|
return e;
|
|
592
592
|
}
|
|
@@ -594,33 +594,33 @@ let yt = class {
|
|
|
594
594
|
return this.cssText;
|
|
595
595
|
}
|
|
596
596
|
};
|
|
597
|
-
const
|
|
597
|
+
const Dt = (n) => new $t(typeof n == "string" ? n : n + "", void 0, He), O = (n, ...e) => {
|
|
598
598
|
const t = n.length === 1 ? n[0] : e.reduce((i, s, o) => i + ((r) => {
|
|
599
599
|
if (r._$cssResult$ === !0) return r.cssText;
|
|
600
600
|
if (typeof r == "number") return r;
|
|
601
601
|
throw Error("Value passed to 'css' function must be a 'css' function result: " + r + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
|
|
602
602
|
})(s) + n[o + 1], n[0]);
|
|
603
|
-
return new
|
|
604
|
-
},
|
|
605
|
-
if (
|
|
603
|
+
return new $t(t, n, He);
|
|
604
|
+
}, Ht = (n, e) => {
|
|
605
|
+
if (De) n.adoptedStyleSheets = e.map((t) => t instanceof CSSStyleSheet ? t : t.styleSheet);
|
|
606
606
|
else for (const t of e) {
|
|
607
|
-
const i = document.createElement("style"), s =
|
|
607
|
+
const i = document.createElement("style"), s = xe.litNonce;
|
|
608
608
|
s !== void 0 && i.setAttribute("nonce", s), i.textContent = t.cssText, n.appendChild(i);
|
|
609
609
|
}
|
|
610
|
-
},
|
|
610
|
+
}, Ze = De ? (n) => n : (n) => n instanceof CSSStyleSheet ? ((e) => {
|
|
611
611
|
let t = "";
|
|
612
612
|
for (const i of e.cssRules) t += i.cssText;
|
|
613
|
-
return
|
|
613
|
+
return Dt(t);
|
|
614
614
|
})(n) : n;
|
|
615
615
|
/**
|
|
616
616
|
* @license
|
|
617
617
|
* Copyright 2017 Google LLC
|
|
618
618
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
619
619
|
*/
|
|
620
|
-
const { is:
|
|
620
|
+
const { is: Nt, defineProperty: Ft, getOwnPropertyDescriptor: Bt, getOwnPropertyNames: qt, getOwnPropertySymbols: Vt, getPrototypeOf: Wt } = Object, D = globalThis, Je = D.trustedTypes, Xt = Je ? Je.emptyScript : "", Pe = D.reactiveElementPolyfillSupport, se = (n, e) => n, $e = { toAttribute(n, e) {
|
|
621
621
|
switch (e) {
|
|
622
622
|
case Boolean:
|
|
623
|
-
n = n ?
|
|
623
|
+
n = n ? Xt : null;
|
|
624
624
|
break;
|
|
625
625
|
case Object:
|
|
626
626
|
case Array:
|
|
@@ -645,19 +645,19 @@ const { is: Ht, defineProperty: Nt, getOwnPropertyDescriptor: Bt, getOwnProperty
|
|
|
645
645
|
}
|
|
646
646
|
}
|
|
647
647
|
return t;
|
|
648
|
-
} },
|
|
649
|
-
Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")),
|
|
650
|
-
let
|
|
648
|
+
} }, Ne = (n, e) => !Nt(n, e), Qe = { attribute: !0, type: String, converter: $e, reflect: !1, useDefault: !1, hasChanged: Ne };
|
|
649
|
+
Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), D.litPropertyMetadata ?? (D.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
650
|
+
let K = class extends HTMLElement {
|
|
651
651
|
static addInitializer(e) {
|
|
652
652
|
this._$Ei(), (this.l ?? (this.l = [])).push(e);
|
|
653
653
|
}
|
|
654
654
|
static get observedAttributes() {
|
|
655
655
|
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
|
|
656
656
|
}
|
|
657
|
-
static createProperty(e, t =
|
|
657
|
+
static createProperty(e, t = Qe) {
|
|
658
658
|
if (t.state && (t.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(e) && ((t = Object.create(t)).wrapped = !0), this.elementProperties.set(e, t), !t.noAccessor) {
|
|
659
659
|
const i = Symbol(), s = this.getPropertyDescriptor(e, i, t);
|
|
660
|
-
s !== void 0 &&
|
|
660
|
+
s !== void 0 && Ft(this.prototype, e, s);
|
|
661
661
|
}
|
|
662
662
|
}
|
|
663
663
|
static getPropertyDescriptor(e, t, i) {
|
|
@@ -672,17 +672,17 @@ let Y = class extends HTMLElement {
|
|
|
672
672
|
}, configurable: !0, enumerable: !0 };
|
|
673
673
|
}
|
|
674
674
|
static getPropertyOptions(e) {
|
|
675
|
-
return this.elementProperties.get(e) ??
|
|
675
|
+
return this.elementProperties.get(e) ?? Qe;
|
|
676
676
|
}
|
|
677
677
|
static _$Ei() {
|
|
678
|
-
if (this.hasOwnProperty(
|
|
679
|
-
const e =
|
|
678
|
+
if (this.hasOwnProperty(se("elementProperties"))) return;
|
|
679
|
+
const e = Wt(this);
|
|
680
680
|
e.finalize(), e.l !== void 0 && (this.l = [...e.l]), this.elementProperties = new Map(e.elementProperties);
|
|
681
681
|
}
|
|
682
682
|
static finalize() {
|
|
683
|
-
if (this.hasOwnProperty(
|
|
684
|
-
if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(
|
|
685
|
-
const t = this.properties, i = [...
|
|
683
|
+
if (this.hasOwnProperty(se("finalized"))) return;
|
|
684
|
+
if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(se("properties"))) {
|
|
685
|
+
const t = this.properties, i = [...qt(t), ...Vt(t)];
|
|
686
686
|
for (const s of i) this.createProperty(s, t[s]);
|
|
687
687
|
}
|
|
688
688
|
const e = this[Symbol.metadata];
|
|
@@ -701,8 +701,8 @@ let Y = class extends HTMLElement {
|
|
|
701
701
|
const t = [];
|
|
702
702
|
if (Array.isArray(e)) {
|
|
703
703
|
const i = new Set(e.flat(1 / 0).reverse());
|
|
704
|
-
for (const s of i) t.unshift(
|
|
705
|
-
} else e !== void 0 && t.push(
|
|
704
|
+
for (const s of i) t.unshift(Ze(s));
|
|
705
|
+
} else e !== void 0 && t.push(Ze(e));
|
|
706
706
|
return t;
|
|
707
707
|
}
|
|
708
708
|
static _$Eu(e, t) {
|
|
@@ -731,7 +731,7 @@ let Y = class extends HTMLElement {
|
|
|
731
731
|
}
|
|
732
732
|
createRenderRoot() {
|
|
733
733
|
const e = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
|
|
734
|
-
return
|
|
734
|
+
return Ht(e, this.constructor.elementStyles), e;
|
|
735
735
|
}
|
|
736
736
|
connectedCallback() {
|
|
737
737
|
var e;
|
|
@@ -756,7 +756,7 @@ let Y = class extends HTMLElement {
|
|
|
756
756
|
var o;
|
|
757
757
|
const i = this.constructor.elementProperties.get(e), s = this.constructor._$Eu(e, i);
|
|
758
758
|
if (s !== void 0 && i.reflect === !0) {
|
|
759
|
-
const r = (((o = i.converter) == null ? void 0 : o.toAttribute) !== void 0 ? i.converter :
|
|
759
|
+
const r = (((o = i.converter) == null ? void 0 : o.toAttribute) !== void 0 ? i.converter : $e).toAttribute(t, i.type);
|
|
760
760
|
this._$Em = e, r == null ? this.removeAttribute(s) : this.setAttribute(s, r), this._$Em = null;
|
|
761
761
|
}
|
|
762
762
|
}
|
|
@@ -764,7 +764,7 @@ let Y = class extends HTMLElement {
|
|
|
764
764
|
var o, r;
|
|
765
765
|
const i = this.constructor, s = i._$Eh.get(e);
|
|
766
766
|
if (s !== void 0 && this._$Em !== s) {
|
|
767
|
-
const l = i.getPropertyOptions(s), a = typeof l.converter == "function" ? { fromAttribute: l.converter } : ((o = l.converter) == null ? void 0 : o.fromAttribute) !== void 0 ? l.converter :
|
|
767
|
+
const l = i.getPropertyOptions(s), a = typeof l.converter == "function" ? { fromAttribute: l.converter } : ((o = l.converter) == null ? void 0 : o.fromAttribute) !== void 0 ? l.converter : $e;
|
|
768
768
|
this._$Em = s;
|
|
769
769
|
const c = a.fromAttribute(t, l.type);
|
|
770
770
|
this[s] = c ?? ((r = this._$Ej) == null ? void 0 : r.get(s)) ?? c, this._$Em = null;
|
|
@@ -774,7 +774,7 @@ let Y = class extends HTMLElement {
|
|
|
774
774
|
var r;
|
|
775
775
|
if (e !== void 0) {
|
|
776
776
|
const l = this.constructor;
|
|
777
|
-
if (s === !1 && (o = this[e]), i ?? (i = l.getPropertyOptions(e)), !((i.hasChanged ??
|
|
777
|
+
if (s === !1 && (o = this[e]), i ?? (i = l.getPropertyOptions(e)), !((i.hasChanged ?? Ne)(o, t) || i.useDefault && i.reflect && o === ((r = this._$Ej) == null ? void 0 : r.get(e)) && !this.hasAttribute(l._$Eu(e, i)))) return;
|
|
778
778
|
this.C(e, t, i);
|
|
779
779
|
}
|
|
780
780
|
this.isUpdatePending === !1 && (this._$ES = this._$EP());
|
|
@@ -850,76 +850,76 @@ let Y = class extends HTMLElement {
|
|
|
850
850
|
firstUpdated(e) {
|
|
851
851
|
}
|
|
852
852
|
};
|
|
853
|
-
|
|
853
|
+
K.elementStyles = [], K.shadowRootOptions = { mode: "open" }, K[se("elementProperties")] = /* @__PURE__ */ new Map(), K[se("finalized")] = /* @__PURE__ */ new Map(), Pe == null || Pe({ ReactiveElement: K }), (D.reactiveElementVersions ?? (D.reactiveElementVersions = [])).push("2.1.2");
|
|
854
854
|
/**
|
|
855
855
|
* @license
|
|
856
856
|
* Copyright 2017 Google LLC
|
|
857
857
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
858
858
|
*/
|
|
859
|
-
const
|
|
860
|
-
\f\r]`,
|
|
861
|
-
\f\r"'\`<>=]|("|')|))|$)`, "g"),
|
|
862
|
-
function
|
|
863
|
-
if (!
|
|
864
|
-
return
|
|
859
|
+
const ne = globalThis, et = (n) => n, ke = ne.trustedTypes, tt = ke ? ke.createPolicy("lit-html", { createHTML: (n) => n }) : void 0, kt = "$lit$", U = `lit$${Math.random().toFixed(9).slice(2)}$`, Et = "?" + U, Yt = `<${Et}>`, q = document, re = () => q.createComment(""), ae = (n) => n === null || typeof n != "object" && typeof n != "function", Fe = Array.isArray, Kt = (n) => Fe(n) || typeof (n == null ? void 0 : n[Symbol.iterator]) == "function", Ae = `[
|
|
860
|
+
\f\r]`, ie = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, it = /-->/g, st = />/g, N = RegExp(`>|${Ae}(?:([^\\s"'>=/]+)(${Ae}*=${Ae}*(?:[^
|
|
861
|
+
\f\r"'\`<>=]|("|')|))|$)`, "g"), nt = /'/g, ot = /"/g, Ct = /^(?:script|style|textarea|title)$/i, Tt = (n) => (e, ...t) => ({ _$litType$: n, strings: e, values: t }), d = Tt(1), Gt = Tt(2), V = Symbol.for("lit-noChange"), g = Symbol.for("lit-nothing"), rt = /* @__PURE__ */ new WeakMap(), F = q.createTreeWalker(q, 129);
|
|
862
|
+
function _t(n, e) {
|
|
863
|
+
if (!Fe(n) || !n.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
864
|
+
return tt !== void 0 ? tt.createHTML(e) : e;
|
|
865
865
|
}
|
|
866
|
-
const
|
|
866
|
+
const Zt = (n, e) => {
|
|
867
867
|
const t = n.length - 1, i = [];
|
|
868
|
-
let s, o = e === 2 ? "<svg>" : e === 3 ? "<math>" : "", r =
|
|
868
|
+
let s, o = e === 2 ? "<svg>" : e === 3 ? "<math>" : "", r = ie;
|
|
869
869
|
for (let l = 0; l < t; l++) {
|
|
870
870
|
const a = n[l];
|
|
871
871
|
let c, h, p = -1, u = 0;
|
|
872
|
-
for (; u < a.length && (r.lastIndex = u, h = r.exec(a), h !== null); ) u = r.lastIndex, r ===
|
|
873
|
-
const f = r ===
|
|
874
|
-
o += r ===
|
|
872
|
+
for (; u < a.length && (r.lastIndex = u, h = r.exec(a), h !== null); ) u = r.lastIndex, r === ie ? h[1] === "!--" ? r = it : h[1] !== void 0 ? r = st : h[2] !== void 0 ? (Ct.test(h[2]) && (s = RegExp("</" + h[2], "g")), r = N) : h[3] !== void 0 && (r = N) : r === N ? h[0] === ">" ? (r = s ?? ie, p = -1) : h[1] === void 0 ? p = -2 : (p = r.lastIndex - h[2].length, c = h[1], r = h[3] === void 0 ? N : h[3] === '"' ? ot : nt) : r === ot || r === nt ? r = N : r === it || r === st ? r = ie : (r = N, s = void 0);
|
|
873
|
+
const f = r === N && n[l + 1].startsWith("/>") ? " " : "";
|
|
874
|
+
o += r === ie ? a + Yt : p >= 0 ? (i.push(c), a.slice(0, p) + kt + a.slice(p) + U + f) : a + U + (p === -2 ? l : f);
|
|
875
875
|
}
|
|
876
|
-
return [
|
|
876
|
+
return [_t(n, o + (n[t] || "<?>") + (e === 2 ? "</svg>" : e === 3 ? "</math>" : "")), i];
|
|
877
877
|
};
|
|
878
|
-
class
|
|
878
|
+
class le {
|
|
879
879
|
constructor({ strings: e, _$litType$: t }, i) {
|
|
880
880
|
let s;
|
|
881
881
|
this.parts = [];
|
|
882
882
|
let o = 0, r = 0;
|
|
883
|
-
const l = e.length - 1, a = this.parts, [c, h] =
|
|
884
|
-
if (this.el =
|
|
883
|
+
const l = e.length - 1, a = this.parts, [c, h] = Zt(e, t);
|
|
884
|
+
if (this.el = le.createElement(c, i), F.currentNode = this.el.content, t === 2 || t === 3) {
|
|
885
885
|
const p = this.el.content.firstChild;
|
|
886
886
|
p.replaceWith(...p.childNodes);
|
|
887
887
|
}
|
|
888
|
-
for (; (s =
|
|
888
|
+
for (; (s = F.nextNode()) !== null && a.length < l; ) {
|
|
889
889
|
if (s.nodeType === 1) {
|
|
890
|
-
if (s.hasAttributes()) for (const p of s.getAttributeNames()) if (p.endsWith(
|
|
891
|
-
const u = h[r++], f = s.getAttribute(p).split(
|
|
892
|
-
a.push({ type: 1, index: o, name: m[2], strings: f, ctor: m[1] === "." ?
|
|
893
|
-
} else p.startsWith(
|
|
894
|
-
if (
|
|
895
|
-
const p = s.textContent.split(
|
|
890
|
+
if (s.hasAttributes()) for (const p of s.getAttributeNames()) if (p.endsWith(kt)) {
|
|
891
|
+
const u = h[r++], f = s.getAttribute(p).split(U), m = /([.?@])?(.*)/.exec(u);
|
|
892
|
+
a.push({ type: 1, index: o, name: m[2], strings: f, ctor: m[1] === "." ? Qt : m[1] === "?" ? ei : m[1] === "@" ? ti : Te }), s.removeAttribute(p);
|
|
893
|
+
} else p.startsWith(U) && (a.push({ type: 6, index: o }), s.removeAttribute(p));
|
|
894
|
+
if (Ct.test(s.tagName)) {
|
|
895
|
+
const p = s.textContent.split(U), u = p.length - 1;
|
|
896
896
|
if (u > 0) {
|
|
897
|
-
s.textContent =
|
|
898
|
-
for (let f = 0; f < u; f++) s.append(p[f],
|
|
899
|
-
s.append(p[u],
|
|
897
|
+
s.textContent = ke ? ke.emptyScript : "";
|
|
898
|
+
for (let f = 0; f < u; f++) s.append(p[f], re()), F.nextNode(), a.push({ type: 2, index: ++o });
|
|
899
|
+
s.append(p[u], re());
|
|
900
900
|
}
|
|
901
901
|
}
|
|
902
|
-
} else if (s.nodeType === 8) if (s.data ===
|
|
902
|
+
} else if (s.nodeType === 8) if (s.data === Et) a.push({ type: 2, index: o });
|
|
903
903
|
else {
|
|
904
904
|
let p = -1;
|
|
905
|
-
for (; (p = s.data.indexOf(
|
|
905
|
+
for (; (p = s.data.indexOf(U, p + 1)) !== -1; ) a.push({ type: 7, index: o }), p += U.length - 1;
|
|
906
906
|
}
|
|
907
907
|
o++;
|
|
908
908
|
}
|
|
909
909
|
}
|
|
910
910
|
static createElement(e, t) {
|
|
911
|
-
const i =
|
|
911
|
+
const i = q.createElement("template");
|
|
912
912
|
return i.innerHTML = e, i;
|
|
913
913
|
}
|
|
914
914
|
}
|
|
915
|
-
function
|
|
915
|
+
function G(n, e, t = n, i) {
|
|
916
916
|
var r, l;
|
|
917
917
|
if (e === V) return e;
|
|
918
918
|
let s = i !== void 0 ? (r = t._$Co) == null ? void 0 : r[i] : t._$Cl;
|
|
919
|
-
const o =
|
|
920
|
-
return (s == null ? void 0 : s.constructor) !== o && ((l = s == null ? void 0 : s._$AO) == null || l.call(s, !1), o === void 0 ? s = void 0 : (s = new o(n), s._$AT(n, t, i)), i !== void 0 ? (t._$Co ?? (t._$Co = []))[i] = s : t._$Cl = s), s !== void 0 && (e =
|
|
919
|
+
const o = ae(e) ? void 0 : e._$litDirective$;
|
|
920
|
+
return (s == null ? void 0 : s.constructor) !== o && ((l = s == null ? void 0 : s._$AO) == null || l.call(s, !1), o === void 0 ? s = void 0 : (s = new o(n), s._$AT(n, t, i)), i !== void 0 ? (t._$Co ?? (t._$Co = []))[i] = s : t._$Cl = s), s !== void 0 && (e = G(n, s._$AS(n, e.values), s, i)), e;
|
|
921
921
|
}
|
|
922
|
-
class
|
|
922
|
+
class Jt {
|
|
923
923
|
constructor(e, t) {
|
|
924
924
|
this._$AV = [], this._$AN = void 0, this._$AD = e, this._$AM = t;
|
|
925
925
|
}
|
|
@@ -930,24 +930,24 @@ class Zt {
|
|
|
930
930
|
return this._$AM._$AU;
|
|
931
931
|
}
|
|
932
932
|
u(e) {
|
|
933
|
-
const { el: { content: t }, parts: i } = this._$AD, s = ((e == null ? void 0 : e.creationScope) ??
|
|
934
|
-
|
|
935
|
-
let o =
|
|
933
|
+
const { el: { content: t }, parts: i } = this._$AD, s = ((e == null ? void 0 : e.creationScope) ?? q).importNode(t, !0);
|
|
934
|
+
F.currentNode = s;
|
|
935
|
+
let o = F.nextNode(), r = 0, l = 0, a = i[0];
|
|
936
936
|
for (; a !== void 0; ) {
|
|
937
937
|
if (r === a.index) {
|
|
938
938
|
let c;
|
|
939
|
-
a.type === 2 ? c = new
|
|
939
|
+
a.type === 2 ? c = new fe(o, o.nextSibling, this, e) : a.type === 1 ? c = new a.ctor(o, a.name, a.strings, this, e) : a.type === 6 && (c = new ii(o, this, e)), this._$AV.push(c), a = i[++l];
|
|
940
940
|
}
|
|
941
|
-
r !== (a == null ? void 0 : a.index) && (o =
|
|
941
|
+
r !== (a == null ? void 0 : a.index) && (o = F.nextNode(), r++);
|
|
942
942
|
}
|
|
943
|
-
return
|
|
943
|
+
return F.currentNode = q, s;
|
|
944
944
|
}
|
|
945
945
|
p(e) {
|
|
946
946
|
let t = 0;
|
|
947
947
|
for (const i of this._$AV) i !== void 0 && (i.strings !== void 0 ? (i._$AI(e, i, t), t += i.strings.length - 2) : i._$AI(e[t])), t++;
|
|
948
948
|
}
|
|
949
949
|
}
|
|
950
|
-
class
|
|
950
|
+
class fe {
|
|
951
951
|
get _$AU() {
|
|
952
952
|
var e;
|
|
953
953
|
return ((e = this._$AM) == null ? void 0 : e._$AU) ?? this._$Cv;
|
|
@@ -967,7 +967,7 @@ class ue {
|
|
|
967
967
|
return this._$AB;
|
|
968
968
|
}
|
|
969
969
|
_$AI(e, t = this) {
|
|
970
|
-
e =
|
|
970
|
+
e = G(this, e, t), ae(e) ? e === g || e == null || e === "" ? (this._$AH !== g && this._$AR(), this._$AH = g) : e !== this._$AH && e !== V && this._(e) : e._$litType$ !== void 0 ? this.$(e) : e.nodeType !== void 0 ? this.T(e) : Kt(e) ? this.k(e) : this._(e);
|
|
971
971
|
}
|
|
972
972
|
O(e) {
|
|
973
973
|
return this._$AA.parentNode.insertBefore(e, this._$AB);
|
|
@@ -976,33 +976,33 @@ class ue {
|
|
|
976
976
|
this._$AH !== e && (this._$AR(), this._$AH = this.O(e));
|
|
977
977
|
}
|
|
978
978
|
_(e) {
|
|
979
|
-
this._$AH !== g &&
|
|
979
|
+
this._$AH !== g && ae(this._$AH) ? this._$AA.nextSibling.data = e : this.T(q.createTextNode(e)), this._$AH = e;
|
|
980
980
|
}
|
|
981
981
|
$(e) {
|
|
982
982
|
var o;
|
|
983
|
-
const { values: t, _$litType$: i } = e, s = typeof i == "number" ? this._$AC(e) : (i.el === void 0 && (i.el =
|
|
983
|
+
const { values: t, _$litType$: i } = e, s = typeof i == "number" ? this._$AC(e) : (i.el === void 0 && (i.el = le.createElement(_t(i.h, i.h[0]), this.options)), i);
|
|
984
984
|
if (((o = this._$AH) == null ? void 0 : o._$AD) === s) this._$AH.p(t);
|
|
985
985
|
else {
|
|
986
|
-
const r = new
|
|
986
|
+
const r = new Jt(s, this), l = r.u(this.options);
|
|
987
987
|
r.p(t), this.T(l), this._$AH = r;
|
|
988
988
|
}
|
|
989
989
|
}
|
|
990
990
|
_$AC(e) {
|
|
991
|
-
let t =
|
|
992
|
-
return t === void 0 &&
|
|
991
|
+
let t = rt.get(e.strings);
|
|
992
|
+
return t === void 0 && rt.set(e.strings, t = new le(e)), t;
|
|
993
993
|
}
|
|
994
994
|
k(e) {
|
|
995
|
-
|
|
995
|
+
Fe(this._$AH) || (this._$AH = [], this._$AR());
|
|
996
996
|
const t = this._$AH;
|
|
997
997
|
let i, s = 0;
|
|
998
|
-
for (const o of e) s === t.length ? t.push(i = new
|
|
998
|
+
for (const o of e) s === t.length ? t.push(i = new fe(this.O(re()), this.O(re()), this, this.options)) : i = t[s], i._$AI(o), s++;
|
|
999
999
|
s < t.length && (this._$AR(i && i._$AB.nextSibling, s), t.length = s);
|
|
1000
1000
|
}
|
|
1001
1001
|
_$AR(e = this._$AA.nextSibling, t) {
|
|
1002
1002
|
var i;
|
|
1003
1003
|
for ((i = this._$AP) == null ? void 0 : i.call(this, !1, !0, t); e !== this._$AB; ) {
|
|
1004
|
-
const s =
|
|
1005
|
-
|
|
1004
|
+
const s = et(e).nextSibling;
|
|
1005
|
+
et(e).remove(), e = s;
|
|
1006
1006
|
}
|
|
1007
1007
|
}
|
|
1008
1008
|
setConnected(e) {
|
|
@@ -1010,7 +1010,7 @@ class ue {
|
|
|
1010
1010
|
this._$AM === void 0 && (this._$Cv = e, (t = this._$AP) == null || t.call(this, e));
|
|
1011
1011
|
}
|
|
1012
1012
|
}
|
|
1013
|
-
class
|
|
1013
|
+
class Te {
|
|
1014
1014
|
get tagName() {
|
|
1015
1015
|
return this.element.tagName;
|
|
1016
1016
|
}
|
|
@@ -1023,11 +1023,11 @@ class Ee {
|
|
|
1023
1023
|
_$AI(e, t = this, i, s) {
|
|
1024
1024
|
const o = this.strings;
|
|
1025
1025
|
let r = !1;
|
|
1026
|
-
if (o === void 0) e =
|
|
1026
|
+
if (o === void 0) e = G(this, e, t, 0), r = !ae(e) || e !== this._$AH && e !== V, r && (this._$AH = e);
|
|
1027
1027
|
else {
|
|
1028
1028
|
const l = e;
|
|
1029
1029
|
let a, c;
|
|
1030
|
-
for (e = o[0], a = 0; a < o.length - 1; a++) c =
|
|
1030
|
+
for (e = o[0], a = 0; a < o.length - 1; a++) c = G(this, l[i + a], t, a), c === V && (c = this._$AH[a]), r || (r = !ae(c) || c !== this._$AH[a]), c === g ? e = g : e !== g && (e += (c ?? "") + o[a + 1]), this._$AH[a] = c;
|
|
1031
1031
|
}
|
|
1032
1032
|
r && !s && this.j(e);
|
|
1033
1033
|
}
|
|
@@ -1035,7 +1035,7 @@ class Ee {
|
|
|
1035
1035
|
e === g ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, e ?? "");
|
|
1036
1036
|
}
|
|
1037
1037
|
}
|
|
1038
|
-
class
|
|
1038
|
+
class Qt extends Te {
|
|
1039
1039
|
constructor() {
|
|
1040
1040
|
super(...arguments), this.type = 3;
|
|
1041
1041
|
}
|
|
@@ -1043,7 +1043,7 @@ class Jt extends Ee {
|
|
|
1043
1043
|
this.element[this.name] = e === g ? void 0 : e;
|
|
1044
1044
|
}
|
|
1045
1045
|
}
|
|
1046
|
-
class
|
|
1046
|
+
class ei extends Te {
|
|
1047
1047
|
constructor() {
|
|
1048
1048
|
super(...arguments), this.type = 4;
|
|
1049
1049
|
}
|
|
@@ -1051,12 +1051,12 @@ class Qt extends Ee {
|
|
|
1051
1051
|
this.element.toggleAttribute(this.name, !!e && e !== g);
|
|
1052
1052
|
}
|
|
1053
1053
|
}
|
|
1054
|
-
class
|
|
1054
|
+
class ti extends Te {
|
|
1055
1055
|
constructor(e, t, i, s, o) {
|
|
1056
1056
|
super(e, t, i, s, o), this.type = 5;
|
|
1057
1057
|
}
|
|
1058
1058
|
_$AI(e, t = this) {
|
|
1059
|
-
if ((e =
|
|
1059
|
+
if ((e = G(this, e, t, 0) ?? g) === V) return;
|
|
1060
1060
|
const i = this._$AH, s = e === g && i !== g || e.capture !== i.capture || e.once !== i.once || e.passive !== i.passive, o = e !== g && (i === g || s);
|
|
1061
1061
|
s && this.element.removeEventListener(this.name, this, i), o && this.element.addEventListener(this.name, this, e), this._$AH = e;
|
|
1062
1062
|
}
|
|
@@ -1065,7 +1065,7 @@ class ei extends Ee {
|
|
|
1065
1065
|
typeof this._$AH == "function" ? this._$AH.call(((t = this.options) == null ? void 0 : t.host) ?? this.element, e) : this._$AH.handleEvent(e);
|
|
1066
1066
|
}
|
|
1067
1067
|
}
|
|
1068
|
-
class
|
|
1068
|
+
class ii {
|
|
1069
1069
|
constructor(e, t, i) {
|
|
1070
1070
|
this.element = e, this.type = 6, this._$AN = void 0, this._$AM = t, this.options = i;
|
|
1071
1071
|
}
|
|
@@ -1073,17 +1073,17 @@ class ti {
|
|
|
1073
1073
|
return this._$AM._$AU;
|
|
1074
1074
|
}
|
|
1075
1075
|
_$AI(e) {
|
|
1076
|
-
|
|
1076
|
+
G(this, e);
|
|
1077
1077
|
}
|
|
1078
1078
|
}
|
|
1079
|
-
const
|
|
1080
|
-
|
|
1081
|
-
const
|
|
1079
|
+
const Ie = ne.litHtmlPolyfillSupport;
|
|
1080
|
+
Ie == null || Ie(le, fe), (ne.litHtmlVersions ?? (ne.litHtmlVersions = [])).push("3.3.2");
|
|
1081
|
+
const si = (n, e, t) => {
|
|
1082
1082
|
const i = (t == null ? void 0 : t.renderBefore) ?? e;
|
|
1083
1083
|
let s = i._$litPart$;
|
|
1084
1084
|
if (s === void 0) {
|
|
1085
1085
|
const o = (t == null ? void 0 : t.renderBefore) ?? null;
|
|
1086
|
-
i._$litPart$ = s = new
|
|
1086
|
+
i._$litPart$ = s = new fe(e.insertBefore(re(), o), o, void 0, t ?? {});
|
|
1087
1087
|
}
|
|
1088
1088
|
return s._$AI(n), s;
|
|
1089
1089
|
};
|
|
@@ -1093,7 +1093,7 @@ const ii = (n, e, t) => {
|
|
|
1093
1093
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
1094
1094
|
*/
|
|
1095
1095
|
const B = globalThis;
|
|
1096
|
-
let
|
|
1096
|
+
let P = class extends K {
|
|
1097
1097
|
constructor() {
|
|
1098
1098
|
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
|
|
1099
1099
|
}
|
|
@@ -1104,7 +1104,7 @@ let S = class extends Y {
|
|
|
1104
1104
|
}
|
|
1105
1105
|
update(e) {
|
|
1106
1106
|
const t = this.render();
|
|
1107
|
-
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(e), this._$Do =
|
|
1107
|
+
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(e), this._$Do = si(t, this.renderRoot, this.renderOptions);
|
|
1108
1108
|
}
|
|
1109
1109
|
connectedCallback() {
|
|
1110
1110
|
var e;
|
|
@@ -1118,17 +1118,17 @@ let S = class extends Y {
|
|
|
1118
1118
|
return V;
|
|
1119
1119
|
}
|
|
1120
1120
|
};
|
|
1121
|
-
var
|
|
1122
|
-
|
|
1123
|
-
const
|
|
1124
|
-
|
|
1121
|
+
var xt;
|
|
1122
|
+
P._$litElement$ = !0, P.finalized = !0, (xt = B.litElementHydrateSupport) == null || xt.call(B, { LitElement: P });
|
|
1123
|
+
const Me = B.litElementPolyfillSupport;
|
|
1124
|
+
Me == null || Me({ LitElement: P });
|
|
1125
1125
|
(B.litElementVersions ?? (B.litElementVersions = [])).push("4.2.2");
|
|
1126
1126
|
/**
|
|
1127
1127
|
* @license
|
|
1128
1128
|
* Copyright 2017 Google LLC
|
|
1129
1129
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
1130
1130
|
*/
|
|
1131
|
-
const
|
|
1131
|
+
const L = (n) => (e, t) => {
|
|
1132
1132
|
t !== void 0 ? t.addInitializer(() => {
|
|
1133
1133
|
customElements.define(n, e);
|
|
1134
1134
|
}) : customElements.define(n, e);
|
|
@@ -1138,7 +1138,7 @@ const R = (n) => (e, t) => {
|
|
|
1138
1138
|
* Copyright 2017 Google LLC
|
|
1139
1139
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
1140
1140
|
*/
|
|
1141
|
-
const
|
|
1141
|
+
const ni = { attribute: !0, type: String, converter: $e, reflect: !1, hasChanged: Ne }, oi = (n = ni, e, t) => {
|
|
1142
1142
|
const { kind: i, metadata: s } = t;
|
|
1143
1143
|
let o = globalThis.litPropertyMetadata.get(s);
|
|
1144
1144
|
if (o === void 0 && globalThis.litPropertyMetadata.set(s, o = /* @__PURE__ */ new Map()), i === "setter" && ((n = Object.create(n)).wrapped = !0), o.set(t.name, n), i === "accessor") {
|
|
@@ -1160,7 +1160,7 @@ const si = { attribute: !0, type: String, converter: we, reflect: !1, hasChanged
|
|
|
1160
1160
|
throw Error("Unsupported decorator location: " + i);
|
|
1161
1161
|
};
|
|
1162
1162
|
function v(n) {
|
|
1163
|
-
return (e, t) => typeof t == "object" ?
|
|
1163
|
+
return (e, t) => typeof t == "object" ? oi(n, e, t) : ((i, s, o) => {
|
|
1164
1164
|
const r = s.hasOwnProperty(o);
|
|
1165
1165
|
return s.constructor.createProperty(o, i), r ? Object.getOwnPropertyDescriptor(s, o) : void 0;
|
|
1166
1166
|
})(n, e, t);
|
|
@@ -1173,13 +1173,13 @@ function v(n) {
|
|
|
1173
1173
|
function w(n) {
|
|
1174
1174
|
return v({ ...n, state: !0, attribute: !1 });
|
|
1175
1175
|
}
|
|
1176
|
-
const
|
|
1177
|
-
var
|
|
1178
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
1176
|
+
const J = "pulse-client";
|
|
1177
|
+
var ri = Object.defineProperty, ai = Object.getOwnPropertyDescriptor, Q = (n, e, t, i) => {
|
|
1178
|
+
for (var s = i > 1 ? void 0 : i ? ai(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
1179
1179
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
1180
|
-
return i && s &&
|
|
1180
|
+
return i && s && ri(e, t, s), s;
|
|
1181
1181
|
};
|
|
1182
|
-
let
|
|
1182
|
+
let W = class extends P {
|
|
1183
1183
|
constructor() {
|
|
1184
1184
|
super(...arguments), this.apiKey = "", this.token = "", this.room = "";
|
|
1185
1185
|
}
|
|
@@ -1191,7 +1191,7 @@ let q = class extends S {
|
|
|
1191
1191
|
room: this.room,
|
|
1192
1192
|
endpoint: this.endpoint
|
|
1193
1193
|
};
|
|
1194
|
-
this.client = new
|
|
1194
|
+
this.client = new wt(n), this.client.connect();
|
|
1195
1195
|
}
|
|
1196
1196
|
disconnectedCallback() {
|
|
1197
1197
|
var n;
|
|
@@ -1201,30 +1201,30 @@ let q = class extends S {
|
|
|
1201
1201
|
return d`<slot></slot>`;
|
|
1202
1202
|
}
|
|
1203
1203
|
};
|
|
1204
|
-
|
|
1204
|
+
Q([
|
|
1205
1205
|
v({ attribute: "api-key" })
|
|
1206
|
-
],
|
|
1207
|
-
|
|
1206
|
+
], W.prototype, "apiKey", 2);
|
|
1207
|
+
Q([
|
|
1208
1208
|
v()
|
|
1209
|
-
],
|
|
1210
|
-
|
|
1209
|
+
], W.prototype, "token", 2);
|
|
1210
|
+
Q([
|
|
1211
1211
|
v()
|
|
1212
|
-
],
|
|
1213
|
-
|
|
1212
|
+
], W.prototype, "room", 2);
|
|
1213
|
+
Q([
|
|
1214
1214
|
v()
|
|
1215
|
-
],
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
],
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
],
|
|
1222
|
-
var
|
|
1223
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
1215
|
+
], W.prototype, "endpoint", 2);
|
|
1216
|
+
Q([
|
|
1217
|
+
Ot({ context: J })
|
|
1218
|
+
], W.prototype, "client", 2);
|
|
1219
|
+
W = Q([
|
|
1220
|
+
L("pulse-provider")
|
|
1221
|
+
], W);
|
|
1222
|
+
var li = Object.defineProperty, ci = Object.getOwnPropertyDescriptor, _e = (n, e, t, i) => {
|
|
1223
|
+
for (var s = i > 1 ? void 0 : i ? ci(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
1224
1224
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
1225
|
-
return i && s &&
|
|
1225
|
+
return i && s && li(e, t, s), s;
|
|
1226
1226
|
};
|
|
1227
|
-
let
|
|
1227
|
+
let Z = class extends P {
|
|
1228
1228
|
constructor() {
|
|
1229
1229
|
super(...arguments), this.maxVisible = 5, this.users = [];
|
|
1230
1230
|
}
|
|
@@ -1268,7 +1268,7 @@ let G = class extends S {
|
|
|
1268
1268
|
`;
|
|
1269
1269
|
}
|
|
1270
1270
|
};
|
|
1271
|
-
|
|
1271
|
+
Z.styles = O`
|
|
1272
1272
|
:host {
|
|
1273
1273
|
display: inline-flex;
|
|
1274
1274
|
align-items: center;
|
|
@@ -1372,25 +1372,25 @@ G.styles = M`
|
|
|
1372
1372
|
opacity: 1;
|
|
1373
1373
|
}
|
|
1374
1374
|
`;
|
|
1375
|
-
|
|
1376
|
-
|
|
1375
|
+
_e([
|
|
1376
|
+
ue({ context: J, subscribe: !0 }),
|
|
1377
1377
|
v({ attribute: !1 })
|
|
1378
|
-
],
|
|
1379
|
-
|
|
1378
|
+
], Z.prototype, "client", 2);
|
|
1379
|
+
_e([
|
|
1380
1380
|
v({ type: Number, attribute: "max-visible" })
|
|
1381
|
-
],
|
|
1382
|
-
|
|
1381
|
+
], Z.prototype, "maxVisible", 2);
|
|
1382
|
+
_e([
|
|
1383
1383
|
w()
|
|
1384
|
-
],
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
],
|
|
1388
|
-
var
|
|
1389
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
1384
|
+
], Z.prototype, "users", 2);
|
|
1385
|
+
Z = _e([
|
|
1386
|
+
L("pulse-presence")
|
|
1387
|
+
], Z);
|
|
1388
|
+
var di = Object.defineProperty, hi = Object.getOwnPropertyDescriptor, Be = (n, e, t, i) => {
|
|
1389
|
+
for (var s = i > 1 ? void 0 : i ? hi(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
1390
1390
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
1391
|
-
return i && s &&
|
|
1391
|
+
return i && s && di(e, t, s), s;
|
|
1392
1392
|
};
|
|
1393
|
-
let
|
|
1393
|
+
let ce = class extends P {
|
|
1394
1394
|
constructor() {
|
|
1395
1395
|
super(...arguments), this.cursors = /* @__PURE__ */ new Map(), this.unsubs = [], this.handleLocalCursor = (n) => {
|
|
1396
1396
|
var e;
|
|
@@ -1467,7 +1467,7 @@ let le = class extends S {
|
|
|
1467
1467
|
`;
|
|
1468
1468
|
}
|
|
1469
1469
|
};
|
|
1470
|
-
|
|
1470
|
+
ce.styles = O`
|
|
1471
1471
|
:host {
|
|
1472
1472
|
position: fixed;
|
|
1473
1473
|
top: 0;
|
|
@@ -1504,22 +1504,22 @@ le.styles = M`
|
|
|
1504
1504
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
1505
1505
|
}
|
|
1506
1506
|
`;
|
|
1507
|
-
|
|
1508
|
-
|
|
1507
|
+
Be([
|
|
1508
|
+
ue({ context: J, subscribe: !0 }),
|
|
1509
1509
|
v({ attribute: !1 })
|
|
1510
|
-
],
|
|
1511
|
-
|
|
1510
|
+
], ce.prototype, "client", 2);
|
|
1511
|
+
Be([
|
|
1512
1512
|
w()
|
|
1513
|
-
],
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
],
|
|
1517
|
-
var
|
|
1518
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
1513
|
+
], ce.prototype, "cursors", 2);
|
|
1514
|
+
ce = Be([
|
|
1515
|
+
L("pulse-cursors")
|
|
1516
|
+
], ce);
|
|
1517
|
+
var pi = Object.defineProperty, ui = Object.getOwnPropertyDescriptor, me = (n, e, t, i) => {
|
|
1518
|
+
for (var s = i > 1 ? void 0 : i ? ui(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
1519
1519
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
1520
|
-
return i && s &&
|
|
1520
|
+
return i && s && pi(e, t, s), s;
|
|
1521
1521
|
};
|
|
1522
|
-
let
|
|
1522
|
+
let X = class extends P {
|
|
1523
1523
|
constructor() {
|
|
1524
1524
|
super(...arguments), this.showResolved = !1, this.threads = [], this.replyingTo = null;
|
|
1525
1525
|
}
|
|
@@ -1637,7 +1637,7 @@ let W = class extends S {
|
|
|
1637
1637
|
return o < 24 ? `${o}h ago` : e.toLocaleDateString();
|
|
1638
1638
|
}
|
|
1639
1639
|
};
|
|
1640
|
-
|
|
1640
|
+
X.styles = O`
|
|
1641
1641
|
:host {
|
|
1642
1642
|
display: block;
|
|
1643
1643
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
|
@@ -1849,41 +1849,41 @@ W.styles = M`
|
|
|
1849
1849
|
opacity: 0.4;
|
|
1850
1850
|
}
|
|
1851
1851
|
`;
|
|
1852
|
-
|
|
1853
|
-
|
|
1852
|
+
me([
|
|
1853
|
+
ue({ context: J, subscribe: !0 }),
|
|
1854
1854
|
v({ attribute: !1 })
|
|
1855
|
-
],
|
|
1856
|
-
|
|
1855
|
+
], X.prototype, "client", 2);
|
|
1856
|
+
me([
|
|
1857
1857
|
v({ type: Boolean, attribute: "show-resolved" })
|
|
1858
|
-
],
|
|
1859
|
-
|
|
1858
|
+
], X.prototype, "showResolved", 2);
|
|
1859
|
+
me([
|
|
1860
1860
|
w()
|
|
1861
|
-
],
|
|
1862
|
-
|
|
1861
|
+
], X.prototype, "threads", 2);
|
|
1862
|
+
me([
|
|
1863
1863
|
w()
|
|
1864
|
-
],
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
],
|
|
1868
|
-
var
|
|
1869
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
1864
|
+
], X.prototype, "replyingTo", 2);
|
|
1865
|
+
X = me([
|
|
1866
|
+
L("pulse-comments")
|
|
1867
|
+
], X);
|
|
1868
|
+
var fi = Object.defineProperty, mi = Object.getOwnPropertyDescriptor, qe = (n, e, t, i) => {
|
|
1869
|
+
for (var s = i > 1 ? void 0 : i ? mi(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
1870
1870
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
1871
|
-
return i && s &&
|
|
1871
|
+
return i && s && fi(e, t, s), s;
|
|
1872
1872
|
};
|
|
1873
|
-
const
|
|
1873
|
+
const gi = {
|
|
1874
1874
|
"comment:created": "left a comment",
|
|
1875
1875
|
"comment:mention": "mentioned you",
|
|
1876
1876
|
"comment:reply": "replied to your comment",
|
|
1877
1877
|
"thread:resolved": "resolved a thread",
|
|
1878
1878
|
"reaction:added": "reacted to your comment"
|
|
1879
|
-
},
|
|
1879
|
+
}, bi = {
|
|
1880
1880
|
"comment:created": "💬",
|
|
1881
1881
|
"comment:mention": "📣",
|
|
1882
1882
|
"comment:reply": "↩️",
|
|
1883
1883
|
"thread:resolved": "✅",
|
|
1884
1884
|
"reaction:added": "🎉"
|
|
1885
1885
|
};
|
|
1886
|
-
let
|
|
1886
|
+
let de = class extends P {
|
|
1887
1887
|
constructor() {
|
|
1888
1888
|
super(...arguments), this.notifications = [];
|
|
1889
1889
|
}
|
|
@@ -1950,11 +1950,11 @@ let ce = class extends S {
|
|
|
1950
1950
|
class="item ${e.read ? "" : "unread"}"
|
|
1951
1951
|
@click=${() => this.handleClick(e)}
|
|
1952
1952
|
>
|
|
1953
|
-
<span class="icon">${
|
|
1953
|
+
<span class="icon">${bi[e.type] ?? "🔔"}</span>
|
|
1954
1954
|
<div class="content">
|
|
1955
1955
|
<div class="text">
|
|
1956
1956
|
<span class="actor">${this.getActorName(e.actorId)}</span>
|
|
1957
|
-
${
|
|
1957
|
+
${gi[e.type] ?? e.type}
|
|
1958
1958
|
</div>
|
|
1959
1959
|
<div class="time">${this.formatTime(e.createdAt)}</div>
|
|
1960
1960
|
</div>
|
|
@@ -1966,7 +1966,7 @@ let ce = class extends S {
|
|
|
1966
1966
|
`;
|
|
1967
1967
|
}
|
|
1968
1968
|
};
|
|
1969
|
-
|
|
1969
|
+
de.styles = O`
|
|
1970
1970
|
:host {
|
|
1971
1971
|
display: block;
|
|
1972
1972
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
|
@@ -2107,23 +2107,23 @@ ce.styles = M`
|
|
|
2107
2107
|
opacity: 0.4;
|
|
2108
2108
|
}
|
|
2109
2109
|
`;
|
|
2110
|
-
|
|
2111
|
-
|
|
2110
|
+
qe([
|
|
2111
|
+
ue({ context: J, subscribe: !0 }),
|
|
2112
2112
|
v({ attribute: !1 })
|
|
2113
|
-
],
|
|
2114
|
-
|
|
2113
|
+
], de.prototype, "client", 2);
|
|
2114
|
+
qe([
|
|
2115
2115
|
w()
|
|
2116
|
-
],
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
],
|
|
2120
|
-
var
|
|
2121
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
2116
|
+
], de.prototype, "notifications", 2);
|
|
2117
|
+
de = qe([
|
|
2118
|
+
L("pulse-notifications")
|
|
2119
|
+
], de);
|
|
2120
|
+
var vi = Object.defineProperty, xi = Object.getOwnPropertyDescriptor, ee = (n, e, t, i) => {
|
|
2121
|
+
for (var s = i > 1 ? void 0 : i ? xi(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
2122
2122
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
2123
|
-
return i && s &&
|
|
2123
|
+
return i && s && vi(e, t, s), s;
|
|
2124
2124
|
};
|
|
2125
|
-
const
|
|
2126
|
-
let
|
|
2125
|
+
const yi = ["👍", "👎", "❤️", "🎉", "👀", "🚀"];
|
|
2126
|
+
let H = class extends P {
|
|
2127
2127
|
constructor() {
|
|
2128
2128
|
super(...arguments), this.targetId = "", this.targetType = "comment", this.reactions = [], this.showPicker = !1;
|
|
2129
2129
|
}
|
|
@@ -2184,7 +2184,7 @@ let D = class extends S {
|
|
|
2184
2184
|
</button>
|
|
2185
2185
|
${this.showPicker ? d`
|
|
2186
2186
|
<div class="picker">
|
|
2187
|
-
${
|
|
2187
|
+
${yi.map(
|
|
2188
2188
|
(e) => d`
|
|
2189
2189
|
<button @click=${() => this.addEmoji(e)}>
|
|
2190
2190
|
${e}
|
|
@@ -2197,7 +2197,7 @@ let D = class extends S {
|
|
|
2197
2197
|
`;
|
|
2198
2198
|
}
|
|
2199
2199
|
};
|
|
2200
|
-
|
|
2200
|
+
H.styles = O`
|
|
2201
2201
|
:host {
|
|
2202
2202
|
display: inline-flex;
|
|
2203
2203
|
align-items: center;
|
|
@@ -2309,32 +2309,32 @@ D.styles = M`
|
|
|
2309
2309
|
transform: scale(1.2);
|
|
2310
2310
|
}
|
|
2311
2311
|
`;
|
|
2312
|
-
|
|
2313
|
-
|
|
2312
|
+
ee([
|
|
2313
|
+
ue({ context: J, subscribe: !0 }),
|
|
2314
2314
|
v({ attribute: !1 })
|
|
2315
|
-
],
|
|
2316
|
-
|
|
2315
|
+
], H.prototype, "client", 2);
|
|
2316
|
+
ee([
|
|
2317
2317
|
v({ attribute: "target-id" })
|
|
2318
|
-
],
|
|
2319
|
-
|
|
2318
|
+
], H.prototype, "targetId", 2);
|
|
2319
|
+
ee([
|
|
2320
2320
|
v({ attribute: "target-type" })
|
|
2321
|
-
],
|
|
2322
|
-
|
|
2321
|
+
], H.prototype, "targetType", 2);
|
|
2322
|
+
ee([
|
|
2323
2323
|
w()
|
|
2324
|
-
],
|
|
2325
|
-
|
|
2324
|
+
], H.prototype, "reactions", 2);
|
|
2325
|
+
ee([
|
|
2326
2326
|
w()
|
|
2327
|
-
],
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
],
|
|
2327
|
+
], H.prototype, "showPicker", 2);
|
|
2328
|
+
H = ee([
|
|
2329
|
+
L("pulse-reactions")
|
|
2330
|
+
], H);
|
|
2331
2331
|
/**
|
|
2332
2332
|
* @license
|
|
2333
2333
|
* Copyright 2017 Google LLC
|
|
2334
2334
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2335
2335
|
*/
|
|
2336
|
-
const
|
|
2337
|
-
class
|
|
2336
|
+
const wi = { CHILD: 2 }, $i = (n) => (...e) => ({ _$litDirective$: n, values: e });
|
|
2337
|
+
class ki {
|
|
2338
2338
|
constructor(e) {
|
|
2339
2339
|
}
|
|
2340
2340
|
get _$AU() {
|
|
@@ -2355,9 +2355,9 @@ class $i {
|
|
|
2355
2355
|
* Copyright 2017 Google LLC
|
|
2356
2356
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2357
2357
|
*/
|
|
2358
|
-
class
|
|
2358
|
+
class Oe extends ki {
|
|
2359
2359
|
constructor(e) {
|
|
2360
|
-
if (super(e), this.it = g, e.type !==
|
|
2360
|
+
if (super(e), this.it = g, e.type !== wi.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
|
|
2361
2361
|
}
|
|
2362
2362
|
render(e) {
|
|
2363
2363
|
if (e === g || e == null) return this._t = void 0, this.it = e;
|
|
@@ -2369,23 +2369,23 @@ class Ie extends $i {
|
|
|
2369
2369
|
return t.raw = t, this._t = { _$litType$: this.constructor.resultType, strings: t, values: [] };
|
|
2370
2370
|
}
|
|
2371
2371
|
}
|
|
2372
|
-
|
|
2372
|
+
Oe.directiveName = "unsafeHTML", Oe.resultType = 1;
|
|
2373
2373
|
/**
|
|
2374
2374
|
* @license
|
|
2375
2375
|
* Copyright 2017 Google LLC
|
|
2376
2376
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2377
2377
|
*/
|
|
2378
|
-
class
|
|
2378
|
+
class Re extends Oe {
|
|
2379
2379
|
}
|
|
2380
|
-
|
|
2381
|
-
const
|
|
2380
|
+
Re.directiveName = "unsafeSVG", Re.resultType = 2;
|
|
2381
|
+
const Ei = $i(Re);
|
|
2382
2382
|
/**
|
|
2383
2383
|
* @license lucide v0.577.0 - ISC
|
|
2384
2384
|
*
|
|
2385
2385
|
* This source code is licensed under the ISC license.
|
|
2386
2386
|
* See the LICENSE file in the root directory of this source tree.
|
|
2387
2387
|
*/
|
|
2388
|
-
const
|
|
2388
|
+
const Ci = [
|
|
2389
2389
|
["path", { d: "M10.268 21a2 2 0 0 0 3.464 0" }],
|
|
2390
2390
|
[
|
|
2391
2391
|
"path",
|
|
@@ -2400,7 +2400,7 @@ const Ei = [
|
|
|
2400
2400
|
* This source code is licensed under the ISC license.
|
|
2401
2401
|
* See the LICENSE file in the root directory of this source tree.
|
|
2402
2402
|
*/
|
|
2403
|
-
const
|
|
2403
|
+
const Ti = [
|
|
2404
2404
|
["circle", { cx: "12", cy: "12", r: "10" }],
|
|
2405
2405
|
["path", { d: "M12 6v6l4 2" }]
|
|
2406
2406
|
];
|
|
@@ -2424,7 +2424,7 @@ const _i = [
|
|
|
2424
2424
|
* This source code is licensed under the ISC license.
|
|
2425
2425
|
* See the LICENSE file in the root directory of this source tree.
|
|
2426
2426
|
*/
|
|
2427
|
-
const
|
|
2427
|
+
const Si = [
|
|
2428
2428
|
["path", { d: "M12 19v3" }],
|
|
2429
2429
|
["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2" }],
|
|
2430
2430
|
["rect", { x: "9", y: "2", width: "6", height: "13", rx: "3" }]
|
|
@@ -2435,7 +2435,7 @@ const Ti = [
|
|
|
2435
2435
|
* This source code is licensed under the ISC license.
|
|
2436
2436
|
* See the LICENSE file in the root directory of this source tree.
|
|
2437
2437
|
*/
|
|
2438
|
-
const
|
|
2438
|
+
const Pi = [
|
|
2439
2439
|
[
|
|
2440
2440
|
"path",
|
|
2441
2441
|
{
|
|
@@ -2449,7 +2449,7 @@ const Si = [
|
|
|
2449
2449
|
* This source code is licensed under the ISC license.
|
|
2450
2450
|
* See the LICENSE file in the root directory of this source tree.
|
|
2451
2451
|
*/
|
|
2452
|
-
const
|
|
2452
|
+
const Ai = [
|
|
2453
2453
|
[
|
|
2454
2454
|
"path",
|
|
2455
2455
|
{
|
|
@@ -2471,7 +2471,7 @@ const Pi = [
|
|
|
2471
2471
|
* This source code is licensed under the ISC license.
|
|
2472
2472
|
* See the LICENSE file in the root directory of this source tree.
|
|
2473
2473
|
*/
|
|
2474
|
-
const
|
|
2474
|
+
const Ii = [
|
|
2475
2475
|
[
|
|
2476
2476
|
"path",
|
|
2477
2477
|
{
|
|
@@ -2486,7 +2486,7 @@ const Ai = [
|
|
|
2486
2486
|
* This source code is licensed under the ISC license.
|
|
2487
2487
|
* See the LICENSE file in the root directory of this source tree.
|
|
2488
2488
|
*/
|
|
2489
|
-
const
|
|
2489
|
+
const St = [
|
|
2490
2490
|
["path", { d: "M12 17v5" }],
|
|
2491
2491
|
[
|
|
2492
2492
|
"path",
|
|
@@ -2501,7 +2501,7 @@ const _t = [
|
|
|
2501
2501
|
* This source code is licensed under the ISC license.
|
|
2502
2502
|
* See the LICENSE file in the root directory of this source tree.
|
|
2503
2503
|
*/
|
|
2504
|
-
const
|
|
2504
|
+
const Mi = [
|
|
2505
2505
|
[
|
|
2506
2506
|
"path",
|
|
2507
2507
|
{
|
|
@@ -2516,7 +2516,7 @@ const Ii = [
|
|
|
2516
2516
|
* This source code is licensed under the ISC license.
|
|
2517
2517
|
* See the LICENSE file in the root directory of this source tree.
|
|
2518
2518
|
*/
|
|
2519
|
-
const
|
|
2519
|
+
const Oi = [
|
|
2520
2520
|
["path", { d: "M10 11v6" }],
|
|
2521
2521
|
["path", { d: "M14 11v6" }],
|
|
2522
2522
|
["path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }],
|
|
@@ -2529,7 +2529,7 @@ const Mi = [
|
|
|
2529
2529
|
* This source code is licensed under the ISC license.
|
|
2530
2530
|
* See the LICENSE file in the root directory of this source tree.
|
|
2531
2531
|
*/
|
|
2532
|
-
const
|
|
2532
|
+
const Ri = [
|
|
2533
2533
|
["path", { d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5" }],
|
|
2534
2534
|
["rect", { x: "2", y: "6", width: "14", height: "12", rx: "2" }]
|
|
2535
2535
|
];
|
|
@@ -2539,7 +2539,7 @@ const Oi = [
|
|
|
2539
2539
|
* This source code is licensed under the ISC license.
|
|
2540
2540
|
* See the LICENSE file in the root directory of this source tree.
|
|
2541
2541
|
*/
|
|
2542
|
-
const
|
|
2542
|
+
const ge = [
|
|
2543
2543
|
["path", { d: "M18 6 6 18" }],
|
|
2544
2544
|
["path", { d: "m6 6 12 12" }]
|
|
2545
2545
|
];
|
|
@@ -2549,7 +2549,7 @@ const me = [
|
|
|
2549
2549
|
* This source code is licensed under the ISC license.
|
|
2550
2550
|
* See the LICENSE file in the root directory of this source tree.
|
|
2551
2551
|
*/
|
|
2552
|
-
const
|
|
2552
|
+
const Li = [
|
|
2553
2553
|
[
|
|
2554
2554
|
"path",
|
|
2555
2555
|
{
|
|
@@ -2557,14 +2557,14 @@ const Ri = [
|
|
|
2557
2557
|
}
|
|
2558
2558
|
]
|
|
2559
2559
|
];
|
|
2560
|
-
function
|
|
2560
|
+
function ji(n) {
|
|
2561
2561
|
return n.map(([e, t]) => {
|
|
2562
2562
|
const i = Object.entries(t).filter(([, s]) => s != null).map(([s, o]) => `${s}="${o}"`).join(" ");
|
|
2563
2563
|
return `<${e} ${i}/>`;
|
|
2564
2564
|
}).join("");
|
|
2565
2565
|
}
|
|
2566
2566
|
function C(n, e = 18) {
|
|
2567
|
-
return
|
|
2567
|
+
return Gt`<svg
|
|
2568
2568
|
xmlns="http://www.w3.org/2000/svg"
|
|
2569
2569
|
width="${e}"
|
|
2570
2570
|
height="${e}"
|
|
@@ -2574,9 +2574,9 @@ function C(n, e = 18) {
|
|
|
2574
2574
|
stroke-width="2"
|
|
2575
2575
|
stroke-linecap="round"
|
|
2576
2576
|
stroke-linejoin="round"
|
|
2577
|
-
>${
|
|
2577
|
+
>${Ei(ji(n))}</svg>`;
|
|
2578
2578
|
}
|
|
2579
|
-
const
|
|
2579
|
+
const te = O`
|
|
2580
2580
|
* {
|
|
2581
2581
|
box-sizing: border-box;
|
|
2582
2582
|
margin: 0;
|
|
@@ -2619,7 +2619,7 @@ const ee = M`
|
|
|
2619
2619
|
--pw-shadow: var(--pulse-shadow);
|
|
2620
2620
|
--pw-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.08);
|
|
2621
2621
|
}
|
|
2622
|
-
`,
|
|
2622
|
+
`, be = O`
|
|
2623
2623
|
.pw-btn {
|
|
2624
2624
|
display: inline-flex;
|
|
2625
2625
|
align-items: center;
|
|
@@ -2663,7 +2663,7 @@ const ee = M`
|
|
|
2663
2663
|
width: 18px;
|
|
2664
2664
|
height: 18px;
|
|
2665
2665
|
}
|
|
2666
|
-
`,
|
|
2666
|
+
`, Se = O`
|
|
2667
2667
|
.pw-scrollable::-webkit-scrollbar {
|
|
2668
2668
|
width: 4px;
|
|
2669
2669
|
}
|
|
@@ -2675,12 +2675,12 @@ const ee = M`
|
|
|
2675
2675
|
background: transparent;
|
|
2676
2676
|
}
|
|
2677
2677
|
`;
|
|
2678
|
-
var
|
|
2679
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
2678
|
+
var zi = Object.defineProperty, Ui = Object.getOwnPropertyDescriptor, Ve = (n, e, t, i) => {
|
|
2679
|
+
for (var s = i > 1 ? void 0 : i ? Ui(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
2680
2680
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
2681
|
-
return i && s &&
|
|
2681
|
+
return i && s && zi(e, t, s), s;
|
|
2682
2682
|
};
|
|
2683
|
-
let
|
|
2683
|
+
let Y = class extends P {
|
|
2684
2684
|
constructor() {
|
|
2685
2685
|
super(...arguments), this.items = [], this.unsubs = [], this.counter = 0;
|
|
2686
2686
|
}
|
|
@@ -2709,7 +2709,7 @@ let X = class extends S {
|
|
|
2709
2709
|
userId: n.userId,
|
|
2710
2710
|
description: n.description,
|
|
2711
2711
|
timestamp: new Date(n.createdAt).getTime(),
|
|
2712
|
-
color:
|
|
2712
|
+
color: Y.TYPE_COLORS[n.type] ?? "#94a3b8"
|
|
2713
2713
|
};
|
|
2714
2714
|
}
|
|
2715
2715
|
getUserName(n) {
|
|
@@ -2731,7 +2731,7 @@ let X = class extends S {
|
|
|
2731
2731
|
<div class="panel-header">
|
|
2732
2732
|
<span class="panel-title">Activity</span>
|
|
2733
2733
|
<button class="close-btn" @click=${this.fireClose} title="Close">
|
|
2734
|
-
${C(
|
|
2734
|
+
${C(ge, 16)}
|
|
2735
2735
|
</button>
|
|
2736
2736
|
</div>
|
|
2737
2737
|
|
|
@@ -2762,11 +2762,11 @@ let X = class extends S {
|
|
|
2762
2762
|
`;
|
|
2763
2763
|
}
|
|
2764
2764
|
};
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2765
|
+
Y.styles = [
|
|
2766
|
+
te,
|
|
2767
|
+
be,
|
|
2768
|
+
Se,
|
|
2769
|
+
O`
|
|
2770
2770
|
:host {
|
|
2771
2771
|
display: block;
|
|
2772
2772
|
}
|
|
@@ -2884,28 +2884,28 @@ X.styles = [
|
|
|
2884
2884
|
}
|
|
2885
2885
|
`
|
|
2886
2886
|
];
|
|
2887
|
-
|
|
2887
|
+
Y.TYPE_COLORS = {
|
|
2888
2888
|
join: "#22c55e",
|
|
2889
2889
|
leave: "#94a3b8",
|
|
2890
2890
|
thread: "var(--pw-accent, #6366f1)",
|
|
2891
2891
|
comment: "#3b82f6",
|
|
2892
2892
|
resolve: "#22c55e"
|
|
2893
2893
|
};
|
|
2894
|
-
|
|
2894
|
+
Ve([
|
|
2895
2895
|
v({ attribute: !1 })
|
|
2896
|
-
],
|
|
2897
|
-
|
|
2896
|
+
], Y.prototype, "client", 2);
|
|
2897
|
+
Ve([
|
|
2898
2898
|
w()
|
|
2899
|
-
],
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
],
|
|
2903
|
-
const
|
|
2904
|
-
function
|
|
2899
|
+
], Y.prototype, "items", 2);
|
|
2900
|
+
Y = Ve([
|
|
2901
|
+
L("pulse-widget-activity-panel")
|
|
2902
|
+
], Y);
|
|
2903
|
+
const Di = "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif", at = "#6366f1", lt = "#e2e8f0", Hi = "#f8fafc", Ni = "#e2e8f0", ct = "#64748b", ye = 28, Fi = Array.from({ length: ye }, (n, e) => 0.2 + Math.abs(Math.sin(e * 12.9898 + 78.233) * 43758.5453) % 1 * 0.8);
|
|
2904
|
+
function dt(n) {
|
|
2905
2905
|
const e = Math.max(0, Math.floor(n)), t = Math.floor(e / 60), i = e % 60;
|
|
2906
2906
|
return `${t}:${i.toString().padStart(2, "0")}`;
|
|
2907
2907
|
}
|
|
2908
|
-
class
|
|
2908
|
+
class Le {
|
|
2909
2909
|
/**
|
|
2910
2910
|
* Create and return a fully self-contained inline audio player element.
|
|
2911
2911
|
*
|
|
@@ -2926,12 +2926,12 @@ class Oe {
|
|
|
2926
2926
|
width: "220px",
|
|
2927
2927
|
height: "44px",
|
|
2928
2928
|
padding: "0 10px",
|
|
2929
|
-
background:
|
|
2929
|
+
background: Hi,
|
|
2930
2930
|
borderRadius: "12px",
|
|
2931
|
-
border: `1px solid ${
|
|
2932
|
-
fontFamily:
|
|
2931
|
+
border: `1px solid ${Ni}`,
|
|
2932
|
+
fontFamily: Di,
|
|
2933
2933
|
fontSize: "11px",
|
|
2934
|
-
color:
|
|
2934
|
+
color: ct,
|
|
2935
2935
|
userSelect: "none",
|
|
2936
2936
|
boxSizing: "border-box"
|
|
2937
2937
|
});
|
|
@@ -2942,7 +2942,7 @@ class Oe {
|
|
|
2942
2942
|
minWidth: "28px",
|
|
2943
2943
|
borderRadius: "50%",
|
|
2944
2944
|
border: "none",
|
|
2945
|
-
background:
|
|
2945
|
+
background: at,
|
|
2946
2946
|
cursor: "pointer",
|
|
2947
2947
|
display: "flex",
|
|
2948
2948
|
alignItems: "center",
|
|
@@ -2988,39 +2988,39 @@ class Oe {
|
|
|
2988
2988
|
cursor: "pointer"
|
|
2989
2989
|
});
|
|
2990
2990
|
const m = [];
|
|
2991
|
-
for (let E = 0; E <
|
|
2992
|
-
const
|
|
2993
|
-
Object.assign(
|
|
2991
|
+
for (let E = 0; E < ye; E++) {
|
|
2992
|
+
const M = document.createElement("div"), k = Math.round(Fi[E] * 20);
|
|
2993
|
+
Object.assign(M.style, {
|
|
2994
2994
|
flex: "1",
|
|
2995
2995
|
height: `${Math.max(3, k)}px`,
|
|
2996
2996
|
borderRadius: "1px",
|
|
2997
|
-
background:
|
|
2997
|
+
background: lt,
|
|
2998
2998
|
transition: "background 0.1s ease",
|
|
2999
2999
|
minWidth: "0"
|
|
3000
|
-
}), m.push(
|
|
3000
|
+
}), m.push(M), f.appendChild(M);
|
|
3001
3001
|
}
|
|
3002
3002
|
const x = document.createElement("div");
|
|
3003
3003
|
Object.assign(x.style, {
|
|
3004
3004
|
fontSize: "10px",
|
|
3005
|
-
color:
|
|
3005
|
+
color: ct,
|
|
3006
3006
|
whiteSpace: "nowrap",
|
|
3007
3007
|
lineHeight: "1"
|
|
3008
3008
|
});
|
|
3009
3009
|
function b() {
|
|
3010
|
-
const E =
|
|
3011
|
-
x.textContent = `${E} / ${
|
|
3010
|
+
const E = dt(o), M = dt(s);
|
|
3011
|
+
x.textContent = `${E} / ${M}`;
|
|
3012
3012
|
}
|
|
3013
3013
|
b(), u.appendChild(f), u.appendChild(x), l.appendChild(a), l.appendChild(u);
|
|
3014
3014
|
function y() {
|
|
3015
|
-
const E = s > 0 ? o / s : 0,
|
|
3016
|
-
for (let k = 0; k <
|
|
3017
|
-
m[k].style.background = k <=
|
|
3015
|
+
const E = s > 0 ? o / s : 0, M = Math.floor(E * ye);
|
|
3016
|
+
for (let k = 0; k < ye; k++)
|
|
3017
|
+
m[k].style.background = k <= M ? at : lt;
|
|
3018
3018
|
}
|
|
3019
3019
|
return f.addEventListener("click", (E) => {
|
|
3020
3020
|
if (s <= 0) return;
|
|
3021
|
-
const
|
|
3021
|
+
const M = f.getBoundingClientRect(), k = Math.min(
|
|
3022
3022
|
1,
|
|
3023
|
-
Math.max(0, (E.clientX -
|
|
3023
|
+
Math.max(0, (E.clientX - M.left) / M.width)
|
|
3024
3024
|
);
|
|
3025
3025
|
r.currentTime = k * s, o = r.currentTime, y(), b();
|
|
3026
3026
|
}), a.addEventListener("click", () => {
|
|
@@ -3041,7 +3041,7 @@ class Oe {
|
|
|
3041
3041
|
}), l;
|
|
3042
3042
|
}
|
|
3043
3043
|
}
|
|
3044
|
-
class
|
|
3044
|
+
class je {
|
|
3045
3045
|
constructor() {
|
|
3046
3046
|
this.container = null, this.stream = null, this.recorder = null, this.analyser = null, this.audioCtx = null, this.recording = !1, this.animFrame = null, this.startTime = 0, this.maxDuration = 12e4, this.maxTimer = null, this.canvas = null, this.timerEl = null, this.resolve = null, this.animate = () => {
|
|
3047
3047
|
this.recording && (this.drawWaveform(), this.updateTimer(), this.animFrame = requestAnimationFrame(this.animate));
|
|
@@ -3191,11 +3191,11 @@ class Re {
|
|
|
3191
3191
|
this.recorder = null, this.container && (this.container.remove(), this.container = null), this.canvas = null, this.timerEl = null;
|
|
3192
3192
|
}
|
|
3193
3193
|
}
|
|
3194
|
-
const
|
|
3194
|
+
const ht = 80, Bi = "#e2e8f0", qi = `
|
|
3195
3195
|
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3196
3196
|
<circle cx="14" cy="14" r="14" fill="rgba(0,0,0,0.35)"/>
|
|
3197
3197
|
<polygon points="11,8 22,14 11,20" fill="rgba(255,255,255,0.9)"/>
|
|
3198
|
-
</svg>`,
|
|
3198
|
+
</svg>`, pt = `
|
|
3199
3199
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="rgba(255,255,255,0.9)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
|
|
3200
3200
|
<polygon points="11,5 6,9 2,9 2,15 6,15 11,19"/>
|
|
3201
3201
|
<line x1="23" y1="9" x2="17" y2="15"/>
|
|
@@ -3205,8 +3205,11 @@ const ct = 80, Bi = "#e2e8f0", Fi = `
|
|
|
3205
3205
|
<polygon points="11,5 6,9 2,9 2,15 6,15 11,19"/>
|
|
3206
3206
|
<path d="M19.07 4.93a10 10 0 0 1 0 14.14"/>
|
|
3207
3207
|
<path d="M15.54 8.46a5 5 0 0 1 0 7.07"/>
|
|
3208
|
-
</svg
|
|
3209
|
-
|
|
3208
|
+
</svg>`, Wi = `
|
|
3209
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="rgba(255,255,255,0.9)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
|
|
3210
|
+
<polyline points="15,3 21,3 21,9"/><line x1="21" y1="3" x2="14" y2="10"/>
|
|
3211
|
+
<polyline points="9,21 3,21 3,15"/><line x1="3" y1="21" x2="10" y2="14"/>
|
|
3212
|
+
</svg>`, _ = class _ {
|
|
3210
3213
|
/**
|
|
3211
3214
|
* Renders an inline circular video player and returns the root container.
|
|
3212
3215
|
* @param url - Video source URL
|
|
@@ -3218,8 +3221,8 @@ class Tt {
|
|
|
3218
3221
|
Object.assign(o.style, {
|
|
3219
3222
|
position: "relative",
|
|
3220
3223
|
display: "inline-block",
|
|
3221
|
-
width: `${
|
|
3222
|
-
height: `${
|
|
3224
|
+
width: `${ht}px`,
|
|
3225
|
+
height: `${ht}px`,
|
|
3223
3226
|
borderRadius: "50%",
|
|
3224
3227
|
border: `2px solid ${Bi}`,
|
|
3225
3228
|
boxShadow: "0 2px 8px rgba(0,0,0,0.1)",
|
|
@@ -3251,7 +3254,7 @@ class Tt {
|
|
|
3251
3254
|
transition: "opacity 0.25s ease",
|
|
3252
3255
|
opacity: "1",
|
|
3253
3256
|
pointerEvents: "none"
|
|
3254
|
-
}), l.innerHTML =
|
|
3257
|
+
}), l.innerHTML = qi, o.appendChild(l);
|
|
3255
3258
|
const a = document.createElement("div");
|
|
3256
3259
|
Object.assign(a.style, {
|
|
3257
3260
|
position: "absolute",
|
|
@@ -3266,22 +3269,113 @@ class Tt {
|
|
|
3266
3269
|
justifyContent: "center",
|
|
3267
3270
|
pointerEvents: "none",
|
|
3268
3271
|
transition: "opacity 0.2s ease"
|
|
3269
|
-
}), a.innerHTML =
|
|
3270
|
-
|
|
3272
|
+
}), a.innerHTML = pt, o.appendChild(a);
|
|
3273
|
+
const c = document.createElement("div");
|
|
3274
|
+
Object.assign(c.style, {
|
|
3275
|
+
position: "absolute",
|
|
3276
|
+
top: "2px",
|
|
3277
|
+
right: "2px",
|
|
3278
|
+
width: "22px",
|
|
3279
|
+
height: "22px",
|
|
3280
|
+
borderRadius: "50%",
|
|
3281
|
+
background: "rgba(0,0,0,0.45)",
|
|
3282
|
+
display: "none",
|
|
3283
|
+
alignItems: "center",
|
|
3284
|
+
justifyContent: "center",
|
|
3285
|
+
cursor: "pointer",
|
|
3286
|
+
pointerEvents: "auto",
|
|
3287
|
+
transition: "opacity 0.2s ease, background 0.15s ease"
|
|
3288
|
+
}), c.innerHTML = Wi, c.title = "Fullscreen", c.addEventListener("mouseenter", () => {
|
|
3289
|
+
c.style.background = "rgba(0,0,0,0.7)";
|
|
3290
|
+
}), c.addEventListener("mouseleave", () => {
|
|
3291
|
+
c.style.background = "rgba(0,0,0,0.45)";
|
|
3292
|
+
}), c.addEventListener("click", (u) => {
|
|
3293
|
+
u.stopPropagation(), _.openFullscreen(e, t);
|
|
3294
|
+
}), o.appendChild(c);
|
|
3295
|
+
function h() {
|
|
3271
3296
|
l.style.opacity = i ? "0" : "1";
|
|
3272
3297
|
}
|
|
3273
|
-
function
|
|
3274
|
-
a.style.display = i ? "flex" : "none", a.innerHTML = s ?
|
|
3298
|
+
function p() {
|
|
3299
|
+
a.style.display = i ? "flex" : "none", a.innerHTML = s ? pt : Vi, c.style.display = i ? "flex" : "none";
|
|
3275
3300
|
}
|
|
3276
|
-
return o.addEventListener("click", (
|
|
3277
|
-
|
|
3278
|
-
}), i = !0),
|
|
3301
|
+
return o.addEventListener("click", (u) => {
|
|
3302
|
+
u.stopPropagation(), i ? s ? (r.muted = !1, s = !1) : (r.pause(), i = !1, s = !0, r.muted = !0) : (r.muted = !0, s = !0, r.play().catch(() => {
|
|
3303
|
+
}), i = !0), h(), p();
|
|
3279
3304
|
}), r.addEventListener("pause", () => {
|
|
3280
|
-
i && (i = !1, s = !0, r.muted = !0,
|
|
3305
|
+
i && (i = !1, s = !0, r.muted = !0, h(), p());
|
|
3281
3306
|
}), o;
|
|
3282
3307
|
}
|
|
3283
|
-
|
|
3284
|
-
|
|
3308
|
+
static openFullscreen(e, t) {
|
|
3309
|
+
_.closeFullscreen();
|
|
3310
|
+
const i = document.createElement("div");
|
|
3311
|
+
Object.assign(i.style, {
|
|
3312
|
+
position: "fixed",
|
|
3313
|
+
top: "0",
|
|
3314
|
+
left: "0",
|
|
3315
|
+
width: "100%",
|
|
3316
|
+
height: "100%",
|
|
3317
|
+
zIndex: "100000",
|
|
3318
|
+
background: "rgba(0,0,0,0.85)",
|
|
3319
|
+
display: "flex",
|
|
3320
|
+
alignItems: "center",
|
|
3321
|
+
justifyContent: "center",
|
|
3322
|
+
opacity: "0",
|
|
3323
|
+
transition: "opacity 200ms ease",
|
|
3324
|
+
cursor: "pointer",
|
|
3325
|
+
fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif"
|
|
3326
|
+
});
|
|
3327
|
+
const s = document.createElement("button");
|
|
3328
|
+
s.textContent = "×", Object.assign(s.style, {
|
|
3329
|
+
position: "absolute",
|
|
3330
|
+
top: "16px",
|
|
3331
|
+
right: "16px",
|
|
3332
|
+
width: "40px",
|
|
3333
|
+
height: "40px",
|
|
3334
|
+
border: "none",
|
|
3335
|
+
borderRadius: "50%",
|
|
3336
|
+
background: "rgba(255,255,255,0.15)",
|
|
3337
|
+
color: "#fff",
|
|
3338
|
+
fontSize: "24px",
|
|
3339
|
+
cursor: "pointer",
|
|
3340
|
+
padding: "0",
|
|
3341
|
+
display: "flex",
|
|
3342
|
+
alignItems: "center",
|
|
3343
|
+
justifyContent: "center",
|
|
3344
|
+
transition: "background 150ms ease",
|
|
3345
|
+
zIndex: "1"
|
|
3346
|
+
}), s.addEventListener("mouseenter", () => {
|
|
3347
|
+
s.style.background = "rgba(255,255,255,0.3)";
|
|
3348
|
+
}), s.addEventListener("mouseleave", () => {
|
|
3349
|
+
s.style.background = "rgba(255,255,255,0.15)";
|
|
3350
|
+
}), s.addEventListener("click", (l) => {
|
|
3351
|
+
l.stopPropagation(), _.closeFullscreen();
|
|
3352
|
+
});
|
|
3353
|
+
const o = document.createElement("video");
|
|
3354
|
+
Object.assign(o.style, {
|
|
3355
|
+
maxWidth: "90vw",
|
|
3356
|
+
maxHeight: "90vh",
|
|
3357
|
+
borderRadius: "8px",
|
|
3358
|
+
outline: "none",
|
|
3359
|
+
cursor: "default"
|
|
3360
|
+
}), o.src = e, o.controls = !0, o.autoplay = !0, o.playsInline = !0, t && (o.poster = t), o.addEventListener("click", (l) => l.stopPropagation()), i.appendChild(s), i.appendChild(o), i.addEventListener("click", () => _.closeFullscreen());
|
|
3361
|
+
const r = (l) => {
|
|
3362
|
+
l.key === "Escape" && _.closeFullscreen();
|
|
3363
|
+
};
|
|
3364
|
+
document.addEventListener("keydown", r), _.fullscreenOverlay = i, _.fullscreenKeyHandler = r, document.body.appendChild(i), requestAnimationFrame(() => {
|
|
3365
|
+
i.style.opacity = "1";
|
|
3366
|
+
});
|
|
3367
|
+
}
|
|
3368
|
+
static closeFullscreen() {
|
|
3369
|
+
if (!_.fullscreenOverlay) return;
|
|
3370
|
+
const e = _.fullscreenOverlay;
|
|
3371
|
+
_.fullscreenKeyHandler && (document.removeEventListener("keydown", _.fullscreenKeyHandler), _.fullscreenKeyHandler = null);
|
|
3372
|
+
const t = e.querySelector("video");
|
|
3373
|
+
t && t.pause(), e.style.opacity = "0", e.addEventListener("transitionend", () => e.remove()), _.fullscreenOverlay = null;
|
|
3374
|
+
}
|
|
3375
|
+
};
|
|
3376
|
+
_.fullscreenOverlay = null, _.fullscreenKeyHandler = null;
|
|
3377
|
+
let Ee = _;
|
|
3378
|
+
const ut = 60, Xi = `
|
|
3285
3379
|
.vr-overlay {
|
|
3286
3380
|
display: flex;
|
|
3287
3381
|
flex-direction: column;
|
|
@@ -3388,14 +3482,14 @@ const ht = 60, qi = `
|
|
|
3388
3482
|
color: #0f172a;
|
|
3389
3483
|
}
|
|
3390
3484
|
`;
|
|
3391
|
-
function
|
|
3485
|
+
function ft(n) {
|
|
3392
3486
|
return n.toString().padStart(2, "0");
|
|
3393
3487
|
}
|
|
3394
|
-
function
|
|
3488
|
+
function Yi(n) {
|
|
3395
3489
|
const e = Math.floor(n / 60), t = n % 60;
|
|
3396
|
-
return `${
|
|
3490
|
+
return `${ft(e)}:${ft(t)}`;
|
|
3397
3491
|
}
|
|
3398
|
-
function
|
|
3492
|
+
function Ki() {
|
|
3399
3493
|
const n = [
|
|
3400
3494
|
"video/webm;codecs=vp9,opus",
|
|
3401
3495
|
"video/webm;codecs=vp8,opus",
|
|
@@ -3406,7 +3500,7 @@ function Xi() {
|
|
|
3406
3500
|
if (MediaRecorder.isTypeSupported(e)) return e;
|
|
3407
3501
|
return "";
|
|
3408
3502
|
}
|
|
3409
|
-
function
|
|
3503
|
+
function Gi(n) {
|
|
3410
3504
|
return new Promise((e, t) => {
|
|
3411
3505
|
const i = URL.createObjectURL(n), s = document.createElement("video");
|
|
3412
3506
|
s.muted = !0, s.playsInline = !0, s.preload = "auto", s.src = i, s.addEventListener("loadeddata", () => {
|
|
@@ -3425,7 +3519,7 @@ function Yi(n) {
|
|
|
3425
3519
|
}), s.load();
|
|
3426
3520
|
});
|
|
3427
3521
|
}
|
|
3428
|
-
class
|
|
3522
|
+
class ze {
|
|
3429
3523
|
constructor() {
|
|
3430
3524
|
this.recording = !1, this.container = null, this.stream = null, this.mediaRecorder = null, this.chunks = [], this.timerInterval = null, this.elapsed = 0, this.resolvePromise = null, this.root = null, this.styleEl = null, this.videoEl = null, this.timerEl = null;
|
|
3431
3525
|
}
|
|
@@ -3442,7 +3536,7 @@ class Le {
|
|
|
3442
3536
|
}
|
|
3443
3537
|
this.stream = t, this.container = e, this.recording = !0, this.elapsed = 0, this.chunks = [], this.buildUI(e), this.videoEl && (this.videoEl.srcObject = t, this.videoEl.play().catch(() => {
|
|
3444
3538
|
}));
|
|
3445
|
-
const i =
|
|
3539
|
+
const i = Ki(), s = {};
|
|
3446
3540
|
i && (s.mimeType = i);
|
|
3447
3541
|
const o = new MediaRecorder(t, s);
|
|
3448
3542
|
return this.mediaRecorder = o, o.ondataavailable = (r) => {
|
|
@@ -3450,7 +3544,7 @@ class Le {
|
|
|
3450
3544
|
}, o.onstop = () => {
|
|
3451
3545
|
this.handleRecordingComplete();
|
|
3452
3546
|
}, o.start(), this.timerInterval = setInterval(() => {
|
|
3453
|
-
this.elapsed++, this.updateTimer(), this.elapsed >=
|
|
3547
|
+
this.elapsed++, this.updateTimer(), this.elapsed >= ut && this.stopRecording();
|
|
3454
3548
|
}, 1e3), new Promise((r) => {
|
|
3455
3549
|
this.resolvePromise = r;
|
|
3456
3550
|
});
|
|
@@ -3467,7 +3561,7 @@ class Le {
|
|
|
3467
3561
|
}
|
|
3468
3562
|
// ── Private ──
|
|
3469
3563
|
buildUI(e) {
|
|
3470
|
-
this.styleEl = document.createElement("style"), this.styleEl.textContent =
|
|
3564
|
+
this.styleEl = document.createElement("style"), this.styleEl.textContent = Xi, document.head.appendChild(this.styleEl), this.root = document.createElement("div"), this.root.className = "vr-overlay";
|
|
3471
3565
|
const t = document.createElement("div");
|
|
3472
3566
|
t.className = "vr-circle-wrapper";
|
|
3473
3567
|
const i = document.createElement("div");
|
|
@@ -3483,15 +3577,15 @@ class Le {
|
|
|
3483
3577
|
}
|
|
3484
3578
|
updateTimer() {
|
|
3485
3579
|
if (!this.timerEl) return;
|
|
3486
|
-
const e =
|
|
3487
|
-
this.timerEl.textContent =
|
|
3580
|
+
const e = ut - this.elapsed;
|
|
3581
|
+
this.timerEl.textContent = Yi(this.elapsed), e <= 10 ? this.timerEl.classList.add("vr-countdown") : this.timerEl.classList.remove("vr-countdown");
|
|
3488
3582
|
}
|
|
3489
3583
|
async handleRecordingComplete() {
|
|
3490
3584
|
var s, o;
|
|
3491
3585
|
const e = ((s = this.mediaRecorder) == null ? void 0 : s.mimeType) || "video/webm", t = new Blob(this.chunks, { type: e });
|
|
3492
3586
|
let i;
|
|
3493
3587
|
try {
|
|
3494
|
-
i = await
|
|
3588
|
+
i = await Gi(t);
|
|
3495
3589
|
} catch {
|
|
3496
3590
|
const r = document.createElement("canvas");
|
|
3497
3591
|
r.width = 1, r.height = 1, i = await new Promise((l) => {
|
|
@@ -3514,10 +3608,10 @@ class Le {
|
|
|
3514
3608
|
this.videoEl && (this.videoEl.srcObject = null, this.videoEl = null), this.root && this.root.parentElement && this.root.parentElement.removeChild(this.root), this.root = null, this.styleEl && this.styleEl.parentElement && this.styleEl.parentElement.removeChild(this.styleEl), this.styleEl = null, this.chunks = [], this.elapsed = 0;
|
|
3515
3609
|
}
|
|
3516
3610
|
}
|
|
3517
|
-
const
|
|
3611
|
+
const S = class S {
|
|
3518
3612
|
/** Opens a fullscreen lightbox overlay showing the image. */
|
|
3519
3613
|
static open(e) {
|
|
3520
|
-
|
|
3614
|
+
S.close();
|
|
3521
3615
|
const t = document.createElement("div");
|
|
3522
3616
|
t.id = "pulse-widget-lightbox", Object.assign(t.style, {
|
|
3523
3617
|
position: "fixed",
|
|
@@ -3561,7 +3655,7 @@ const T = class T {
|
|
|
3561
3655
|
}), i.addEventListener("mouseleave", () => {
|
|
3562
3656
|
i.style.background = "rgba(255,255,255,0.15)";
|
|
3563
3657
|
}), i.addEventListener("click", (r) => {
|
|
3564
|
-
r.stopPropagation(),
|
|
3658
|
+
r.stopPropagation(), S.close();
|
|
3565
3659
|
});
|
|
3566
3660
|
const s = document.createElement("img");
|
|
3567
3661
|
s.src = e, s.alt = "Lightbox image", Object.assign(s.style, {
|
|
@@ -3574,27 +3668,27 @@ const T = class T {
|
|
|
3574
3668
|
}), s.addEventListener("click", (r) => {
|
|
3575
3669
|
r.stopPropagation();
|
|
3576
3670
|
}), t.appendChild(i), t.appendChild(s), t.addEventListener("click", () => {
|
|
3577
|
-
|
|
3671
|
+
S.close();
|
|
3578
3672
|
});
|
|
3579
3673
|
const o = (r) => {
|
|
3580
|
-
r.key === "Escape" &&
|
|
3674
|
+
r.key === "Escape" && S.close();
|
|
3581
3675
|
};
|
|
3582
|
-
document.addEventListener("keydown", o),
|
|
3676
|
+
document.addEventListener("keydown", o), S.overlay = t, S.onKeyDown = o, document.body.appendChild(t), requestAnimationFrame(() => {
|
|
3583
3677
|
t.style.opacity = "1";
|
|
3584
3678
|
});
|
|
3585
3679
|
}
|
|
3586
3680
|
/** Closes the lightbox if open. */
|
|
3587
3681
|
static close() {
|
|
3588
|
-
if (!
|
|
3589
|
-
const e =
|
|
3590
|
-
|
|
3682
|
+
if (!S.overlay) return;
|
|
3683
|
+
const e = S.overlay;
|
|
3684
|
+
S.onKeyDown && (document.removeEventListener("keydown", S.onKeyDown), S.onKeyDown = null), e.style.opacity = "0", e.addEventListener("transitionend", () => {
|
|
3591
3685
|
e.remove();
|
|
3592
|
-
}),
|
|
3686
|
+
}), S.overlay = null;
|
|
3593
3687
|
}
|
|
3594
3688
|
};
|
|
3595
|
-
|
|
3596
|
-
let
|
|
3597
|
-
class
|
|
3689
|
+
S.overlay = null, S.onKeyDown = null;
|
|
3690
|
+
let Ce = S;
|
|
3691
|
+
class oe {
|
|
3598
3692
|
constructor(e) {
|
|
3599
3693
|
this.uploading = !1, this.client = e, this.input = document.createElement("input"), this.input.type = "file", this.input.style.display = "none", document.body.appendChild(this.input);
|
|
3600
3694
|
}
|
|
@@ -3688,7 +3782,7 @@ class ne {
|
|
|
3688
3782
|
this.input.remove();
|
|
3689
3783
|
}
|
|
3690
3784
|
}
|
|
3691
|
-
const
|
|
3785
|
+
const Zi = ["👍", "👎", "❤️", "🎉", "👀", "🚀"], ve = "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif", Ji = '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"/><path d="m15 5 4 4"/></svg>', Qi = '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/></svg>', mt = `<button class="pulse-close-btn" style="
|
|
3692
3786
|
border:none;background:none;cursor:pointer;color:#94a3b8;padding:4px;
|
|
3693
3787
|
border-radius:6px;display:flex;align-items:center;justify-content:center;
|
|
3694
3788
|
transition:all 0.15s;flex-shrink:0;
|
|
@@ -3696,7 +3790,7 @@ const Ki = ["👍", "👎", "❤️", "🎉", "👀", "🚀"], be = "-apple-syst
|
|
|
3696
3790
|
onmouseout="this.style.background='none';this.style.color='#94a3b8'">
|
|
3697
3791
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
|
|
3698
3792
|
</button>`;
|
|
3699
|
-
class
|
|
3793
|
+
class es {
|
|
3700
3794
|
constructor(e, t = {}) {
|
|
3701
3795
|
this.container = null, this.overlay = null, this.form = null, this.popover = null, this.threads = [], this.pinEls = /* @__PURE__ */ new Map(), this._pinModeActive = !1, this.editingPopoverCommentId = null, this.popoverPickerOpen = null, this.lastTypingSendPins = /* @__PURE__ */ new Map(), this.repositionDebounce = null, this.mutationObserver = null, this.upload = null, this.audioRecorder = null, this.videoRecorder = null, this.pendingAttachmentIds = [], this.handleReposition = () => {
|
|
3702
3796
|
this.repositionDebounce || (this.repositionDebounce = setTimeout(() => {
|
|
@@ -3832,11 +3926,11 @@ class Ji {
|
|
|
3832
3926
|
boxShadow: "0 8px 40px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08)",
|
|
3833
3927
|
border: "1px solid #e2e8f0",
|
|
3834
3928
|
padding: "14px",
|
|
3835
|
-
fontFamily:
|
|
3929
|
+
fontFamily: ve
|
|
3836
3930
|
}), this.form.innerHTML = `
|
|
3837
3931
|
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;">
|
|
3838
3932
|
<span style="font-size:13px;font-weight:600;color:#0f172a;">Add a comment here</span>
|
|
3839
|
-
${
|
|
3933
|
+
${mt}
|
|
3840
3934
|
</div>
|
|
3841
3935
|
<textarea
|
|
3842
3936
|
placeholder="Write a comment..."
|
|
@@ -3869,7 +3963,7 @@ class Ji {
|
|
|
3869
3963
|
<div class="pin-attachments-preview" style="margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;"></div>
|
|
3870
3964
|
`;
|
|
3871
3965
|
const a = this.form.querySelector("textarea"), c = this.form.querySelector(".pulse-close-btn"), h = this.form.querySelector(".pin-submit");
|
|
3872
|
-
c.addEventListener("click", () => this.exitPinMode()), this.pendingAttachmentIds = [], this.upload || (this.upload = new
|
|
3966
|
+
c.addEventListener("click", () => this.exitPinMode()), this.pendingAttachmentIds = [], this.upload || (this.upload = new oe(this.client));
|
|
3873
3967
|
const p = this.form.querySelector(".pin-attachments-preview"), u = (m, x) => {
|
|
3874
3968
|
const b = document.createElement("div");
|
|
3875
3969
|
Object.assign(b.style, { position: "relative", display: "inline-block" }), b.appendChild(x);
|
|
@@ -3908,7 +4002,7 @@ class Ji {
|
|
|
3908
4002
|
}
|
|
3909
4003
|
}), this.form.querySelector(".attach-mic").addEventListener("click", async () => {
|
|
3910
4004
|
if (this.pendingAttachmentIds.length >= f) return;
|
|
3911
|
-
this.audioRecorder || (this.audioRecorder = new
|
|
4005
|
+
this.audioRecorder || (this.audioRecorder = new je());
|
|
3912
4006
|
const m = await this.audioRecorder.startRecording(p);
|
|
3913
4007
|
if (m) {
|
|
3914
4008
|
const x = await this.upload.uploadBlob(m, "audio.webm");
|
|
@@ -3920,7 +4014,7 @@ class Ji {
|
|
|
3920
4014
|
}
|
|
3921
4015
|
}), this.form.querySelector(".attach-video").addEventListener("click", async () => {
|
|
3922
4016
|
if (this.pendingAttachmentIds.length >= f) return;
|
|
3923
|
-
this.videoRecorder || (this.videoRecorder = new
|
|
4017
|
+
this.videoRecorder || (this.videoRecorder = new ze());
|
|
3924
4018
|
const m = await this.videoRecorder.startRecording(p);
|
|
3925
4019
|
if (m) {
|
|
3926
4020
|
const x = await this.upload.uploadBlob(m.blob, "video.webm");
|
|
@@ -3955,7 +4049,7 @@ class Ji {
|
|
|
3955
4049
|
borderRadius: i ? "16px 16px 0 0" : "12px",
|
|
3956
4050
|
boxShadow: "0 8px 40px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08)",
|
|
3957
4051
|
border: "1px solid #e2e8f0",
|
|
3958
|
-
fontFamily:
|
|
4052
|
+
fontFamily: ve,
|
|
3959
4053
|
display: "flex",
|
|
3960
4054
|
flexDirection: "column",
|
|
3961
4055
|
overflow: "hidden",
|
|
@@ -3972,7 +4066,7 @@ class Ji {
|
|
|
3972
4066
|
flexShrink: "0"
|
|
3973
4067
|
}), a.innerHTML = `
|
|
3974
4068
|
<span style="font-size:13px;font-weight:700;color:#0f172a;">Thread</span>
|
|
3975
|
-
${
|
|
4069
|
+
${mt}
|
|
3976
4070
|
`, a.querySelector(".pulse-close-btn").addEventListener("click", () => {
|
|
3977
4071
|
this.closePopover();
|
|
3978
4072
|
}), this.popover.appendChild(a), this.refreshPopoverComments(e), this.addPopoverReplyForm(e), document.body.appendChild(this.popover);
|
|
@@ -4022,20 +4116,20 @@ class Ji {
|
|
|
4022
4116
|
'<span style="color:#6366f1;font-weight:600;background:#eef2ff;padding:0 3px;border-radius:3px;">@$1</span>'
|
|
4023
4117
|
) : "", y = (a.attachments ?? []).map((k) => {
|
|
4024
4118
|
if (k.type === "image") {
|
|
4025
|
-
const
|
|
4119
|
+
const At = k.thumbnailUrl || k.url;
|
|
4026
4120
|
return `<div class="popover-attachment-img" data-full-url="${this.escapeHtml(k.url)}" style="margin:4px 0 4px 29px;cursor:pointer;">
|
|
4027
|
-
<img src="${this.escapeHtml(
|
|
4121
|
+
<img src="${this.escapeHtml(At)}" alt="${this.escapeHtml(k.filename)}" style="max-width:180px;max-height:120px;border-radius:8px;border:1px solid #e2e8f0;display:block;" />
|
|
4028
4122
|
</div>`;
|
|
4029
4123
|
}
|
|
4030
4124
|
return k.type === "audio" ? `<div class="popover-attachment-audio" data-url="${this.escapeHtml(k.url)}" data-duration="${k.durationMs ?? ""}" style="margin:4px 0 4px 29px;"></div>` : k.type === "video" ? `<div class="popover-attachment-video" data-url="${this.escapeHtml(k.url)}" data-poster="${this.escapeHtml(k.thumbnailUrl ?? "")}" style="margin:4px 0 4px 29px;"></div>` : "";
|
|
4031
4125
|
}).join(""), E = m ? `<div class="popover-comment-actions" style="display:flex;gap:2px;margin-top:2px;margin-left:29px;">
|
|
4032
4126
|
<button class="edit-btn" data-comment-id="${a.id}" style="border:none;background:none;cursor:pointer;color:#94a3b8;padding:3px;border-radius:4px;display:flex;align-items:center;transition:all 0.15s;" title="Edit"
|
|
4033
4127
|
onmouseover="this.style.color='#6366f1';this.style.background='#eef2ff'"
|
|
4034
|
-
onmouseout="this.style.color='#94a3b8';this.style.background='none'">${
|
|
4128
|
+
onmouseout="this.style.color='#94a3b8';this.style.background='none'">${Ji}</button>
|
|
4035
4129
|
<button class="delete-btn" data-comment-id="${a.id}" style="border:none;background:none;cursor:pointer;color:#94a3b8;padding:3px;border-radius:4px;display:flex;align-items:center;transition:all 0.15s;" title="Delete"
|
|
4036
4130
|
onmouseover="this.style.color='#ef4444';this.style.background='#fef2f2'"
|
|
4037
|
-
onmouseout="this.style.color='#94a3b8';this.style.background='none'">${
|
|
4038
|
-
</div>` : "",
|
|
4131
|
+
onmouseout="this.style.color='#94a3b8';this.style.background='none'">${Qi}</button>
|
|
4132
|
+
</div>` : "", M = this.buildReactionPillsHtml(a.id);
|
|
4039
4133
|
return `
|
|
4040
4134
|
<div class="popover-comment" style="margin-bottom:10px;" data-comment-id="${a.id}">
|
|
4041
4135
|
<div style="display:flex;align-items:center;gap:7px;margin-bottom:2px;">
|
|
@@ -4047,7 +4141,7 @@ class Ji {
|
|
|
4047
4141
|
${b ? `<div style="font-size:13px;color:#334155;line-height:1.45;margin-left:29px;word-wrap:break-word;">${b}</div>` : ""}
|
|
4048
4142
|
${y}
|
|
4049
4143
|
${E}
|
|
4050
|
-
${
|
|
4144
|
+
${M}
|
|
4051
4145
|
</div>
|
|
4052
4146
|
`;
|
|
4053
4147
|
}).join(""), t.querySelectorAll(".edit-btn").forEach((a) => {
|
|
@@ -4088,18 +4182,18 @@ class Ji {
|
|
|
4088
4182
|
}), t.querySelectorAll(".popover-attachment-img").forEach((a) => {
|
|
4089
4183
|
a.addEventListener("click", () => {
|
|
4090
4184
|
const c = a.dataset.fullUrl;
|
|
4091
|
-
c &&
|
|
4185
|
+
c && Ce.open(c);
|
|
4092
4186
|
});
|
|
4093
4187
|
}), t.querySelectorAll(".popover-attachment-audio").forEach((a) => {
|
|
4094
4188
|
const c = a.dataset.url;
|
|
4095
4189
|
if (c) {
|
|
4096
|
-
const h = a.dataset.duration ? parseInt(a.dataset.duration) : void 0, p =
|
|
4190
|
+
const h = a.dataset.duration ? parseInt(a.dataset.duration) : void 0, p = Le.render(c, h);
|
|
4097
4191
|
a.appendChild(p);
|
|
4098
4192
|
}
|
|
4099
4193
|
}), t.querySelectorAll(".popover-attachment-video").forEach((a) => {
|
|
4100
4194
|
const c = a.dataset.url;
|
|
4101
4195
|
if (c) {
|
|
4102
|
-
const h = a.dataset.poster || void 0, p =
|
|
4196
|
+
const h = a.dataset.poster || void 0, p = Ee.render(c, h);
|
|
4103
4197
|
a.appendChild(p);
|
|
4104
4198
|
}
|
|
4105
4199
|
}), t.scrollTop = t.scrollHeight;
|
|
@@ -4132,7 +4226,7 @@ class Ji {
|
|
|
4132
4226
|
</div>
|
|
4133
4227
|
`;
|
|
4134
4228
|
const o = t.querySelector("input"), r = t.querySelector(".reply-send"), l = t.querySelector(".reply-attachments-preview");
|
|
4135
|
-
this.upload || (this.upload = new
|
|
4229
|
+
this.upload || (this.upload = new oe(this.client));
|
|
4136
4230
|
const a = [], c = (u, f) => {
|
|
4137
4231
|
const m = document.createElement("span");
|
|
4138
4232
|
Object.assign(m.style, { position: "relative", display: "inline-flex", alignItems: "center", padding: "2px 18px 2px 8px", borderRadius: "4px", background: "#f1f5f9", fontSize: "10px", color: "#64748b" }), m.textContent = f;
|
|
@@ -4168,7 +4262,7 @@ class Ji {
|
|
|
4168
4262
|
a.push(m.id), c(m.id, "📎 Image");
|
|
4169
4263
|
}), t.querySelector(".reply-attach-mic").addEventListener("click", async () => {
|
|
4170
4264
|
if (a.length >= h) return;
|
|
4171
|
-
this.audioRecorder || (this.audioRecorder = new
|
|
4265
|
+
this.audioRecorder || (this.audioRecorder = new je());
|
|
4172
4266
|
const u = await this.audioRecorder.startRecording(t);
|
|
4173
4267
|
if (u) {
|
|
4174
4268
|
const f = await this.upload.uploadBlob(u, "audio.webm");
|
|
@@ -4176,7 +4270,7 @@ class Ji {
|
|
|
4176
4270
|
}
|
|
4177
4271
|
}), t.querySelector(".reply-attach-video").addEventListener("click", async () => {
|
|
4178
4272
|
if (a.length >= h) return;
|
|
4179
|
-
this.videoRecorder || (this.videoRecorder = new
|
|
4273
|
+
this.videoRecorder || (this.videoRecorder = new ze());
|
|
4180
4274
|
const u = await this.videoRecorder.startRecording(t);
|
|
4181
4275
|
if (u) {
|
|
4182
4276
|
const f = await this.upload.uploadBlob(u.blob, "video.webm");
|
|
@@ -4216,9 +4310,9 @@ class Ji {
|
|
|
4216
4310
|
borderRadius: "8px",
|
|
4217
4311
|
boxShadow: "0 4px 24px rgba(0,0,0,0.12)",
|
|
4218
4312
|
zIndex: "10002",
|
|
4219
|
-
fontFamily:
|
|
4313
|
+
fontFamily: ve
|
|
4220
4314
|
});
|
|
4221
|
-
for (const s of
|
|
4315
|
+
for (const s of Zi) {
|
|
4222
4316
|
const o = document.createElement("button");
|
|
4223
4317
|
Object.assign(o.style, {
|
|
4224
4318
|
border: "none",
|
|
@@ -4328,7 +4422,7 @@ class Ji {
|
|
|
4328
4422
|
justifyContent: "center",
|
|
4329
4423
|
fontSize: "11px",
|
|
4330
4424
|
fontWeight: "700",
|
|
4331
|
-
fontFamily:
|
|
4425
|
+
fontFamily: ve,
|
|
4332
4426
|
cursor: "pointer",
|
|
4333
4427
|
pointerEvents: "auto",
|
|
4334
4428
|
boxShadow: "0 2px 8px rgba(99,102,241,0.4)",
|
|
@@ -4353,13 +4447,13 @@ class Ji {
|
|
|
4353
4447
|
});
|
|
4354
4448
|
}
|
|
4355
4449
|
}
|
|
4356
|
-
var
|
|
4357
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
4450
|
+
var ts = Object.defineProperty, is = Object.getOwnPropertyDescriptor, z = (n, e, t, i) => {
|
|
4451
|
+
for (var s = i > 1 ? void 0 : i ? is(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
4358
4452
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
4359
|
-
return i && s &&
|
|
4453
|
+
return i && s && ts(e, t, s), s;
|
|
4360
4454
|
};
|
|
4361
|
-
const
|
|
4362
|
-
let
|
|
4455
|
+
const ss = ["👍", "👎", "❤️", "🎉", "👀", "🚀"];
|
|
4456
|
+
let A = class extends P {
|
|
4363
4457
|
constructor() {
|
|
4364
4458
|
super(...arguments), this.highlightThreadId = null, this.threadsVersion = 0, this.replyingTo = null, this.editingCommentId = null, this.editBody = "", this.pickerOpenForComment = null, this.typingByThread = /* @__PURE__ */ new Map(), this.reactionsVersion = 0, this.typingTimers = /* @__PURE__ */ new Map(), this.lastTypingSend = /* @__PURE__ */ new Map(), this.replyAttachmentIds = [];
|
|
4365
4459
|
}
|
|
@@ -4383,12 +4477,12 @@ let P = class extends S {
|
|
|
4383
4477
|
const s = i.dataset.url;
|
|
4384
4478
|
if (s) {
|
|
4385
4479
|
const o = i.dataset.duration ? parseInt(i.dataset.duration) : void 0;
|
|
4386
|
-
i.appendChild(
|
|
4480
|
+
i.appendChild(Le.render(s, o));
|
|
4387
4481
|
}
|
|
4388
4482
|
}), (t = this.shadowRoot) == null || t.querySelectorAll(".video-player-host").forEach((i) => {
|
|
4389
4483
|
if (i.children.length > 0) return;
|
|
4390
4484
|
const s = i.dataset.url;
|
|
4391
|
-
s && i.appendChild(
|
|
4485
|
+
s && i.appendChild(Ee.render(s, i.dataset.poster || void 0));
|
|
4392
4486
|
});
|
|
4393
4487
|
}
|
|
4394
4488
|
teardownListeners() {
|
|
@@ -4473,16 +4567,16 @@ let P = class extends S {
|
|
|
4473
4567
|
return o < 24 ? `${o}h` : e.toLocaleDateString();
|
|
4474
4568
|
}
|
|
4475
4569
|
async handleAttachImage() {
|
|
4476
|
-
this.upload || (this.upload = new
|
|
4477
|
-
const n =
|
|
4570
|
+
this.upload || (this.upload = new oe(this.client));
|
|
4571
|
+
const n = A.MAX_ATTACHMENTS - this.replyAttachmentIds.length;
|
|
4478
4572
|
if (n <= 0) return;
|
|
4479
4573
|
const e = await this.upload.pickFiles("image/*", n);
|
|
4480
4574
|
e.length > 0 && (this.replyAttachmentIds.push(...e.map((t) => t.id)), this.requestUpdate());
|
|
4481
4575
|
}
|
|
4482
4576
|
async handleRecordAudio(n) {
|
|
4483
4577
|
var i;
|
|
4484
|
-
if (this.replyAttachmentIds.length >=
|
|
4485
|
-
this.upload || (this.upload = new
|
|
4578
|
+
if (this.replyAttachmentIds.length >= A.MAX_ATTACHMENTS) return;
|
|
4579
|
+
this.upload || (this.upload = new oe(this.client)), this.audioRecorder || (this.audioRecorder = new je());
|
|
4486
4580
|
const e = (i = this.shadowRoot) == null ? void 0 : i.querySelector(`[data-thread-id="${n}"]`), t = await this.audioRecorder.startRecording(e ?? document.body);
|
|
4487
4581
|
if (t) {
|
|
4488
4582
|
const s = await this.upload.uploadBlob(t, "audio.webm");
|
|
@@ -4491,8 +4585,8 @@ let P = class extends S {
|
|
|
4491
4585
|
}
|
|
4492
4586
|
async handleRecordVideo(n) {
|
|
4493
4587
|
var i;
|
|
4494
|
-
if (this.replyAttachmentIds.length >=
|
|
4495
|
-
this.upload || (this.upload = new
|
|
4588
|
+
if (this.replyAttachmentIds.length >= A.MAX_ATTACHMENTS) return;
|
|
4589
|
+
this.upload || (this.upload = new oe(this.client)), this.videoRecorder || (this.videoRecorder = new ze());
|
|
4496
4590
|
const e = (i = this.shadowRoot) == null ? void 0 : i.querySelector(`[data-thread-id="${n}"]`), t = await this.videoRecorder.startRecording(e ?? document.body);
|
|
4497
4591
|
if (t) {
|
|
4498
4592
|
const s = await this.upload.uploadBlob(t.blob, "video.webm");
|
|
@@ -4576,7 +4670,7 @@ let P = class extends S {
|
|
|
4576
4670
|
+
|
|
4577
4671
|
${this.pickerOpenForComment === n.id ? d`
|
|
4578
4672
|
<div class="emoji-picker">
|
|
4579
|
-
${
|
|
4673
|
+
${ss.map(
|
|
4580
4674
|
(o) => d`
|
|
4581
4675
|
<button @click=${(r) => {
|
|
4582
4676
|
r.stopPropagation(), this.toggleReaction(n.id, o);
|
|
@@ -4612,7 +4706,7 @@ let P = class extends S {
|
|
|
4612
4706
|
<span class="thread-count">${this.threads.length}</span>
|
|
4613
4707
|
</span>
|
|
4614
4708
|
<button class="close-btn" @click=${this.fireClose} title="Close">
|
|
4615
|
-
${C(
|
|
4709
|
+
${C(ge, 16)}
|
|
4616
4710
|
</button>
|
|
4617
4711
|
</div>
|
|
4618
4712
|
|
|
@@ -4640,7 +4734,7 @@ let P = class extends S {
|
|
|
4640
4734
|
class="comment-attachment-img"
|
|
4641
4735
|
src=${t}
|
|
4642
4736
|
alt=${e.filename}
|
|
4643
|
-
@click=${() =>
|
|
4737
|
+
@click=${() => Ce.open(e.url)}
|
|
4644
4738
|
/>
|
|
4645
4739
|
</div>
|
|
4646
4740
|
`;
|
|
@@ -4658,7 +4752,7 @@ let P = class extends S {
|
|
|
4658
4752
|
`;
|
|
4659
4753
|
}
|
|
4660
4754
|
renderAudioPlayer(n) {
|
|
4661
|
-
const e = document.createElement("div"), t =
|
|
4755
|
+
const e = document.createElement("div"), t = Le.render(n.url, n.durationMs);
|
|
4662
4756
|
return e.appendChild(t), d`<div class="audio-player-host" data-url=${n.url} data-duration=${n.durationMs ?? ""}></div>`;
|
|
4663
4757
|
}
|
|
4664
4758
|
renderVideoPlayer(n) {
|
|
@@ -4672,7 +4766,7 @@ let P = class extends S {
|
|
|
4672
4766
|
data-thread-id=${n.id}
|
|
4673
4767
|
>
|
|
4674
4768
|
${n.position ? d`<div class="pin-badge">
|
|
4675
|
-
${C(
|
|
4769
|
+
${C(St, 12)}
|
|
4676
4770
|
Pinned
|
|
4677
4771
|
</div>` : g}
|
|
4678
4772
|
${n.comments.map((t, i) => {
|
|
@@ -4696,8 +4790,8 @@ let P = class extends S {
|
|
|
4696
4790
|
${this.renderAttachments(t.attachments ?? [])}
|
|
4697
4791
|
`}
|
|
4698
4792
|
${o && !r ? d`<div class="comment-actions">
|
|
4699
|
-
<button @click=${() => this.startEdit(t)} title="Edit">${C(
|
|
4700
|
-
<button class="danger" @click=${() => this.deleteComment(t.id)} title="Delete">${C(
|
|
4793
|
+
<button @click=${() => this.startEdit(t)} title="Edit">${C(Ii, 14)}</button>
|
|
4794
|
+
<button class="danger" @click=${() => this.deleteComment(t.id)} title="Delete">${C(Oi, 14)}</button>
|
|
4701
4795
|
</div>` : g}
|
|
4702
4796
|
${this.renderReactions(t)}
|
|
4703
4797
|
</div>
|
|
@@ -4738,19 +4832,19 @@ let P = class extends S {
|
|
|
4738
4832
|
class="reply-media-btn"
|
|
4739
4833
|
title="Attach image"
|
|
4740
4834
|
@click=${() => this.handleAttachImage()}
|
|
4741
|
-
>${C(
|
|
4835
|
+
>${C(Pi, 16)}</button>
|
|
4742
4836
|
<button
|
|
4743
4837
|
type="button"
|
|
4744
4838
|
class="reply-media-btn"
|
|
4745
4839
|
title="Record audio"
|
|
4746
4840
|
@click=${() => this.handleRecordAudio(n.id)}
|
|
4747
|
-
>${C(
|
|
4841
|
+
>${C(Si, 16)}</button>
|
|
4748
4842
|
<button
|
|
4749
4843
|
type="button"
|
|
4750
4844
|
class="reply-media-btn"
|
|
4751
4845
|
title="Record video"
|
|
4752
4846
|
@click=${() => this.handleRecordVideo(n.id)}
|
|
4753
|
-
>${C(
|
|
4847
|
+
>${C(Ri, 16)}</button>
|
|
4754
4848
|
<div class="reply-preview">
|
|
4755
4849
|
${this.replyAttachmentIds.map(
|
|
4756
4850
|
(t, i) => d`<span class="reply-preview-badge">
|
|
@@ -4770,11 +4864,11 @@ let P = class extends S {
|
|
|
4770
4864
|
`;
|
|
4771
4865
|
}
|
|
4772
4866
|
};
|
|
4773
|
-
|
|
4774
|
-
|
|
4775
|
-
|
|
4776
|
-
|
|
4777
|
-
|
|
4867
|
+
A.styles = [
|
|
4868
|
+
te,
|
|
4869
|
+
be,
|
|
4870
|
+
Se,
|
|
4871
|
+
O`
|
|
4778
4872
|
:host {
|
|
4779
4873
|
display: block;
|
|
4780
4874
|
}
|
|
@@ -5314,56 +5408,56 @@ P.styles = [
|
|
|
5314
5408
|
}
|
|
5315
5409
|
`
|
|
5316
5410
|
];
|
|
5317
|
-
|
|
5318
|
-
|
|
5411
|
+
A.MAX_ATTACHMENTS = 5;
|
|
5412
|
+
z([
|
|
5319
5413
|
v({ attribute: !1 })
|
|
5320
|
-
],
|
|
5321
|
-
|
|
5414
|
+
], A.prototype, "client", 2);
|
|
5415
|
+
z([
|
|
5322
5416
|
v()
|
|
5323
|
-
],
|
|
5324
|
-
|
|
5417
|
+
], A.prototype, "highlightThreadId", 2);
|
|
5418
|
+
z([
|
|
5325
5419
|
w()
|
|
5326
|
-
],
|
|
5327
|
-
|
|
5420
|
+
], A.prototype, "threadsVersion", 2);
|
|
5421
|
+
z([
|
|
5328
5422
|
w()
|
|
5329
|
-
],
|
|
5330
|
-
|
|
5423
|
+
], A.prototype, "replyingTo", 2);
|
|
5424
|
+
z([
|
|
5331
5425
|
w()
|
|
5332
|
-
],
|
|
5333
|
-
|
|
5426
|
+
], A.prototype, "editingCommentId", 2);
|
|
5427
|
+
z([
|
|
5334
5428
|
w()
|
|
5335
|
-
],
|
|
5336
|
-
|
|
5429
|
+
], A.prototype, "editBody", 2);
|
|
5430
|
+
z([
|
|
5337
5431
|
w()
|
|
5338
|
-
],
|
|
5339
|
-
|
|
5432
|
+
], A.prototype, "pickerOpenForComment", 2);
|
|
5433
|
+
z([
|
|
5340
5434
|
w()
|
|
5341
|
-
],
|
|
5342
|
-
|
|
5435
|
+
], A.prototype, "typingByThread", 2);
|
|
5436
|
+
z([
|
|
5343
5437
|
w()
|
|
5344
|
-
],
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
],
|
|
5348
|
-
var
|
|
5349
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
5438
|
+
], A.prototype, "reactionsVersion", 2);
|
|
5439
|
+
A = z([
|
|
5440
|
+
L("pulse-widget-comments-panel")
|
|
5441
|
+
], A);
|
|
5442
|
+
var ns = Object.defineProperty, os = Object.getOwnPropertyDescriptor, We = (n, e, t, i) => {
|
|
5443
|
+
for (var s = i > 1 ? void 0 : i ? os(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
5350
5444
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
5351
|
-
return i && s &&
|
|
5445
|
+
return i && s && ns(e, t, s), s;
|
|
5352
5446
|
};
|
|
5353
|
-
const
|
|
5447
|
+
const rs = {
|
|
5354
5448
|
"comment:created": "left a comment",
|
|
5355
5449
|
"comment:mention": "mentioned you",
|
|
5356
5450
|
"comment:reply": "replied to your comment",
|
|
5357
5451
|
"thread:resolved": "resolved a thread",
|
|
5358
5452
|
"reaction:added": "reacted to your comment"
|
|
5359
|
-
},
|
|
5453
|
+
}, as = {
|
|
5360
5454
|
"comment:created": "💬",
|
|
5361
5455
|
"comment:mention": "📣",
|
|
5362
5456
|
"comment:reply": "↩️",
|
|
5363
5457
|
"thread:resolved": "✅",
|
|
5364
5458
|
"reaction:added": "🎉"
|
|
5365
5459
|
};
|
|
5366
|
-
let
|
|
5460
|
+
let he = class extends P {
|
|
5367
5461
|
constructor() {
|
|
5368
5462
|
super(...arguments), this.notifications = [];
|
|
5369
5463
|
}
|
|
@@ -5419,7 +5513,7 @@ let de = class extends S {
|
|
|
5419
5513
|
Mark all read
|
|
5420
5514
|
</button>` : g}
|
|
5421
5515
|
<button class="close-btn" @click=${this.fireClose} title="Close">
|
|
5422
|
-
${C(
|
|
5516
|
+
${C(ge, 16)}
|
|
5423
5517
|
</button>
|
|
5424
5518
|
</div>
|
|
5425
5519
|
</div>
|
|
@@ -5434,11 +5528,11 @@ let de = class extends S {
|
|
|
5434
5528
|
class="item ${e.read ? "" : "unread"}"
|
|
5435
5529
|
@click=${() => this.handleClick(e)}
|
|
5436
5530
|
>
|
|
5437
|
-
<span class="icon">${
|
|
5531
|
+
<span class="icon">${as[e.type] ?? "🔔"}</span>
|
|
5438
5532
|
<div class="content">
|
|
5439
5533
|
<div class="text">
|
|
5440
5534
|
<span class="actor">${this.getActorName(e.actorId)}</span>
|
|
5441
|
-
${
|
|
5535
|
+
${rs[e.type] ?? e.type}
|
|
5442
5536
|
</div>
|
|
5443
5537
|
<div class="time">${this.formatTime(e.createdAt)}</div>
|
|
5444
5538
|
</div>
|
|
@@ -5451,11 +5545,11 @@ let de = class extends S {
|
|
|
5451
5545
|
`;
|
|
5452
5546
|
}
|
|
5453
5547
|
};
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5548
|
+
he.styles = [
|
|
5549
|
+
te,
|
|
5550
|
+
be,
|
|
5551
|
+
Se,
|
|
5552
|
+
O`
|
|
5459
5553
|
:host {
|
|
5460
5554
|
display: block;
|
|
5461
5555
|
}
|
|
@@ -5648,17 +5742,17 @@ de.styles = [
|
|
|
5648
5742
|
}
|
|
5649
5743
|
`
|
|
5650
5744
|
];
|
|
5651
|
-
|
|
5745
|
+
We([
|
|
5652
5746
|
v({ attribute: !1 })
|
|
5653
|
-
],
|
|
5654
|
-
|
|
5747
|
+
], he.prototype, "client", 2);
|
|
5748
|
+
We([
|
|
5655
5749
|
w()
|
|
5656
|
-
],
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
],
|
|
5660
|
-
const
|
|
5661
|
-
class
|
|
5750
|
+
], he.prototype, "notifications", 2);
|
|
5751
|
+
he = We([
|
|
5752
|
+
L("pulse-widget-notifications-panel")
|
|
5753
|
+
], he);
|
|
5754
|
+
const ls = 3e3;
|
|
5755
|
+
class cs {
|
|
5662
5756
|
constructor(e) {
|
|
5663
5757
|
this.container = null, this.cursors = /* @__PURE__ */ new Map(), this.cursorEls = /* @__PURE__ */ new Map(), this.cursorLastSeen = /* @__PURE__ */ new Map(), this.unsubs = [], this.enabled = !1, this.sending = !1, this.staleTimer = null, this.handleLocalCursor = (t) => {
|
|
5664
5758
|
t.pointerType !== "touch" && this.client.moveCursor({
|
|
@@ -5710,7 +5804,7 @@ class as {
|
|
|
5710
5804
|
), this.setSending(!0), this.staleTimer = setInterval(() => {
|
|
5711
5805
|
const e = Date.now();
|
|
5712
5806
|
for (const [t, i] of this.cursorLastSeen)
|
|
5713
|
-
if (e - i >
|
|
5807
|
+
if (e - i > ls) {
|
|
5714
5808
|
this.cursors.delete(t);
|
|
5715
5809
|
const s = this.cursorEls.get(t);
|
|
5716
5810
|
s && s.remove(), this.cursorEls.delete(t), this.cursorLastSeen.delete(t);
|
|
@@ -5806,7 +5900,7 @@ class as {
|
|
|
5806
5900
|
i.style.transform = `translate(${t.position.x}px, ${t.position.y}px)`;
|
|
5807
5901
|
}
|
|
5808
5902
|
}
|
|
5809
|
-
class
|
|
5903
|
+
class ds {
|
|
5810
5904
|
constructor(e) {
|
|
5811
5905
|
this.container = null, this.unsubs = [], this.enabled = !1, this.drawMode = !1, this.currentPoints = [], this.currentPath = null, this.lastPoint = null, this.fadeTimers = /* @__PURE__ */ new Map(), this.handlePointerDown = (t) => {
|
|
5812
5906
|
var l, a, c;
|
|
@@ -5889,9 +5983,9 @@ class ls {
|
|
|
5889
5983
|
this.fadeTimers.set(e, t);
|
|
5890
5984
|
}
|
|
5891
5985
|
}
|
|
5892
|
-
function
|
|
5986
|
+
function hs(n) {
|
|
5893
5987
|
if (!n.rangeCount || n.isCollapsed) return null;
|
|
5894
|
-
const e = n.getRangeAt(0), t = e.startContainer, i = e.endContainer, s =
|
|
5988
|
+
const e = n.getRangeAt(0), t = e.startContainer, i = e.endContainer, s = gt(t), o = gt(i);
|
|
5895
5989
|
return !s || !o ? null : {
|
|
5896
5990
|
startSelector: s,
|
|
5897
5991
|
startOffset: e.startOffset,
|
|
@@ -5899,10 +5993,10 @@ function cs(n) {
|
|
|
5899
5993
|
endOffset: e.endOffset
|
|
5900
5994
|
};
|
|
5901
5995
|
}
|
|
5902
|
-
function
|
|
5996
|
+
function ps(n) {
|
|
5903
5997
|
var e, t;
|
|
5904
5998
|
try {
|
|
5905
|
-
const i =
|
|
5999
|
+
const i = vt(n.startSelector), s = vt(n.endSelector);
|
|
5906
6000
|
if (!i || !s) return null;
|
|
5907
6001
|
const o = document.createRange(), r = i.nodeType === Node.TEXT_NODE ? ((e = i.textContent) == null ? void 0 : e.length) ?? 0 : i.childNodes.length, l = s.nodeType === Node.TEXT_NODE ? ((t = s.textContent) == null ? void 0 : t.length) ?? 0 : s.childNodes.length;
|
|
5908
6002
|
return o.setStart(i, Math.min(n.startOffset, r)), o.setEnd(s, Math.min(n.endOffset, l)), o;
|
|
@@ -5910,18 +6004,18 @@ function ds(n) {
|
|
|
5910
6004
|
return null;
|
|
5911
6005
|
}
|
|
5912
6006
|
}
|
|
5913
|
-
function
|
|
6007
|
+
function gt(n) {
|
|
5914
6008
|
if (n.nodeType === Node.TEXT_NODE) {
|
|
5915
6009
|
const e = n.parentElement;
|
|
5916
6010
|
if (!e) return null;
|
|
5917
|
-
const t =
|
|
6011
|
+
const t = bt(e);
|
|
5918
6012
|
if (!t) return null;
|
|
5919
6013
|
const i = Array.from(e.childNodes).indexOf(n);
|
|
5920
6014
|
return `${t}::text(${i})`;
|
|
5921
6015
|
}
|
|
5922
|
-
return n.nodeType === Node.ELEMENT_NODE ?
|
|
6016
|
+
return n.nodeType === Node.ELEMENT_NODE ? bt(n) : null;
|
|
5923
6017
|
}
|
|
5924
|
-
function
|
|
6018
|
+
function bt(n) {
|
|
5925
6019
|
if (!n || n === document.documentElement) return "html";
|
|
5926
6020
|
if (n === document.body) return "body";
|
|
5927
6021
|
if (n.id) return `#${CSS.escape(n.id)}`;
|
|
@@ -5947,7 +6041,7 @@ function mt(n) {
|
|
|
5947
6041
|
}
|
|
5948
6042
|
return e.length > 0 ? e.join(" > ") : null;
|
|
5949
6043
|
}
|
|
5950
|
-
function
|
|
6044
|
+
function vt(n) {
|
|
5951
6045
|
const e = n.match(/^(.+)::text\((\d+)\)$/);
|
|
5952
6046
|
if (e) {
|
|
5953
6047
|
const t = e[1], i = parseInt(e[2], 10);
|
|
@@ -5964,7 +6058,7 @@ function gt(n) {
|
|
|
5964
6058
|
return null;
|
|
5965
6059
|
}
|
|
5966
6060
|
}
|
|
5967
|
-
class
|
|
6061
|
+
class us {
|
|
5968
6062
|
constructor(e) {
|
|
5969
6063
|
this.container = null, this.unsubs = [], this.enabled = !1, this.selectionEls = /* @__PURE__ */ new Map(), this.clearTimers = /* @__PURE__ */ new Map(), this.client = e;
|
|
5970
6064
|
}
|
|
@@ -6008,7 +6102,7 @@ class hs {
|
|
|
6008
6102
|
if (!this.container) return;
|
|
6009
6103
|
const i = (l = this.client.state.user) == null ? void 0 : l.id;
|
|
6010
6104
|
if (e === i || (this.clearSelection(e), !t)) return;
|
|
6011
|
-
const s =
|
|
6105
|
+
const s = ps(t);
|
|
6012
6106
|
if (!s) return;
|
|
6013
6107
|
const o = this.client.state.presence.find(
|
|
6014
6108
|
(a) => a.user.id === e
|
|
@@ -6047,12 +6141,12 @@ class hs {
|
|
|
6047
6141
|
}
|
|
6048
6142
|
}
|
|
6049
6143
|
}
|
|
6050
|
-
var
|
|
6051
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
6144
|
+
var fs = Object.defineProperty, ms = Object.getOwnPropertyDescriptor, Xe = (n, e, t, i) => {
|
|
6145
|
+
for (var s = i > 1 ? void 0 : i ? ms(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
6052
6146
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
6053
|
-
return i && s &&
|
|
6147
|
+
return i && s && fs(e, t, s), s;
|
|
6054
6148
|
};
|
|
6055
|
-
let
|
|
6149
|
+
let pe = class extends P {
|
|
6056
6150
|
constructor() {
|
|
6057
6151
|
super(...arguments), this.roomId = "";
|
|
6058
6152
|
}
|
|
@@ -6093,7 +6187,7 @@ let he = class extends S {
|
|
|
6093
6187
|
<div class="panel-header">
|
|
6094
6188
|
<span class="panel-title">Settings</span>
|
|
6095
6189
|
<button class="close-btn" @click=${this.fireClose} title="Close">
|
|
6096
|
-
${C(
|
|
6190
|
+
${C(ge, 16)}
|
|
6097
6191
|
</button>
|
|
6098
6192
|
</div>
|
|
6099
6193
|
|
|
@@ -6138,11 +6232,11 @@ let he = class extends S {
|
|
|
6138
6232
|
`;
|
|
6139
6233
|
}
|
|
6140
6234
|
};
|
|
6141
|
-
|
|
6142
|
-
|
|
6143
|
-
|
|
6144
|
-
|
|
6145
|
-
|
|
6235
|
+
pe.styles = [
|
|
6236
|
+
te,
|
|
6237
|
+
be,
|
|
6238
|
+
Se,
|
|
6239
|
+
O`
|
|
6146
6240
|
:host {
|
|
6147
6241
|
display: block;
|
|
6148
6242
|
}
|
|
@@ -6313,16 +6407,16 @@ he.styles = [
|
|
|
6313
6407
|
}
|
|
6314
6408
|
`
|
|
6315
6409
|
];
|
|
6316
|
-
|
|
6410
|
+
Xe([
|
|
6317
6411
|
v({ attribute: !1 })
|
|
6318
|
-
],
|
|
6319
|
-
|
|
6412
|
+
], pe.prototype, "settings", 2);
|
|
6413
|
+
Xe([
|
|
6320
6414
|
v()
|
|
6321
|
-
],
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
],
|
|
6325
|
-
const
|
|
6415
|
+
], pe.prototype, "roomId", 2);
|
|
6416
|
+
pe = Xe([
|
|
6417
|
+
L("pulse-widget-settings-panel")
|
|
6418
|
+
], pe);
|
|
6419
|
+
const we = {
|
|
6326
6420
|
enabled: !0,
|
|
6327
6421
|
showMyCursor: !0,
|
|
6328
6422
|
showOthersCursors: !0,
|
|
@@ -6333,24 +6427,24 @@ const ye = {
|
|
|
6333
6427
|
showViewportIndicators: !0,
|
|
6334
6428
|
showSelections: !0,
|
|
6335
6429
|
showDrawings: !0
|
|
6336
|
-
},
|
|
6337
|
-
function
|
|
6430
|
+
}, Pt = "pulse:settings:";
|
|
6431
|
+
function gs(n) {
|
|
6338
6432
|
try {
|
|
6339
|
-
const e = localStorage.getItem(`${
|
|
6340
|
-
return e ? { ...
|
|
6433
|
+
const e = localStorage.getItem(`${Pt}${n}`);
|
|
6434
|
+
return e ? { ...we, ...JSON.parse(e) } : { ...we };
|
|
6341
6435
|
} catch {
|
|
6342
|
-
return { ...
|
|
6436
|
+
return { ...we };
|
|
6343
6437
|
}
|
|
6344
6438
|
}
|
|
6345
|
-
function
|
|
6346
|
-
localStorage.setItem(`${
|
|
6439
|
+
function bs(n, e) {
|
|
6440
|
+
localStorage.setItem(`${Pt}${n}`, JSON.stringify(e));
|
|
6347
6441
|
}
|
|
6348
|
-
var
|
|
6349
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
6442
|
+
var vs = Object.defineProperty, xs = Object.getOwnPropertyDescriptor, j = (n, e, t, i) => {
|
|
6443
|
+
for (var s = i > 1 ? void 0 : i ? xs(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
6350
6444
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
6351
|
-
return i && s &&
|
|
6445
|
+
return i && s && vs(e, t, s), s;
|
|
6352
6446
|
};
|
|
6353
|
-
let
|
|
6447
|
+
let R = class extends P {
|
|
6354
6448
|
constructor() {
|
|
6355
6449
|
super(...arguments), this.collapsed = !1, this.activePanel = null, this.pinModeActive = !1, this.featuresDisabled = !1, this.drawModeActive = !1, this.followingUserId = null, this.display = "floating", this.users = [], this.unreadCount = 0;
|
|
6356
6450
|
}
|
|
@@ -6403,7 +6497,7 @@ let O = class extends S {
|
|
|
6403
6497
|
if (this.collapsed)
|
|
6404
6498
|
return d`
|
|
6405
6499
|
<div class="toolbar collapsed ${n ? "inline" : ""}" @click=${this.fireToggle}>
|
|
6406
|
-
<span class="fab-icon">${C(
|
|
6500
|
+
<span class="fab-icon">${C(Li, n ? 18 : 24)}</span>
|
|
6407
6501
|
</div>
|
|
6408
6502
|
`;
|
|
6409
6503
|
const e = this.users.slice(0, 3), t = this.users.length - 3;
|
|
@@ -6439,7 +6533,7 @@ let O = class extends S {
|
|
|
6439
6533
|
?disabled=${this.featuresDisabled}
|
|
6440
6534
|
style="${this.featuresDisabled ? "opacity:0.35;pointer-events:none" : ""}"
|
|
6441
6535
|
>
|
|
6442
|
-
${C(
|
|
6536
|
+
${C(St)}
|
|
6443
6537
|
</button>
|
|
6444
6538
|
|
|
6445
6539
|
<!-- View comments -->
|
|
@@ -6461,7 +6555,7 @@ let O = class extends S {
|
|
|
6461
6555
|
?disabled=${this.featuresDisabled}
|
|
6462
6556
|
style="${this.featuresDisabled ? "opacity:0.35;pointer-events:none" : ""}"
|
|
6463
6557
|
>
|
|
6464
|
-
${C(
|
|
6558
|
+
${C(Ti)}
|
|
6465
6559
|
</button>
|
|
6466
6560
|
|
|
6467
6561
|
<!-- Draw mode -->
|
|
@@ -6472,7 +6566,7 @@ let O = class extends S {
|
|
|
6472
6566
|
?disabled=${this.featuresDisabled}
|
|
6473
6567
|
style="${this.featuresDisabled ? "opacity:0.35;pointer-events:none" : ""}"
|
|
6474
6568
|
>
|
|
6475
|
-
${C(
|
|
6569
|
+
${C(Ai)}
|
|
6476
6570
|
</button>
|
|
6477
6571
|
|
|
6478
6572
|
<!-- Notifications -->
|
|
@@ -6483,7 +6577,7 @@ let O = class extends S {
|
|
|
6483
6577
|
?disabled=${this.featuresDisabled}
|
|
6484
6578
|
style="${this.featuresDisabled ? "opacity:0.35;pointer-events:none" : "position:relative"}"
|
|
6485
6579
|
>
|
|
6486
|
-
${C(
|
|
6580
|
+
${C(Ci)}
|
|
6487
6581
|
${this.unreadCount > 0 ? d`<span class="badge">${this.unreadCount > 9 ? "9+" : this.unreadCount}</span>` : g}
|
|
6488
6582
|
</button>
|
|
6489
6583
|
|
|
@@ -6493,7 +6587,7 @@ let O = class extends S {
|
|
|
6493
6587
|
@click=${() => this.fire("settings")}
|
|
6494
6588
|
title="Settings"
|
|
6495
6589
|
>
|
|
6496
|
-
${C(
|
|
6590
|
+
${C(Mi)}
|
|
6497
6591
|
</button>
|
|
6498
6592
|
|
|
6499
6593
|
<div class="separator"></div>
|
|
@@ -6504,16 +6598,16 @@ let O = class extends S {
|
|
|
6504
6598
|
@click=${this.fireToggle}
|
|
6505
6599
|
title="Collapse"
|
|
6506
6600
|
>
|
|
6507
|
-
${C(
|
|
6601
|
+
${C(ge, 14)}
|
|
6508
6602
|
</button>
|
|
6509
6603
|
</div>
|
|
6510
6604
|
`;
|
|
6511
6605
|
}
|
|
6512
6606
|
};
|
|
6513
|
-
|
|
6514
|
-
|
|
6515
|
-
|
|
6516
|
-
|
|
6607
|
+
R.styles = [
|
|
6608
|
+
te,
|
|
6609
|
+
be,
|
|
6610
|
+
O`
|
|
6517
6611
|
:host {
|
|
6518
6612
|
display: block;
|
|
6519
6613
|
}
|
|
@@ -6725,40 +6819,40 @@ O.styles = [
|
|
|
6725
6819
|
}
|
|
6726
6820
|
`
|
|
6727
6821
|
];
|
|
6728
|
-
|
|
6822
|
+
j([
|
|
6729
6823
|
v({ attribute: !1 })
|
|
6730
|
-
],
|
|
6731
|
-
|
|
6824
|
+
], R.prototype, "client", 2);
|
|
6825
|
+
j([
|
|
6732
6826
|
v({ type: Boolean })
|
|
6733
|
-
],
|
|
6734
|
-
|
|
6827
|
+
], R.prototype, "collapsed", 2);
|
|
6828
|
+
j([
|
|
6735
6829
|
v()
|
|
6736
|
-
],
|
|
6737
|
-
|
|
6830
|
+
], R.prototype, "activePanel", 2);
|
|
6831
|
+
j([
|
|
6738
6832
|
v({ type: Boolean })
|
|
6739
|
-
],
|
|
6740
|
-
|
|
6833
|
+
], R.prototype, "pinModeActive", 2);
|
|
6834
|
+
j([
|
|
6741
6835
|
v({ type: Boolean })
|
|
6742
|
-
],
|
|
6743
|
-
|
|
6836
|
+
], R.prototype, "featuresDisabled", 2);
|
|
6837
|
+
j([
|
|
6744
6838
|
v({ type: Boolean })
|
|
6745
|
-
],
|
|
6746
|
-
|
|
6839
|
+
], R.prototype, "drawModeActive", 2);
|
|
6840
|
+
j([
|
|
6747
6841
|
v()
|
|
6748
|
-
],
|
|
6749
|
-
|
|
6842
|
+
], R.prototype, "followingUserId", 2);
|
|
6843
|
+
j([
|
|
6750
6844
|
v()
|
|
6751
|
-
],
|
|
6752
|
-
|
|
6845
|
+
], R.prototype, "display", 2);
|
|
6846
|
+
j([
|
|
6753
6847
|
w()
|
|
6754
|
-
],
|
|
6755
|
-
|
|
6848
|
+
], R.prototype, "users", 2);
|
|
6849
|
+
j([
|
|
6756
6850
|
w()
|
|
6757
|
-
],
|
|
6758
|
-
|
|
6759
|
-
|
|
6760
|
-
],
|
|
6761
|
-
class
|
|
6851
|
+
], R.prototype, "unreadCount", 2);
|
|
6852
|
+
R = j([
|
|
6853
|
+
L("pulse-widget-toolbar")
|
|
6854
|
+
], R);
|
|
6855
|
+
class ys {
|
|
6762
6856
|
constructor(e) {
|
|
6763
6857
|
this.container = null, this.unsubs = [], this.enabled = !1, this.pillEls = /* @__PURE__ */ new Map(), this.client = e;
|
|
6764
6858
|
}
|
|
@@ -6836,14 +6930,14 @@ class vs {
|
|
|
6836
6930
|
return e.split(" ").map((t) => t[0]).join("").toUpperCase().slice(0, 2);
|
|
6837
6931
|
}
|
|
6838
6932
|
}
|
|
6839
|
-
var
|
|
6840
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
6933
|
+
var ws = Object.defineProperty, $s = Object.getOwnPropertyDescriptor, I = (n, e, t, i) => {
|
|
6934
|
+
for (var s = i > 1 ? void 0 : i ? $s(e, t) : e, o = n.length - 1, r; o >= 0; o--)
|
|
6841
6935
|
(r = n[o]) && (s = (i ? r(e, t, s) : r(s)) || s);
|
|
6842
|
-
return i && s &&
|
|
6936
|
+
return i && s && ws(e, t, s), s;
|
|
6843
6937
|
};
|
|
6844
|
-
let
|
|
6938
|
+
let T = class extends P {
|
|
6845
6939
|
constructor() {
|
|
6846
|
-
super(...arguments), this.apiKey = "", this.token = "", this.room = "", this.position = "bottom-right", this.display = "floating", this.collapsed = !0, this.activePanel = null, this.pinModeActive = !1, this.highlightThreadId = null, this.settings = { ...
|
|
6940
|
+
super(...arguments), this.apiKey = "", this.token = "", this.room = "", this.position = "bottom-right", this.display = "floating", this.collapsed = !0, this.activePanel = null, this.pinModeActive = !1, this.highlightThreadId = null, this.settings = { ...we }, this.followingUserId = null, this.drawModeActive = !1, this.connectionState = "disconnected", this.showConnectedFlash = !1, this.unsubs = [], this.clientConfigKey = "", this._isFollowScrolling = !1, this._viewportThrottleTimer = null, this._selectionThrottleTimer = null, this._connectedFlashTimer = null, this._wasDisconnected = !1, this.handleScroll = () => {
|
|
6847
6941
|
!this.settings.enabled || !this.client || this._isFollowScrolling || (this.followingUserId && (this.followingUserId = null), !this._viewportThrottleTimer && (this._viewportThrottleTimer = setTimeout(() => {
|
|
6848
6942
|
var n;
|
|
6849
6943
|
this._viewportThrottleTimer = null, (n = this.client) == null || n.updateViewport({
|
|
@@ -6864,7 +6958,7 @@ let _ = class extends S {
|
|
|
6864
6958
|
(t = this.client) == null || t.updateSelection(null);
|
|
6865
6959
|
return;
|
|
6866
6960
|
}
|
|
6867
|
-
const e =
|
|
6961
|
+
const e = hs(n);
|
|
6868
6962
|
(i = this.client) == null || i.updateSelection(e);
|
|
6869
6963
|
}, 500));
|
|
6870
6964
|
}, this.handleDocumentClick = (n) => {
|
|
@@ -6896,11 +6990,11 @@ let _ = class extends S {
|
|
|
6896
6990
|
room: this.room,
|
|
6897
6991
|
endpoint: this.endpoint
|
|
6898
6992
|
};
|
|
6899
|
-
this.client = new
|
|
6993
|
+
this.client = new wt(n), this.clientConfigKey = this.getConfigKey(), this.cursorOverlay = new cs(this.client), this.commentPins = new es(this.client, {
|
|
6900
6994
|
onPinModeExit: () => {
|
|
6901
6995
|
this.pinModeActive = !1;
|
|
6902
6996
|
}
|
|
6903
|
-
}), this.viewportOverlay = new
|
|
6997
|
+
}), this.viewportOverlay = new ys(this.client), this.selectionOverlay = new us(this.client), this.drawingOverlay = new ds(this.client), this.settings = gs(this.room), this.applySettings(this.settings), this.unsubs.push(
|
|
6904
6998
|
this.client.on("connection", (e) => {
|
|
6905
6999
|
this.connectionState = e, e === "connected" && this._wasDisconnected ? (this.showConnectedFlash = !0, this._connectedFlashTimer && clearTimeout(this._connectedFlashTimer), this._connectedFlashTimer = setTimeout(() => {
|
|
6906
7000
|
this.showConnectedFlash = !1, this._connectedFlashTimer = null;
|
|
@@ -6967,7 +7061,7 @@ let _ = class extends S {
|
|
|
6967
7061
|
}
|
|
6968
7062
|
handleSettingsChange(n) {
|
|
6969
7063
|
const e = n.detail;
|
|
6970
|
-
this.settings = e,
|
|
7064
|
+
this.settings = e, bs(this.room, e), this.applySettings(e);
|
|
6971
7065
|
}
|
|
6972
7066
|
applySettings(n) {
|
|
6973
7067
|
var e, t, i, s, o, r, l, a, c, h, p, u, f, m, x, b, y;
|
|
@@ -6995,8 +7089,8 @@ let _ = class extends S {
|
|
|
6995
7089
|
const s = i.getBoundingClientRect(), o = window.innerWidth, r = window.innerHeight, l = 8, a = (b = this.shadowRoot) == null ? void 0 : b.querySelector(".toolbar-popover");
|
|
6996
7090
|
if (a) {
|
|
6997
7091
|
Object.assign(a.style, { top: "auto", left: "auto" });
|
|
6998
|
-
const E = a.getBoundingClientRect(),
|
|
6999
|
-
a.style.top = `${
|
|
7092
|
+
const E = a.getBoundingClientRect(), M = this.computePosition(s, E, o, r, l);
|
|
7093
|
+
a.style.top = `${M.top}px`, a.style.left = `${M.left}px`;
|
|
7000
7094
|
}
|
|
7001
7095
|
const c = (y = this.shadowRoot) == null ? void 0 : y.querySelector(".panel-container");
|
|
7002
7096
|
if (!c) return;
|
|
@@ -7114,9 +7208,9 @@ let _ = class extends S {
|
|
|
7114
7208
|
`;
|
|
7115
7209
|
}
|
|
7116
7210
|
};
|
|
7117
|
-
|
|
7118
|
-
|
|
7119
|
-
|
|
7211
|
+
T.styles = [
|
|
7212
|
+
te,
|
|
7213
|
+
O`
|
|
7120
7214
|
:host {
|
|
7121
7215
|
display: block;
|
|
7122
7216
|
}
|
|
@@ -7292,60 +7386,60 @@ _.styles = [
|
|
|
7292
7386
|
}
|
|
7293
7387
|
`
|
|
7294
7388
|
];
|
|
7295
|
-
|
|
7389
|
+
I([
|
|
7296
7390
|
v({ attribute: "api-key" })
|
|
7297
|
-
],
|
|
7298
|
-
|
|
7391
|
+
], T.prototype, "apiKey", 2);
|
|
7392
|
+
I([
|
|
7299
7393
|
v()
|
|
7300
|
-
],
|
|
7301
|
-
|
|
7394
|
+
], T.prototype, "token", 2);
|
|
7395
|
+
I([
|
|
7302
7396
|
v()
|
|
7303
|
-
],
|
|
7304
|
-
|
|
7397
|
+
], T.prototype, "room", 2);
|
|
7398
|
+
I([
|
|
7305
7399
|
v()
|
|
7306
|
-
],
|
|
7307
|
-
|
|
7400
|
+
], T.prototype, "endpoint", 2);
|
|
7401
|
+
I([
|
|
7308
7402
|
v({ reflect: !0 })
|
|
7309
|
-
],
|
|
7310
|
-
|
|
7403
|
+
], T.prototype, "position", 2);
|
|
7404
|
+
I([
|
|
7311
7405
|
v({ reflect: !0 })
|
|
7312
|
-
],
|
|
7313
|
-
|
|
7406
|
+
], T.prototype, "display", 2);
|
|
7407
|
+
I([
|
|
7314
7408
|
w()
|
|
7315
|
-
],
|
|
7316
|
-
|
|
7409
|
+
], T.prototype, "collapsed", 2);
|
|
7410
|
+
I([
|
|
7317
7411
|
w()
|
|
7318
|
-
],
|
|
7319
|
-
|
|
7412
|
+
], T.prototype, "activePanel", 2);
|
|
7413
|
+
I([
|
|
7320
7414
|
w()
|
|
7321
|
-
],
|
|
7322
|
-
|
|
7415
|
+
], T.prototype, "pinModeActive", 2);
|
|
7416
|
+
I([
|
|
7323
7417
|
w()
|
|
7324
|
-
],
|
|
7325
|
-
|
|
7418
|
+
], T.prototype, "highlightThreadId", 2);
|
|
7419
|
+
I([
|
|
7326
7420
|
w()
|
|
7327
|
-
],
|
|
7328
|
-
|
|
7421
|
+
], T.prototype, "settings", 2);
|
|
7422
|
+
I([
|
|
7329
7423
|
w()
|
|
7330
|
-
],
|
|
7331
|
-
|
|
7424
|
+
], T.prototype, "followingUserId", 2);
|
|
7425
|
+
I([
|
|
7332
7426
|
w()
|
|
7333
|
-
],
|
|
7334
|
-
|
|
7427
|
+
], T.prototype, "drawModeActive", 2);
|
|
7428
|
+
I([
|
|
7335
7429
|
w()
|
|
7336
|
-
],
|
|
7337
|
-
|
|
7430
|
+
], T.prototype, "connectionState", 2);
|
|
7431
|
+
I([
|
|
7338
7432
|
w()
|
|
7339
|
-
],
|
|
7340
|
-
|
|
7341
|
-
|
|
7342
|
-
],
|
|
7433
|
+
], T.prototype, "showConnectedFlash", 2);
|
|
7434
|
+
T = I([
|
|
7435
|
+
L("pulse-widget")
|
|
7436
|
+
], T);
|
|
7343
7437
|
export {
|
|
7344
|
-
|
|
7345
|
-
|
|
7346
|
-
|
|
7347
|
-
|
|
7348
|
-
|
|
7349
|
-
|
|
7350
|
-
|
|
7438
|
+
X as PulseComments,
|
|
7439
|
+
ce as PulseCursors,
|
|
7440
|
+
de as PulseNotifications,
|
|
7441
|
+
Z as PulsePresence,
|
|
7442
|
+
W as PulseProvider,
|
|
7443
|
+
H as PulseReactions,
|
|
7444
|
+
T as PulseWidget
|
|
7351
7445
|
};
|