UNPKG

@talkjs/react-components

Version:

Provides chat UI components for TalkJS.

1,393 lines 822 kB
"use client"; var Bu = (n) => { throw TypeError(n); }; var Pu = (n, t, e) => t.has(n) || Bu("Cannot " + e); var xt = (n, t, e) => (Pu(n, t, "read from private field"), e ? e.call(n) : t.get(n)), Vr = (n, t, e) => t.has(n) ? Bu("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, e), js = (n, t, e, r) => (Pu(n, t, "write to private field"), r ? r.call(n, e) : t.set(n, e), e); import { jsx as y, jsxs as ie, Fragment as Ci } from "react/jsx-runtime"; import * as dt from "react"; import Te, { createContext as Pl, Component as uE, createElement as Ee, useContext as Hl, useMemo as at, memo as Bo, forwardRef as Se, useRef as st, useCallback as ot, useEffect as X, useState as Tt, useLayoutEffect as Jn, Fragment as cE, useImperativeHandle as Vi } from "react"; import { getTalkSession as dE } from "@talkjs/core"; import * as hE from "react-dom"; import Ys from "react-dom"; var Ul = Object.prototype.hasOwnProperty; function vt(n) { return Array.isArray(n); } function Be(n) { return !(!n || typeof n != "object" || n instanceof Date || vt(n)); } function q(n) { return typeof n == "function"; } function Kt(n) { const t = typeof n; return n !== void 0 && (Pa(n) || t !== "object" && t !== "function"); } function Pa(n) { return n instanceof Date; } function Rh(n) { return typeof n == "boolean"; } function xe(n) { return n instanceof Promise; } function Rt(n) { return n instanceof Map || n instanceof WeakMap; } function nn(n) { return n instanceof Set || n instanceof WeakSet; } function Po(n) { if (!n) return !1; if (vt(n)) return n.length === 0; if (Rt(n) || nn(n)) return n.size === 0; for (const t in n) if (Ul.call(n, t)) return !1; return !0; } var pE = /* @__PURE__ */ new Set(["boolean", "string", "number"]); function ms(n) { return !!n.parent; } var fE = Symbol.toPrimitive, mE = Symbol.iterator, _r = Symbol("getNode"), Es = Symbol("delete"), Lh = Symbol("opaque"), EE = Symbol("plain"), $l = Symbol("optimized"), Ii = Symbol("linked"), St = { pendingNodes: /* @__PURE__ */ new Map(), dirtyNodes: /* @__PURE__ */ new Set() }; function yi(n) { return n && (n[Lh] || n.$$typeof); } function bh(n) { return n && n[EE]; } function kh(n) { return vt(n) ? "array" : Rt(n) ? "map" : n instanceof Set ? "set" : "object"; } function gE(n, t) { return Rt(t) ? { __LSType: "Map", value: Array.from(t.entries()) } : t instanceof Set ? { __LSType: "Set", value: Array.from(t) } : (St.replacer && (t = St.replacer(n, t)), t); } var DE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/; function AE(n, t) { if (t) { if (typeof t == "string" && DE.test(t)) return new Date(t); if (typeof t == "object") { if (t.__LSType === "Map") return new Map(t.value); if (t.__LSType === "Set") return new Set(t.value); } St.reviver && (t = St.reviver(n, t)); } return t; } function wh(n) { return n && JSON.stringify(n, gE); } function Fh(n) { return n && JSON.parse(n, AE); } function Mh(n) { return Fh(wh(n)); } function Dt(n) { return !!n && !!n[_r]; } function Gi(n) { return n && n[_r]; } function xh(n, t, e, r, i) { return r ? n.add(e) : i ? n.set(t, e) : n[t] = e, e; } function Qe(n, t) { var e; const r = (e = n.parent) != null ? e : n, i = n.parent ? n.key : "_", o = t === Es; o && (t = void 0); const s = n.parent ? jl(r) : r.root, a = nn(s), l = Rt(s), u = a ? i : l ? s.get(i) : s[i], c = q(t); if ((t = r.isAssigning || !c || q(u) ? t : t(u)) !== u) try { r.isSetting = (r.isSetting || 0) + 1, o ? l || a ? s.delete(i) : delete s[i] : xh(s, i, t, a, l); } finally { r.isSetting--; } return { prevValue: u, newValue: t, parentValue: s }; } var Hu = []; function lt(n) { let t = 0, e = n; for (; ms(e); ) Hu[t++] = e.key, e = e.parent; let r = n.root._; for (let i = t - 1; r && i >= 0; i--) { const o = Hu[i]; r = o !== "size" && Rt(r) ? r.get(o) : r[o]; } return r; } function Ce(n, t, e) { var r, i; let o = (r = n.children) == null ? void 0 : r.get(t); return o || (o = { root: n.root, parent: n, key: t, lazy: !0, numListenersRecursive: 0 }, ((i = n.lazyFn) == null ? void 0 : i.length) === 1 && (e = n.lazyFn.bind(n, t)), q(e) && (o = Object.assign(() => { }, o), o.lazyFn = e), n.children || (n.children = /* @__PURE__ */ new Map()), n.children.set(t, o)), o; } function jl(n) { let t = lt(n); if (!t || q(t)) if (ms(n)) { const e = jl(n.parent), r = nn(e), i = Rt(e); t = xh(e, n.key, {}, r, i); } else t = n.root._ = {}; return t; } function Bh(n, t) { var e, r; let i = Dt(n) ? void 0 : Be(n) ? "id" in n ? "id" : "key" in n ? "key" : "_id" in n ? "_id" : "__id" in n ? "__id" : void 0 : void 0; if (!i && t.parent) { const o = t.key + "_keyExtractor", s = (r = (e = t.functions) == null ? void 0 : e.get(o)) != null ? r : lt(t.parent)[t.key + "_keyExtractor"]; s && q(s) && (i = s); } return i; } function Uu(n, t, e) { n.functions || (n.functions = /* @__PURE__ */ new Map()), n.functions.set(t, e); } function Ph(n, t) { return n === t || Pa(n) && Pa(t) && +n == +t; } function Ha(n, t, e, r) { return t ? void 0 : n ? r ? Array.from(n) : e ? Array.from(n.keys()) : Object.keys(n) : []; } function OE(n, t) { return n && Object.defineProperty(n, t, { value: !0, enumerable: !1, writable: !0, configurable: !0 }), n; } var $u = function(n) { return OE(n, Lh); }; function Hh(n, t) { var e; n.isPlain || !((e = n.parent) != null && e.isPlain) && !bh(t) || (n.isPlain = !0); } function tn(n, t, e, r) { let i = n; return !Dt(i) && q(i) && (i = e ? i(e) : i()), Dt(i) && !r ? i.get(t) : i; } var Ei, TE = (n, t) => n && n[t]; function Uh(n, t, e, r, i, o, s) { let a, l = n; if (t.length > 0) { let u = o; for (let c = 0; c < t.length; c++) { a = t[c]; const d = Rt(l); let h = l ? d ? l.get(a) : l[a] : void 0; const p = u ? d ? u.get(a) : u[a] : void 0; if (h === Es) return u && (d ? l.set(a, p) : l[a] = p, s == null || s(t.slice(0, c + 1), p)), n; if (h === void 0 && r === void 0 && c === t.length - 1) return n; c < t.length - 1 && h == null && (h = Yl(e[c]), Rt(l) ? l.set(a, h) : l[a] = h), c < t.length - 1 && (l = h, u && (u = p)); } } return a === void 0 ? n = i === "merge" ? Ho(n, r) : r : i === "merge" ? l[a] = Ho(l[a], r) : Rt(l) ? l.set(a, r) : l[a] = r, n; } function ju(n, t, e) { let r = e; for (let i = 0; i < n.length; i++) { const o = n[i]; r = r ? r[o] : Yl(t[i]); } return r; } function Yu(n) { return !(!n || (Be(n) || vt(n)) && Po(n)); } function Yl(n) { switch (n) { case "array": return []; case "map": return /* @__PURE__ */ new Map(); case "set": return /* @__PURE__ */ new Set(); default: return {}; } } function SE(n, t, e) { const { path: r, valueAtPath: i, prevAtPath: o, pathTypes: s } = t; return Uh(n, r, s, o); } function Ho(n, ...t) { if (Kt(n)) return t[t.length - 1]; let e = vt(n) ? [...n] : { ...n }; for (let i = 0; i < t.length; i++) { const o = t[i]; if (Be(r = o) && r.constructor === Object || vt(o)) { const s = o; for (const a in s) Ul.call(s, a) && (s[a] instanceof Object && !Dt(s[a]) && Object.keys(s[a]).length > 0 ? e[a] = Ho(e[a] || (vt(s[a]) ? [] : {}), s[a]) : e[a] = s[a]); } else e = o; } var r; return e; } var Uo = 0, zs = !1, Vs = !1, fr = /* @__PURE__ */ new Map(); function _E() { fr.size > 0 && xr(!0); } function $h(n, t) { for (let e = 0; e < n.length; e++) if (n[e] !== t[e]) return !1; return !0; } function vE(n, t) { try { return function(e, r) { for (let i = 0; i < r.length; i++) e = SE(e, r[i]); return e; }(n ? Mh(n) : {}, t); } catch (e) { return; } } function zl(n, t) { return function() { return vE(n, t); }; } function Ri(n, t, e, r, i) { const o = /* @__PURE__ */ new Map(); $o(o, n, !!St.isLoadingLocal, !!St.isLoadingRemote, t, [], [], t, e, !0, r, i); const s = fr.get(n); s ? s.prev === t ? fr.delete(n) : s.value = t : fr.set(n, { value: t, prev: e, level: r, whenOptimizedOnlyIf: i, isFromSync: !!St.isLoadingRemote, isFromPersist: !!St.isLoadingLocal }), o.size && jh(o, !0), Uo <= 0 && Yh(); } function $o(n, t, e, r, i, o, s, a, l, u, c, d) { if (t.numListenersRecursive > 0 && (function(h, p, f, m, E, g, A, O, S, _, N, I) { if (_ ? p.listenersImmediate : p.listeners) { const b = { path: g, pathTypes: A, valueAtPath: O, prevAtPath: S }, D = h.get(p); if (D && g.length > 0) { const { changes: T } = D; $h(T[0].path, b.path) || (T.push(b), D.level = Math.min(D.level, N), D.whenOptimizedOnlyIf || (D.whenOptimizedOnlyIf = I)); } else h.set(p, { level: N, value: E, isFromSync: m, isFromPersist: f, whenOptimizedOnlyIf: I, changes: [b] }); } }(n, t, e, r, i, o, s, a, l, u, c, d), t.linkedFromNodes)) for (const h of t.linkedFromNodes) $o(n, NE(h, o), e, r, a, [], [], a, l, u, 0, d); if (t.parent) { const h = t.parent; h && $o(n, h, e, r, lt(h), [t.key].concat(o), [kh(i)].concat(s), a, l, u, c + 1, d); } } function jh(n, t) { const e = /* @__PURE__ */ new Set(); n.forEach(({ changes: r, level: i, value: o, isFromPersist: s, isFromSync: a, whenOptimizedOnlyIf: l }, u) => { const c = t ? u.listenersImmediate : u.listeners; if (c) { let d; const h = Array.from(c); for (let p = 0; p < h.length; p++) { const f = h[p], { track: m, noArgs: E, listener: g } = f; e.has(g) || (m === !0 ? i <= 0 : m !== $l || l && i <= 0) && (E || d || (d = { value: o, isFromPersist: s, isFromSync: a, getPrevious: zl(o, r), changes: r }), m || e.add(g), g(d)); } } }); } function Yh() { const n = Array.from(St.dirtyNodes); St.dirtyNodes.clear(), n.forEach((r) => { const i = r.dirtyFn; i && (r.dirtyFn = void 0, i()); }); const t = fr; fr = /* @__PURE__ */ new Map(); const e = /* @__PURE__ */ new Map(); t.forEach(({ value: r, prev: i, level: o, isFromPersist: s, isFromSync: a, whenOptimizedOnlyIf: l }, u) => { $o(e, u, s, a, r, [], [], r, i, !1, o, l); }), e.size && jh(e, !1); } function vr(n) { gs(); try { n(); } finally { xr(); } } function gs() { Uo++, Ei || (Ei = setTimeout(_E, 0)); } function xr(n) { (--Uo <= 0 || n) && (zs ? Vs = !0 : (Ei && (clearTimeout(Ei), Ei = void 0), Uo = 0, zs = !0, Yh(), zs = !1, Vs && (Vs = !1, xr(!0)))); } function NE(n, t) { let e = n; for (let r = 0; r < t.length; r++) e = Ce(e, t[r]); return e; } function Vl(n, t, e, r, i) { if (Dt(n)) return n; const o = xe(n); let s = { root: { _: n }, lazy: !0, numListenersRecursive: 0 }; q(n) && (s = Object.assign(() => { }, s), s.lazyFn = n); var a; const l = (a = n, pE.has(typeof a) ? new i(s) : r(s)); return o && (Qe(s, void 0), e(s, n)), l; } var lr = /* @__PURE__ */ new WeakMap(), zh = [], Vh = [], Gh = [], ur = 0, Ua = !1; function Gs(n, t, e) { const r = lr.get(n); if (!r || !r.has(e)) return; const i = r.get(e); i && i.size !== 0 && (zh[ur] = n, Vh[ur] = t, Gh[ur] = e, ur++, Ua || (Ua = !0, queueMicrotask(CE))); } var Gr = { type: "listener-added", node: null, listener: void 0, timestamp: 0 }; function CE() { Ua = !1; const n = typeof performance != "undefined" ? performance.now() : Date.now(); Gr.timestamp = n; for (let t = 0; t < ur; t++) { const e = zh[t], r = Vh[t], i = Gh[t], o = lr.get(e); if (!o) continue; const s = o.get(i); if (!s || s.size === 0) continue; const a = e.listeners, l = e.listenersImmediate; if (!a && !l) continue; let u = !1; if (u = i === "listener-added" ? !!(a != null && a.has(r)) || !!(l != null && l.has(r)) : i === "listener-removed" ? !(a != null && a.has(r)) && !(l != null && l.has(r)) : !(a != null && a.size) && !(l != null && l.size), u) { Gr.type = i, Gr.node = e, Gr.listener = r; const c = Array.from(s); for (let d = 0; d < c.length; d++) try { c[d](Gr); } catch (h) { console.error(`Error in middleware handler for ${i}:`, h); } } } ur = 0; } function Dn(n, t, e = {}, r) { var i; const { initial: o, immediate: s, noArgs: a } = e, { trackingType: l } = e; let u = s ? n.listenersImmediate : n.listeners; u || (u = /* @__PURE__ */ new Set(), s ? n.listenersImmediate = u : n.listeners = u); const c = { listener: t, track: l, noArgs: a }; if (u.add(c), o) { const m = lt(n); t({ value: m, isFromPersist: !0, isFromSync: !1, changes: [{ path: [], pathTypes: [], prevAtPath: m, valueAtPath: m }], getPrevious: () => { } }); } let d; function h(m, E = t, g) { if (!(r != null && r.has(m))) { r || (r = /* @__PURE__ */ new Set()), r.add(g || n), E || (E = t); const A = { trackingType: !0, ...e }; d = [...d || [], Dn(m, E, A, r)]; } } n.linkedToNode && h(n.linkedToNode), (i = n.linkedFromNodes) == null || i.forEach((m) => h(m)), n.numListenersRecursive++; let p = n.parent, f = [n.key]; for (; p; ) { if (p.linkedFromNodes) for (const m of p.linkedFromNodes) r != null && r.has(m) || h(m, IE(m, f, t), p); p.numListenersRecursive++, f = [p.key, ...f], p = p.parent; } return Gs(n, c, "listener-added"), () => { u.delete(c), d == null || d.forEach((E) => E()); let m = n; for (; m; ) m.numListenersRecursive--, m = m.parent; Gs(n, c, "listener-removed"), u.size === 0 && Gs(n, void 0, "listeners-cleared"); }; } function IE(n, t, e) { let r = ju(t, [], lt(n)); return function({ value: i, isFromPersist: o, isFromSync: s }) { const a = ju(t, [], i); a !== r && e({ value: a, isFromPersist: o, isFromSync: s, changes: [{ path: [], pathTypes: [], prevAtPath: r, valueAtPath: a }], getPrevious: () => r }), r = a; }; } var To = 0, zu = [], cr = { current: void 0 }; function So(n, t) { if (To) { const e = cr.current; if (e) { e.nodes || (e.nodes = /* @__PURE__ */ new Map()); const r = e.nodes.get(n); r ? (r.track = r.track || t, r.num++) : e.nodes.set(n, { node: n, track: t, num: 1 }); } } } function Xh(n, t, e, r, i, o) { let s, a = t; zu.push(cr.current), To++, cr.current = {}; const l = n && tn(n, e, r, i == null ? void 0 : i.fromComputed), u = cr.current.nodes; return --To < 0 && (To = 0), cr.current = zu.pop(), r != null && r.cancel || (s = function(c, d, h, p) { let f = []; return c == null || c.forEach((m) => { const { node: E, track: g } = m; f.push(Dn(E, d, { trackingType: g, immediate: p, noArgs: h })); }), () => { if (f) { for (let m = 0; m < f.length; m++) f[m](); f = void 0; } }; }(u, a, !1, i == null ? void 0 : i.immediate)), { nodes: u, value: l, dispose: s, resubscribe: void 0 }; } function Li(n, t, e) { let r, i; q(t) ? r = t : e = t; let o = !1; const s = { num: 0 }, a = function() { if (o) return; s.onCleanup && (s.onCleanup(), s.onCleanup = void 0), o = !0, gs(), delete s.value, i == null || i(); const { dispose: l, value: u, nodes: c } = Xh(n, a, void 0, s, e); var d, h; i = l, s.value = u, s.nodes = c, s.refresh = a, s.onCleanupReaction && (s.onCleanupReaction(), s.onCleanupReaction = void 0), xr(), o = !1, !r || !(e != null && e.fromComputed) && (!(s.num > 0) && (d = n) && ((h = d[_r]) != null && h.isEvent) || s.previous === s.value && typeof s.value != "object") || r(s), s.previous = s.value, s.num++; }; return a(), () => { var l, u; (l = s.onCleanup) == null || l.call(s), s.onCleanup = void 0, (u = s.onCleanupReaction) == null || u.call(s), s.onCleanupReaction = void 0, i == null || i(); }; } function Kh(n, t, e) { if (xe(n)) return t ? n.then(t) : n; const r = vt(n); let i, o; return Li(function(s) { const a = r ? n.map((l) => tn(l)) : tn(n); if (!xe(a)) { { let l = !0; if (vt(a)) for (let u = 0; u < a.length; u++) { let c = a[u]; Dt(c) ? c = tn(c) : q(c) && (c = c()), l = l && !!(e ? Yu(c) : c); } else l = e ? Yu(a) : a; l && (i = a, s.cancel = !0); } return i; } i = a; }, function() { o = t == null ? void 0 : t(i); }), xe(i) ? t ? i.then(t) : i : i !== void 0 ? t ? o : Promise.resolve(i) : new Promise((s) => { if (t) { const a = t; t = (l) => { const u = a(l); s(xe(u) ? u.then((c) => c) : u); }; } else t = s; }); } function Wh(n, t) { return Kh(n, t, !1); } var Xs = /* @__PURE__ */ new Set(["copyWithin", "fill", "from", "pop", "push", "reverse", "shift", "sort", "splice", "unshift"]), Vu = /* @__PURE__ */ new Set(["every", "filter", "find", "findIndex", "flatMap", "forEach", "join", "map", "reduce", "some"]), yE = /* @__PURE__ */ new Set(["filter", "find"]), $a = /* @__PURE__ */ new Map(), ja = /* @__PURE__ */ new Map([["get", Ds], ["set", me], ["peek", Br], ["onChange", Dn], ["assign", function(n, t) { const e = ne(n); if (gs(), Kt(n.root._) && (n.root._ = {}), Rt(t)) { const r = lt(n); Rt(r) ? t.forEach((i, o) => r.set(o, i)) : me(n, t); } else { n.isAssigning = (n.isAssigning || 0) + 1; try { Object.assign(e, t); } finally { n.isAssigning--; } } return xr(), e; }], ["delete", Zh], ["toggle", function(n) { const t = lt(n); (t == null || Rh(t)) && me(n, !t); }]]); function Jh(n, t, e, ...r) { var i; if (e !== "push" || r.length !== 1) { const o = t.slice(), s = t[e].apply(t, r); if (n) { const a = ms(n), l = a ? n.key : "_"; (a ? lt(n.parent) : n.root)[l] = o, Nr((i = n.parent) != null ? i : n, l, t); } return s; } Nr(n, t.length + "", r[0]); } function Gl(n, t, e) { var r, i, o; if (Be(t) && yi(t) || Be(e) && yi(e)) { const _ = t !== e; return _ && (n.listeners || n.listenersImmediate) && Ri(n, t, e, 0), _; } const s = vt(t); let a, l; const u = Rt(t), c = nn(t), d = Rt(e), h = nn(e), p = Ha(t, s, u, c), f = Ha(e, s, d, h), m = ((r = p || t) == null ? void 0 : r.length) || 0, E = ((i = f || e) == null ? void 0 : i.length) || 0; let g, A, O, S = !1; if (s && vt(e)) { if (e.length > 0) { const _ = e[0]; if (_ !== void 0 && (g = Bh(_, n), g && (A = q(g), a = /* @__PURE__ */ new Map(), l = []), n.children)) for (let N = 0; N < e.length; N++) { const I = e[N]; if (I) { const b = n.children.get(N + ""); if (b && (t[N] || Gu(b, I), g)) { const D = A ? g(I) : I[g]; a.set(D, b); } } } } } else if (e && (!t || Be(t))) { const _ = f.length; for (let N = 0; N < _; N++) { const I = f[N]; if (!p.includes(I)) { S = !0; const b = Ce(n, I), D = d ? e.get(I) : e[I]; D !== void 0 && Gu(b, D); } } } if (t && !Kt(t)) { S = S || m !== E; const _ = S; let N = !1; for (let I = 0; I < m; I++) { const b = s ? I + "" : p[I]; let D = u ? t.get(b) : t[b]; const T = d ? e == null ? void 0 : e.get(b) : e == null ? void 0 : e[b]; let k = !Ph(D, T); if (k) { const w = g && D ? A ? g(D) : D[g] : void 0, U = (o = n.children) == null ? void 0 : o.get(b); if (Dt(D)) { const F = Gi(D); if ((U == null ? void 0 : U.linkedToNode) === F) { const $ = lt(F); u ? t.set(b, $) : t[b] = $; continue; } const j = D; D = () => j; } let C = Ce(n, b, D); if (C.lazy || !q(D) && !Dt(D) || (ep(C, D), Yn(C)), s && w !== void 0) { const F = w !== void 0 ? a == null ? void 0 : a.get(w) : void 0; if (F) { if (F !== void 0 && F.key !== b) { const j = e[F.key]; _ && (C = F, n.children.delete(C.key), C.key = b, l.push([b, C])), N = !0, k = j !== D; } } else S = !0; } if (k) if (q(D) || Dt(D)) Ir(n, b, D); else if (Kt(D)) S = !0; else { const F = Gl(C, D, T); S = S || F, k = F; } (k || s && !_) && (C.listeners || C.listenersImmediate) && Ri(C, D, T, 0, !_); } } if (l) for (let I = 0; I < l.length; I++) { const [b, D] = l[I]; n.children.set(b, D); } O = S || N; } else e !== void 0 && (O = !0); return O != null && O; } function Gu(n, t) { var e, r; (e = n.linkedToNodeDispose) == null || e.call(n), (r = n.activatedObserveDispose) == null || r.call(n), Kt(t) || Gl(n, void 0, t), (n.listeners || n.listenersImmediate) && Ri(n, void 0, t, 0); } function ne(n, t, e) { return t !== void 0 && (n = Ce(n, t, e)), n.proxy || (n.proxy = new Proxy(n, qh)); } function Ya() { if (St.pendingNodes.size > 0) { const n = Array.from(St.pendingNodes.values()); St.pendingNodes.clear(), n.forEach((t) => t()); } } var qh = { get(n, t, e) { var r, i; if (t === fE) throw new Error("[legend-state] observable is not a primitive."); if (t === _r) return n; if (t === "apply" || t === "call") { const d = lt(n); if (q(d)) return d[t]; } let o = Yn(n, t === "get" || t === "peek"); if (t === mE) return !o || Kt(o) ? void 0 : o[t]; const s = n.linkedToNode || (o == null ? void 0 : o[_r]); if (s && t !== "onChange") return qh.get(s, t, e); if (Rt(o) || nn(o)) { const d = function(h, p, f) { const m = f == null ? void 0 : f[p]; if (p === "size") return So(h, !0), f[p]; if (q(m)) return function(E, g, A) { const O = arguments.length, S = f; if (p === "get") { if (O > 0 && typeof E != "boolean" && E !== $l) return ne(h, E); } else { if (p === "set") return O === 2 ? me(Ce(h, E), g) : O === 1 && Rt(f) && me(h, E), ne(h); if (p === "delete") { if (O > 0) { const N = f.get ? S.get(E) : E; return Zh(h, E), N !== void 0; } } else { if (p === "clear") { const N = nn(S) ? new Set(S) : new Map(S), I = S.size; return S.clear(), void (I && Qh(h, f, N)); } if (p === "add") { const N = new Set(f), I = f.add(E); return f.has(p) || Ri(h, I, N, 0), ne(h); } } } const _ = ja.get(p); if (!_) return f[p](E, g); switch (O) { case 0: return _(h); case 1: return _(h, E); case 2: return _(h, E, g); default: return _(h, E, g, A); } }; }(n, t, o); if (d !== void 0) return d; } const a = ja.get(t); if (a) return t !== "get" && t !== "peek" || Ya(), function(d, h, p) { switch (arguments.length) { case 0: return a(n); case 1: return a(n, d); case 2: return a(n, d, h); default: return a(n, d, h, p); } }; const l = $a.get(t); if (l) return l.get(n); let u = o == null ? void 0 : o[t]; if (Be(o) && yi(o)) return u; const c = (r = n.functions) == null ? void 0 : r.get(t); if (c) return Dt(c) ? c : ne(n, t, c); if (u = function(d, h) { if (d) { const p = Object.getOwnPropertyDescriptor(d, h); return p != null && p.get && (delete d[h], d[h] = p.set ? function(f) { q(f) && (f = { get: f }); const m = function() { return { [Ii]: f }; }; return m.prototype[Ii] = f, m; }({ get: p.get, set: ({ value: f }) => p.set(f) }) : p.get), d[h]; } }(o, t), function(d) { return d == null; }(o) && u === void 0 && (Xs.has(t) || Vu.has(t)) && (o = [], Xs.has(t) && Qe(n, o), u = o[t]), q(u)) { if (vt(o)) { if (Xs.has(t)) return (...h) => Jh(n, o, t, ...h); if (Vu.has(t)) return So(n, !0), function(h, p) { const f = t === "reduce", m = f ? (A, O, S, _) => h(A, ne(n, S + "", O), S, _) : (A, O, S) => h(ne(n, O + "", A), O, S); if (f || !yE.has(t)) return o[t](m, p); const E = t === "find", g = []; for (let A = 0; A < o.length; A++) if (m(o[A], A, o)) { const O = ne(n, A + ""); if (E) return O; g.push(O); } return E ? void 0 : g; }; } Ir(n, t, u); const d = (i = n.functions) == null ? void 0 : i.get(t); return d ? ne(n, t, d) : u.bind(o); } return Kt(u) && t === "length" && vt(o) ? (So(n, !0), u) : ne(n, t); }, getPrototypeOf(n) { const t = lt(n); return t !== null && typeof t == "object" ? Reflect.getPrototypeOf(t) : null; }, ownKeys(n) { Yn(n); const t = Ds(n, !0); if (Kt(t)) return []; const e = t ? Reflect.ownKeys(t) : []; if (vt(t) && e[e.length - 1] === "length" && e.splice(e.length - 1, 1), q(n)) { const r = Reflect.ownKeys(n); ["caller", "arguments", "prototype"].forEach((i) => r.includes(i) && e.push(i)); } return e; }, getOwnPropertyDescriptor(n, t) { if (t === "caller" || t === "arguments" || t === "prototype") return { configurable: !1, enumerable: !1 }; const e = lt(n); if (Kt(e)) return; const r = Reflect.getOwnPropertyDescriptor(e, t); return r ? { ...r, configurable: !0 } : void 0; }, set(n, t, e) { if (n.isSetting) return Reflect.set(n, t, e); if (n.isAssigning) return Nr(n, t, e), !0; const r = $a.get(t); return !!r && (r.set(n, e), !0); }, deleteProperty: (n, t) => !!n.isSetting && Reflect.deleteProperty(n, t), has(n, t) { const e = lt(n); return Reflect.has(e, t); }, apply(n, t, e) { Dt(t) && (t = t.peek()); const r = lt(n), i = q(r) ? r : n.lazyFn || n; return Reflect.apply(i, t, e); } }; function me(n, t) { n.parent ? Nr(n.parent, n.key, t) : Nr(n, "_", t); } function Nr(n, t, e, r) { const i = !n.parent && t === "_"; Hh(n, e), !n.parent || lt(n) || q(e) || me(n, { [t]: e }); const o = i ? n : Ce(n, t, e); if (Dt(e)) jo(o, e); else { const { newValue: s, prevValue: a, parentValue: l } = Qe(o, e), u = Kt(a) || a instanceof Date || Kt(s) || s instanceof Date; if (!u) { let h = o; do h.needsExtract = !0, h.recursivelyAutoActivated = !1; while (h = h.parent); } const c = !Ph(s, a), d = !c && o.isComputing && !u && !o.isPlain; !c && !d || o.isComputing && o.isPlain && n.numListenersRecursive === 0 || Qh(n, s, a, o, l, u, i, r, d), Ir(n, t, s); } } function Zh(n, t) { t === void 0 && ms(n) && (t = n.key, n = n.parent); const e = lt(n); vt(e) ? Jh(n, e, "splice", t, 1) : Nr(n, t != null ? t : "_", Es, -1); } function Qh(n, t, e, r, i, o, s, a, l) { r || (r = n), gs(), o === void 0 && (o = Kt(t)); let u, c, d = l || o, h = !1; (!o || e && !Kt(e)) && (d = d || Gl(r, t, e), vt(t) ? u = t : (Rt(t) || nn(t)) && (c = t)), vt(i) ? u = i : (Rt(i) || nn(i)) && (c = i), u ? h = (u == null ? void 0 : u.length) !== (e == null ? void 0 : e.length) : c && (h = (c == null ? void 0 : c.size) !== (e == null ? void 0 : e.size)), (o || !t || Po(t) && !Po(e) ? t !== e : d) && Ri(o && s ? n : r, t, e, (a != null ? a : e === void 0) ? -1 : d ? 0 : 1, h), xr(); } function Cr(n, t, e) { const r = n.numGets = (n.numGets || 0) + 1; n.state || (n.state = Vl({ isLoaded: !1 }, 0, Cr, ne)), t.then((i) => { r >= (n.getNumResolved || 0) && (n.getNumResolved = n.numGets, e ? e({ value: i }) : me(n, i), n.state.assign({ isLoaded: !0, error: void 0 })); }).catch((i) => { n.state.error.set(i); }); } function Ir(n, t, e) { if (xe(e)) { const r = Ce(n, t); return Cr(r, e), void Qe(r, void 0); } if (Dt(e)) { const r = () => e; Uu(n, t, r); const i = Ce(n, t, r), o = Br(Gi(e)); return jo(i, e), Qe(i, o), lt(i); } if (typeof e == "function") return Uu(n, t, e), t; } function Ds(n, t) { return So(n, t ? Be(t) ? t.shallow : t : void 0), Br(n); } function Br(n) { return Yn(n, !0); } var oo = !1; function Yn(n, t) { var e; if (oo = !0, t && ((e = n.dirtyChildren) == null ? void 0 : e.size)) { const i = Array.from(n.dirtyChildren); n.dirtyChildren.clear(), i.forEach((o) => o.dirtyFn && Yn(o)); } if (n.dirtyFn) { const i = n.dirtyFn; n.dirtyFn = void 0, St.dirtyNodes.delete(n), i(); } oo = !1; let r = lt(n); return n.root.isLoadingLocal || n.isPlain || (r = function(i, o, s) { const a = o, l = i.lazy; if (l) { const u = i.lazyFn; if (delete i.lazy, q(u)) if (u.length === 1) o = {}; else { if (i.parent) { const c = lt(i.parent); q(o) && (c ? delete c[i.key] : i.root._ = void 0); } o = function(c, d) { let h, p, f, m = !0; const E = d; let g, A, O = []; function S() { c.dirtyFn = A, St.dirtyNodes.add(c); } const _ = Li(() => { var N, I, b, D; if (m) m = !1, q(lt(c)) && Qe(c, void 0); else if (!oo && A && function(C, F) { if (!oo && !function($) { var G, z; let V = $, W = $.numListenersRecursive > 0; for (; V && !W; ) ((G = V.listeners) != null && G.size || (z = V.listenersImmediate) != null && z.size) && (W = !0), V = V.parent; return W; }(C)) { F && (C.dirtyFn = F); let $ = C; for (; $; ) $.dirtyChildren || ($.dirtyChildren = /* @__PURE__ */ new Set()), $.dirtyChildren.add(C), $ = $.parent; return !0; } }(c, A)) return void (f = !0); let T = E(), k = !1; const w = Dt(T); (w || c.linkedToNode) && (k = w, T = jo(c, T)), q(T) && T.length === 0 && (T = T()); const U = w || T == null ? void 0 : T[Ii]; if (U && (c.activationState = U, T = void 0), f = !1, p = xe(T), c.activated) { if (c.activationState) { const C = c.activationState; (I = (N = c.state) == null ? void 0 : N.peek()) != null && I.sync ? (c.state.sync(), f = !0) : T = (D = (b = C.get) == null ? void 0 : b.call(C)) != null ? D : C.initial; } } else { c.activated = !0; let C = RE; U != null && U.synced && (C = St.activateSyncedNode, f = !0); const F = C(c, T); h = F.update; let j = F.value; !k && Dt(j) && (j = jo(c, j)), T = j != null ? j : U == null ? void 0 : U.initial; } return f && (g = T), p = p || xe(T), T; }, (N) => { const { value: I, nodes: b, refresh: D } = N; if (A = D, !f) { if (!p || !St.isLoadingRemote) if (p) if (c.activationState) { const { initial: T } = c.activationState; I && xe(I) && Cr(c, I, h), q(lt(c)) && Qe(c, T != null ? T : void 0); } else c.activated && (Cr(c, I, h), q(lt(c)) && Qe(c, void 0)); else { g = I; const T = c.state.isLoaded.peek(); !T && q(I) || (c.isComputing = !0, me(c, I), c.isComputing = !1), T || c.state.assign({ isLoaded: !0, error: void 0 }); } O.forEach((T) => T()), O = [], b == null || b.forEach(({ node: T, track: k }) => { O.push(Dn(T, S, { immediate: !0, trackingType: k })); }); } N.cancel = !0; }, { fromComputed: !0 }); return c.activatedObserveDispose = () => { _ == null || _(), O.forEach((N) => N()); }, g; }(i, u); } else Dt(o) && (o = Ir(i.parent, i.key, o)); } return Hh(i, o), !l && !i.needsExtract || i.isPlain || Dt(o) || Kt(o) || (s && function(u, c) { if (!c.recursivelyAutoActivated && (Be(u) || vt(u)) && !yi(u)) { c.recursivelyAutoActivated = !0; const d = []; np(u, d, () => { var p; let f = c; for (let m = 0; m < d.length; m++) { const E = d[m], g = (p = lt(f)) == null ? void 0 : p[E]; f = Ce(f, E, q(g) ? g : void 0), Yn(f); } return f; }); } }(o, i), i.parent && Ir(i.parent, i.key, a)), o; }(n, r, !!t)), r; } function tp(n) { var t, e; (t = n.activatedObserveDispose) == null || t.call(n), (e = n.linkedToNodeDispose) == null || e.call(n), n.activatedObserveDispose = n.linkedToNodeDispose = n.linkedToNode = void 0; } function ep(n, t) { tp(n), n.lazyFn = t, n.lazy = !0; } function RE(n, t) { if (n.state || (n.state = Vl({ isLoaded: !1 }, 0, Cr, ne)), n.activationState) { const { set: e, get: r, initial: i } = n.activationState; if ((t = r == null ? void 0 : r()) != null && t !== null || (t = i), e) { let o, s = [], a = 0; const l = (u) => { if (s.length > 0) { let c, d, h, p = !1, f = !1; u ? (c = u.changes, d = u.value, p = u.isFromPersist, f = u.isFromSync, h = u.getPrevious) : (c = s, d = o, h = zl(d, c)), s = [], o = void 0, St.pendingNodes.delete(n), a++; const m = a, E = () => { m === a && (n.isComputing = !0, e({ value: d, changes: c, isFromPersist: p, isFromSync: f, getPrevious: h }), n.isComputing = !1); }; Kh(n.state.isLoaded, E, !0); } }; Dn(n, ({ value: u, changes: c }) => { n.isComputing || (c.length > 1 || !q(c[0].prevAtPath)) && (o = u, s.length > 0 && (c = c.filter((d) => !$h(s[0].path, d.path))), s.push(...c), St.pendingNodes.set(n, l)); }, { immediate: !0 }), Dn(n, l); } } return { update: ({ value: e }) => { n.isComputing || (n.isComputing = !0, me(n, e), n.isComputing = !1); }, value: t }; } function jo(n, t) { var e; const r = t ? Gi(t) : void 0; return r !== n && (r == null ? void 0 : r.linkedToNode) !== n && (n.linkedToNode = r, (e = n.linkedToNodeDispose) == null || e.call(n), r && (r.linkedFromNodes || (r.linkedFromNodes = /* @__PURE__ */ new Set()), r.linkedFromNodes.add(n), n.linkedToNodeDispose = Dn(r, () => { q(t = Yn(r)) || me(n, t); }, { initial: !0 }, /* @__PURE__ */ new Set([n])))), t; } function np(n, t, e) { var r; if ((Be(n) || vt(n)) && !yi(n) && !bh(n)) { for (const i in n) if (Ul.call(n, i)) { const o = n[i]; if (Dt(o)) { const s = e(); Ir(s, i, o), delete s.lazy; } else { const s = q(o) && ((r = o.prototype) == null ? void 0 : r[Ii]); if (s) { const a = s.activate; (!a || a === "auto") && Br(Ce(e(), i, o)); } } typeof o == "object" && (t.push(i), np(o, t, e), t.pop()); } } } var Xu = ["get", "set", "peek", "onChange", "toggle"]; function mr(n) { this._node = n; for (let t = 0; t < Xu.length; t++) { const e = Xu[t]; this[e] = this[e].bind(this); } } function so(n, t) { mr.prototype[n] = function(...e) { return t.call(this, this._node, ...e); }; } function gt(n) { return Vl(n, 0, Cr, ne, mr); } so("peek", (n) => (Ya(), Br(n))), so("get", (n, t) => (Ya(), Ds(n, t))), so("set", me), so("onChange", Dn), Object.defineProperty(mr.prototype, _r, { configurable: !0, get() { return this._node; } }), mr.prototype.toggle = function() { const n = this.peek(); (n == null || Rh(n)) && this.set(!n); }, mr.prototype.delete = function() { return this.set(void 0), this; }; var As = { createPreviousHandler: zl, clone: Mh, deactivateNode: tp, deepMerge: Ho, ensureNodeValue: jl, findIDKey: Bh, get: Ds, getChildNode: Ce, getKeys: Ha, getNode: Gi, getNodeValue: lt, getPathType: kh, getProxy: ne, getValueAtPath: function(n, t) { return t.reduce(TE, n); }, globalState: St, initializePathType: Yl, ObservablePrimitiveClass: mr, observableProperties: $a, observableFns: ja, optimized: $l, peek: Br, reactivateNode: ep, registerMiddleware: function(n, t, e) { let r = lr.get(n); r || (r = /* @__PURE__ */ new Map(), lr.set(n, r)); let i = r.get(t); return i || (i = /* @__PURE__ */ new Set(), r.set(t, i)), i.add(e), () => { const o = lr.get(n); if (!o) return; const s = o.get(t); s && (s.delete(e), s.size === 0 && (o.delete(t), o.size === 0 && lr.delete(n))); }; }, safeParse: Fh, safeStringify: wh, set: me, setAtPath: Uh, setNodeValue: Qe, symbolLinked: Ii, symbolDelete: Es, tracking: cr }, { globalState: Ku, observableProperties: LE, observableFns: bE, ObservablePrimitiveClass: Wu } = As; class rp extends Error { } function Ju(n, t) { if (!n) throw new rp(t != null ? t : "Assertion failed"); } const ht = Object.assign(Ju, { is: function(n, t, e) { return Ju(t, e); }, unreachable: function() { throw new Error("Unreachable code"); }, never: function(n) { throw new Error("Unreachable"); }, defined: function(n) { if (n == null) throw new rp("Value is not defined"); } }); class Os { constructor(t = {}) { this._handlers = /* @__PURE__ */ new Set(), this._meta = t; } meta(t) { return new Os(t); } _emit(t, e) { for (const r of this._handlers) r({ level: t, data: e, timestamp: Date.now(), meta: this._meta }); } error(...t) { return this._emit("error", t); } warn(...t) { return this._emit("warn", t); } info(...t) { return this._emit("info", t); } log(...t) { return this._emit("log", t); } trace(...t) { return this._emit("trace", t); } registerHandler(t) { return this._handlers.add(t), () => this._handlers.delete(t); } } const Yo = new Os(), dn = new Os(), kE = "https://cdn.jsdelivr.net/npm/emoji-picker-element@1.26.3/+esm", Xl = /* @__PURE__ */ function(n) { let t; return () => (t === void 0 && (t = { value: n() }), t.value); }(async function() { if (typeof window == "undefined" || window.document === void 0) return new Promise(() => { }); try { const n = await import(kE); return await new n.Database().ready(), n; } catch (n) { return Yo.error("Failed to load emoji picker:", n), new Promise(() => { }); } }); function qu(n, t, e) { return n.clearRect(0, 0, 100, 100), n.fillStyle = e, n.fillText(t, 0, 0), n.getImageData(0, 0, 1, 1).data.join(","); } function Zu(n) { const t = function() { const i = document.createElement("canvas"); i.width = i.height = 1; const o = i.getContext("2d", { willReadFrequently: !0 }); return o.textBaseline = "top", o.font = '100px "Twemoji Mozilla","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","EmojiOne Color","Android Emoji",sans-serif', o.scale(0.01, 0.01), o; }(), e = qu(t, n, "#fff"), r = qu(t, n, "#000"); return r === e && !r.startsWith("0,0,0,"); } function wE(n) { const { common: t } = n; return t.conversation.subject ? x` <div className="t-title">${t.conversation.subject}</div> <div className="t-subtitle"> <${Qu} ...${n} /> </div> ` : x`<div className="t-title"> <${Qu} ...${n} /> </div>`; } function Qu({ common: n, isUserConnected: t, permissions: e }) { const { participants: r } = n, i = r.filter(({ user: s }) => s.id !== n.currentUser.id), o = i.length === 0 ? r : i; return e.showOnlineStatus ? x` <span className="t-participants"> ${o.map(({ user: s }) => x` <span className="t-participant" key=${s.id}> <span>${s.name}</span> <span className="t-online-indicator" t-status=${t[s.id] ? "online" : "offline"} ></span> </span> `)} </span> ` : x`<span className="t-participants">${o.map(({ user: s }) => s.name).join(", ")}</span>`; } function FE({ messageStatus: n, common: t }) { const { Icon: e } = t.theme; return n === "sending" ? x` <span className="t-status-icon"> <${e} type="spinner" className="t-message-loading-spinner" common=${t} /> </span> ` : n === "sent" ? x`<span className="t-status-icon">✓</span>` : n === "everyoneRead" ? x`<span className="t-status-icon">✓✓</span>` : null; } const ME = { attach: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <path fill="none" d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48" ></path> </svg> `; }, chevronLeft: tc, left: tc, chevronRight: ec, right: ec, chevronUp: nc, up: nc, chevronDown: rc, down: rc, close: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <line x1="18" y1="6" x2="6" y2="18" fill="none"></line> <line fill="none" x1="6" y1="6" x2="18" y2="18"></line> </svg> `; }, emoji: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <circle fill="none" cx="12" cy="12" r="10"></circle> <path fill="none" d="M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01"></path> </svg> `; }, locationPin: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <path fill="none" d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z" ></path> <circle fill="none" cx="12" cy="10" r="3"></circle> </svg> `; }, more: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <path d="M32 20C30.9391 20 29.9217 19.5786 29.1716 18.8284C28.4214 18.0783 28 17.0609 28 16C28 14.9391 28.4214 13.9217 29.1716 13.1716C29.9217 12.4214 30.9391 12 32 12C33.0609 12 34.0783 12.4214 34.8284 13.1716C35.5786 13.9217 36 14.9391 36 16C36 17.0609 35.5786 18.0783 34.8284 18.8284C34.0783 19.5786 33.0609 20 32 20ZM32 36C30.9391 36 29.9217 35.5786 29.1716 34.8284C28.4214 34.0783 28 33.0609 28 32C28 30.9391 28.4214 29.9217 29.1716 29.1716C29.9217 28.4214 30.9391 28 32 28C33.0609 28 34.0783 28.4214 34.8284 29.1716C35.5786 29.9217 36 30.9391 36 32C36 33.0609 35.5786 34.0783 34.8284 34.8284C34.0783 35.5786 33.0609 36 32 36ZM28 48C28 49.0609 28.4214 50.0783 29.1716 50.8284C29.9217 51.5786 30.9391 52 32 52C33.0609 52 34.0783 51.5786 34.8284 50.8284C35.5786 50.0783 36 49.0609 36 48C36 46.9391 35.5786 45.9217 34.8284 45.1716C34.0783 44.4214 33.0609 44 32 44C30.9391 44 29.9217 44.4214 29.1716 45.1716C28.4214 45.9217 28 46.9391 28 48Z" fill="currentColor" ></path> </svg> `; }, plus: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <line x1="12" y1="5" x2="12" y2="19" fill="none"></line> <line fill="none" x1="5" y1="12" x2="19" y2="12"></line> </svg> `; }, search: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <path fill="none" d="M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM21.35 21.35 17 17" ></path> </svg> `; }, send: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 64 64" height="24px" width="24px" > <path d="M14.4812 8.18108C14.1942 8.03755 13.8727 7.97744 13.5533 8.00758C13.2338 8.03773 12.9292 8.15693 12.6742 8.35162C12.4191 8.54631 12.2238 8.80867 12.1105 9.10886C11.9972 9.40906 11.9704 9.73503 12.0331 10.0497L16.8435 26.6787C16.9332 26.9886 17.1086 27.2669 17.3493 27.4816C17.5901 27.6963 17.8866 27.8387 18.2047 27.8925L37.7138 31.16C38.6327 31.3417 38.6327 32.6583 37.7138 32.84L18.2047 36.1075C17.8866 36.1613 17.5901 36.3037 17.3493 36.5184C17.1086 36.7331 16.9332 37.0114 16.8435 37.3213L12.0331 53.9503C11.9704 54.265 11.9972 54.5909 12.1105 54.8911C12.2238 55.1913 12.4191 55.4537 12.6742 55.6484C12.9292 55.8431 13.2338 55.9623 13.5533 55.9924C13.8727 56.0226 14.1942 55.9625 14.4812 55.8189L59.0538 33.5326C59.3382 33.3901 59.5773 33.1712 59.7444 32.9006C59.9115 32.6299 60 32.3181 60 32C60 31.6819 59.9115 31.3701 59.7444 31.0994C59.5773 30.8288 59.3382 30.6099 59.0538 30.4674L14.4812 8.18108Z" fill="currentColor" ></path> </svg> `; }, spinner: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 64 64" height="24px" width="24px" > <path d="M31.9999 11.1999C26.4834 11.1999 21.1928 13.3913 17.2921 17.2921C13.3913 21.1928 11.1999 26.4834 11.1999 31.9999C11.1999 32.6364 10.947 33.2469 10.497 33.697C10.0469 34.1471 9.43642 34.3999 8.7999 34.3999C8.16338 34.3999 7.55293 34.1471 7.10285 33.697C6.65276 33.2469 6.3999 32.6364 6.3999 31.9999C6.3999 26.9367 7.90132 21.9872 10.7143 17.7773C13.5272 13.5674 17.5254 10.2862 22.2032 8.3486C26.881 6.41099 32.0283 5.90403 36.9942 6.89181C41.9601 7.87959 46.5216 10.3178 50.1018 13.898C53.6821 17.4782 56.1202 22.0397 57.108 27.0056C58.0958 31.9715 57.5888 37.1188 55.6512 41.7966C53.7136 46.4744 50.4324 50.4726 46.2225 53.2855C42.0126 56.0985 37.0631 57.5999 31.9999 57.5999C31.3634 57.5999 30.7529 57.3471 30.3028 56.897C29.8528 56.4469 29.5999 55.8364 29.5999 55.1999C29.5999 54.5634 29.8528 53.9529 30.3028 53.5029C30.7529 53.0528 31.3634 52.7999 31.9999 52.7999C37.5164 52.7999 42.807 50.6085 46.7077 46.7077C50.6085 42.807 52.7999 37.5164 52.7999 31.9999C52.7999 26.4834 50.6085 21.1928 46.7077 17.2921C42.807 13.3913 37.5164 11.1999 31.9999 11.1999V11.1999Z" fill="currentColor" ></path> </svg> `; }, play: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <polygon points="5 3 19 12 5 21 5 3"></polygon> </svg> `; }, pause: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 24 24" height="24px" width="24px" > <rect x="6" y="4" width="4" height="16"></rect> <rect x="14" y="4" width="4" height="16"></rect> </svg> `; }, updown: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 64 64" height="24px" width="24px" > <path d="M 16 25.75 L 19.769531 29.523438 L 31.085938 18.210938 L 42.398438 29.523438 L 46.167969 25.75 L 31.085938 10.667969 Z M 16 25.75 " fill="currentColor" ></path> <path d="M 16 38.515625 L 19.769531 34.746094 L 31.085938 46.058594 L 42.398438 34.746094 L 46.167969 38.515625 L 31.085938 53.601562 Z M 16 38.515625 " fill="currentColor" ></path> </svg> `; }, addEmoji: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="-2 -2 28 28" height="26" width="26" style=${{ overflow: "visible" }} > <circle fill="none" cx="12" cy="12" r="10"></circle> <path fill="none" d="M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01"></path> <line x1="25" y1="-1" x2="25" y2="5" stroke="currentColor" strokeWidth="2" strokeLinecap="round" ></line> <line x1="28" y1="2" x2="22" y2="2" stroke="currentColor" strokeWidth="2" strokeLinecap="round" ></line> </svg> `; }, microphone: function({ className: n }) { return x` <svg className=${n} xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" viewBox="0 0 64 64" height="24px" width="24px" > <path fillRule="nonzero" fill="currentColor" fillOpacity="1" strokeWidth="2" strok