@olotalk/widget 0.1.0
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/README.md +144 -0
- package/dist/Widget.svelte.d.ts +1 -0
- package/dist/index.d.ts +61 -0
- package/dist/olotalk-widget.css +1 -0
- package/dist/olotalk-widget.iife.js +10 -0
- package/dist/olotalk-widget.js +3190 -0
- package/package.json +38 -0
|
@@ -0,0 +1,3190 @@
|
|
|
1
|
+
var _a = Object.defineProperty;
|
|
2
|
+
var Ur = (e) => {
|
|
3
|
+
throw TypeError(e);
|
|
4
|
+
};
|
|
5
|
+
var $a = (e, t, n) => t in e ? _a(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
6
|
+
var Me = (e, t, n) => $a(e, typeof t != "symbol" ? t + "" : t, n), ar = (e, t, n) => t.has(e) || Ur("Cannot " + n);
|
|
7
|
+
var u = (e, t, n) => (ar(e, t, "read from private field"), n ? n.call(e) : t.get(e)), z = (e, t, n) => t.has(e) ? Ur("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, n), y = (e, t, n, r) => (ar(e, t, "write to private field"), r ? r.call(e, n) : t.set(e, n), n), W = (e, t, n) => (ar(e, t, "access private method"), n);
|
|
8
|
+
var ws = Array.isArray, ei = Array.prototype.indexOf, mr = Array.from, ti = Object.defineProperty, sn = Object.getOwnPropertyDescriptor, ni = Object.getOwnPropertyDescriptors, ri = Object.prototype, si = Array.prototype, hs = Object.getPrototypeOf, _r = Object.isExtensible;
|
|
9
|
+
function ai(e) {
|
|
10
|
+
for (var t = 0; t < e.length; t++)
|
|
11
|
+
e[t]();
|
|
12
|
+
}
|
|
13
|
+
function Ps() {
|
|
14
|
+
var e, t, n = new Promise((r, a) => {
|
|
15
|
+
e = r, t = a;
|
|
16
|
+
});
|
|
17
|
+
return { promise: n, resolve: e, reject: t };
|
|
18
|
+
}
|
|
19
|
+
const oe = 2, Xn = 4, Hr = 8, et = 16, tt = 32, kt = 64, Nn = 128, je = 512, fe = 1024, me = 2048, nt = 4096, ye = 8192, Ot = 16384, Or = 32768, Kt = 65536, $r = 1 << 17, ps = 1 << 18, _t = 1 << 19, ii = 1 << 20, ln = 32768, vr = 1 << 21, xr = 1 << 22, ct = 1 << 23, Hn = Symbol("$state"), fi = Symbol(""), Yt = new class extends Error {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
Me(this, "name", "StaleReactionError");
|
|
23
|
+
Me(this, "message", "The reaction that called `getAbortSignal()` was re-run or destroyed");
|
|
24
|
+
}
|
|
25
|
+
}();
|
|
26
|
+
function li(e) {
|
|
27
|
+
throw new Error("https://svelte.dev/e/lifecycle_outside_component");
|
|
28
|
+
}
|
|
29
|
+
function oi() {
|
|
30
|
+
throw new Error("https://svelte.dev/e/async_derived_orphan");
|
|
31
|
+
}
|
|
32
|
+
function ui(e) {
|
|
33
|
+
throw new Error("https://svelte.dev/e/effect_in_teardown");
|
|
34
|
+
}
|
|
35
|
+
function ci() {
|
|
36
|
+
throw new Error("https://svelte.dev/e/effect_in_unowned_derived");
|
|
37
|
+
}
|
|
38
|
+
function di(e) {
|
|
39
|
+
throw new Error("https://svelte.dev/e/effect_orphan");
|
|
40
|
+
}
|
|
41
|
+
function vi() {
|
|
42
|
+
throw new Error("https://svelte.dev/e/effect_update_depth_exceeded");
|
|
43
|
+
}
|
|
44
|
+
function gi() {
|
|
45
|
+
throw new Error("https://svelte.dev/e/state_descriptors_fixed");
|
|
46
|
+
}
|
|
47
|
+
function Ai() {
|
|
48
|
+
throw new Error("https://svelte.dev/e/state_prototype_fixed");
|
|
49
|
+
}
|
|
50
|
+
function wi() {
|
|
51
|
+
throw new Error("https://svelte.dev/e/state_unsafe_mutation");
|
|
52
|
+
}
|
|
53
|
+
function hi() {
|
|
54
|
+
throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror");
|
|
55
|
+
}
|
|
56
|
+
const Mn = 1, Ln = 2, Bs = 4, Pi = 8, pi = 16, Bi = 1, bi = 2, ae = Symbol(), Di = "http://www.w3.org/1999/xhtml";
|
|
57
|
+
function yi() {
|
|
58
|
+
console.warn("https://svelte.dev/e/svelte_boundary_reset_noop");
|
|
59
|
+
}
|
|
60
|
+
let mi = !1;
|
|
61
|
+
function bs(e) {
|
|
62
|
+
return e === this.v;
|
|
63
|
+
}
|
|
64
|
+
function Hi(e, t) {
|
|
65
|
+
return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
|
|
66
|
+
}
|
|
67
|
+
function Ds(e) {
|
|
68
|
+
return !Hi(e, this.v);
|
|
69
|
+
}
|
|
70
|
+
let He = null;
|
|
71
|
+
function Vt(e) {
|
|
72
|
+
He = e;
|
|
73
|
+
}
|
|
74
|
+
function ys(e, t = !1, n) {
|
|
75
|
+
He = {
|
|
76
|
+
p: He,
|
|
77
|
+
i: !1,
|
|
78
|
+
c: null,
|
|
79
|
+
e: null,
|
|
80
|
+
s: e,
|
|
81
|
+
x: null,
|
|
82
|
+
l: null
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function ms(e) {
|
|
86
|
+
var t = (
|
|
87
|
+
/** @type {ComponentContext} */
|
|
88
|
+
He
|
|
89
|
+
), n = t.e;
|
|
90
|
+
if (n !== null) {
|
|
91
|
+
t.e = null;
|
|
92
|
+
for (var r of n)
|
|
93
|
+
Zs(r);
|
|
94
|
+
}
|
|
95
|
+
return e !== void 0 && (t.x = e), t.i = !0, He = t.p, e ?? /** @type {T} */
|
|
96
|
+
{};
|
|
97
|
+
}
|
|
98
|
+
function Hs() {
|
|
99
|
+
return !0;
|
|
100
|
+
}
|
|
101
|
+
let Bt = [];
|
|
102
|
+
function Os() {
|
|
103
|
+
var e = Bt;
|
|
104
|
+
Bt = [], ai(e);
|
|
105
|
+
}
|
|
106
|
+
function $t(e) {
|
|
107
|
+
if (Bt.length === 0 && !an) {
|
|
108
|
+
var t = Bt;
|
|
109
|
+
queueMicrotask(() => {
|
|
110
|
+
t === Bt && Os();
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
Bt.push(e);
|
|
114
|
+
}
|
|
115
|
+
function Oi() {
|
|
116
|
+
for (; Bt.length > 0; )
|
|
117
|
+
Os();
|
|
118
|
+
}
|
|
119
|
+
function xs(e) {
|
|
120
|
+
var t = k;
|
|
121
|
+
if (t === null)
|
|
122
|
+
return x.f |= ct, e;
|
|
123
|
+
if ((t.f & Or) === 0) {
|
|
124
|
+
if ((t.f & Nn) === 0)
|
|
125
|
+
throw e;
|
|
126
|
+
t.b.error(e);
|
|
127
|
+
} else
|
|
128
|
+
Jt(e, t);
|
|
129
|
+
}
|
|
130
|
+
function Jt(e, t) {
|
|
131
|
+
for (; t !== null; ) {
|
|
132
|
+
if ((t.f & Nn) !== 0)
|
|
133
|
+
try {
|
|
134
|
+
t.b.error(e);
|
|
135
|
+
return;
|
|
136
|
+
} catch (n) {
|
|
137
|
+
e = n;
|
|
138
|
+
}
|
|
139
|
+
t = t.parent;
|
|
140
|
+
}
|
|
141
|
+
throw e;
|
|
142
|
+
}
|
|
143
|
+
const bn = /* @__PURE__ */ new Set();
|
|
144
|
+
let N = null, On = null, q = null, Ze = [], Fn = null, gr = !1, an = !1;
|
|
145
|
+
var St, Gt, bt, Dt, cn, Wt, qt, ie, Ar, pt, Es, Cs;
|
|
146
|
+
const kn = class kn {
|
|
147
|
+
constructor() {
|
|
148
|
+
z(this, ie);
|
|
149
|
+
Me(this, "committed", !1);
|
|
150
|
+
/**
|
|
151
|
+
* The current values of any sources that are updated in this batch
|
|
152
|
+
* They keys of this map are identical to `this.#previous`
|
|
153
|
+
* @type {Map<Source, any>}
|
|
154
|
+
*/
|
|
155
|
+
Me(this, "current", /* @__PURE__ */ new Map());
|
|
156
|
+
/**
|
|
157
|
+
* The values of any sources that are updated in this batch _before_ those updates took place.
|
|
158
|
+
* They keys of this map are identical to `this.#current`
|
|
159
|
+
* @type {Map<Source, any>}
|
|
160
|
+
*/
|
|
161
|
+
Me(this, "previous", /* @__PURE__ */ new Map());
|
|
162
|
+
/**
|
|
163
|
+
* When the batch is committed (and the DOM is updated), we need to remove old branches
|
|
164
|
+
* and append new ones by calling the functions added inside (if/each/key/etc) blocks
|
|
165
|
+
* @type {Set<() => void>}
|
|
166
|
+
*/
|
|
167
|
+
z(this, St, /* @__PURE__ */ new Set());
|
|
168
|
+
/**
|
|
169
|
+
* If a fork is discarded, we need to destroy any effects that are no longer needed
|
|
170
|
+
* @type {Set<(batch: Batch) => void>}
|
|
171
|
+
*/
|
|
172
|
+
z(this, Gt, /* @__PURE__ */ new Set());
|
|
173
|
+
/**
|
|
174
|
+
* The number of async effects that are currently in flight
|
|
175
|
+
*/
|
|
176
|
+
z(this, bt, 0);
|
|
177
|
+
/**
|
|
178
|
+
* The number of async effects that are currently in flight, _not_ inside a pending boundary
|
|
179
|
+
*/
|
|
180
|
+
z(this, Dt, 0);
|
|
181
|
+
/**
|
|
182
|
+
* A deferred that resolves when the batch is committed, used with `settled()`
|
|
183
|
+
* TODO replace with Promise.withResolvers once supported widely enough
|
|
184
|
+
* @type {{ promise: Promise<void>, resolve: (value?: any) => void, reject: (reason: unknown) => void } | null}
|
|
185
|
+
*/
|
|
186
|
+
z(this, cn, null);
|
|
187
|
+
/**
|
|
188
|
+
* Deferred effects (which run after async work has completed) that are DIRTY
|
|
189
|
+
* @type {Effect[]}
|
|
190
|
+
*/
|
|
191
|
+
z(this, Wt, []);
|
|
192
|
+
/**
|
|
193
|
+
* Deferred effects that are MAYBE_DIRTY
|
|
194
|
+
* @type {Effect[]}
|
|
195
|
+
*/
|
|
196
|
+
z(this, qt, []);
|
|
197
|
+
/**
|
|
198
|
+
* A set of branches that still exist, but will be destroyed when this batch
|
|
199
|
+
* is committed — we skip over these during `process`
|
|
200
|
+
* @type {Set<Effect>}
|
|
201
|
+
*/
|
|
202
|
+
Me(this, "skipped_effects", /* @__PURE__ */ new Set());
|
|
203
|
+
Me(this, "is_fork", !1);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
*
|
|
207
|
+
* @param {Effect[]} root_effects
|
|
208
|
+
*/
|
|
209
|
+
process(t) {
|
|
210
|
+
var r;
|
|
211
|
+
Ze = [], On = null, this.apply();
|
|
212
|
+
var n = {
|
|
213
|
+
parent: null,
|
|
214
|
+
effect: null,
|
|
215
|
+
effects: [],
|
|
216
|
+
render_effects: [],
|
|
217
|
+
block_effects: []
|
|
218
|
+
};
|
|
219
|
+
for (const a of t)
|
|
220
|
+
W(this, ie, Ar).call(this, a, n);
|
|
221
|
+
this.is_fork || W(this, ie, Es).call(this), u(this, Dt) > 0 || this.is_fork ? (W(this, ie, pt).call(this, n.effects), W(this, ie, pt).call(this, n.render_effects), W(this, ie, pt).call(this, n.block_effects)) : (On = this, N = null, es(n.render_effects), es(n.effects), On = null, (r = u(this, cn)) == null || r.resolve()), q = null;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Associate a change to a given source with the current
|
|
225
|
+
* batch, noting its previous and current values
|
|
226
|
+
* @param {Source} source
|
|
227
|
+
* @param {any} value
|
|
228
|
+
*/
|
|
229
|
+
capture(t, n) {
|
|
230
|
+
this.previous.has(t) || this.previous.set(t, n), (t.f & ct) === 0 && (this.current.set(t, t.v), q == null || q.set(t, t.v));
|
|
231
|
+
}
|
|
232
|
+
activate() {
|
|
233
|
+
N = this, this.apply();
|
|
234
|
+
}
|
|
235
|
+
deactivate() {
|
|
236
|
+
N === this && (N = null, q = null);
|
|
237
|
+
}
|
|
238
|
+
flush() {
|
|
239
|
+
if (this.activate(), Ze.length > 0) {
|
|
240
|
+
if (zs(), N !== null && N !== this)
|
|
241
|
+
return;
|
|
242
|
+
} else u(this, bt) === 0 && this.process([]);
|
|
243
|
+
this.deactivate();
|
|
244
|
+
}
|
|
245
|
+
discard() {
|
|
246
|
+
for (const t of u(this, Gt)) t(this);
|
|
247
|
+
u(this, Gt).clear();
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
*
|
|
251
|
+
* @param {boolean} blocking
|
|
252
|
+
*/
|
|
253
|
+
increment(t) {
|
|
254
|
+
y(this, bt, u(this, bt) + 1), t && y(this, Dt, u(this, Dt) + 1);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
*
|
|
258
|
+
* @param {boolean} blocking
|
|
259
|
+
*/
|
|
260
|
+
decrement(t) {
|
|
261
|
+
y(this, bt, u(this, bt) - 1), t && y(this, Dt, u(this, Dt) - 1), this.revive();
|
|
262
|
+
}
|
|
263
|
+
revive() {
|
|
264
|
+
for (const t of u(this, Wt))
|
|
265
|
+
le(t, me), Ct(t);
|
|
266
|
+
for (const t of u(this, qt))
|
|
267
|
+
le(t, nt), Ct(t);
|
|
268
|
+
y(this, Wt, []), y(this, qt, []), this.flush();
|
|
269
|
+
}
|
|
270
|
+
/** @param {() => void} fn */
|
|
271
|
+
oncommit(t) {
|
|
272
|
+
u(this, St).add(t);
|
|
273
|
+
}
|
|
274
|
+
/** @param {(batch: Batch) => void} fn */
|
|
275
|
+
ondiscard(t) {
|
|
276
|
+
u(this, Gt).add(t);
|
|
277
|
+
}
|
|
278
|
+
settled() {
|
|
279
|
+
return (u(this, cn) ?? y(this, cn, Ps())).promise;
|
|
280
|
+
}
|
|
281
|
+
static ensure() {
|
|
282
|
+
if (N === null) {
|
|
283
|
+
const t = N = new kn();
|
|
284
|
+
bn.add(N), an || kn.enqueue(() => {
|
|
285
|
+
N === t && t.flush();
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
return N;
|
|
289
|
+
}
|
|
290
|
+
/** @param {() => void} task */
|
|
291
|
+
static enqueue(t) {
|
|
292
|
+
$t(t);
|
|
293
|
+
}
|
|
294
|
+
apply() {
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
St = new WeakMap(), Gt = new WeakMap(), bt = new WeakMap(), Dt = new WeakMap(), cn = new WeakMap(), Wt = new WeakMap(), qt = new WeakMap(), ie = new WeakSet(), /**
|
|
298
|
+
* Traverse the effect tree, executing effects or stashing
|
|
299
|
+
* them for later execution as appropriate
|
|
300
|
+
* @param {Effect} root
|
|
301
|
+
* @param {EffectTarget} target
|
|
302
|
+
*/
|
|
303
|
+
Ar = function(t, n) {
|
|
304
|
+
var w;
|
|
305
|
+
t.f ^= fe;
|
|
306
|
+
for (var r = t.first; r !== null; ) {
|
|
307
|
+
var a = r.f, s = (a & (tt | kt)) !== 0, i = s && (a & fe) !== 0, o = i || (a & ye) !== 0 || this.skipped_effects.has(r);
|
|
308
|
+
if ((r.f & Nn) !== 0 && ((w = r.b) != null && w.is_pending()) && (n = {
|
|
309
|
+
parent: n,
|
|
310
|
+
effect: r,
|
|
311
|
+
effects: [],
|
|
312
|
+
render_effects: [],
|
|
313
|
+
block_effects: []
|
|
314
|
+
}), !o && r.fn !== null) {
|
|
315
|
+
s ? r.f ^= fe : (a & Xn) !== 0 ? n.effects.push(r) : An(r) && ((r.f & et) !== 0 && n.block_effects.push(r), un(r));
|
|
316
|
+
var f = r.first;
|
|
317
|
+
if (f !== null) {
|
|
318
|
+
r = f;
|
|
319
|
+
continue;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
var c = r.parent;
|
|
323
|
+
for (r = r.next; r === null && c !== null; )
|
|
324
|
+
c === n.effect && (W(this, ie, pt).call(this, n.effects), W(this, ie, pt).call(this, n.render_effects), W(this, ie, pt).call(this, n.block_effects), n = /** @type {EffectTarget} */
|
|
325
|
+
n.parent), r = c.next, c = c.parent;
|
|
326
|
+
}
|
|
327
|
+
}, /**
|
|
328
|
+
* @param {Effect[]} effects
|
|
329
|
+
*/
|
|
330
|
+
pt = function(t) {
|
|
331
|
+
for (const n of t)
|
|
332
|
+
((n.f & me) !== 0 ? u(this, Wt) : u(this, qt)).push(n), le(n, fe);
|
|
333
|
+
}, Es = function() {
|
|
334
|
+
if (u(this, Dt) === 0) {
|
|
335
|
+
for (const t of u(this, St)) t();
|
|
336
|
+
u(this, St).clear();
|
|
337
|
+
}
|
|
338
|
+
u(this, bt) === 0 && W(this, ie, Cs).call(this);
|
|
339
|
+
}, Cs = function() {
|
|
340
|
+
var a;
|
|
341
|
+
if (bn.size > 1) {
|
|
342
|
+
this.previous.clear();
|
|
343
|
+
var t = q, n = !0, r = {
|
|
344
|
+
parent: null,
|
|
345
|
+
effect: null,
|
|
346
|
+
effects: [],
|
|
347
|
+
render_effects: [],
|
|
348
|
+
block_effects: []
|
|
349
|
+
};
|
|
350
|
+
for (const s of bn) {
|
|
351
|
+
if (s === this) {
|
|
352
|
+
n = !1;
|
|
353
|
+
continue;
|
|
354
|
+
}
|
|
355
|
+
const i = [];
|
|
356
|
+
for (const [f, c] of this.current) {
|
|
357
|
+
if (s.current.has(f))
|
|
358
|
+
if (n && c !== s.current.get(f))
|
|
359
|
+
s.current.set(f, c);
|
|
360
|
+
else
|
|
361
|
+
continue;
|
|
362
|
+
i.push(f);
|
|
363
|
+
}
|
|
364
|
+
if (i.length === 0)
|
|
365
|
+
continue;
|
|
366
|
+
const o = [...s.current.keys()].filter((f) => !this.current.has(f));
|
|
367
|
+
if (o.length > 0) {
|
|
368
|
+
const f = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Map();
|
|
369
|
+
for (const w of i)
|
|
370
|
+
Qs(w, o, f, c);
|
|
371
|
+
if (Ze.length > 0) {
|
|
372
|
+
N = s, s.apply();
|
|
373
|
+
for (const w of Ze)
|
|
374
|
+
W(a = s, ie, Ar).call(a, w, r);
|
|
375
|
+
Ze = [], s.deactivate();
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
N = null, q = t;
|
|
380
|
+
}
|
|
381
|
+
this.committed = !0, bn.delete(this);
|
|
382
|
+
};
|
|
383
|
+
let _e = kn;
|
|
384
|
+
function xi(e) {
|
|
385
|
+
var t = an;
|
|
386
|
+
an = !0;
|
|
387
|
+
try {
|
|
388
|
+
for (var n; ; ) {
|
|
389
|
+
if (Oi(), Ze.length === 0 && (N == null || N.flush(), Ze.length === 0))
|
|
390
|
+
return Fn = null, /** @type {T} */
|
|
391
|
+
n;
|
|
392
|
+
zs();
|
|
393
|
+
}
|
|
394
|
+
} finally {
|
|
395
|
+
an = t;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
function zs() {
|
|
399
|
+
var e = xt;
|
|
400
|
+
gr = !0;
|
|
401
|
+
try {
|
|
402
|
+
var t = 0;
|
|
403
|
+
for (rs(!0); Ze.length > 0; ) {
|
|
404
|
+
var n = _e.ensure();
|
|
405
|
+
if (t++ > 1e3) {
|
|
406
|
+
var r, a;
|
|
407
|
+
Ei();
|
|
408
|
+
}
|
|
409
|
+
n.process(Ze), dt.clear();
|
|
410
|
+
}
|
|
411
|
+
} finally {
|
|
412
|
+
gr = !1, rs(e), Fn = null;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
function Ei() {
|
|
416
|
+
try {
|
|
417
|
+
vi();
|
|
418
|
+
} catch (e) {
|
|
419
|
+
Jt(e, Fn);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
let Qe = null;
|
|
423
|
+
function es(e) {
|
|
424
|
+
var t = e.length;
|
|
425
|
+
if (t !== 0) {
|
|
426
|
+
for (var n = 0; n < t; ) {
|
|
427
|
+
var r = e[n++];
|
|
428
|
+
if ((r.f & (Ot | ye)) === 0 && An(r) && (Qe = /* @__PURE__ */ new Set(), un(r), r.deps === null && r.first === null && r.nodes_start === null && (r.teardown === null && r.ac === null ? Ws(r) : r.fn = null), (Qe == null ? void 0 : Qe.size) > 0)) {
|
|
429
|
+
dt.clear();
|
|
430
|
+
for (const a of Qe) {
|
|
431
|
+
if ((a.f & (Ot | ye)) !== 0) continue;
|
|
432
|
+
const s = [a];
|
|
433
|
+
let i = a.parent;
|
|
434
|
+
for (; i !== null; )
|
|
435
|
+
Qe.has(i) && (Qe.delete(i), s.push(i)), i = i.parent;
|
|
436
|
+
for (let o = s.length - 1; o >= 0; o--) {
|
|
437
|
+
const f = s[o];
|
|
438
|
+
(f.f & (Ot | ye)) === 0 && un(f);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
Qe.clear();
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
Qe = null;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
function Qs(e, t, n, r) {
|
|
448
|
+
if (!n.has(e) && (n.add(e), e.reactions !== null))
|
|
449
|
+
for (const a of e.reactions) {
|
|
450
|
+
const s = a.f;
|
|
451
|
+
(s & oe) !== 0 ? Qs(
|
|
452
|
+
/** @type {Derived} */
|
|
453
|
+
a,
|
|
454
|
+
t,
|
|
455
|
+
n,
|
|
456
|
+
r
|
|
457
|
+
) : (s & (xr | et)) !== 0 && (s & me) === 0 && // we may have scheduled this one already
|
|
458
|
+
ks(a, t, r) && (le(a, me), Ct(
|
|
459
|
+
/** @type {Effect} */
|
|
460
|
+
a
|
|
461
|
+
));
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
function ks(e, t, n) {
|
|
465
|
+
const r = n.get(e);
|
|
466
|
+
if (r !== void 0) return r;
|
|
467
|
+
if (e.deps !== null)
|
|
468
|
+
for (const a of e.deps) {
|
|
469
|
+
if (t.includes(a))
|
|
470
|
+
return !0;
|
|
471
|
+
if ((a.f & oe) !== 0 && ks(
|
|
472
|
+
/** @type {Derived} */
|
|
473
|
+
a,
|
|
474
|
+
t,
|
|
475
|
+
n
|
|
476
|
+
))
|
|
477
|
+
return n.set(
|
|
478
|
+
/** @type {Derived} */
|
|
479
|
+
a,
|
|
480
|
+
!0
|
|
481
|
+
), !0;
|
|
482
|
+
}
|
|
483
|
+
return n.set(e, !1), !1;
|
|
484
|
+
}
|
|
485
|
+
function Ct(e) {
|
|
486
|
+
for (var t = Fn = e; t.parent !== null; ) {
|
|
487
|
+
t = t.parent;
|
|
488
|
+
var n = t.f;
|
|
489
|
+
if (gr && t === k && (n & et) !== 0 && (n & ps) === 0)
|
|
490
|
+
return;
|
|
491
|
+
if ((n & (kt | tt)) !== 0) {
|
|
492
|
+
if ((n & fe) === 0) return;
|
|
493
|
+
t.f ^= fe;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
Ze.push(t);
|
|
497
|
+
}
|
|
498
|
+
function Ci(e) {
|
|
499
|
+
let t = 0, n = zt(0), r;
|
|
500
|
+
return () => {
|
|
501
|
+
In() && (l(n), zr(() => (t === 0 && (r = Yn(() => e(() => fn(n)))), t += 1, () => {
|
|
502
|
+
$t(() => {
|
|
503
|
+
t -= 1, t === 0 && (r == null || r(), r = void 0, fn(n));
|
|
504
|
+
});
|
|
505
|
+
})));
|
|
506
|
+
};
|
|
507
|
+
}
|
|
508
|
+
var zi = Kt | _t | Nn;
|
|
509
|
+
function Qi(e, t, n) {
|
|
510
|
+
new ki(e, t, n);
|
|
511
|
+
}
|
|
512
|
+
var Ee, Ce, yr, Fe, yt, Re, ze, he, Ie, Ue, lt, mt, ot, Ht, ut, Tn, ee, Ti, ji, wr, xn, En, hr;
|
|
513
|
+
class ki {
|
|
514
|
+
/**
|
|
515
|
+
* @param {TemplateNode} node
|
|
516
|
+
* @param {BoundaryProps} props
|
|
517
|
+
* @param {((anchor: Node) => void)} children
|
|
518
|
+
*/
|
|
519
|
+
constructor(t, n, r) {
|
|
520
|
+
z(this, ee);
|
|
521
|
+
/** @type {Boundary | null} */
|
|
522
|
+
Me(this, "parent");
|
|
523
|
+
z(this, Ee, !1);
|
|
524
|
+
/** @type {TemplateNode} */
|
|
525
|
+
z(this, Ce);
|
|
526
|
+
/** @type {TemplateNode | null} */
|
|
527
|
+
z(this, yr, null);
|
|
528
|
+
/** @type {BoundaryProps} */
|
|
529
|
+
z(this, Fe);
|
|
530
|
+
/** @type {((anchor: Node) => void)} */
|
|
531
|
+
z(this, yt);
|
|
532
|
+
/** @type {Effect} */
|
|
533
|
+
z(this, Re);
|
|
534
|
+
/** @type {Effect | null} */
|
|
535
|
+
z(this, ze, null);
|
|
536
|
+
/** @type {Effect | null} */
|
|
537
|
+
z(this, he, null);
|
|
538
|
+
/** @type {Effect | null} */
|
|
539
|
+
z(this, Ie, null);
|
|
540
|
+
/** @type {DocumentFragment | null} */
|
|
541
|
+
z(this, Ue, null);
|
|
542
|
+
/** @type {TemplateNode | null} */
|
|
543
|
+
z(this, lt, null);
|
|
544
|
+
z(this, mt, 0);
|
|
545
|
+
z(this, ot, 0);
|
|
546
|
+
z(this, Ht, !1);
|
|
547
|
+
/**
|
|
548
|
+
* A source containing the number of pending async deriveds/expressions.
|
|
549
|
+
* Only created if `$effect.pending()` is used inside the boundary,
|
|
550
|
+
* otherwise updating the source results in needless `Batch.ensure()`
|
|
551
|
+
* calls followed by no-op flushes
|
|
552
|
+
* @type {Source<number> | null}
|
|
553
|
+
*/
|
|
554
|
+
z(this, ut, null);
|
|
555
|
+
z(this, Tn, Ci(() => (y(this, ut, zt(u(this, mt))), () => {
|
|
556
|
+
y(this, ut, null);
|
|
557
|
+
})));
|
|
558
|
+
y(this, Ce, t), y(this, Fe, n), y(this, yt, r), this.parent = /** @type {Effect} */
|
|
559
|
+
k.b, y(this, Ee, !!u(this, Fe).pending), y(this, Re, Qr(() => {
|
|
560
|
+
k.b = this;
|
|
561
|
+
{
|
|
562
|
+
var a = W(this, ee, wr).call(this);
|
|
563
|
+
try {
|
|
564
|
+
y(this, ze, Te(() => r(a)));
|
|
565
|
+
} catch (s) {
|
|
566
|
+
this.error(s);
|
|
567
|
+
}
|
|
568
|
+
u(this, ot) > 0 ? W(this, ee, En).call(this) : y(this, Ee, !1);
|
|
569
|
+
}
|
|
570
|
+
return () => {
|
|
571
|
+
var s;
|
|
572
|
+
(s = u(this, lt)) == null || s.remove();
|
|
573
|
+
};
|
|
574
|
+
}, zi));
|
|
575
|
+
}
|
|
576
|
+
/**
|
|
577
|
+
* Returns `true` if the effect exists inside a boundary whose pending snippet is shown
|
|
578
|
+
* @returns {boolean}
|
|
579
|
+
*/
|
|
580
|
+
is_pending() {
|
|
581
|
+
return u(this, Ee) || !!this.parent && this.parent.is_pending();
|
|
582
|
+
}
|
|
583
|
+
has_pending_snippet() {
|
|
584
|
+
return !!u(this, Fe).pending;
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* Update the source that powers `$effect.pending()` inside this boundary,
|
|
588
|
+
* and controls when the current `pending` snippet (if any) is removed.
|
|
589
|
+
* Do not call from inside the class
|
|
590
|
+
* @param {1 | -1} d
|
|
591
|
+
*/
|
|
592
|
+
update_pending_count(t) {
|
|
593
|
+
W(this, ee, hr).call(this, t), y(this, mt, u(this, mt) + t), u(this, ut) && Ut(u(this, ut), u(this, mt));
|
|
594
|
+
}
|
|
595
|
+
get_effect_pending() {
|
|
596
|
+
return u(this, Tn).call(this), l(
|
|
597
|
+
/** @type {Source<number>} */
|
|
598
|
+
u(this, ut)
|
|
599
|
+
);
|
|
600
|
+
}
|
|
601
|
+
/** @param {unknown} error */
|
|
602
|
+
error(t) {
|
|
603
|
+
var n = u(this, Fe).onerror;
|
|
604
|
+
let r = u(this, Fe).failed;
|
|
605
|
+
if (u(this, Ht) || !n && !r)
|
|
606
|
+
throw t;
|
|
607
|
+
u(this, ze) && (ge(u(this, ze)), y(this, ze, null)), u(this, he) && (ge(u(this, he)), y(this, he, null)), u(this, Ie) && (ge(u(this, Ie)), y(this, Ie, null));
|
|
608
|
+
var a = !1, s = !1;
|
|
609
|
+
const i = () => {
|
|
610
|
+
if (a) {
|
|
611
|
+
yi();
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
614
|
+
a = !0, s && hi(), _e.ensure(), y(this, mt, 0), u(this, Ie) !== null && Zt(u(this, Ie), () => {
|
|
615
|
+
y(this, Ie, null);
|
|
616
|
+
}), y(this, Ee, this.has_pending_snippet()), y(this, ze, W(this, ee, xn).call(this, () => (y(this, Ht, !1), Te(() => u(this, yt).call(this, u(this, Ce)))))), u(this, ot) > 0 ? W(this, ee, En).call(this) : y(this, Ee, !1);
|
|
617
|
+
};
|
|
618
|
+
var o = x;
|
|
619
|
+
try {
|
|
620
|
+
Pe(null), s = !0, n == null || n(t, i), s = !1;
|
|
621
|
+
} catch (f) {
|
|
622
|
+
Jt(f, u(this, Re) && u(this, Re).parent);
|
|
623
|
+
} finally {
|
|
624
|
+
Pe(o);
|
|
625
|
+
}
|
|
626
|
+
r && $t(() => {
|
|
627
|
+
y(this, Ie, W(this, ee, xn).call(this, () => {
|
|
628
|
+
_e.ensure(), y(this, Ht, !0);
|
|
629
|
+
try {
|
|
630
|
+
return Te(() => {
|
|
631
|
+
r(
|
|
632
|
+
u(this, Ce),
|
|
633
|
+
() => t,
|
|
634
|
+
() => i
|
|
635
|
+
);
|
|
636
|
+
});
|
|
637
|
+
} catch (f) {
|
|
638
|
+
return Jt(
|
|
639
|
+
f,
|
|
640
|
+
/** @type {Effect} */
|
|
641
|
+
u(this, Re).parent
|
|
642
|
+
), null;
|
|
643
|
+
} finally {
|
|
644
|
+
y(this, Ht, !1);
|
|
645
|
+
}
|
|
646
|
+
}));
|
|
647
|
+
});
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
Ee = new WeakMap(), Ce = new WeakMap(), yr = new WeakMap(), Fe = new WeakMap(), yt = new WeakMap(), Re = new WeakMap(), ze = new WeakMap(), he = new WeakMap(), Ie = new WeakMap(), Ue = new WeakMap(), lt = new WeakMap(), mt = new WeakMap(), ot = new WeakMap(), Ht = new WeakMap(), ut = new WeakMap(), Tn = new WeakMap(), ee = new WeakSet(), Ti = function() {
|
|
651
|
+
try {
|
|
652
|
+
y(this, ze, Te(() => u(this, yt).call(this, u(this, Ce))));
|
|
653
|
+
} catch (t) {
|
|
654
|
+
this.error(t);
|
|
655
|
+
}
|
|
656
|
+
y(this, Ee, !1);
|
|
657
|
+
}, ji = function() {
|
|
658
|
+
const t = u(this, Fe).pending;
|
|
659
|
+
t && (y(this, he, Te(() => t(u(this, Ce)))), _e.enqueue(() => {
|
|
660
|
+
var n = W(this, ee, wr).call(this);
|
|
661
|
+
y(this, ze, W(this, ee, xn).call(this, () => (_e.ensure(), Te(() => u(this, yt).call(this, n))))), u(this, ot) > 0 ? W(this, ee, En).call(this) : (Zt(
|
|
662
|
+
/** @type {Effect} */
|
|
663
|
+
u(this, he),
|
|
664
|
+
() => {
|
|
665
|
+
y(this, he, null);
|
|
666
|
+
}
|
|
667
|
+
), y(this, Ee, !1));
|
|
668
|
+
}));
|
|
669
|
+
}, wr = function() {
|
|
670
|
+
var t = u(this, Ce);
|
|
671
|
+
return u(this, Ee) && (y(this, lt, Qt()), u(this, Ce).before(u(this, lt)), t = u(this, lt)), t;
|
|
672
|
+
}, /**
|
|
673
|
+
* @param {() => Effect | null} fn
|
|
674
|
+
*/
|
|
675
|
+
xn = function(t) {
|
|
676
|
+
var n = k, r = x, a = He;
|
|
677
|
+
Ge(u(this, Re)), Pe(u(this, Re)), Vt(u(this, Re).ctx);
|
|
678
|
+
try {
|
|
679
|
+
return t();
|
|
680
|
+
} catch (s) {
|
|
681
|
+
return xs(s), null;
|
|
682
|
+
} finally {
|
|
683
|
+
Ge(n), Pe(r), Vt(a);
|
|
684
|
+
}
|
|
685
|
+
}, En = function() {
|
|
686
|
+
const t = (
|
|
687
|
+
/** @type {(anchor: Node) => void} */
|
|
688
|
+
u(this, Fe).pending
|
|
689
|
+
);
|
|
690
|
+
u(this, ze) !== null && (y(this, Ue, document.createDocumentFragment()), u(this, Ue).append(
|
|
691
|
+
/** @type {TemplateNode} */
|
|
692
|
+
u(this, lt)
|
|
693
|
+
), Vs(u(this, ze), u(this, Ue))), u(this, he) === null && y(this, he, Te(() => t(u(this, Ce))));
|
|
694
|
+
}, /**
|
|
695
|
+
* Updates the pending count associated with the currently visible pending snippet,
|
|
696
|
+
* if any, such that we can replace the snippet with content once work is done
|
|
697
|
+
* @param {1 | -1} d
|
|
698
|
+
*/
|
|
699
|
+
hr = function(t) {
|
|
700
|
+
var n;
|
|
701
|
+
if (!this.has_pending_snippet()) {
|
|
702
|
+
this.parent && W(n = this.parent, ee, hr).call(n, t);
|
|
703
|
+
return;
|
|
704
|
+
}
|
|
705
|
+
y(this, ot, u(this, ot) + t), u(this, ot) === 0 && (y(this, Ee, !1), u(this, he) && Zt(u(this, he), () => {
|
|
706
|
+
y(this, he, null);
|
|
707
|
+
}), u(this, Ue) && (u(this, Ce).before(u(this, Ue)), y(this, Ue, null)));
|
|
708
|
+
};
|
|
709
|
+
function Xi(e, t, n, r) {
|
|
710
|
+
const a = Er;
|
|
711
|
+
if (n.length === 0 && e.length === 0) {
|
|
712
|
+
r(t.map(a));
|
|
713
|
+
return;
|
|
714
|
+
}
|
|
715
|
+
var s = N, i = (
|
|
716
|
+
/** @type {Effect} */
|
|
717
|
+
k
|
|
718
|
+
), o = Ni();
|
|
719
|
+
function f() {
|
|
720
|
+
Promise.all(n.map((c) => /* @__PURE__ */ Mi(c))).then((c) => {
|
|
721
|
+
o();
|
|
722
|
+
try {
|
|
723
|
+
r([...t.map(a), ...c]);
|
|
724
|
+
} catch (w) {
|
|
725
|
+
(i.f & Ot) === 0 && Jt(w, i);
|
|
726
|
+
}
|
|
727
|
+
s == null || s.deactivate(), Cn();
|
|
728
|
+
}).catch((c) => {
|
|
729
|
+
Jt(c, i);
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
e.length > 0 ? Promise.all(e).then(() => {
|
|
733
|
+
o();
|
|
734
|
+
try {
|
|
735
|
+
return f();
|
|
736
|
+
} finally {
|
|
737
|
+
s == null || s.deactivate(), Cn();
|
|
738
|
+
}
|
|
739
|
+
}) : f();
|
|
740
|
+
}
|
|
741
|
+
function Ni() {
|
|
742
|
+
var e = k, t = x, n = He, r = N;
|
|
743
|
+
return function(s = !0) {
|
|
744
|
+
Ge(e), Pe(t), Vt(n), s && (r == null || r.activate());
|
|
745
|
+
};
|
|
746
|
+
}
|
|
747
|
+
function Cn() {
|
|
748
|
+
Ge(null), Pe(null), Vt(null);
|
|
749
|
+
}
|
|
750
|
+
// @__NO_SIDE_EFFECTS__
|
|
751
|
+
function Er(e) {
|
|
752
|
+
var t = oe | me, n = x !== null && (x.f & oe) !== 0 ? (
|
|
753
|
+
/** @type {Derived} */
|
|
754
|
+
x
|
|
755
|
+
) : null;
|
|
756
|
+
return k !== null && (k.f |= _t), {
|
|
757
|
+
ctx: He,
|
|
758
|
+
deps: null,
|
|
759
|
+
effects: null,
|
|
760
|
+
equals: bs,
|
|
761
|
+
f: t,
|
|
762
|
+
fn: e,
|
|
763
|
+
reactions: null,
|
|
764
|
+
rv: 0,
|
|
765
|
+
v: (
|
|
766
|
+
/** @type {V} */
|
|
767
|
+
ae
|
|
768
|
+
),
|
|
769
|
+
wv: 0,
|
|
770
|
+
parent: n ?? k,
|
|
771
|
+
ac: null
|
|
772
|
+
};
|
|
773
|
+
}
|
|
774
|
+
// @__NO_SIDE_EFFECTS__
|
|
775
|
+
function Mi(e, t) {
|
|
776
|
+
let n = (
|
|
777
|
+
/** @type {Effect | null} */
|
|
778
|
+
k
|
|
779
|
+
);
|
|
780
|
+
n === null && oi();
|
|
781
|
+
var r = (
|
|
782
|
+
/** @type {Boundary} */
|
|
783
|
+
n.b
|
|
784
|
+
), a = (
|
|
785
|
+
/** @type {Promise<V>} */
|
|
786
|
+
/** @type {unknown} */
|
|
787
|
+
void 0
|
|
788
|
+
), s = zt(
|
|
789
|
+
/** @type {V} */
|
|
790
|
+
ae
|
|
791
|
+
), i = !x, o = /* @__PURE__ */ new Map();
|
|
792
|
+
return Ji(() => {
|
|
793
|
+
var v;
|
|
794
|
+
var f = Ps();
|
|
795
|
+
a = f.promise;
|
|
796
|
+
try {
|
|
797
|
+
Promise.resolve(e()).then(f.resolve, f.reject).then(() => {
|
|
798
|
+
c === N && c.committed && c.deactivate(), Cn();
|
|
799
|
+
});
|
|
800
|
+
} catch (A) {
|
|
801
|
+
f.reject(A), Cn();
|
|
802
|
+
}
|
|
803
|
+
var c = (
|
|
804
|
+
/** @type {Batch} */
|
|
805
|
+
N
|
|
806
|
+
);
|
|
807
|
+
if (i) {
|
|
808
|
+
var w = !r.is_pending();
|
|
809
|
+
r.update_pending_count(1), c.increment(w), (v = o.get(c)) == null || v.reject(Yt), o.delete(c), o.set(c, f);
|
|
810
|
+
}
|
|
811
|
+
const g = (A, h = void 0) => {
|
|
812
|
+
if (c.activate(), h)
|
|
813
|
+
h !== Yt && (s.f |= ct, Ut(s, h));
|
|
814
|
+
else {
|
|
815
|
+
(s.f & ct) !== 0 && (s.f ^= ct), Ut(s, A);
|
|
816
|
+
for (const [b, B] of o) {
|
|
817
|
+
if (o.delete(b), b === c) break;
|
|
818
|
+
B.reject(Yt);
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
i && (r.update_pending_count(-1), c.decrement(w));
|
|
822
|
+
};
|
|
823
|
+
f.promise.then(g, (A) => g(null, A || "unknown"));
|
|
824
|
+
}), Is(() => {
|
|
825
|
+
for (const f of o.values())
|
|
826
|
+
f.reject(Yt);
|
|
827
|
+
}), new Promise((f) => {
|
|
828
|
+
function c(w) {
|
|
829
|
+
function g() {
|
|
830
|
+
w === a ? f(s) : c(a);
|
|
831
|
+
}
|
|
832
|
+
w.then(g, g);
|
|
833
|
+
}
|
|
834
|
+
c(a);
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
// @__NO_SIDE_EFFECTS__
|
|
838
|
+
function Pt(e) {
|
|
839
|
+
const t = /* @__PURE__ */ Er(e);
|
|
840
|
+
return Js(t), t;
|
|
841
|
+
}
|
|
842
|
+
// @__NO_SIDE_EFFECTS__
|
|
843
|
+
function Li(e) {
|
|
844
|
+
const t = /* @__PURE__ */ Er(e);
|
|
845
|
+
return t.equals = Ds, t;
|
|
846
|
+
}
|
|
847
|
+
function Ts(e) {
|
|
848
|
+
var t = e.effects;
|
|
849
|
+
if (t !== null) {
|
|
850
|
+
e.effects = null;
|
|
851
|
+
for (var n = 0; n < t.length; n += 1)
|
|
852
|
+
ge(
|
|
853
|
+
/** @type {Effect} */
|
|
854
|
+
t[n]
|
|
855
|
+
);
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
function Fi(e) {
|
|
859
|
+
for (var t = e.parent; t !== null; ) {
|
|
860
|
+
if ((t.f & oe) === 0)
|
|
861
|
+
return (
|
|
862
|
+
/** @type {Effect} */
|
|
863
|
+
t
|
|
864
|
+
);
|
|
865
|
+
t = t.parent;
|
|
866
|
+
}
|
|
867
|
+
return null;
|
|
868
|
+
}
|
|
869
|
+
function Cr(e) {
|
|
870
|
+
var t, n = k;
|
|
871
|
+
Ge(Fi(e));
|
|
872
|
+
try {
|
|
873
|
+
e.f &= ~ln, Ts(e), t = ea(e);
|
|
874
|
+
} finally {
|
|
875
|
+
Ge(n);
|
|
876
|
+
}
|
|
877
|
+
return t;
|
|
878
|
+
}
|
|
879
|
+
function js(e) {
|
|
880
|
+
var t = Cr(e);
|
|
881
|
+
if (e.equals(t) || (e.v = t, e.wv = _s()), !en)
|
|
882
|
+
if (q !== null)
|
|
883
|
+
In() && q.set(e, e.v);
|
|
884
|
+
else {
|
|
885
|
+
var n = (e.f & je) === 0 ? nt : fe;
|
|
886
|
+
le(e, n);
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
let Pr = /* @__PURE__ */ new Set();
|
|
890
|
+
const dt = /* @__PURE__ */ new Map();
|
|
891
|
+
let Xs = !1;
|
|
892
|
+
function zt(e, t) {
|
|
893
|
+
var n = {
|
|
894
|
+
f: 0,
|
|
895
|
+
// TODO ideally we could skip this altogether, but it causes type errors
|
|
896
|
+
v: e,
|
|
897
|
+
reactions: null,
|
|
898
|
+
equals: bs,
|
|
899
|
+
rv: 0,
|
|
900
|
+
wv: 0
|
|
901
|
+
};
|
|
902
|
+
return n;
|
|
903
|
+
}
|
|
904
|
+
// @__NO_SIDE_EFFECTS__
|
|
905
|
+
function L(e, t) {
|
|
906
|
+
const n = zt(e);
|
|
907
|
+
return Js(n), n;
|
|
908
|
+
}
|
|
909
|
+
// @__NO_SIDE_EFFECTS__
|
|
910
|
+
function Ri(e, t = !1, n = !0) {
|
|
911
|
+
const r = zt(e);
|
|
912
|
+
return t || (r.equals = Ds), r;
|
|
913
|
+
}
|
|
914
|
+
function p(e, t, n = !1) {
|
|
915
|
+
x !== null && // since we are untracking the function inside `$inspect.with` we need to add this check
|
|
916
|
+
// to ensure we error if state is set inside an inspect effect
|
|
917
|
+
(!Se || (x.f & $r) !== 0) && Hs() && (x.f & (oe | et | xr | $r)) !== 0 && !(Ae != null && Ae.includes(e)) && wi();
|
|
918
|
+
let r = n ? $e(t) : t;
|
|
919
|
+
return Ut(e, r);
|
|
920
|
+
}
|
|
921
|
+
function Ut(e, t) {
|
|
922
|
+
if (!e.equals(t)) {
|
|
923
|
+
var n = e.v;
|
|
924
|
+
en ? dt.set(e, t) : dt.set(e, n), e.v = t;
|
|
925
|
+
var r = _e.ensure();
|
|
926
|
+
r.capture(e, n), (e.f & oe) !== 0 && ((e.f & me) !== 0 && Cr(
|
|
927
|
+
/** @type {Derived} */
|
|
928
|
+
e
|
|
929
|
+
), le(e, (e.f & je) !== 0 ? fe : nt)), e.wv = _s(), Ns(e, me), k !== null && (k.f & fe) !== 0 && (k.f & (tt | kt)) === 0 && (xe === null ? $i([e]) : xe.push(e)), !r.is_fork && Pr.size > 0 && !Xs && Ii();
|
|
930
|
+
}
|
|
931
|
+
return t;
|
|
932
|
+
}
|
|
933
|
+
function Ii() {
|
|
934
|
+
Xs = !1;
|
|
935
|
+
const e = Array.from(Pr);
|
|
936
|
+
for (const t of e)
|
|
937
|
+
(t.f & fe) !== 0 && le(t, nt), An(t) && un(t);
|
|
938
|
+
Pr.clear();
|
|
939
|
+
}
|
|
940
|
+
function fn(e) {
|
|
941
|
+
p(e, e.v + 1);
|
|
942
|
+
}
|
|
943
|
+
function Ns(e, t) {
|
|
944
|
+
var n = e.reactions;
|
|
945
|
+
if (n !== null)
|
|
946
|
+
for (var r = n.length, a = 0; a < r; a++) {
|
|
947
|
+
var s = n[a], i = s.f, o = (i & me) === 0;
|
|
948
|
+
if (o && le(s, t), (i & oe) !== 0) {
|
|
949
|
+
var f = (
|
|
950
|
+
/** @type {Derived} */
|
|
951
|
+
s
|
|
952
|
+
);
|
|
953
|
+
q == null || q.delete(f), (i & ln) === 0 && (i & je && (s.f |= ln), Ns(f, nt));
|
|
954
|
+
} else o && ((i & et) !== 0 && Qe !== null && Qe.add(
|
|
955
|
+
/** @type {Effect} */
|
|
956
|
+
s
|
|
957
|
+
), Ct(
|
|
958
|
+
/** @type {Effect} */
|
|
959
|
+
s
|
|
960
|
+
));
|
|
961
|
+
}
|
|
962
|
+
}
|
|
963
|
+
function $e(e) {
|
|
964
|
+
if (typeof e != "object" || e === null || Hn in e)
|
|
965
|
+
return e;
|
|
966
|
+
const t = hs(e);
|
|
967
|
+
if (t !== ri && t !== si)
|
|
968
|
+
return e;
|
|
969
|
+
var n = /* @__PURE__ */ new Map(), r = ws(e), a = /* @__PURE__ */ L(0), s = Et, i = (o) => {
|
|
970
|
+
if (Et === s)
|
|
971
|
+
return o();
|
|
972
|
+
var f = x, c = Et;
|
|
973
|
+
Pe(null), as(s);
|
|
974
|
+
var w = o();
|
|
975
|
+
return Pe(f), as(c), w;
|
|
976
|
+
};
|
|
977
|
+
return r && n.set("length", /* @__PURE__ */ L(
|
|
978
|
+
/** @type {any[]} */
|
|
979
|
+
e.length
|
|
980
|
+
)), new Proxy(
|
|
981
|
+
/** @type {any} */
|
|
982
|
+
e,
|
|
983
|
+
{
|
|
984
|
+
defineProperty(o, f, c) {
|
|
985
|
+
(!("value" in c) || c.configurable === !1 || c.enumerable === !1 || c.writable === !1) && gi();
|
|
986
|
+
var w = n.get(f);
|
|
987
|
+
return w === void 0 ? w = i(() => {
|
|
988
|
+
var g = /* @__PURE__ */ L(c.value);
|
|
989
|
+
return n.set(f, g), g;
|
|
990
|
+
}) : p(w, c.value, !0), !0;
|
|
991
|
+
},
|
|
992
|
+
deleteProperty(o, f) {
|
|
993
|
+
var c = n.get(f);
|
|
994
|
+
if (c === void 0) {
|
|
995
|
+
if (f in o) {
|
|
996
|
+
const w = i(() => /* @__PURE__ */ L(ae));
|
|
997
|
+
n.set(f, w), fn(a);
|
|
998
|
+
}
|
|
999
|
+
} else
|
|
1000
|
+
p(c, ae), fn(a);
|
|
1001
|
+
return !0;
|
|
1002
|
+
},
|
|
1003
|
+
get(o, f, c) {
|
|
1004
|
+
var A;
|
|
1005
|
+
if (f === Hn)
|
|
1006
|
+
return e;
|
|
1007
|
+
var w = n.get(f), g = f in o;
|
|
1008
|
+
if (w === void 0 && (!g || (A = sn(o, f)) != null && A.writable) && (w = i(() => {
|
|
1009
|
+
var h = $e(g ? o[f] : ae), b = /* @__PURE__ */ L(h);
|
|
1010
|
+
return b;
|
|
1011
|
+
}), n.set(f, w)), w !== void 0) {
|
|
1012
|
+
var v = l(w);
|
|
1013
|
+
return v === ae ? void 0 : v;
|
|
1014
|
+
}
|
|
1015
|
+
return Reflect.get(o, f, c);
|
|
1016
|
+
},
|
|
1017
|
+
getOwnPropertyDescriptor(o, f) {
|
|
1018
|
+
var c = Reflect.getOwnPropertyDescriptor(o, f);
|
|
1019
|
+
if (c && "value" in c) {
|
|
1020
|
+
var w = n.get(f);
|
|
1021
|
+
w && (c.value = l(w));
|
|
1022
|
+
} else if (c === void 0) {
|
|
1023
|
+
var g = n.get(f), v = g == null ? void 0 : g.v;
|
|
1024
|
+
if (g !== void 0 && v !== ae)
|
|
1025
|
+
return {
|
|
1026
|
+
enumerable: !0,
|
|
1027
|
+
configurable: !0,
|
|
1028
|
+
value: v,
|
|
1029
|
+
writable: !0
|
|
1030
|
+
};
|
|
1031
|
+
}
|
|
1032
|
+
return c;
|
|
1033
|
+
},
|
|
1034
|
+
has(o, f) {
|
|
1035
|
+
var v;
|
|
1036
|
+
if (f === Hn)
|
|
1037
|
+
return !0;
|
|
1038
|
+
var c = n.get(f), w = c !== void 0 && c.v !== ae || Reflect.has(o, f);
|
|
1039
|
+
if (c !== void 0 || k !== null && (!w || (v = sn(o, f)) != null && v.writable)) {
|
|
1040
|
+
c === void 0 && (c = i(() => {
|
|
1041
|
+
var A = w ? $e(o[f]) : ae, h = /* @__PURE__ */ L(A);
|
|
1042
|
+
return h;
|
|
1043
|
+
}), n.set(f, c));
|
|
1044
|
+
var g = l(c);
|
|
1045
|
+
if (g === ae)
|
|
1046
|
+
return !1;
|
|
1047
|
+
}
|
|
1048
|
+
return w;
|
|
1049
|
+
},
|
|
1050
|
+
set(o, f, c, w) {
|
|
1051
|
+
var I;
|
|
1052
|
+
var g = n.get(f), v = f in o;
|
|
1053
|
+
if (r && f === "length")
|
|
1054
|
+
for (var A = c; A < /** @type {Source<number>} */
|
|
1055
|
+
g.v; A += 1) {
|
|
1056
|
+
var h = n.get(A + "");
|
|
1057
|
+
h !== void 0 ? p(h, ae) : A in o && (h = i(() => /* @__PURE__ */ L(ae)), n.set(A + "", h));
|
|
1058
|
+
}
|
|
1059
|
+
if (g === void 0)
|
|
1060
|
+
(!v || (I = sn(o, f)) != null && I.writable) && (g = i(() => /* @__PURE__ */ L(void 0)), p(g, $e(c)), n.set(f, g));
|
|
1061
|
+
else {
|
|
1062
|
+
v = g.v !== ae;
|
|
1063
|
+
var b = i(() => $e(c));
|
|
1064
|
+
p(g, b);
|
|
1065
|
+
}
|
|
1066
|
+
var B = Reflect.getOwnPropertyDescriptor(o, f);
|
|
1067
|
+
if (B != null && B.set && B.set.call(w, c), !v) {
|
|
1068
|
+
if (r && typeof f == "string") {
|
|
1069
|
+
var T = (
|
|
1070
|
+
/** @type {Source<number>} */
|
|
1071
|
+
n.get("length")
|
|
1072
|
+
), F = Number(f);
|
|
1073
|
+
Number.isInteger(F) && F >= T.v && p(T, F + 1);
|
|
1074
|
+
}
|
|
1075
|
+
fn(a);
|
|
1076
|
+
}
|
|
1077
|
+
return !0;
|
|
1078
|
+
},
|
|
1079
|
+
ownKeys(o) {
|
|
1080
|
+
l(a);
|
|
1081
|
+
var f = Reflect.ownKeys(o).filter((g) => {
|
|
1082
|
+
var v = n.get(g);
|
|
1083
|
+
return v === void 0 || v.v !== ae;
|
|
1084
|
+
});
|
|
1085
|
+
for (var [c, w] of n)
|
|
1086
|
+
w.v !== ae && !(c in o) && f.push(c);
|
|
1087
|
+
return f;
|
|
1088
|
+
},
|
|
1089
|
+
setPrototypeOf() {
|
|
1090
|
+
Ai();
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
);
|
|
1094
|
+
}
|
|
1095
|
+
var ts, Ms, Ls, Fs;
|
|
1096
|
+
function Yi() {
|
|
1097
|
+
if (ts === void 0) {
|
|
1098
|
+
ts = window, Ms = /Firefox/.test(navigator.userAgent);
|
|
1099
|
+
var e = Element.prototype, t = Node.prototype, n = Text.prototype;
|
|
1100
|
+
Ls = sn(t, "firstChild").get, Fs = sn(t, "nextSibling").get, _r(e) && (e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0), _r(n) && (n.__t = void 0);
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
function Qt(e = "") {
|
|
1104
|
+
return document.createTextNode(e);
|
|
1105
|
+
}
|
|
1106
|
+
// @__NO_SIDE_EFFECTS__
|
|
1107
|
+
function zn(e) {
|
|
1108
|
+
return Ls.call(e);
|
|
1109
|
+
}
|
|
1110
|
+
// @__NO_SIDE_EFFECTS__
|
|
1111
|
+
function gn(e) {
|
|
1112
|
+
return Fs.call(e);
|
|
1113
|
+
}
|
|
1114
|
+
function H(e, t) {
|
|
1115
|
+
return /* @__PURE__ */ zn(e);
|
|
1116
|
+
}
|
|
1117
|
+
function Dn(e, t = !1) {
|
|
1118
|
+
{
|
|
1119
|
+
var n = (
|
|
1120
|
+
/** @type {DocumentFragment} */
|
|
1121
|
+
/* @__PURE__ */ zn(
|
|
1122
|
+
/** @type {Node} */
|
|
1123
|
+
e
|
|
1124
|
+
)
|
|
1125
|
+
);
|
|
1126
|
+
return n instanceof Comment && n.data === "" ? /* @__PURE__ */ gn(n) : n;
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1129
|
+
function C(e, t = 1, n = !1) {
|
|
1130
|
+
let r = e;
|
|
1131
|
+
for (; t--; )
|
|
1132
|
+
r = /** @type {TemplateNode} */
|
|
1133
|
+
/* @__PURE__ */ gn(r);
|
|
1134
|
+
return r;
|
|
1135
|
+
}
|
|
1136
|
+
function Zi(e) {
|
|
1137
|
+
e.textContent = "";
|
|
1138
|
+
}
|
|
1139
|
+
function Rs() {
|
|
1140
|
+
return !1;
|
|
1141
|
+
}
|
|
1142
|
+
let ns = !1;
|
|
1143
|
+
function Si() {
|
|
1144
|
+
ns || (ns = !0, document.addEventListener(
|
|
1145
|
+
"reset",
|
|
1146
|
+
(e) => {
|
|
1147
|
+
Promise.resolve().then(() => {
|
|
1148
|
+
var t;
|
|
1149
|
+
if (!e.defaultPrevented)
|
|
1150
|
+
for (
|
|
1151
|
+
const n of
|
|
1152
|
+
/**@type {HTMLFormElement} */
|
|
1153
|
+
e.target.elements
|
|
1154
|
+
)
|
|
1155
|
+
(t = n.__on_r) == null || t.call(n);
|
|
1156
|
+
});
|
|
1157
|
+
},
|
|
1158
|
+
// In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)
|
|
1159
|
+
{ capture: !0 }
|
|
1160
|
+
));
|
|
1161
|
+
}
|
|
1162
|
+
function Rn(e) {
|
|
1163
|
+
var t = x, n = k;
|
|
1164
|
+
Pe(null), Ge(null);
|
|
1165
|
+
try {
|
|
1166
|
+
return e();
|
|
1167
|
+
} finally {
|
|
1168
|
+
Pe(t), Ge(n);
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
function Gi(e, t, n, r = n) {
|
|
1172
|
+
e.addEventListener(t, () => Rn(n));
|
|
1173
|
+
const a = e.__on_r;
|
|
1174
|
+
a ? e.__on_r = () => {
|
|
1175
|
+
a(), r(!0);
|
|
1176
|
+
} : e.__on_r = () => r(!0), Si();
|
|
1177
|
+
}
|
|
1178
|
+
function Wi(e) {
|
|
1179
|
+
k === null && (x === null && di(), ci()), en && ui();
|
|
1180
|
+
}
|
|
1181
|
+
function qi(e, t) {
|
|
1182
|
+
var n = t.last;
|
|
1183
|
+
n === null ? t.last = t.first = e : (n.next = e, e.prev = n, t.last = e);
|
|
1184
|
+
}
|
|
1185
|
+
function rt(e, t, n, r = !0) {
|
|
1186
|
+
var a = k;
|
|
1187
|
+
a !== null && (a.f & ye) !== 0 && (e |= ye);
|
|
1188
|
+
var s = {
|
|
1189
|
+
ctx: He,
|
|
1190
|
+
deps: null,
|
|
1191
|
+
nodes_start: null,
|
|
1192
|
+
nodes_end: null,
|
|
1193
|
+
f: e | me | je,
|
|
1194
|
+
first: null,
|
|
1195
|
+
fn: t,
|
|
1196
|
+
last: null,
|
|
1197
|
+
next: null,
|
|
1198
|
+
parent: a,
|
|
1199
|
+
b: a && a.b,
|
|
1200
|
+
prev: null,
|
|
1201
|
+
teardown: null,
|
|
1202
|
+
transitions: null,
|
|
1203
|
+
wv: 0,
|
|
1204
|
+
ac: null
|
|
1205
|
+
};
|
|
1206
|
+
if (n)
|
|
1207
|
+
try {
|
|
1208
|
+
un(s), s.f |= Or;
|
|
1209
|
+
} catch (f) {
|
|
1210
|
+
throw ge(s), f;
|
|
1211
|
+
}
|
|
1212
|
+
else t !== null && Ct(s);
|
|
1213
|
+
if (r) {
|
|
1214
|
+
var i = s;
|
|
1215
|
+
if (n && i.deps === null && i.teardown === null && i.nodes_start === null && i.first === i.last && // either `null`, or a singular child
|
|
1216
|
+
(i.f & _t) === 0 && (i = i.first, (e & et) !== 0 && (e & Kt) !== 0 && i !== null && (i.f |= Kt)), i !== null && (i.parent = a, a !== null && qi(i, a), x !== null && (x.f & oe) !== 0 && (e & kt) === 0)) {
|
|
1217
|
+
var o = (
|
|
1218
|
+
/** @type {Derived} */
|
|
1219
|
+
x
|
|
1220
|
+
);
|
|
1221
|
+
(o.effects ?? (o.effects = [])).push(i);
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
return s;
|
|
1225
|
+
}
|
|
1226
|
+
function In() {
|
|
1227
|
+
return x !== null && !Se;
|
|
1228
|
+
}
|
|
1229
|
+
function Is(e) {
|
|
1230
|
+
const t = rt(Hr, null, !1);
|
|
1231
|
+
return le(t, fe), t.teardown = e, t;
|
|
1232
|
+
}
|
|
1233
|
+
function Ys(e) {
|
|
1234
|
+
Wi();
|
|
1235
|
+
var t = (
|
|
1236
|
+
/** @type {Effect} */
|
|
1237
|
+
k.f
|
|
1238
|
+
), n = !x && (t & tt) !== 0 && (t & Or) === 0;
|
|
1239
|
+
if (n) {
|
|
1240
|
+
var r = (
|
|
1241
|
+
/** @type {ComponentContext} */
|
|
1242
|
+
He
|
|
1243
|
+
);
|
|
1244
|
+
(r.e ?? (r.e = [])).push(e);
|
|
1245
|
+
} else
|
|
1246
|
+
return Zs(e);
|
|
1247
|
+
}
|
|
1248
|
+
function Zs(e) {
|
|
1249
|
+
return rt(Xn | ii, e, !1);
|
|
1250
|
+
}
|
|
1251
|
+
function Ki(e) {
|
|
1252
|
+
_e.ensure();
|
|
1253
|
+
const t = rt(kt | _t, e, !0);
|
|
1254
|
+
return (n = {}) => new Promise((r) => {
|
|
1255
|
+
n.outro ? Zt(t, () => {
|
|
1256
|
+
ge(t), r(void 0);
|
|
1257
|
+
}) : (ge(t), r(void 0));
|
|
1258
|
+
});
|
|
1259
|
+
}
|
|
1260
|
+
function Vi(e) {
|
|
1261
|
+
return rt(Xn, e, !1);
|
|
1262
|
+
}
|
|
1263
|
+
function Ji(e) {
|
|
1264
|
+
return rt(xr | _t, e, !0);
|
|
1265
|
+
}
|
|
1266
|
+
function zr(e, t = 0) {
|
|
1267
|
+
return rt(Hr | t, e, !0);
|
|
1268
|
+
}
|
|
1269
|
+
function U(e, t = [], n = [], r = [], a = !1) {
|
|
1270
|
+
Xi(r, t, n, (s) => {
|
|
1271
|
+
rt(a ? Xn : Hr, () => e(...s.map(l)), !0);
|
|
1272
|
+
});
|
|
1273
|
+
}
|
|
1274
|
+
function Qr(e, t = 0) {
|
|
1275
|
+
var n = rt(et | t, e, !0);
|
|
1276
|
+
return n;
|
|
1277
|
+
}
|
|
1278
|
+
function Te(e, t = !0) {
|
|
1279
|
+
return rt(tt | _t, e, !0, t);
|
|
1280
|
+
}
|
|
1281
|
+
function Ss(e) {
|
|
1282
|
+
var t = e.teardown;
|
|
1283
|
+
if (t !== null) {
|
|
1284
|
+
const n = en, r = x;
|
|
1285
|
+
ss(!0), Pe(null);
|
|
1286
|
+
try {
|
|
1287
|
+
t.call(null);
|
|
1288
|
+
} finally {
|
|
1289
|
+
ss(n), Pe(r);
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
}
|
|
1293
|
+
function Gs(e, t = !1) {
|
|
1294
|
+
var n = e.first;
|
|
1295
|
+
for (e.first = e.last = null; n !== null; ) {
|
|
1296
|
+
const a = n.ac;
|
|
1297
|
+
a !== null && Rn(() => {
|
|
1298
|
+
a.abort(Yt);
|
|
1299
|
+
});
|
|
1300
|
+
var r = n.next;
|
|
1301
|
+
(n.f & kt) !== 0 ? n.parent = null : ge(n, t), n = r;
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
function Ui(e) {
|
|
1305
|
+
for (var t = e.first; t !== null; ) {
|
|
1306
|
+
var n = t.next;
|
|
1307
|
+
(t.f & tt) === 0 && ge(t), t = n;
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
function ge(e, t = !0) {
|
|
1311
|
+
var n = !1;
|
|
1312
|
+
(t || (e.f & ps) !== 0) && e.nodes_start !== null && e.nodes_end !== null && (_i(
|
|
1313
|
+
e.nodes_start,
|
|
1314
|
+
/** @type {TemplateNode} */
|
|
1315
|
+
e.nodes_end
|
|
1316
|
+
), n = !0), Gs(e, t && !n), Qn(e, 0), le(e, Ot);
|
|
1317
|
+
var r = e.transitions;
|
|
1318
|
+
if (r !== null)
|
|
1319
|
+
for (const s of r)
|
|
1320
|
+
s.stop();
|
|
1321
|
+
Ss(e);
|
|
1322
|
+
var a = e.parent;
|
|
1323
|
+
a !== null && a.first !== null && Ws(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = e.ac = null;
|
|
1324
|
+
}
|
|
1325
|
+
function _i(e, t) {
|
|
1326
|
+
for (; e !== null; ) {
|
|
1327
|
+
var n = e === t ? null : (
|
|
1328
|
+
/** @type {TemplateNode} */
|
|
1329
|
+
/* @__PURE__ */ gn(e)
|
|
1330
|
+
);
|
|
1331
|
+
e.remove(), e = n;
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
function Ws(e) {
|
|
1335
|
+
var t = e.parent, n = e.prev, r = e.next;
|
|
1336
|
+
n !== null && (n.next = r), r !== null && (r.prev = n), t !== null && (t.first === e && (t.first = r), t.last === e && (t.last = n));
|
|
1337
|
+
}
|
|
1338
|
+
function Zt(e, t, n = !0) {
|
|
1339
|
+
var r = [];
|
|
1340
|
+
kr(e, r, !0), qs(r, () => {
|
|
1341
|
+
n && ge(e), t && t();
|
|
1342
|
+
});
|
|
1343
|
+
}
|
|
1344
|
+
function qs(e, t) {
|
|
1345
|
+
var n = e.length;
|
|
1346
|
+
if (n > 0) {
|
|
1347
|
+
var r = () => --n || t();
|
|
1348
|
+
for (var a of e)
|
|
1349
|
+
a.out(r);
|
|
1350
|
+
} else
|
|
1351
|
+
t();
|
|
1352
|
+
}
|
|
1353
|
+
function kr(e, t, n) {
|
|
1354
|
+
if ((e.f & ye) === 0) {
|
|
1355
|
+
if (e.f ^= ye, e.transitions !== null)
|
|
1356
|
+
for (const i of e.transitions)
|
|
1357
|
+
(i.is_global || n) && t.push(i);
|
|
1358
|
+
for (var r = e.first; r !== null; ) {
|
|
1359
|
+
var a = r.next, s = (r.f & Kt) !== 0 || // If this is a branch effect without a block effect parent,
|
|
1360
|
+
// it means the parent block effect was pruned. In that case,
|
|
1361
|
+
// transparency information was transferred to the branch effect.
|
|
1362
|
+
(r.f & tt) !== 0 && (e.f & et) !== 0;
|
|
1363
|
+
kr(r, t, s ? n : !1), r = a;
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
function Tr(e) {
|
|
1368
|
+
Ks(e, !0);
|
|
1369
|
+
}
|
|
1370
|
+
function Ks(e, t) {
|
|
1371
|
+
if ((e.f & ye) !== 0) {
|
|
1372
|
+
e.f ^= ye, (e.f & fe) === 0 && (le(e, me), Ct(e));
|
|
1373
|
+
for (var n = e.first; n !== null; ) {
|
|
1374
|
+
var r = n.next, a = (n.f & Kt) !== 0 || (n.f & tt) !== 0;
|
|
1375
|
+
Ks(n, a ? t : !1), n = r;
|
|
1376
|
+
}
|
|
1377
|
+
if (e.transitions !== null)
|
|
1378
|
+
for (const s of e.transitions)
|
|
1379
|
+
(s.is_global || t) && s.in();
|
|
1380
|
+
}
|
|
1381
|
+
}
|
|
1382
|
+
function Vs(e, t) {
|
|
1383
|
+
for (var n = e.nodes_start, r = e.nodes_end; n !== null; ) {
|
|
1384
|
+
var a = n === r ? null : (
|
|
1385
|
+
/** @type {TemplateNode} */
|
|
1386
|
+
/* @__PURE__ */ gn(n)
|
|
1387
|
+
);
|
|
1388
|
+
t.append(n), n = a;
|
|
1389
|
+
}
|
|
1390
|
+
}
|
|
1391
|
+
let xt = !1;
|
|
1392
|
+
function rs(e) {
|
|
1393
|
+
xt = e;
|
|
1394
|
+
}
|
|
1395
|
+
let en = !1;
|
|
1396
|
+
function ss(e) {
|
|
1397
|
+
en = e;
|
|
1398
|
+
}
|
|
1399
|
+
let x = null, Se = !1;
|
|
1400
|
+
function Pe(e) {
|
|
1401
|
+
x = e;
|
|
1402
|
+
}
|
|
1403
|
+
let k = null;
|
|
1404
|
+
function Ge(e) {
|
|
1405
|
+
k = e;
|
|
1406
|
+
}
|
|
1407
|
+
let Ae = null;
|
|
1408
|
+
function Js(e) {
|
|
1409
|
+
x !== null && (Ae === null ? Ae = [e] : Ae.push(e));
|
|
1410
|
+
}
|
|
1411
|
+
let ve = null, be = 0, xe = null;
|
|
1412
|
+
function $i(e) {
|
|
1413
|
+
xe = e;
|
|
1414
|
+
}
|
|
1415
|
+
let Us = 1, on = 0, Et = on;
|
|
1416
|
+
function as(e) {
|
|
1417
|
+
Et = e;
|
|
1418
|
+
}
|
|
1419
|
+
function _s() {
|
|
1420
|
+
return ++Us;
|
|
1421
|
+
}
|
|
1422
|
+
function An(e) {
|
|
1423
|
+
var t = e.f;
|
|
1424
|
+
if ((t & me) !== 0)
|
|
1425
|
+
return !0;
|
|
1426
|
+
if (t & oe && (e.f &= ~ln), (t & nt) !== 0) {
|
|
1427
|
+
var n = e.deps;
|
|
1428
|
+
if (n !== null)
|
|
1429
|
+
for (var r = n.length, a = 0; a < r; a++) {
|
|
1430
|
+
var s = n[a];
|
|
1431
|
+
if (An(
|
|
1432
|
+
/** @type {Derived} */
|
|
1433
|
+
s
|
|
1434
|
+
) && js(
|
|
1435
|
+
/** @type {Derived} */
|
|
1436
|
+
s
|
|
1437
|
+
), s.wv > e.wv)
|
|
1438
|
+
return !0;
|
|
1439
|
+
}
|
|
1440
|
+
(t & je) !== 0 && // During time traveling we don't want to reset the status so that
|
|
1441
|
+
// traversal of the graph in the other batches still happens
|
|
1442
|
+
q === null && le(e, fe);
|
|
1443
|
+
}
|
|
1444
|
+
return !1;
|
|
1445
|
+
}
|
|
1446
|
+
function $s(e, t, n = !0) {
|
|
1447
|
+
var r = e.reactions;
|
|
1448
|
+
if (r !== null && !(Ae != null && Ae.includes(e)))
|
|
1449
|
+
for (var a = 0; a < r.length; a++) {
|
|
1450
|
+
var s = r[a];
|
|
1451
|
+
(s.f & oe) !== 0 ? $s(
|
|
1452
|
+
/** @type {Derived} */
|
|
1453
|
+
s,
|
|
1454
|
+
t,
|
|
1455
|
+
!1
|
|
1456
|
+
) : t === s && (n ? le(s, me) : (s.f & fe) !== 0 && le(s, nt), Ct(
|
|
1457
|
+
/** @type {Effect} */
|
|
1458
|
+
s
|
|
1459
|
+
));
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
function ea(e) {
|
|
1463
|
+
var h;
|
|
1464
|
+
var t = ve, n = be, r = xe, a = x, s = Ae, i = He, o = Se, f = Et, c = e.f;
|
|
1465
|
+
ve = /** @type {null | Value[]} */
|
|
1466
|
+
null, be = 0, xe = null, x = (c & (tt | kt)) === 0 ? e : null, Ae = null, Vt(e.ctx), Se = !1, Et = ++on, e.ac !== null && (Rn(() => {
|
|
1467
|
+
e.ac.abort(Yt);
|
|
1468
|
+
}), e.ac = null);
|
|
1469
|
+
try {
|
|
1470
|
+
e.f |= vr;
|
|
1471
|
+
var w = (
|
|
1472
|
+
/** @type {Function} */
|
|
1473
|
+
e.fn
|
|
1474
|
+
), g = w(), v = e.deps;
|
|
1475
|
+
if (ve !== null) {
|
|
1476
|
+
var A;
|
|
1477
|
+
if (Qn(e, be), v !== null && be > 0)
|
|
1478
|
+
for (v.length = be + ve.length, A = 0; A < ve.length; A++)
|
|
1479
|
+
v[be + A] = ve[A];
|
|
1480
|
+
else
|
|
1481
|
+
e.deps = v = ve;
|
|
1482
|
+
if (xt && In() && (e.f & je) !== 0)
|
|
1483
|
+
for (A = be; A < v.length; A++)
|
|
1484
|
+
((h = v[A]).reactions ?? (h.reactions = [])).push(e);
|
|
1485
|
+
} else v !== null && be < v.length && (Qn(e, be), v.length = be);
|
|
1486
|
+
if (Hs() && xe !== null && !Se && v !== null && (e.f & (oe | nt | me)) === 0)
|
|
1487
|
+
for (A = 0; A < /** @type {Source[]} */
|
|
1488
|
+
xe.length; A++)
|
|
1489
|
+
$s(
|
|
1490
|
+
xe[A],
|
|
1491
|
+
/** @type {Effect} */
|
|
1492
|
+
e
|
|
1493
|
+
);
|
|
1494
|
+
return a !== null && a !== e && (on++, xe !== null && (r === null ? r = xe : r.push(.../** @type {Source[]} */
|
|
1495
|
+
xe))), (e.f & ct) !== 0 && (e.f ^= ct), g;
|
|
1496
|
+
} catch (b) {
|
|
1497
|
+
return xs(b);
|
|
1498
|
+
} finally {
|
|
1499
|
+
e.f ^= vr, ve = t, be = n, xe = r, x = a, Ae = s, Vt(i), Se = o, Et = f;
|
|
1500
|
+
}
|
|
1501
|
+
}
|
|
1502
|
+
function ef(e, t) {
|
|
1503
|
+
let n = t.reactions;
|
|
1504
|
+
if (n !== null) {
|
|
1505
|
+
var r = ei.call(n, e);
|
|
1506
|
+
if (r !== -1) {
|
|
1507
|
+
var a = n.length - 1;
|
|
1508
|
+
a === 0 ? n = t.reactions = null : (n[r] = n[a], n.pop());
|
|
1509
|
+
}
|
|
1510
|
+
}
|
|
1511
|
+
n === null && (t.f & oe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear
|
|
1512
|
+
// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
|
|
1513
|
+
// allows us to skip the expensive work of disconnecting and immediately reconnecting it
|
|
1514
|
+
(ve === null || !ve.includes(t)) && (le(t, nt), (t.f & je) !== 0 && (t.f ^= je, t.f &= ~ln), Ts(
|
|
1515
|
+
/** @type {Derived} **/
|
|
1516
|
+
t
|
|
1517
|
+
), Qn(
|
|
1518
|
+
/** @type {Derived} **/
|
|
1519
|
+
t,
|
|
1520
|
+
0
|
|
1521
|
+
));
|
|
1522
|
+
}
|
|
1523
|
+
function Qn(e, t) {
|
|
1524
|
+
var n = e.deps;
|
|
1525
|
+
if (n !== null)
|
|
1526
|
+
for (var r = t; r < n.length; r++)
|
|
1527
|
+
ef(e, n[r]);
|
|
1528
|
+
}
|
|
1529
|
+
function un(e) {
|
|
1530
|
+
var t = e.f;
|
|
1531
|
+
if ((t & Ot) === 0) {
|
|
1532
|
+
le(e, fe);
|
|
1533
|
+
var n = k, r = xt;
|
|
1534
|
+
k = e, xt = !0;
|
|
1535
|
+
try {
|
|
1536
|
+
(t & et) !== 0 ? Ui(e) : Gs(e), Ss(e);
|
|
1537
|
+
var a = ea(e);
|
|
1538
|
+
e.teardown = typeof a == "function" ? a : null, e.wv = Us;
|
|
1539
|
+
var s;
|
|
1540
|
+
} finally {
|
|
1541
|
+
xt = r, k = n;
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
async function tf() {
|
|
1546
|
+
await Promise.resolve(), xi();
|
|
1547
|
+
}
|
|
1548
|
+
function l(e) {
|
|
1549
|
+
var t = e.f, n = (t & oe) !== 0;
|
|
1550
|
+
if (x !== null && !Se) {
|
|
1551
|
+
var r = k !== null && (k.f & Ot) !== 0;
|
|
1552
|
+
if (!r && !(Ae != null && Ae.includes(e))) {
|
|
1553
|
+
var a = x.deps;
|
|
1554
|
+
if ((x.f & vr) !== 0)
|
|
1555
|
+
e.rv < on && (e.rv = on, ve === null && a !== null && a[be] === e ? be++ : ve === null ? ve = [e] : ve.includes(e) || ve.push(e));
|
|
1556
|
+
else {
|
|
1557
|
+
(x.deps ?? (x.deps = [])).push(e);
|
|
1558
|
+
var s = e.reactions;
|
|
1559
|
+
s === null ? e.reactions = [x] : s.includes(x) || s.push(x);
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
if (en) {
|
|
1564
|
+
if (dt.has(e))
|
|
1565
|
+
return dt.get(e);
|
|
1566
|
+
if (n) {
|
|
1567
|
+
var i = (
|
|
1568
|
+
/** @type {Derived} */
|
|
1569
|
+
e
|
|
1570
|
+
), o = i.v;
|
|
1571
|
+
return ((i.f & fe) === 0 && i.reactions !== null || na(i)) && (o = Cr(i)), dt.set(i, o), o;
|
|
1572
|
+
}
|
|
1573
|
+
} else if (n) {
|
|
1574
|
+
if (i = /** @type {Derived} */
|
|
1575
|
+
e, q != null && q.has(i))
|
|
1576
|
+
return q.get(i);
|
|
1577
|
+
An(i) && js(i), xt && In() && (i.f & je) === 0 && ta(i);
|
|
1578
|
+
} else if (q != null && q.has(e))
|
|
1579
|
+
return q.get(e);
|
|
1580
|
+
if ((e.f & ct) !== 0)
|
|
1581
|
+
throw e.v;
|
|
1582
|
+
return e.v;
|
|
1583
|
+
}
|
|
1584
|
+
function ta(e) {
|
|
1585
|
+
if (e.deps !== null) {
|
|
1586
|
+
e.f ^= je;
|
|
1587
|
+
for (const t of e.deps)
|
|
1588
|
+
(t.reactions ?? (t.reactions = [])).push(e), (t.f & oe) !== 0 && (t.f & je) === 0 && ta(
|
|
1589
|
+
/** @type {Derived} */
|
|
1590
|
+
t
|
|
1591
|
+
);
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
function na(e) {
|
|
1595
|
+
if (e.v === ae) return !0;
|
|
1596
|
+
if (e.deps === null) return !1;
|
|
1597
|
+
for (const t of e.deps)
|
|
1598
|
+
if (dt.has(t) || (t.f & oe) !== 0 && na(
|
|
1599
|
+
/** @type {Derived} */
|
|
1600
|
+
t
|
|
1601
|
+
))
|
|
1602
|
+
return !0;
|
|
1603
|
+
return !1;
|
|
1604
|
+
}
|
|
1605
|
+
function Yn(e) {
|
|
1606
|
+
var t = Se;
|
|
1607
|
+
try {
|
|
1608
|
+
return Se = !0, e();
|
|
1609
|
+
} finally {
|
|
1610
|
+
Se = t;
|
|
1611
|
+
}
|
|
1612
|
+
}
|
|
1613
|
+
const nf = -7169;
|
|
1614
|
+
function le(e, t) {
|
|
1615
|
+
e.f = e.f & nf | t;
|
|
1616
|
+
}
|
|
1617
|
+
const rf = ["touchstart", "touchmove"];
|
|
1618
|
+
function sf(e) {
|
|
1619
|
+
return rf.includes(e);
|
|
1620
|
+
}
|
|
1621
|
+
const ra = /* @__PURE__ */ new Set(), pr = /* @__PURE__ */ new Set();
|
|
1622
|
+
function af(e, t, n, r = {}) {
|
|
1623
|
+
function a(s) {
|
|
1624
|
+
if (r.capture || rn.call(t, s), !s.cancelBubble)
|
|
1625
|
+
return Rn(() => n == null ? void 0 : n.call(this, s));
|
|
1626
|
+
}
|
|
1627
|
+
return e.startsWith("pointer") || e.startsWith("touch") || e === "wheel" ? $t(() => {
|
|
1628
|
+
t.addEventListener(e, a, r);
|
|
1629
|
+
}) : t.addEventListener(e, a, r), a;
|
|
1630
|
+
}
|
|
1631
|
+
function ir(e, t, n, r, a) {
|
|
1632
|
+
var s = { capture: r, passive: a }, i = af(e, t, n, s);
|
|
1633
|
+
(t === document.body || // @ts-ignore
|
|
1634
|
+
t === window || // @ts-ignore
|
|
1635
|
+
t === document || // Firefox has quirky behavior, it can happen that we still get "canplay" events when the element is already removed
|
|
1636
|
+
t instanceof HTMLMediaElement) && Is(() => {
|
|
1637
|
+
t.removeEventListener(e, i, s);
|
|
1638
|
+
});
|
|
1639
|
+
}
|
|
1640
|
+
function ff(e) {
|
|
1641
|
+
for (var t = 0; t < e.length; t++)
|
|
1642
|
+
ra.add(e[t]);
|
|
1643
|
+
for (var n of pr)
|
|
1644
|
+
n(e);
|
|
1645
|
+
}
|
|
1646
|
+
let is = null;
|
|
1647
|
+
function rn(e) {
|
|
1648
|
+
var B;
|
|
1649
|
+
var t = this, n = (
|
|
1650
|
+
/** @type {Node} */
|
|
1651
|
+
t.ownerDocument
|
|
1652
|
+
), r = e.type, a = ((B = e.composedPath) == null ? void 0 : B.call(e)) || [], s = (
|
|
1653
|
+
/** @type {null | Element} */
|
|
1654
|
+
a[0] || e.target
|
|
1655
|
+
);
|
|
1656
|
+
is = e;
|
|
1657
|
+
var i = 0, o = is === e && e.__root;
|
|
1658
|
+
if (o) {
|
|
1659
|
+
var f = a.indexOf(o);
|
|
1660
|
+
if (f !== -1 && (t === document || t === /** @type {any} */
|
|
1661
|
+
window)) {
|
|
1662
|
+
e.__root = t;
|
|
1663
|
+
return;
|
|
1664
|
+
}
|
|
1665
|
+
var c = a.indexOf(t);
|
|
1666
|
+
if (c === -1)
|
|
1667
|
+
return;
|
|
1668
|
+
f <= c && (i = f);
|
|
1669
|
+
}
|
|
1670
|
+
if (s = /** @type {Element} */
|
|
1671
|
+
a[i] || e.target, s !== t) {
|
|
1672
|
+
ti(e, "currentTarget", {
|
|
1673
|
+
configurable: !0,
|
|
1674
|
+
get() {
|
|
1675
|
+
return s || n;
|
|
1676
|
+
}
|
|
1677
|
+
});
|
|
1678
|
+
var w = x, g = k;
|
|
1679
|
+
Pe(null), Ge(null);
|
|
1680
|
+
try {
|
|
1681
|
+
for (var v, A = []; s !== null; ) {
|
|
1682
|
+
var h = s.assignedSlot || s.parentNode || /** @type {any} */
|
|
1683
|
+
s.host || null;
|
|
1684
|
+
try {
|
|
1685
|
+
var b = s["__" + r];
|
|
1686
|
+
b != null && (!/** @type {any} */
|
|
1687
|
+
s.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
|
|
1688
|
+
// -> the target could not have been disabled because it emits the event in the first place
|
|
1689
|
+
e.target === s) && b.call(s, e);
|
|
1690
|
+
} catch (T) {
|
|
1691
|
+
v ? A.push(T) : v = T;
|
|
1692
|
+
}
|
|
1693
|
+
if (e.cancelBubble || h === t || h === null)
|
|
1694
|
+
break;
|
|
1695
|
+
s = h;
|
|
1696
|
+
}
|
|
1697
|
+
if (v) {
|
|
1698
|
+
for (let T of A)
|
|
1699
|
+
queueMicrotask(() => {
|
|
1700
|
+
throw T;
|
|
1701
|
+
});
|
|
1702
|
+
throw v;
|
|
1703
|
+
}
|
|
1704
|
+
} finally {
|
|
1705
|
+
e.__root = t, delete e.currentTarget, Pe(w), Ge(g);
|
|
1706
|
+
}
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
function lf(e) {
|
|
1710
|
+
var t = document.createElement("template");
|
|
1711
|
+
return t.innerHTML = e.replaceAll("<!>", "<!---->"), t.content;
|
|
1712
|
+
}
|
|
1713
|
+
function Br(e, t) {
|
|
1714
|
+
var n = (
|
|
1715
|
+
/** @type {Effect} */
|
|
1716
|
+
k
|
|
1717
|
+
);
|
|
1718
|
+
n.nodes_start === null && (n.nodes_start = e, n.nodes_end = t);
|
|
1719
|
+
}
|
|
1720
|
+
// @__NO_SIDE_EFFECTS__
|
|
1721
|
+
function M(e, t) {
|
|
1722
|
+
var n = (t & Bi) !== 0, r = (t & bi) !== 0, a, s = !e.startsWith("<!>");
|
|
1723
|
+
return () => {
|
|
1724
|
+
a === void 0 && (a = lf(s ? e : "<!>" + e), n || (a = /** @type {Node} */
|
|
1725
|
+
/* @__PURE__ */ zn(a)));
|
|
1726
|
+
var i = (
|
|
1727
|
+
/** @type {TemplateNode} */
|
|
1728
|
+
r || Ms ? document.importNode(a, !0) : a.cloneNode(!0)
|
|
1729
|
+
);
|
|
1730
|
+
if (n) {
|
|
1731
|
+
var o = (
|
|
1732
|
+
/** @type {TemplateNode} */
|
|
1733
|
+
/* @__PURE__ */ zn(i)
|
|
1734
|
+
), f = (
|
|
1735
|
+
/** @type {TemplateNode} */
|
|
1736
|
+
i.lastChild
|
|
1737
|
+
);
|
|
1738
|
+
Br(o, f);
|
|
1739
|
+
} else
|
|
1740
|
+
Br(i, i);
|
|
1741
|
+
return i;
|
|
1742
|
+
};
|
|
1743
|
+
}
|
|
1744
|
+
function of() {
|
|
1745
|
+
var e = document.createDocumentFragment(), t = document.createComment(""), n = Qt();
|
|
1746
|
+
return e.append(t, n), Br(t, n), e;
|
|
1747
|
+
}
|
|
1748
|
+
function X(e, t) {
|
|
1749
|
+
e !== null && e.before(
|
|
1750
|
+
/** @type {Node} */
|
|
1751
|
+
t
|
|
1752
|
+
);
|
|
1753
|
+
}
|
|
1754
|
+
function Z(e, t) {
|
|
1755
|
+
var n = t == null ? "" : typeof t == "object" ? t + "" : t;
|
|
1756
|
+
n !== (e.__t ?? (e.__t = e.nodeValue)) && (e.__t = n, e.nodeValue = n + "");
|
|
1757
|
+
}
|
|
1758
|
+
function uf(e, t) {
|
|
1759
|
+
return cf(e, t);
|
|
1760
|
+
}
|
|
1761
|
+
const It = /* @__PURE__ */ new Map();
|
|
1762
|
+
function cf(e, { target: t, anchor: n, props: r = {}, events: a, context: s, intro: i = !0 }) {
|
|
1763
|
+
Yi();
|
|
1764
|
+
var o = /* @__PURE__ */ new Set(), f = (g) => {
|
|
1765
|
+
for (var v = 0; v < g.length; v++) {
|
|
1766
|
+
var A = g[v];
|
|
1767
|
+
if (!o.has(A)) {
|
|
1768
|
+
o.add(A);
|
|
1769
|
+
var h = sf(A);
|
|
1770
|
+
t.addEventListener(A, rn, { passive: h });
|
|
1771
|
+
var b = It.get(A);
|
|
1772
|
+
b === void 0 ? (document.addEventListener(A, rn, { passive: h }), It.set(A, 1)) : It.set(A, b + 1);
|
|
1773
|
+
}
|
|
1774
|
+
}
|
|
1775
|
+
};
|
|
1776
|
+
f(mr(ra)), pr.add(f);
|
|
1777
|
+
var c = void 0, w = Ki(() => {
|
|
1778
|
+
var g = n ?? t.appendChild(Qt());
|
|
1779
|
+
return Qi(
|
|
1780
|
+
/** @type {TemplateNode} */
|
|
1781
|
+
g,
|
|
1782
|
+
{
|
|
1783
|
+
pending: () => {
|
|
1784
|
+
}
|
|
1785
|
+
},
|
|
1786
|
+
(v) => {
|
|
1787
|
+
if (s) {
|
|
1788
|
+
ys({});
|
|
1789
|
+
var A = (
|
|
1790
|
+
/** @type {ComponentContext} */
|
|
1791
|
+
He
|
|
1792
|
+
);
|
|
1793
|
+
A.c = s;
|
|
1794
|
+
}
|
|
1795
|
+
a && (r.$$events = a), c = e(v, r) || {}, s && ms();
|
|
1796
|
+
}
|
|
1797
|
+
), () => {
|
|
1798
|
+
var h;
|
|
1799
|
+
for (var v of o) {
|
|
1800
|
+
t.removeEventListener(v, rn);
|
|
1801
|
+
var A = (
|
|
1802
|
+
/** @type {number} */
|
|
1803
|
+
It.get(v)
|
|
1804
|
+
);
|
|
1805
|
+
--A === 0 ? (document.removeEventListener(v, rn), It.delete(v)) : It.set(v, A);
|
|
1806
|
+
}
|
|
1807
|
+
pr.delete(f), g !== n && ((h = g.parentNode) == null || h.removeChild(g));
|
|
1808
|
+
};
|
|
1809
|
+
});
|
|
1810
|
+
return br.set(c, w), c;
|
|
1811
|
+
}
|
|
1812
|
+
let br = /* @__PURE__ */ new WeakMap();
|
|
1813
|
+
function df(e, t) {
|
|
1814
|
+
const n = br.get(e);
|
|
1815
|
+
return n ? (br.delete(e), n(t)) : Promise.resolve();
|
|
1816
|
+
}
|
|
1817
|
+
var ke, Ye, De, dn, vn, jn;
|
|
1818
|
+
class vf {
|
|
1819
|
+
/**
|
|
1820
|
+
* @param {TemplateNode} anchor
|
|
1821
|
+
* @param {boolean} transition
|
|
1822
|
+
*/
|
|
1823
|
+
constructor(t, n = !0) {
|
|
1824
|
+
/** @type {TemplateNode} */
|
|
1825
|
+
Me(this, "anchor");
|
|
1826
|
+
/** @type {Map<Batch, Key>} */
|
|
1827
|
+
z(this, ke, /* @__PURE__ */ new Map());
|
|
1828
|
+
/** @type {Map<Key, Effect>} */
|
|
1829
|
+
z(this, Ye, /* @__PURE__ */ new Map());
|
|
1830
|
+
/** @type {Map<Key, Branch>} */
|
|
1831
|
+
z(this, De, /* @__PURE__ */ new Map());
|
|
1832
|
+
/**
|
|
1833
|
+
* Whether to pause (i.e. outro) on change, or destroy immediately.
|
|
1834
|
+
* This is necessary for `<svelte:element>`
|
|
1835
|
+
*/
|
|
1836
|
+
z(this, dn, !0);
|
|
1837
|
+
z(this, vn, () => {
|
|
1838
|
+
var t = (
|
|
1839
|
+
/** @type {Batch} */
|
|
1840
|
+
N
|
|
1841
|
+
);
|
|
1842
|
+
if (u(this, ke).has(t)) {
|
|
1843
|
+
var n = (
|
|
1844
|
+
/** @type {Key} */
|
|
1845
|
+
u(this, ke).get(t)
|
|
1846
|
+
), r = u(this, Ye).get(n);
|
|
1847
|
+
if (r)
|
|
1848
|
+
Tr(r);
|
|
1849
|
+
else {
|
|
1850
|
+
var a = u(this, De).get(n);
|
|
1851
|
+
a && (u(this, Ye).set(n, a.effect), u(this, De).delete(n), a.fragment.lastChild.remove(), this.anchor.before(a.fragment), r = a.effect);
|
|
1852
|
+
}
|
|
1853
|
+
for (const [s, i] of u(this, ke)) {
|
|
1854
|
+
if (u(this, ke).delete(s), s === t)
|
|
1855
|
+
break;
|
|
1856
|
+
const o = u(this, De).get(i);
|
|
1857
|
+
o && (ge(o.effect), u(this, De).delete(i));
|
|
1858
|
+
}
|
|
1859
|
+
for (const [s, i] of u(this, Ye)) {
|
|
1860
|
+
if (s === n) continue;
|
|
1861
|
+
const o = () => {
|
|
1862
|
+
if (Array.from(u(this, ke).values()).includes(s)) {
|
|
1863
|
+
var c = document.createDocumentFragment();
|
|
1864
|
+
Vs(i, c), c.append(Qt()), u(this, De).set(s, { effect: i, fragment: c });
|
|
1865
|
+
} else
|
|
1866
|
+
ge(i);
|
|
1867
|
+
u(this, Ye).delete(s);
|
|
1868
|
+
};
|
|
1869
|
+
u(this, dn) || !r ? Zt(i, o, !1) : o();
|
|
1870
|
+
}
|
|
1871
|
+
}
|
|
1872
|
+
});
|
|
1873
|
+
/**
|
|
1874
|
+
* @param {Batch} batch
|
|
1875
|
+
*/
|
|
1876
|
+
z(this, jn, (t) => {
|
|
1877
|
+
u(this, ke).delete(t);
|
|
1878
|
+
const n = Array.from(u(this, ke).values());
|
|
1879
|
+
for (const [r, a] of u(this, De))
|
|
1880
|
+
n.includes(r) || (ge(a.effect), u(this, De).delete(r));
|
|
1881
|
+
});
|
|
1882
|
+
this.anchor = t, y(this, dn, n);
|
|
1883
|
+
}
|
|
1884
|
+
/**
|
|
1885
|
+
*
|
|
1886
|
+
* @param {any} key
|
|
1887
|
+
* @param {null | ((target: TemplateNode) => void)} fn
|
|
1888
|
+
*/
|
|
1889
|
+
ensure(t, n) {
|
|
1890
|
+
var r = (
|
|
1891
|
+
/** @type {Batch} */
|
|
1892
|
+
N
|
|
1893
|
+
), a = Rs();
|
|
1894
|
+
if (n && !u(this, Ye).has(t) && !u(this, De).has(t))
|
|
1895
|
+
if (a) {
|
|
1896
|
+
var s = document.createDocumentFragment(), i = Qt();
|
|
1897
|
+
s.append(i), u(this, De).set(t, {
|
|
1898
|
+
effect: Te(() => n(i)),
|
|
1899
|
+
fragment: s
|
|
1900
|
+
});
|
|
1901
|
+
} else
|
|
1902
|
+
u(this, Ye).set(
|
|
1903
|
+
t,
|
|
1904
|
+
Te(() => n(this.anchor))
|
|
1905
|
+
);
|
|
1906
|
+
if (u(this, ke).set(r, t), a) {
|
|
1907
|
+
for (const [o, f] of u(this, Ye))
|
|
1908
|
+
o === t ? r.skipped_effects.delete(f) : r.skipped_effects.add(f);
|
|
1909
|
+
for (const [o, f] of u(this, De))
|
|
1910
|
+
o === t ? r.skipped_effects.delete(f.effect) : r.skipped_effects.add(f.effect);
|
|
1911
|
+
r.oncommit(u(this, vn)), r.ondiscard(u(this, jn));
|
|
1912
|
+
} else
|
|
1913
|
+
u(this, vn).call(this);
|
|
1914
|
+
}
|
|
1915
|
+
}
|
|
1916
|
+
ke = new WeakMap(), Ye = new WeakMap(), De = new WeakMap(), dn = new WeakMap(), vn = new WeakMap(), jn = new WeakMap();
|
|
1917
|
+
function _(e, t, n = !1) {
|
|
1918
|
+
var r = new vf(e), a = n ? Kt : 0;
|
|
1919
|
+
function s(i, o) {
|
|
1920
|
+
r.ensure(i, o);
|
|
1921
|
+
}
|
|
1922
|
+
Qr(() => {
|
|
1923
|
+
var i = !1;
|
|
1924
|
+
t((o, f = !0) => {
|
|
1925
|
+
i = !0, s(f, o);
|
|
1926
|
+
}), i || s(!1, null);
|
|
1927
|
+
}, a);
|
|
1928
|
+
}
|
|
1929
|
+
function gf(e, t) {
|
|
1930
|
+
return t;
|
|
1931
|
+
}
|
|
1932
|
+
function Af(e, t, n) {
|
|
1933
|
+
for (var r = e.items, a = [], s = t.length, i = 0; i < s; i++)
|
|
1934
|
+
kr(t[i].e, a, !0);
|
|
1935
|
+
var o = s > 0 && a.length === 0 && n !== null;
|
|
1936
|
+
if (o) {
|
|
1937
|
+
var f = (
|
|
1938
|
+
/** @type {Element} */
|
|
1939
|
+
/** @type {Element} */
|
|
1940
|
+
n.parentNode
|
|
1941
|
+
);
|
|
1942
|
+
Zi(f), f.append(
|
|
1943
|
+
/** @type {Element} */
|
|
1944
|
+
n
|
|
1945
|
+
), r.clear(), Le(e, t[0].prev, t[s - 1].next);
|
|
1946
|
+
}
|
|
1947
|
+
qs(a, () => {
|
|
1948
|
+
for (var c = 0; c < s; c++) {
|
|
1949
|
+
var w = t[c];
|
|
1950
|
+
o || (r.delete(w.k), Le(e, w.prev, w.next)), ge(w.e, !o);
|
|
1951
|
+
}
|
|
1952
|
+
});
|
|
1953
|
+
}
|
|
1954
|
+
function fr(e, t, n, r, a, s = null) {
|
|
1955
|
+
var i = e, o = { flags: t, items: /* @__PURE__ */ new Map(), first: null }, f = (t & Bs) !== 0;
|
|
1956
|
+
if (f) {
|
|
1957
|
+
var c = (
|
|
1958
|
+
/** @type {Element} */
|
|
1959
|
+
e
|
|
1960
|
+
);
|
|
1961
|
+
i = c.appendChild(Qt());
|
|
1962
|
+
}
|
|
1963
|
+
var w = null, g = !1, v = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ Li(() => {
|
|
1964
|
+
var T = n();
|
|
1965
|
+
return ws(T) ? T : T == null ? [] : mr(T);
|
|
1966
|
+
}), h, b;
|
|
1967
|
+
function B() {
|
|
1968
|
+
wf(
|
|
1969
|
+
b,
|
|
1970
|
+
h,
|
|
1971
|
+
o,
|
|
1972
|
+
v,
|
|
1973
|
+
i,
|
|
1974
|
+
a,
|
|
1975
|
+
t,
|
|
1976
|
+
r,
|
|
1977
|
+
n
|
|
1978
|
+
), s !== null && (h.length === 0 ? w ? Tr(w) : w = Te(() => s(i)) : w !== null && Zt(w, () => {
|
|
1979
|
+
w = null;
|
|
1980
|
+
}));
|
|
1981
|
+
}
|
|
1982
|
+
Qr(() => {
|
|
1983
|
+
b ?? (b = /** @type {Effect} */
|
|
1984
|
+
k), h = /** @type {V[]} */
|
|
1985
|
+
l(A);
|
|
1986
|
+
var T = h.length;
|
|
1987
|
+
if (!(g && T === 0)) {
|
|
1988
|
+
g = T === 0;
|
|
1989
|
+
var F, I, S, K;
|
|
1990
|
+
if (Rs()) {
|
|
1991
|
+
var E = /* @__PURE__ */ new Set(), j = (
|
|
1992
|
+
/** @type {Batch} */
|
|
1993
|
+
N
|
|
1994
|
+
);
|
|
1995
|
+
for (I = 0; I < T; I += 1) {
|
|
1996
|
+
S = h[I], K = r(S, I);
|
|
1997
|
+
var ue = o.items.get(K) ?? v.get(K);
|
|
1998
|
+
ue ? (t & (Mn | Ln)) !== 0 && sa(ue, S, I, t) : (F = aa(
|
|
1999
|
+
null,
|
|
2000
|
+
o,
|
|
2001
|
+
null,
|
|
2002
|
+
null,
|
|
2003
|
+
S,
|
|
2004
|
+
K,
|
|
2005
|
+
I,
|
|
2006
|
+
a,
|
|
2007
|
+
t,
|
|
2008
|
+
n,
|
|
2009
|
+
!0
|
|
2010
|
+
), v.set(K, F)), E.add(K);
|
|
2011
|
+
}
|
|
2012
|
+
for (const [We, st] of o.items)
|
|
2013
|
+
E.has(We) || j.skipped_effects.add(st.e);
|
|
2014
|
+
j.oncommit(B);
|
|
2015
|
+
} else
|
|
2016
|
+
B();
|
|
2017
|
+
l(A);
|
|
2018
|
+
}
|
|
2019
|
+
});
|
|
2020
|
+
}
|
|
2021
|
+
function wf(e, t, n, r, a, s, i, o, f) {
|
|
2022
|
+
var it, jt, Xt, we;
|
|
2023
|
+
var c = (i & Pi) !== 0, w = (i & (Mn | Ln)) !== 0, g = t.length, v = n.items, A = n.first, h = A, b, B = null, T, F = [], I = [], S, K, E, j;
|
|
2024
|
+
if (c)
|
|
2025
|
+
for (j = 0; j < g; j += 1)
|
|
2026
|
+
S = t[j], K = o(S, j), E = v.get(K), E !== void 0 && ((it = E.a) == null || it.measure(), (T ?? (T = /* @__PURE__ */ new Set())).add(E));
|
|
2027
|
+
for (j = 0; j < g; j += 1) {
|
|
2028
|
+
if (S = t[j], K = o(S, j), E = v.get(K), E === void 0) {
|
|
2029
|
+
var ue = r.get(K);
|
|
2030
|
+
if (ue !== void 0) {
|
|
2031
|
+
r.delete(K), v.set(K, ue);
|
|
2032
|
+
var We = B ? B.next : h;
|
|
2033
|
+
Le(n, B, ue), Le(n, ue, We), lr(ue, We, a), B = ue;
|
|
2034
|
+
} else {
|
|
2035
|
+
var st = h ? (
|
|
2036
|
+
/** @type {TemplateNode} */
|
|
2037
|
+
h.e.nodes_start
|
|
2038
|
+
) : a;
|
|
2039
|
+
B = aa(
|
|
2040
|
+
st,
|
|
2041
|
+
n,
|
|
2042
|
+
B,
|
|
2043
|
+
B === null ? n.first : B.next,
|
|
2044
|
+
S,
|
|
2045
|
+
K,
|
|
2046
|
+
j,
|
|
2047
|
+
s,
|
|
2048
|
+
i,
|
|
2049
|
+
f
|
|
2050
|
+
);
|
|
2051
|
+
}
|
|
2052
|
+
v.set(K, B), F = [], I = [], h = B.next;
|
|
2053
|
+
continue;
|
|
2054
|
+
}
|
|
2055
|
+
if (w && sa(E, S, j, i), (E.e.f & ye) !== 0 && (Tr(E.e), c && ((jt = E.a) == null || jt.unfix(), (T ?? (T = /* @__PURE__ */ new Set())).delete(E))), E !== h) {
|
|
2056
|
+
if (b !== void 0 && b.has(E)) {
|
|
2057
|
+
if (F.length < I.length) {
|
|
2058
|
+
var qe = I[0], pe;
|
|
2059
|
+
B = qe.prev;
|
|
2060
|
+
var Tt = F[0], te = F[F.length - 1];
|
|
2061
|
+
for (pe = 0; pe < F.length; pe += 1)
|
|
2062
|
+
lr(F[pe], qe, a);
|
|
2063
|
+
for (pe = 0; pe < I.length; pe += 1)
|
|
2064
|
+
b.delete(I[pe]);
|
|
2065
|
+
Le(n, Tt.prev, te.next), Le(n, B, Tt), Le(n, te, qe), h = qe, B = te, j -= 1, F = [], I = [];
|
|
2066
|
+
} else
|
|
2067
|
+
b.delete(E), lr(E, h, a), Le(n, E.prev, E.next), Le(n, E, B === null ? n.first : B.next), Le(n, B, E), B = E;
|
|
2068
|
+
continue;
|
|
2069
|
+
}
|
|
2070
|
+
for (F = [], I = []; h !== null && h.k !== K; )
|
|
2071
|
+
(h.e.f & ye) === 0 && (b ?? (b = /* @__PURE__ */ new Set())).add(h), I.push(h), h = h.next;
|
|
2072
|
+
if (h === null)
|
|
2073
|
+
continue;
|
|
2074
|
+
E = h;
|
|
2075
|
+
}
|
|
2076
|
+
F.push(E), B = E, h = E.next;
|
|
2077
|
+
}
|
|
2078
|
+
if (h !== null || b !== void 0) {
|
|
2079
|
+
for (var ne = b === void 0 ? [] : mr(b); h !== null; )
|
|
2080
|
+
(h.e.f & ye) === 0 && ne.push(h), h = h.next;
|
|
2081
|
+
var at = ne.length;
|
|
2082
|
+
if (at > 0) {
|
|
2083
|
+
var Zn = (i & Bs) !== 0 && g === 0 ? a : null;
|
|
2084
|
+
if (c) {
|
|
2085
|
+
for (j = 0; j < at; j += 1)
|
|
2086
|
+
(Xt = ne[j].a) == null || Xt.measure();
|
|
2087
|
+
for (j = 0; j < at; j += 1)
|
|
2088
|
+
(we = ne[j].a) == null || we.fix();
|
|
2089
|
+
}
|
|
2090
|
+
Af(n, ne, Zn);
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
c && $t(() => {
|
|
2094
|
+
var wn;
|
|
2095
|
+
if (T !== void 0)
|
|
2096
|
+
for (E of T)
|
|
2097
|
+
(wn = E.a) == null || wn.apply();
|
|
2098
|
+
}), e.first = n.first && n.first.e, e.last = B && B.e;
|
|
2099
|
+
for (var Sn of r.values())
|
|
2100
|
+
ge(Sn.e);
|
|
2101
|
+
r.clear();
|
|
2102
|
+
}
|
|
2103
|
+
function sa(e, t, n, r) {
|
|
2104
|
+
(r & Mn) !== 0 && Ut(e.v, t), (r & Ln) !== 0 ? Ut(
|
|
2105
|
+
/** @type {Value<number>} */
|
|
2106
|
+
e.i,
|
|
2107
|
+
n
|
|
2108
|
+
) : e.i = n;
|
|
2109
|
+
}
|
|
2110
|
+
function aa(e, t, n, r, a, s, i, o, f, c, w) {
|
|
2111
|
+
var g = (f & Mn) !== 0, v = (f & pi) === 0, A = g ? v ? /* @__PURE__ */ Ri(a, !1, !1) : zt(a) : a, h = (f & Ln) === 0 ? i : zt(i), b = {
|
|
2112
|
+
i: h,
|
|
2113
|
+
v: A,
|
|
2114
|
+
k: s,
|
|
2115
|
+
a: null,
|
|
2116
|
+
// @ts-expect-error
|
|
2117
|
+
e: null,
|
|
2118
|
+
prev: n,
|
|
2119
|
+
next: r
|
|
2120
|
+
};
|
|
2121
|
+
try {
|
|
2122
|
+
if (e === null) {
|
|
2123
|
+
var B = document.createDocumentFragment();
|
|
2124
|
+
B.append(e = Qt());
|
|
2125
|
+
}
|
|
2126
|
+
return b.e = Te(() => o(
|
|
2127
|
+
/** @type {Node} */
|
|
2128
|
+
e,
|
|
2129
|
+
A,
|
|
2130
|
+
h,
|
|
2131
|
+
c
|
|
2132
|
+
), mi), b.e.prev = n && n.e, b.e.next = r && r.e, n === null ? w || (t.first = b) : (n.next = b, n.e.next = b.e), r !== null && (r.prev = b, r.e.prev = b.e), b;
|
|
2133
|
+
} finally {
|
|
2134
|
+
}
|
|
2135
|
+
}
|
|
2136
|
+
function lr(e, t, n) {
|
|
2137
|
+
for (var r = e.next ? (
|
|
2138
|
+
/** @type {TemplateNode} */
|
|
2139
|
+
e.next.e.nodes_start
|
|
2140
|
+
) : n, a = t ? (
|
|
2141
|
+
/** @type {TemplateNode} */
|
|
2142
|
+
t.e.nodes_start
|
|
2143
|
+
) : n, s = (
|
|
2144
|
+
/** @type {TemplateNode} */
|
|
2145
|
+
e.e.nodes_start
|
|
2146
|
+
); s !== null && s !== r; ) {
|
|
2147
|
+
var i = (
|
|
2148
|
+
/** @type {TemplateNode} */
|
|
2149
|
+
/* @__PURE__ */ gn(s)
|
|
2150
|
+
);
|
|
2151
|
+
a.before(s), s = i;
|
|
2152
|
+
}
|
|
2153
|
+
}
|
|
2154
|
+
function Le(e, t, n) {
|
|
2155
|
+
t === null ? e.first = n : (t.next = n, t.e.next = n && n.e), n !== null && (n.prev = t, n.e.prev = t && t.e);
|
|
2156
|
+
}
|
|
2157
|
+
function hf(e, t, n) {
|
|
2158
|
+
var r = e == null ? "" : "" + e;
|
|
2159
|
+
return r = r ? r + " " + t : t, r === "" ? null : r;
|
|
2160
|
+
}
|
|
2161
|
+
function Pf(e, t) {
|
|
2162
|
+
return e == null ? null : String(e);
|
|
2163
|
+
}
|
|
2164
|
+
function yn(e, t, n, r, a, s) {
|
|
2165
|
+
var i = e.__className;
|
|
2166
|
+
if (i !== n || i === void 0) {
|
|
2167
|
+
var o = hf(n, r);
|
|
2168
|
+
o == null ? e.removeAttribute("class") : e.className = o, e.__className = n;
|
|
2169
|
+
}
|
|
2170
|
+
return s;
|
|
2171
|
+
}
|
|
2172
|
+
function pf(e, t, n, r) {
|
|
2173
|
+
var a = e.__style;
|
|
2174
|
+
if (a !== t) {
|
|
2175
|
+
var s = Pf(t);
|
|
2176
|
+
s == null ? e.removeAttribute("style") : e.style.cssText = s, e.__style = t;
|
|
2177
|
+
}
|
|
2178
|
+
return r;
|
|
2179
|
+
}
|
|
2180
|
+
const Bf = Symbol("is custom element"), bf = Symbol("is html");
|
|
2181
|
+
function de(e, t, n, r) {
|
|
2182
|
+
var a = Df(e);
|
|
2183
|
+
a[t] !== (a[t] = n) && (t === "loading" && (e[fi] = n), n == null ? e.removeAttribute(t) : typeof n != "string" && yf(e).includes(t) ? e[t] = n : e.setAttribute(t, n));
|
|
2184
|
+
}
|
|
2185
|
+
function Df(e) {
|
|
2186
|
+
return (
|
|
2187
|
+
/** @type {Record<string | symbol, unknown>} **/
|
|
2188
|
+
// @ts-expect-error
|
|
2189
|
+
e.__attributes ?? (e.__attributes = {
|
|
2190
|
+
[Bf]: e.nodeName.includes("-"),
|
|
2191
|
+
[bf]: e.namespaceURI === Di
|
|
2192
|
+
})
|
|
2193
|
+
);
|
|
2194
|
+
}
|
|
2195
|
+
var fs = /* @__PURE__ */ new Map();
|
|
2196
|
+
function yf(e) {
|
|
2197
|
+
var t = e.getAttribute("is") || e.nodeName, n = fs.get(t);
|
|
2198
|
+
if (n) return n;
|
|
2199
|
+
fs.set(t, n = []);
|
|
2200
|
+
for (var r, a = e, s = Element.prototype; s !== a; ) {
|
|
2201
|
+
r = ni(a);
|
|
2202
|
+
for (var i in r)
|
|
2203
|
+
r[i].set && n.push(i);
|
|
2204
|
+
a = hs(a);
|
|
2205
|
+
}
|
|
2206
|
+
return n;
|
|
2207
|
+
}
|
|
2208
|
+
function mf(e, t, n = t) {
|
|
2209
|
+
var r = /* @__PURE__ */ new WeakSet();
|
|
2210
|
+
Gi(e, "input", async (a) => {
|
|
2211
|
+
var s = a ? e.defaultValue : e.value;
|
|
2212
|
+
if (s = or(e) ? ur(s) : s, n(s), N !== null && r.add(N), await tf(), s !== (s = t())) {
|
|
2213
|
+
var i = e.selectionStart, o = e.selectionEnd, f = e.value.length;
|
|
2214
|
+
if (e.value = s ?? "", o !== null) {
|
|
2215
|
+
var c = e.value.length;
|
|
2216
|
+
i === o && o === f && c > f ? (e.selectionStart = c, e.selectionEnd = c) : (e.selectionStart = i, e.selectionEnd = Math.min(o, c));
|
|
2217
|
+
}
|
|
2218
|
+
}
|
|
2219
|
+
}), // If we are hydrating and the value has since changed,
|
|
2220
|
+
// then use the updated value from the input instead.
|
|
2221
|
+
// If defaultValue is set, then value == defaultValue
|
|
2222
|
+
// TODO Svelte 6: remove input.value check and set to empty string?
|
|
2223
|
+
Yn(t) == null && e.value && (n(or(e) ? ur(e.value) : e.value), N !== null && r.add(N)), zr(() => {
|
|
2224
|
+
var a = t();
|
|
2225
|
+
if (e === document.activeElement) {
|
|
2226
|
+
var s = (
|
|
2227
|
+
/** @type {Batch} */
|
|
2228
|
+
On ?? N
|
|
2229
|
+
);
|
|
2230
|
+
if (r.has(s))
|
|
2231
|
+
return;
|
|
2232
|
+
}
|
|
2233
|
+
or(e) && a === ur(e.value) || e.type === "date" && !a && !e.value || a !== e.value && (e.value = a ?? "");
|
|
2234
|
+
});
|
|
2235
|
+
}
|
|
2236
|
+
function or(e) {
|
|
2237
|
+
var t = e.type;
|
|
2238
|
+
return t === "number" || t === "range";
|
|
2239
|
+
}
|
|
2240
|
+
function ur(e) {
|
|
2241
|
+
return e === "" ? null : +e;
|
|
2242
|
+
}
|
|
2243
|
+
function ls(e, t) {
|
|
2244
|
+
return e === t || (e == null ? void 0 : e[Hn]) === t;
|
|
2245
|
+
}
|
|
2246
|
+
function Hf(e = {}, t, n, r) {
|
|
2247
|
+
return Vi(() => {
|
|
2248
|
+
var a, s;
|
|
2249
|
+
return zr(() => {
|
|
2250
|
+
a = s, s = [], Yn(() => {
|
|
2251
|
+
e !== n(...s) && (t(e, ...s), a && ls(n(...a), e) && t(null, ...a));
|
|
2252
|
+
});
|
|
2253
|
+
}), () => {
|
|
2254
|
+
$t(() => {
|
|
2255
|
+
s && ls(n(...s), e) && t(null, ...s);
|
|
2256
|
+
});
|
|
2257
|
+
};
|
|
2258
|
+
}), e;
|
|
2259
|
+
}
|
|
2260
|
+
function os(e, t, n, r) {
|
|
2261
|
+
var a = (
|
|
2262
|
+
/** @type {V} */
|
|
2263
|
+
r
|
|
2264
|
+
), s = !0, i = () => (s && (s = !1, a = /** @type {V} */
|
|
2265
|
+
r), a), o;
|
|
2266
|
+
o = /** @type {V} */
|
|
2267
|
+
e[t], o === void 0 && r !== void 0 && (o = i());
|
|
2268
|
+
var f;
|
|
2269
|
+
return f = () => {
|
|
2270
|
+
var c = (
|
|
2271
|
+
/** @type {V} */
|
|
2272
|
+
e[t]
|
|
2273
|
+
);
|
|
2274
|
+
return c === void 0 ? i() : (s = !0, c);
|
|
2275
|
+
}, f;
|
|
2276
|
+
}
|
|
2277
|
+
function Of(e) {
|
|
2278
|
+
He === null && li(), Ys(() => {
|
|
2279
|
+
const t = Yn(e);
|
|
2280
|
+
if (typeof t == "function") return (
|
|
2281
|
+
/** @type {() => void} */
|
|
2282
|
+
t
|
|
2283
|
+
);
|
|
2284
|
+
});
|
|
2285
|
+
}
|
|
2286
|
+
const xf = "5";
|
|
2287
|
+
var As;
|
|
2288
|
+
typeof window < "u" && ((As = window.__svelte ?? (window.__svelte = {})).v ?? (As.v = /* @__PURE__ */ new Set())).add(xf);
|
|
2289
|
+
const cr = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='Layer_2'%20data-name='Layer%202'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20173.87%20152.3'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23111;%20}%20.cls-2%20{%20fill:%20%23fff;%20}%20.cls-3%20{%20fill:%20none;%20}%20.cls-4%20{%20clip-path:%20url(%23clippath-1);%20}%20.cls-5%20{%20clip-path:%20url(%23clippath);%20}%20%3c/style%3e%3cclipPath%20id='clippath'%3e%3crect%20class='cls-3'%20x='0'%20y='54.59'%20width='173.87'%20height='97.72'%20rx='47.19'%20ry='47.19'/%3e%3c/clipPath%3e%3cclipPath%20id='clippath-1'%3e%3crect%20class='cls-3'%20x='-5'%20y='49.59'%20width='183.87'%20height='107.72'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20id='Layer_1-2'%20data-name='Layer%201'%3e%3cg%3e%3cpath%20class='cls-1'%20d='M86.32,75.45l-3.05-3.05c2.34-2.33,4.25-4.94,5.7-7.75,9.07-17.63-2.58-38.84-5.01-42.91l3.71-2.21c2.63,4.42,15.25,27.44,5.14,47.09-1.65,3.21-3.83,6.18-6.48,8.83Z'/%3e%3cg%20class='cls-5'%3e%3cg%20class='cls-4'%3e%3cimage%20width='384'%20height='226'%20transform='translate(-5.17%2049.29)%20scale(.48)'%20xlink:href='data:image/png;base64,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'/%3e%3c/g%3e%3c/g%3e%3crect%20class='cls-1'%20x='0'%20y='61.14'%20width='161.38'%20height='84.6'%20rx='41.78'%20ry='41.78'%20transform='translate(161.38%20206.89)%20rotate(180)'/%3e%3ccircle%20class='cls-2'%20cx='36.34'%20cy='103.43'%20r='19.45'/%3e%3ccircle%20class='cls-2'%20cx='115.49'%20cy='103.43'%20r='19.45'/%3e%3crect%20class='cls-1'%20x='69'%20y='0'%20width='28.42'%20height='28.42'%20rx='14.21'%20ry='14.21'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e", Oe = {
|
|
2290
|
+
70: "#141414",
|
|
2291
|
+
60: "#4B4B4B",
|
|
2292
|
+
50: "#8E8E8E",
|
|
2293
|
+
40: "#CACACA",
|
|
2294
|
+
10: "#F5F5F5",
|
|
2295
|
+
5: "#FAFAFA"
|
|
2296
|
+
}, Je = {
|
|
2297
|
+
surface: "#E9EAF5",
|
|
2298
|
+
surfaceAlt: "#DCE6F6",
|
|
2299
|
+
header: "#C1E1F0",
|
|
2300
|
+
headerAlt: "#BFE2F4",
|
|
2301
|
+
bubble: "#CFD6FC",
|
|
2302
|
+
border: "#C6C3CB",
|
|
2303
|
+
link: "#4D20F5",
|
|
2304
|
+
glow: "#CBD8F5",
|
|
2305
|
+
glowAlt: "#D9D0F6"
|
|
2306
|
+
}, Ef = {
|
|
2307
|
+
sans: [
|
|
2308
|
+
"var(--ot-font-sans)",
|
|
2309
|
+
"Inter",
|
|
2310
|
+
"ui-sans-serif",
|
|
2311
|
+
"system-ui",
|
|
2312
|
+
"-apple-system",
|
|
2313
|
+
"BlinkMacSystemFont",
|
|
2314
|
+
"Segoe UI",
|
|
2315
|
+
"Roboto",
|
|
2316
|
+
"Helvetica Neue",
|
|
2317
|
+
"Arial",
|
|
2318
|
+
"sans-serif"
|
|
2319
|
+
].join(",")
|
|
2320
|
+
}, dr = {
|
|
2321
|
+
xs: "0.75rem",
|
|
2322
|
+
// 12px
|
|
2323
|
+
sm: "0.875rem",
|
|
2324
|
+
// 14px
|
|
2325
|
+
base: "1rem"
|
|
2326
|
+
}, us = {
|
|
2327
|
+
medium: 500,
|
|
2328
|
+
semibold: 600
|
|
2329
|
+
}, Cf = {
|
|
2330
|
+
// 24px
|
|
2331
|
+
body: "1.375rem"
|
|
2332
|
+
}, zf = {
|
|
2333
|
+
1: "0.25rem",
|
|
2334
|
+
// 4px
|
|
2335
|
+
2: "0.5rem",
|
|
2336
|
+
// 8px
|
|
2337
|
+
3: "0.75rem",
|
|
2338
|
+
// 12px
|
|
2339
|
+
4: "1rem",
|
|
2340
|
+
// 16px
|
|
2341
|
+
5: "1.25rem",
|
|
2342
|
+
// 20px
|
|
2343
|
+
6: "1.5rem",
|
|
2344
|
+
// 24px
|
|
2345
|
+
8: "2rem",
|
|
2346
|
+
// 32px
|
|
2347
|
+
10: "2.5rem",
|
|
2348
|
+
// 40px
|
|
2349
|
+
12: "3rem",
|
|
2350
|
+
0.5: "0.125rem",
|
|
2351
|
+
// 2px
|
|
2352
|
+
1.5: "0.375rem",
|
|
2353
|
+
// 6px
|
|
2354
|
+
2.5: "0.625rem",
|
|
2355
|
+
// 10px
|
|
2356
|
+
3.5: "0.875rem"
|
|
2357
|
+
}, cs = {
|
|
2358
|
+
lg: "0 2px 20px 0 rgba(0, 0, 0, 0.04), 0 8px 20px 0 rgba(0, 0, 0, 0.06)",
|
|
2359
|
+
xl: "0 8px 32px 0 rgba(0, 0, 0, 0.08), 0 24px 60px 0 rgba(0, 0, 0, 0.12)"
|
|
2360
|
+
}, mn = {
|
|
2361
|
+
// 6px
|
|
2362
|
+
// Large border radius - for larger containers and modals
|
|
2363
|
+
lg: "0.5rem",
|
|
2364
|
+
// 8px
|
|
2365
|
+
// Extra large border radius - for special UI elements
|
|
2366
|
+
xl: "0.75rem",
|
|
2367
|
+
// 12px
|
|
2368
|
+
// 2XL border radius - for very rounded elements
|
|
2369
|
+
"2xl": "1rem",
|
|
2370
|
+
// 24px
|
|
2371
|
+
// Full border radius - for circular elements
|
|
2372
|
+
full: "9999px"
|
|
2373
|
+
}, Dr = {
|
|
2374
|
+
widget: {
|
|
2375
|
+
welcomeSubtitle: "How can we help?",
|
|
2376
|
+
placeholder: "Ask your question",
|
|
2377
|
+
poweredBy: "Powered by Olotalk",
|
|
2378
|
+
errorGeneric: "Sorry, something went wrong.",
|
|
2379
|
+
errorSession: "Unable to start a session. Please try again.",
|
|
2380
|
+
showSources: "Show sources",
|
|
2381
|
+
hideSources: "Hide sources",
|
|
2382
|
+
source: "Source",
|
|
2383
|
+
attachment: "Attachment",
|
|
2384
|
+
attachLocalFile: "Add local file",
|
|
2385
|
+
attachGoogleDrive: "Add Google Drive file",
|
|
2386
|
+
attachOneDrive: "Add OneDrive file",
|
|
2387
|
+
attachMore: "More",
|
|
2388
|
+
teaserMessages: ["Need help?", "Thank you!"],
|
|
2389
|
+
ariaReset: "Reset",
|
|
2390
|
+
ariaExpand: "Expand",
|
|
2391
|
+
ariaClose: "Close",
|
|
2392
|
+
ariaExitAudio: "Exit audio",
|
|
2393
|
+
ariaAttach: "Attach",
|
|
2394
|
+
ariaMessage: "Message",
|
|
2395
|
+
ariaSend: "Send",
|
|
2396
|
+
ariaAudio: "Audio",
|
|
2397
|
+
ariaOpenChat: "Open chat",
|
|
2398
|
+
ariaTeaser: "Teaser"
|
|
2399
|
+
}
|
|
2400
|
+
}, ds = {
|
|
2401
|
+
widget: {
|
|
2402
|
+
welcomeSubtitle: "Comment pouvons-nous vous aider ?",
|
|
2403
|
+
placeholder: "Posez votre question",
|
|
2404
|
+
poweredBy: "Propulsé par Olotalk",
|
|
2405
|
+
errorGeneric: "Désolé, une erreur s'est produite.",
|
|
2406
|
+
errorSession: "Impossible de démarrer une session. Veuillez réessayer.",
|
|
2407
|
+
showSources: "Afficher les sources",
|
|
2408
|
+
hideSources: "Masquer les sources",
|
|
2409
|
+
source: "Source",
|
|
2410
|
+
attachment: "Pièce jointe",
|
|
2411
|
+
attachLocalFile: "Ajouter un fichier local",
|
|
2412
|
+
attachGoogleDrive: "Ajouter un fichier Google Drive",
|
|
2413
|
+
attachOneDrive: "Ajouter un fichier OneDrive",
|
|
2414
|
+
attachMore: "Plus",
|
|
2415
|
+
teaserMessages: ["Besoin d'aide ?", "Merci !"],
|
|
2416
|
+
ariaReset: "Réinitialiser",
|
|
2417
|
+
ariaExpand: "Agrandir",
|
|
2418
|
+
ariaClose: "Fermer",
|
|
2419
|
+
ariaExitAudio: "Quitter l'audio",
|
|
2420
|
+
ariaAttach: "Joindre",
|
|
2421
|
+
ariaMessage: "Message",
|
|
2422
|
+
ariaSend: "Envoyer",
|
|
2423
|
+
ariaAudio: "Audio",
|
|
2424
|
+
ariaOpenChat: "Ouvrir le chat",
|
|
2425
|
+
ariaTeaser: "Accroche"
|
|
2426
|
+
}
|
|
2427
|
+
}, vs = {
|
|
2428
|
+
en: Dr,
|
|
2429
|
+
fr: ds,
|
|
2430
|
+
"en-CA": Dr,
|
|
2431
|
+
"fr-CA": ds
|
|
2432
|
+
};
|
|
2433
|
+
function Qf(e) {
|
|
2434
|
+
return vs[e] ?? vs.en ?? Dr;
|
|
2435
|
+
}
|
|
2436
|
+
const kf = ["en", "fr", "en-CA", "fr-CA"], Tf = ["en", "fr"];
|
|
2437
|
+
function jf(e) {
|
|
2438
|
+
if (!e) return null;
|
|
2439
|
+
const n = e.trim().replace("_", "-").toLowerCase(), r = kf.find((a) => a.toLowerCase() === n);
|
|
2440
|
+
return r || null;
|
|
2441
|
+
}
|
|
2442
|
+
function Xf(e) {
|
|
2443
|
+
if (!e) return null;
|
|
2444
|
+
const t = e.split(/[-_]/)[0].toLowerCase();
|
|
2445
|
+
return Tf.includes(t) ? t : null;
|
|
2446
|
+
}
|
|
2447
|
+
function Nf() {
|
|
2448
|
+
return typeof navigator > "u" ? null : navigator.language || null;
|
|
2449
|
+
}
|
|
2450
|
+
const gs = "en";
|
|
2451
|
+
function Mf(e) {
|
|
2452
|
+
const t = [
|
|
2453
|
+
e.explicit,
|
|
2454
|
+
e.browser ?? Nf(),
|
|
2455
|
+
e.assistant,
|
|
2456
|
+
e.fallback ?? gs
|
|
2457
|
+
];
|
|
2458
|
+
for (const n of t) {
|
|
2459
|
+
if (!n) continue;
|
|
2460
|
+
const r = jf(n);
|
|
2461
|
+
if (r) return r;
|
|
2462
|
+
const a = Xf(n);
|
|
2463
|
+
if (a === "fr") return "fr";
|
|
2464
|
+
if (a === "en") return "en";
|
|
2465
|
+
}
|
|
2466
|
+
return gs;
|
|
2467
|
+
}
|
|
2468
|
+
var Lf = /* @__PURE__ */ M('<button class="icon-button svelte-gxf5w3"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" class="svelte-gxf5w3"><path d="M6 6l12 12" class="svelte-gxf5w3"></path><path d="M18 6l-12 12" class="svelte-gxf5w3"></path></svg></button>'), Ff = /* @__PURE__ */ M('<div class="audio-body svelte-gxf5w3"><div class="audio-dots svelte-gxf5w3" aria-hidden="true"><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span></div> <button class="audio-close svelte-gxf5w3"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-gxf5w3"><path d="M6 6l12 12" class="svelte-gxf5w3"></path><path d="M18 6l-12 12" class="svelte-gxf5w3"></path></svg></button> <div class="powered svelte-gxf5w3"> </div></div>'), Rf = /* @__PURE__ */ M('<div class="welcome svelte-gxf5w3"><img alt="Olotalk" class="svelte-gxf5w3"/> <div class="svelte-gxf5w3"><h2 class="svelte-gxf5w3"> </h2> <p class="svelte-gxf5w3"> </p></div></div>'), If = /* @__PURE__ */ M('<div class="msg user svelte-gxf5w3"> </div>'), Yf = /* @__PURE__ */ M('<span class="typing svelte-gxf5w3" aria-hidden="true"><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span></span>'), Zf = /* @__PURE__ */ M('<a target="_blank" rel="noreferrer" class="svelte-gxf5w3"> </a>'), Sf = /* @__PURE__ */ M('<div class="svelte-gxf5w3"> </div>'), Gf = /* @__PURE__ */ M('<div class="svelte-gxf5w3"><div class="svelte-gxf5w3"> </div> <!> <!></div>'), Wf = /* @__PURE__ */ M('<div class="citations svelte-gxf5w3"></div>'), qf = /* @__PURE__ */ M('<button class="citations-toggle svelte-gxf5w3"> </button> <!>', 1), Kf = /* @__PURE__ */ M('<div class="msg assistant svelte-gxf5w3"> <!> <!></div>'), Vf = /* @__PURE__ */ M('<div class="typing svelte-gxf5w3" aria-hidden="true"><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span><span class="svelte-gxf5w3"></span></div>'), Jf = /* @__PURE__ */ M('<div class="messages svelte-gxf5w3"><!> <!></div>'), Uf = /* @__PURE__ */ M('<div class="error svelte-gxf5w3"> </div>'), _f = /* @__PURE__ */ M('<button class="file-pill svelte-gxf5w3"><span class="badge svelte-gxf5w3"> </span> <span class="svelte-gxf5w3"> </span></button>'), $f = /* @__PURE__ */ M('<div class="attachment-strip svelte-gxf5w3"></div>'), el = /* @__PURE__ */ M('<div class="image-preview svelte-gxf5w3" aria-hidden="true"></div>'), tl = /* @__PURE__ */ M('<button class="action-button svelte-gxf5w3"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.8" class="svelte-gxf5w3"><path d="M4 12l16-8-6 16-2-6-6-2z" class="svelte-gxf5w3"></path></svg></button>'), nl = /* @__PURE__ */ M('<button class="action-button idle svelte-gxf5w3"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" class="svelte-gxf5w3"><path d="M5 12h2" class="svelte-gxf5w3"></path><path d="M9 8v8" class="svelte-gxf5w3"></path><path d="M13 6v12" class="svelte-gxf5w3"></path><path d="M17 9v6" class="svelte-gxf5w3"></path><path d="M21 12h-2" class="svelte-gxf5w3"></path></svg></button>'), rl = /* @__PURE__ */ M('<div class="attach-menu svelte-gxf5w3" role="menu"><button class="svelte-gxf5w3"> </button> <button class="svelte-gxf5w3"> </button> <button class="svelte-gxf5w3"> </button> <button class="svelte-gxf5w3"> <span aria-hidden="true" class="svelte-gxf5w3">›</span></button></div>'), sl = /* @__PURE__ */ M('<div class="attach-submenu svelte-gxf5w3" role="menu"><button class="svelte-gxf5w3"> </button> <button class="svelte-gxf5w3"> </button> <button class="svelte-gxf5w3"> </button></div>'), al = /* @__PURE__ */ M('<div class="content svelte-gxf5w3"><!> <!></div> <div class="composer svelte-gxf5w3"><!> <!> <div class="composer-row svelte-gxf5w3"><button class="mini-button svelte-gxf5w3">+</button> <textarea rows="1" class="svelte-gxf5w3"></textarea> <!></div></div> <!> <!> <div class="powered svelte-gxf5w3"> </div>', 1), il = /* @__PURE__ */ M('<div role="dialog" aria-modal="true" aria-labelledby="olotalk-title"><div class="header svelte-gxf5w3"><div class="brand svelte-gxf5w3"><img alt="Olotalk" class="svelte-gxf5w3"/> <span id="olotalk-title" class="svelte-gxf5w3"> </span></div> <div class="actions svelte-gxf5w3"><button class="icon-button svelte-gxf5w3"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.6" class="svelte-gxf5w3"><path d="M20 12a8 8 0 1 1-2.3-5.7" class="svelte-gxf5w3"></path><path d="M20 5v5h-5" class="svelte-gxf5w3"></path></svg></button> <button class="icon-button svelte-gxf5w3"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" class="svelte-gxf5w3"><path d="M8 4h-4v4" class="svelte-gxf5w3"></path><path d="M16 20h4v-4" class="svelte-gxf5w3"></path><path d="M4 8l5-5" class="svelte-gxf5w3"></path><path d="M20 16l-5 5" class="svelte-gxf5w3"></path></svg></button> <!></div></div> <!></div>'), fl = /* @__PURE__ */ M('<span class="unread-dot svelte-gxf5w3"></span>'), ll = /* @__PURE__ */ M("<div> </div>"), ol = /* @__PURE__ */ M('<button aria-haspopup="dialog"><img alt="Olotalk" class="svelte-gxf5w3"/> <!></button> <!>', 1), ul = /* @__PURE__ */ M("<div><!> <!></div>");
|
|
2469
|
+
function cl(e, t) {
|
|
2470
|
+
var Fr, Rr;
|
|
2471
|
+
ys(t, !0);
|
|
2472
|
+
const n = os(t, "theme", 3, "light"), r = os(t, "embedded", 3, !1), a = Mf({
|
|
2473
|
+
explicit: t.locale,
|
|
2474
|
+
browser: typeof navigator < "u" ? navigator.language : void 0,
|
|
2475
|
+
assistant: (Rr = (Fr = t.config) == null ? void 0 : Fr.i18n) == null ? void 0 : Rr.defaultLocale,
|
|
2476
|
+
fallback: "en"
|
|
2477
|
+
}), s = Qf(a);
|
|
2478
|
+
let i = 0;
|
|
2479
|
+
const o = () => `msg-${++i}`;
|
|
2480
|
+
let f = /* @__PURE__ */ L($e(r())), c = /* @__PURE__ */ L(!1), w = /* @__PURE__ */ L("chat"), g = n(), v = /* @__PURE__ */ L(""), A = /* @__PURE__ */ L(!1), h = /* @__PURE__ */ L(!1), b = /* @__PURE__ */ L($e([])), B = /* @__PURE__ */ L($e([])), T = /* @__PURE__ */ L(!1), F = /* @__PURE__ */ L(null), I = /* @__PURE__ */ L(!1), S = /* @__PURE__ */ L(null), K = /* @__PURE__ */ L(null), E = /* @__PURE__ */ L(!1), j = /* @__PURE__ */ L(0), ue = /* @__PURE__ */ L(0), We = null, st = null, qe = null, pe = null, Tt = /* @__PURE__ */ L(null);
|
|
2481
|
+
const te = zf;
|
|
2482
|
+
let ne = /* @__PURE__ */ Pt(() => typeof g == "string" ? g === "dark" : g.mode === "dark");
|
|
2483
|
+
const at = /* @__PURE__ */ Pt(() => {
|
|
2484
|
+
var d;
|
|
2485
|
+
return ((d = t.config) == null ? void 0 : d.theme) || {};
|
|
2486
|
+
}), Zn = /* @__PURE__ */ Pt(() => {
|
|
2487
|
+
const d = l(ne) ? Oe[70] : Je.surface, P = l(ne) ? Oe[60] : Je.surfaceAlt, D = l(ne) ? Oe[60] : Je.header, m = l(ne) ? Oe[50] : Je.headerAlt, Y = l(ne) ? Oe[60] : Je.bubble, G = l(ne) ? Oe[60] : Je.border, V = l(at).textColor || (l(ne) ? Oe[10] : Oe[70]), ft = l(ne) ? Oe[40] : Oe[50], $ = l(ne) ? Oe[70] : Oe[5], ce = l(at).primaryColor || Je.link, tn = l(at).fontFamily || Ef.sans, Jn = l(at).borderRadius || mn["2xl"], Un = {
|
|
2488
|
+
"--otw-surface": d,
|
|
2489
|
+
"--otw-surface-alt": P,
|
|
2490
|
+
"--otw-header": D,
|
|
2491
|
+
"--otw-header-alt": m,
|
|
2492
|
+
"--otw-bubble": Y,
|
|
2493
|
+
"--otw-border": G,
|
|
2494
|
+
"--otw-link": ce,
|
|
2495
|
+
"--otw-glow": Je.glow,
|
|
2496
|
+
"--otw-glow-alt": Je.glowAlt,
|
|
2497
|
+
"--otw-text": V,
|
|
2498
|
+
"--otw-muted": ft,
|
|
2499
|
+
"--otw-white": $,
|
|
2500
|
+
"--otw-font-sans": tn,
|
|
2501
|
+
"--otw-font-size-xs": dr.xs,
|
|
2502
|
+
"--otw-font-size-sm": dr.sm,
|
|
2503
|
+
"--otw-font-size-base": dr.base,
|
|
2504
|
+
"--otw-font-weight-medium": String(us.medium),
|
|
2505
|
+
"--otw-font-weight-semibold": String(us.semibold),
|
|
2506
|
+
"--otw-line-height-body": Cf.body,
|
|
2507
|
+
"--otw-radius-lg": Jn,
|
|
2508
|
+
"--otw-radius-md": mn.xl,
|
|
2509
|
+
"--otw-radius-sm": mn.lg,
|
|
2510
|
+
"--otw-radius-pill": mn.full,
|
|
2511
|
+
"--otw-shadow-panel": cs.xl,
|
|
2512
|
+
"--otw-shadow-soft": cs.lg,
|
|
2513
|
+
"--otw-space-0-5": te["0.5"],
|
|
2514
|
+
"--otw-space-1": te[1],
|
|
2515
|
+
"--otw-space-1-5": te["1.5"],
|
|
2516
|
+
"--otw-space-2": te[2],
|
|
2517
|
+
"--otw-space-2-5": te["2.5"],
|
|
2518
|
+
"--otw-space-3": te[3],
|
|
2519
|
+
"--otw-space-3-5": te["3.5"],
|
|
2520
|
+
"--otw-space-4": te[4],
|
|
2521
|
+
"--otw-space-5": te[5],
|
|
2522
|
+
"--otw-space-6": te[6],
|
|
2523
|
+
"--otw-space-8": te[8],
|
|
2524
|
+
"--otw-space-10": te[10],
|
|
2525
|
+
"--otw-space-12": te[12]
|
|
2526
|
+
};
|
|
2527
|
+
return Object.entries(Un).map(([_n, $n]) => `${_n}: ${$n};`).join(" ");
|
|
2528
|
+
}), Sn = /* @__PURE__ */ Pt(() => {
|
|
2529
|
+
var d, P;
|
|
2530
|
+
return ((P = (d = t.config) == null ? void 0 : d.launcher) == null ? void 0 : P.logoUrl) || cr;
|
|
2531
|
+
});
|
|
2532
|
+
let it = /* @__PURE__ */ L($e(cr));
|
|
2533
|
+
const jt = /* @__PURE__ */ Pt(() => {
|
|
2534
|
+
var d, P;
|
|
2535
|
+
return ((P = (d = t.config) == null ? void 0 : d.launcher) == null ? void 0 : P.position) || "bottom-right";
|
|
2536
|
+
});
|
|
2537
|
+
Ys(() => {
|
|
2538
|
+
p(it, l(Sn), !0);
|
|
2539
|
+
});
|
|
2540
|
+
function Xt() {
|
|
2541
|
+
p(it, cr, !0);
|
|
2542
|
+
}
|
|
2543
|
+
const we = /* @__PURE__ */ Pt(() => {
|
|
2544
|
+
var m, Y;
|
|
2545
|
+
const d = {
|
|
2546
|
+
enabled: !0,
|
|
2547
|
+
messages: s.widget.teaserMessages,
|
|
2548
|
+
delayMs: 1500,
|
|
2549
|
+
durationMs: 8e3,
|
|
2550
|
+
cooldownMs: 6e4,
|
|
2551
|
+
maxShowsPerSession: 1
|
|
2552
|
+
}, P = ((Y = (m = t.config) == null ? void 0 : m.launcher) == null ? void 0 : Y.teaser) || {}, D = Array.isArray(P.messages) && P.messages.length > 0 ? P.messages : d.messages;
|
|
2553
|
+
return { ...d, ...P, messages: D };
|
|
2554
|
+
}), wn = /* @__PURE__ */ Pt(() => l(v).trim().length > 0 || l(b).length > 0);
|
|
2555
|
+
function jr() {
|
|
2556
|
+
var d;
|
|
2557
|
+
l(f) || (p(f, !0), p(I, !1), (d = t.onOpen) == null || d.call(t), Xr(), queueMicrotask(() => {
|
|
2558
|
+
var P;
|
|
2559
|
+
return (P = l(Tt)) == null ? void 0 : P.focus();
|
|
2560
|
+
}), qn().then(() => Kn()));
|
|
2561
|
+
}
|
|
2562
|
+
function hn() {
|
|
2563
|
+
var d;
|
|
2564
|
+
l(f) && !r() && (p(f, !1), (d = t.onClose) == null || d.call(t), Gn());
|
|
2565
|
+
}
|
|
2566
|
+
function ia(d) {
|
|
2567
|
+
g = d;
|
|
2568
|
+
}
|
|
2569
|
+
function fa() {
|
|
2570
|
+
r() || (l(f) ? hn() : jr());
|
|
2571
|
+
}
|
|
2572
|
+
function la() {
|
|
2573
|
+
r() || p(c, !l(c));
|
|
2574
|
+
}
|
|
2575
|
+
function oa() {
|
|
2576
|
+
p(A, !l(A)), l(A) || p(h, !1);
|
|
2577
|
+
}
|
|
2578
|
+
function Nt(d) {
|
|
2579
|
+
const P = d === "img" ? "IMG" : d === "pdf" ? "PDF" : "DOC";
|
|
2580
|
+
p(
|
|
2581
|
+
b,
|
|
2582
|
+
[
|
|
2583
|
+
...l(b),
|
|
2584
|
+
{
|
|
2585
|
+
id: `att-${Date.now()}-${l(b).length}`,
|
|
2586
|
+
label: P,
|
|
2587
|
+
type: d
|
|
2588
|
+
}
|
|
2589
|
+
],
|
|
2590
|
+
!0
|
|
2591
|
+
), p(A, !1), p(h, !1), p(c, !1);
|
|
2592
|
+
}
|
|
2593
|
+
function ua(d) {
|
|
2594
|
+
p(b, l(b).filter((P) => P.id !== d), !0);
|
|
2595
|
+
}
|
|
2596
|
+
function ca() {
|
|
2597
|
+
p(w, "audio"), p(A, !1), p(h, !1);
|
|
2598
|
+
}
|
|
2599
|
+
function da() {
|
|
2600
|
+
p(w, "chat");
|
|
2601
|
+
}
|
|
2602
|
+
function va() {
|
|
2603
|
+
p(B, [], !0), p(b, [], !0), p(v, ""), p(w, "chat"), p(A, !1), p(h, !1), p(F, null);
|
|
2604
|
+
}
|
|
2605
|
+
function Gn() {
|
|
2606
|
+
r() || l(f) || l(we).enabled && (l(ue) >= l(we).maxShowsPerSession || (Wn(), We = window.setTimeout(
|
|
2607
|
+
() => {
|
|
2608
|
+
ga();
|
|
2609
|
+
},
|
|
2610
|
+
l(we).delayMs
|
|
2611
|
+
)));
|
|
2612
|
+
}
|
|
2613
|
+
function ga() {
|
|
2614
|
+
l(f) || r() || (p(E, !0), p(ue, l(ue) + 1), sessionStorage.setItem(`olotalk-teaser-${t.widgetId}`, String(l(ue))), l(we).messages.length > 1 && (pe = window.setInterval(
|
|
2615
|
+
() => {
|
|
2616
|
+
p(j, (l(j) + 1) % l(we).messages.length);
|
|
2617
|
+
},
|
|
2618
|
+
Math.max(2500, l(we).durationMs / l(we).messages.length)
|
|
2619
|
+
)), st = window.setTimeout(
|
|
2620
|
+
() => {
|
|
2621
|
+
Xr(), qe = window.setTimeout(
|
|
2622
|
+
() => {
|
|
2623
|
+
Gn();
|
|
2624
|
+
},
|
|
2625
|
+
l(we).cooldownMs
|
|
2626
|
+
);
|
|
2627
|
+
},
|
|
2628
|
+
l(we).durationMs
|
|
2629
|
+
));
|
|
2630
|
+
}
|
|
2631
|
+
function Xr() {
|
|
2632
|
+
p(E, !1), Wn();
|
|
2633
|
+
}
|
|
2634
|
+
function Wn() {
|
|
2635
|
+
We && window.clearTimeout(We), st && window.clearTimeout(st), qe && window.clearTimeout(qe), pe && window.clearInterval(pe), We = null, st = null, qe = null, pe = null;
|
|
2636
|
+
}
|
|
2637
|
+
async function qn() {
|
|
2638
|
+
if (!l(S))
|
|
2639
|
+
try {
|
|
2640
|
+
const d = await fetch(`${t.origin}/public/v1/widgets/${t.widgetId}/sessions`, {
|
|
2641
|
+
method: "POST",
|
|
2642
|
+
headers: { "Content-Type": "application/json" },
|
|
2643
|
+
body: JSON.stringify({ pageUrl: window.location.href })
|
|
2644
|
+
});
|
|
2645
|
+
if (!d.ok) throw new Error("Session failed");
|
|
2646
|
+
const P = await d.json();
|
|
2647
|
+
p(S, P.sessionId, !0);
|
|
2648
|
+
} catch (d) {
|
|
2649
|
+
console.error("[Olotalk] session error", d);
|
|
2650
|
+
}
|
|
2651
|
+
}
|
|
2652
|
+
async function Kn() {
|
|
2653
|
+
var D, m;
|
|
2654
|
+
if (!((m = (D = t.config) == null ? void 0 : D.features) != null && m.domRagEnabled) || !l(S)) return;
|
|
2655
|
+
const { text: d, hash: P } = await Aa();
|
|
2656
|
+
if (!(!d || P === l(K))) {
|
|
2657
|
+
p(K, P, !0);
|
|
2658
|
+
try {
|
|
2659
|
+
await fetch(`${t.origin}/public/v1/widgets/${t.widgetId}/sessions/${l(S)}/page-context`, {
|
|
2660
|
+
method: "POST",
|
|
2661
|
+
headers: { "Content-Type": "application/json" },
|
|
2662
|
+
body: JSON.stringify({
|
|
2663
|
+
pageUrl: window.location.href,
|
|
2664
|
+
title: document.title,
|
|
2665
|
+
contentHash: P,
|
|
2666
|
+
content: d
|
|
2667
|
+
})
|
|
2668
|
+
});
|
|
2669
|
+
} catch (Y) {
|
|
2670
|
+
console.error("[Olotalk] context error", Y);
|
|
2671
|
+
}
|
|
2672
|
+
}
|
|
2673
|
+
}
|
|
2674
|
+
async function Aa() {
|
|
2675
|
+
var G;
|
|
2676
|
+
const d = [
|
|
2677
|
+
"h1",
|
|
2678
|
+
"h2",
|
|
2679
|
+
"h3",
|
|
2680
|
+
"h4",
|
|
2681
|
+
"h5",
|
|
2682
|
+
"h6",
|
|
2683
|
+
"p",
|
|
2684
|
+
"li",
|
|
2685
|
+
"table",
|
|
2686
|
+
"article",
|
|
2687
|
+
"main",
|
|
2688
|
+
"section"
|
|
2689
|
+
].join(","), P = Array.from(document.querySelectorAll(d)), D = [];
|
|
2690
|
+
for (const V of P) {
|
|
2691
|
+
if (V.closest("[data-no-olotalk]") || V.tagName === "SCRIPT" || V.tagName === "STYLE" || V.type === "password") continue;
|
|
2692
|
+
const $ = window.getComputedStyle(V);
|
|
2693
|
+
if ($.display === "none" || $.visibility === "hidden") continue;
|
|
2694
|
+
const ce = (G = V.innerText) == null ? void 0 : G.trim();
|
|
2695
|
+
if (ce && (D.push(ce), D.join(`
|
|
2696
|
+
|
|
2697
|
+
`).length > 8e4))
|
|
2698
|
+
break;
|
|
2699
|
+
}
|
|
2700
|
+
const m = D.join(`
|
|
2701
|
+
|
|
2702
|
+
`).slice(0, 8e4), Y = await wa(m);
|
|
2703
|
+
return { text: m, hash: Y };
|
|
2704
|
+
}
|
|
2705
|
+
async function wa(d) {
|
|
2706
|
+
const D = new TextEncoder().encode(d);
|
|
2707
|
+
try {
|
|
2708
|
+
const m = await crypto.subtle.digest("SHA-256", D);
|
|
2709
|
+
return Array.from(new Uint8Array(m)).map((G) => G.toString(16).padStart(2, "0")).join("");
|
|
2710
|
+
} catch {
|
|
2711
|
+
return `${d.length}`;
|
|
2712
|
+
}
|
|
2713
|
+
}
|
|
2714
|
+
async function Nr() {
|
|
2715
|
+
var D;
|
|
2716
|
+
const d = l(v).trim();
|
|
2717
|
+
if (!d && l(b).length === 0) return;
|
|
2718
|
+
if (l(S) || await qn(), !l(S)) {
|
|
2719
|
+
p(F, s.widget.errorSession, !0);
|
|
2720
|
+
return;
|
|
2721
|
+
}
|
|
2722
|
+
await Kn();
|
|
2723
|
+
const P = o();
|
|
2724
|
+
p(B, [...l(B), { id: P, role: "user", text: d }], !0), (D = t.onSend) == null || D.call(t, { text: d }), p(v, ""), p(b, [], !0), p(F, null), await ha(d);
|
|
2725
|
+
}
|
|
2726
|
+
async function ha(d) {
|
|
2727
|
+
var D, m;
|
|
2728
|
+
if (!l(S)) return;
|
|
2729
|
+
p(T, !0);
|
|
2730
|
+
const P = Pa();
|
|
2731
|
+
(m = (D = t.config) == null ? void 0 : D.features) != null && m.streamingEnabled ? await Ba(d, P) : await pa(d, P), p(T, !1);
|
|
2732
|
+
}
|
|
2733
|
+
function Pa() {
|
|
2734
|
+
var D, m, Y, G;
|
|
2735
|
+
const d = (m = (D = t.config) == null ? void 0 : D.features) == null ? void 0 : m.domRagEnabled, P = (G = (Y = t.config) == null ? void 0 : Y.features) == null ? void 0 : G.siteRagEnabled;
|
|
2736
|
+
return d && P ? "hybrid" : P ? "site_only" : "page_only";
|
|
2737
|
+
}
|
|
2738
|
+
async function pa(d, P) {
|
|
2739
|
+
try {
|
|
2740
|
+
const D = await fetch(`${t.origin}/public/v1/widgets/${t.widgetId}/sessions/${l(S)}/ask`, {
|
|
2741
|
+
method: "POST",
|
|
2742
|
+
headers: { "Content-Type": "application/json" },
|
|
2743
|
+
body: JSON.stringify({ message: d, contextMode: P, pageUrl: window.location.href })
|
|
2744
|
+
});
|
|
2745
|
+
if (!D.ok) throw new Error("Ask failed");
|
|
2746
|
+
const m = await D.json();
|
|
2747
|
+
p(
|
|
2748
|
+
B,
|
|
2749
|
+
[
|
|
2750
|
+
...l(B),
|
|
2751
|
+
{
|
|
2752
|
+
id: o(),
|
|
2753
|
+
role: "assistant",
|
|
2754
|
+
text: m.answer || "",
|
|
2755
|
+
citations: m.citations || []
|
|
2756
|
+
}
|
|
2757
|
+
],
|
|
2758
|
+
!0
|
|
2759
|
+
), l(f) || p(I, !0);
|
|
2760
|
+
} catch (D) {
|
|
2761
|
+
console.error("[Olotalk] ask error", D), p(F, s.widget.errorGeneric, !0);
|
|
2762
|
+
}
|
|
2763
|
+
}
|
|
2764
|
+
async function Ba(d, P) {
|
|
2765
|
+
const D = o();
|
|
2766
|
+
p(
|
|
2767
|
+
B,
|
|
2768
|
+
[
|
|
2769
|
+
...l(B),
|
|
2770
|
+
{ id: D, role: "assistant", text: "", pending: !0 }
|
|
2771
|
+
],
|
|
2772
|
+
!0
|
|
2773
|
+
);
|
|
2774
|
+
try {
|
|
2775
|
+
const m = await fetch(`${t.origin}/public/v1/widgets/${t.widgetId}/sessions/${l(S)}/ask`, {
|
|
2776
|
+
method: "POST",
|
|
2777
|
+
headers: {
|
|
2778
|
+
"Content-Type": "application/json",
|
|
2779
|
+
Accept: "text/event-stream"
|
|
2780
|
+
},
|
|
2781
|
+
body: JSON.stringify({
|
|
2782
|
+
message: d,
|
|
2783
|
+
contextMode: P,
|
|
2784
|
+
pageUrl: window.location.href,
|
|
2785
|
+
stream: !0
|
|
2786
|
+
})
|
|
2787
|
+
});
|
|
2788
|
+
if (!m.ok || !m.body) throw new Error("Stream failed");
|
|
2789
|
+
const Y = m.body.getReader(), G = new TextDecoder();
|
|
2790
|
+
let V = "";
|
|
2791
|
+
for (; ; ) {
|
|
2792
|
+
const { value: ft, done: $ } = await Y.read();
|
|
2793
|
+
if ($) break;
|
|
2794
|
+
V += G.decode(ft, { stream: !0 }), V = ba(V, D);
|
|
2795
|
+
}
|
|
2796
|
+
} catch (m) {
|
|
2797
|
+
console.error("[Olotalk] stream error", m), p(F, s.widget.errorGeneric, !0);
|
|
2798
|
+
} finally {
|
|
2799
|
+
p(B, l(B).map((m) => m.id === D ? { ...m, pending: !1 } : m), !0), l(f) || p(I, !0);
|
|
2800
|
+
}
|
|
2801
|
+
}
|
|
2802
|
+
function ba(d, P) {
|
|
2803
|
+
d = d.replace(/\r\n/g, `
|
|
2804
|
+
`);
|
|
2805
|
+
let D = d.indexOf(`
|
|
2806
|
+
|
|
2807
|
+
`);
|
|
2808
|
+
for (; D !== -1; ) {
|
|
2809
|
+
const m = d.slice(0, D).trim();
|
|
2810
|
+
if (d = d.slice(D + 2), m.startsWith("data:")) {
|
|
2811
|
+
const Y = m.replace(/^data:\s*/, "");
|
|
2812
|
+
if (Y === "[DONE]") break;
|
|
2813
|
+
try {
|
|
2814
|
+
const G = JSON.parse(Y);
|
|
2815
|
+
G.type === "token" && Mr(P, G.delta || ""), G.type === "done" && G.citations && p(B, l(B).map((V) => V.id === P ? { ...V, citations: G.citations } : V), !0);
|
|
2816
|
+
} catch {
|
|
2817
|
+
Mr(P, Y);
|
|
2818
|
+
}
|
|
2819
|
+
}
|
|
2820
|
+
D = d.indexOf(`
|
|
2821
|
+
|
|
2822
|
+
`);
|
|
2823
|
+
}
|
|
2824
|
+
return d;
|
|
2825
|
+
}
|
|
2826
|
+
function Mr(d, P) {
|
|
2827
|
+
p(B, l(B).map((D) => D.id === d ? { ...D, text: D.text + P } : D), !0);
|
|
2828
|
+
}
|
|
2829
|
+
function Da(d) {
|
|
2830
|
+
p(B, l(B).map((P) => P.id === d ? { ...P, showCitations: !P.showCitations } : P), !0);
|
|
2831
|
+
}
|
|
2832
|
+
function Vn(d) {
|
|
2833
|
+
d.key === "Enter" && !d.shiftKey && (d.preventDefault(), Nr()), d.key === "Escape" && l(f) && !r() && (d.preventDefault(), hn());
|
|
2834
|
+
}
|
|
2835
|
+
Of(() => {
|
|
2836
|
+
var P;
|
|
2837
|
+
(P = t.onReady) == null || P.call(t, { widgetId: t.widgetId }), window.addEventListener("keydown", Vn);
|
|
2838
|
+
const d = sessionStorage.getItem(`olotalk-teaser-${t.widgetId}`);
|
|
2839
|
+
return p(ue, d ? Number(d) : 0, !0), r() && qn().then(() => Kn()), Gn(), () => {
|
|
2840
|
+
window.removeEventListener("keydown", Vn), Wn();
|
|
2841
|
+
};
|
|
2842
|
+
});
|
|
2843
|
+
var ya = { openWidget: jr, closeWidget: hn, setTheme: ia }, Pn = ul(), Lr = H(Pn);
|
|
2844
|
+
{
|
|
2845
|
+
var ma = (d) => {
|
|
2846
|
+
var P = il(), D = H(P), m = H(D), Y = H(m), G = C(Y, 2), V = H(G), ft = C(m, 2), $ = H(ft);
|
|
2847
|
+
$.__click = va;
|
|
2848
|
+
var ce = C($, 2);
|
|
2849
|
+
ce.__click = la;
|
|
2850
|
+
var tn = C(ce, 2);
|
|
2851
|
+
{
|
|
2852
|
+
var Jn = (Be) => {
|
|
2853
|
+
var Ke = Lf();
|
|
2854
|
+
Ke.__click = hn, U(() => de(Ke, "aria-label", s.widget.ariaClose)), X(Be, Ke);
|
|
2855
|
+
};
|
|
2856
|
+
_(tn, (Be) => {
|
|
2857
|
+
r() || Be(Jn);
|
|
2858
|
+
});
|
|
2859
|
+
}
|
|
2860
|
+
var Un = C(D, 2);
|
|
2861
|
+
{
|
|
2862
|
+
var _n = (Be) => {
|
|
2863
|
+
var Ke = Ff(), Mt = C(H(Ke), 2);
|
|
2864
|
+
Mt.__click = da;
|
|
2865
|
+
var pn = C(Mt, 2), er = H(pn);
|
|
2866
|
+
U(() => {
|
|
2867
|
+
de(Mt, "aria-label", s.widget.ariaExitAudio), Z(er, s.widget.poweredBy);
|
|
2868
|
+
}), X(Be, Ke);
|
|
2869
|
+
}, $n = (Be) => {
|
|
2870
|
+
var Ke = al(), Mt = Dn(Ke), pn = H(Mt);
|
|
2871
|
+
{
|
|
2872
|
+
var er = (O) => {
|
|
2873
|
+
var Q = Rf(), J = H(Q), Xe = C(J, 2), re = H(Xe), se = H(re), R = C(re, 2), Ne = H(R);
|
|
2874
|
+
U(() => {
|
|
2875
|
+
var Ve;
|
|
2876
|
+
de(J, "src", l(it)), Z(se, ((Ve = t.config) == null ? void 0 : Ve.welcomeMessage) || "Hello"), Z(Ne, s.widget.welcomeSubtitle);
|
|
2877
|
+
}), ir("error", J, Xt), X(O, Q);
|
|
2878
|
+
}, xa = (O) => {
|
|
2879
|
+
var Q = Jf(), J = H(Q);
|
|
2880
|
+
fr(J, 17, () => l(B), (se) => se.id, (se, R) => {
|
|
2881
|
+
var Ne = of(), Ve = Dn(Ne);
|
|
2882
|
+
{
|
|
2883
|
+
var nr = (Lt) => {
|
|
2884
|
+
var nn = If(), Bn = H(nn);
|
|
2885
|
+
U(() => Z(Bn, l(R).text)), X(Lt, nn);
|
|
2886
|
+
}, Ra = (Lt) => {
|
|
2887
|
+
var nn = Kf(), Bn = H(nn), Wr = C(Bn);
|
|
2888
|
+
{
|
|
2889
|
+
var Ia = (gt) => {
|
|
2890
|
+
var At = Yf();
|
|
2891
|
+
X(gt, At);
|
|
2892
|
+
};
|
|
2893
|
+
_(Wr, (gt) => {
|
|
2894
|
+
l(R).pending && gt(Ia);
|
|
2895
|
+
});
|
|
2896
|
+
}
|
|
2897
|
+
var Ya = C(Wr, 2);
|
|
2898
|
+
{
|
|
2899
|
+
var Za = (gt) => {
|
|
2900
|
+
var At = qf(), Ft = Dn(At);
|
|
2901
|
+
Ft.__click = () => Da(l(R).id);
|
|
2902
|
+
var Sa = H(Ft), Ga = C(Ft, 2);
|
|
2903
|
+
{
|
|
2904
|
+
var Wa = (rr) => {
|
|
2905
|
+
var qr = Wf();
|
|
2906
|
+
fr(qr, 21, () => l(R).citations, gf, (qa, wt) => {
|
|
2907
|
+
var Kr = Gf(), Vr = H(Kr), Ka = H(Vr), Jr = C(Vr, 2);
|
|
2908
|
+
{
|
|
2909
|
+
var Va = (ht) => {
|
|
2910
|
+
var Rt = Zf(), sr = H(Rt);
|
|
2911
|
+
U(() => {
|
|
2912
|
+
de(Rt, "href", l(wt).url), Z(sr, l(wt).url);
|
|
2913
|
+
}), X(ht, Rt);
|
|
2914
|
+
};
|
|
2915
|
+
_(Jr, (ht) => {
|
|
2916
|
+
l(wt).url && ht(Va);
|
|
2917
|
+
});
|
|
2918
|
+
}
|
|
2919
|
+
var Ja = C(Jr, 2);
|
|
2920
|
+
{
|
|
2921
|
+
var Ua = (ht) => {
|
|
2922
|
+
var Rt = Sf(), sr = H(Rt);
|
|
2923
|
+
U(() => Z(sr, l(wt).snippet)), X(ht, Rt);
|
|
2924
|
+
};
|
|
2925
|
+
_(Ja, (ht) => {
|
|
2926
|
+
l(wt).snippet && ht(Ua);
|
|
2927
|
+
});
|
|
2928
|
+
}
|
|
2929
|
+
U(() => Z(Ka, l(wt).title || l(wt).url || s.widget.source)), X(qa, Kr);
|
|
2930
|
+
}), X(rr, qr);
|
|
2931
|
+
};
|
|
2932
|
+
_(Ga, (rr) => {
|
|
2933
|
+
l(R).showCitations && rr(Wa);
|
|
2934
|
+
});
|
|
2935
|
+
}
|
|
2936
|
+
U(() => Z(Sa, l(R).showCitations ? s.widget.hideSources : s.widget.showSources)), X(gt, At);
|
|
2937
|
+
};
|
|
2938
|
+
_(Ya, (gt) => {
|
|
2939
|
+
var At, Ft;
|
|
2940
|
+
l(R).citations && l(R).citations.length > 0 && ((Ft = (At = t.config) == null ? void 0 : At.features) != null && Ft.citationsEnabled) && gt(Za);
|
|
2941
|
+
});
|
|
2942
|
+
}
|
|
2943
|
+
U(() => Z(Bn, `${l(R).text ?? ""} `)), X(Lt, nn);
|
|
2944
|
+
};
|
|
2945
|
+
_(Ve, (Lt) => {
|
|
2946
|
+
l(R).role === "user" ? Lt(nr) : Lt(Ra, !1);
|
|
2947
|
+
});
|
|
2948
|
+
}
|
|
2949
|
+
X(se, Ne);
|
|
2950
|
+
});
|
|
2951
|
+
var Xe = C(J, 2);
|
|
2952
|
+
{
|
|
2953
|
+
var re = (se) => {
|
|
2954
|
+
var R = Vf();
|
|
2955
|
+
X(se, R);
|
|
2956
|
+
};
|
|
2957
|
+
_(Xe, (se) => {
|
|
2958
|
+
l(T) && !l(B).some((R) => R.pending) && se(re);
|
|
2959
|
+
});
|
|
2960
|
+
}
|
|
2961
|
+
X(O, Q);
|
|
2962
|
+
};
|
|
2963
|
+
_(pn, (O) => {
|
|
2964
|
+
l(B).length === 0 ? O(er) : O(xa, !1);
|
|
2965
|
+
});
|
|
2966
|
+
}
|
|
2967
|
+
var Ea = C(pn, 2);
|
|
2968
|
+
{
|
|
2969
|
+
var Ca = (O) => {
|
|
2970
|
+
var Q = Uf(), J = H(Q);
|
|
2971
|
+
U(() => Z(J, l(F))), X(O, Q);
|
|
2972
|
+
};
|
|
2973
|
+
_(Ea, (O) => {
|
|
2974
|
+
l(F) && O(Ca);
|
|
2975
|
+
});
|
|
2976
|
+
}
|
|
2977
|
+
var Ir = C(Mt, 2), Yr = H(Ir);
|
|
2978
|
+
{
|
|
2979
|
+
var za = (O) => {
|
|
2980
|
+
var Q = $f();
|
|
2981
|
+
fr(Q, 21, () => l(b), (J) => J.id, (J, Xe) => {
|
|
2982
|
+
var re = _f();
|
|
2983
|
+
re.__click = () => ua(l(Xe).id);
|
|
2984
|
+
var se = H(re), R = H(se), Ne = C(se, 2), Ve = H(Ne);
|
|
2985
|
+
U(() => {
|
|
2986
|
+
Z(R, l(Xe).label), Z(Ve, s.widget.attachment);
|
|
2987
|
+
}), X(J, re);
|
|
2988
|
+
}), X(O, Q);
|
|
2989
|
+
};
|
|
2990
|
+
_(Yr, (O) => {
|
|
2991
|
+
l(b).length > 0 && O(za);
|
|
2992
|
+
});
|
|
2993
|
+
}
|
|
2994
|
+
var Zr = C(Yr, 2);
|
|
2995
|
+
{
|
|
2996
|
+
var Qa = (O) => {
|
|
2997
|
+
var Q = el();
|
|
2998
|
+
X(O, Q);
|
|
2999
|
+
};
|
|
3000
|
+
_(Zr, (O) => {
|
|
3001
|
+
l(b).some((Q) => Q.type === "img") && O(Qa);
|
|
3002
|
+
});
|
|
3003
|
+
}
|
|
3004
|
+
var ka = C(Zr, 2), tr = H(ka);
|
|
3005
|
+
tr.__click = oa;
|
|
3006
|
+
var vt = C(tr, 2);
|
|
3007
|
+
vt.__keydown = Vn, Hf(vt, (O) => p(Tt, O), () => l(Tt));
|
|
3008
|
+
var Ta = C(vt, 2);
|
|
3009
|
+
{
|
|
3010
|
+
var ja = (O) => {
|
|
3011
|
+
var Q = tl();
|
|
3012
|
+
Q.__click = Nr, U(() => {
|
|
3013
|
+
de(Q, "aria-label", s.widget.ariaSend), Q.disabled = l(T);
|
|
3014
|
+
}), X(O, Q);
|
|
3015
|
+
}, Xa = (O) => {
|
|
3016
|
+
var Q = nl();
|
|
3017
|
+
Q.__click = ca, U(() => {
|
|
3018
|
+
de(Q, "aria-label", s.widget.ariaAudio), Q.disabled = l(T);
|
|
3019
|
+
}), X(O, Q);
|
|
3020
|
+
};
|
|
3021
|
+
_(Ta, (O) => {
|
|
3022
|
+
l(wn) ? O(ja) : O(Xa, !1);
|
|
3023
|
+
});
|
|
3024
|
+
}
|
|
3025
|
+
var Sr = C(Ir, 2);
|
|
3026
|
+
{
|
|
3027
|
+
var Na = (O) => {
|
|
3028
|
+
var Q = rl(), J = H(Q);
|
|
3029
|
+
J.__click = () => Nt("img");
|
|
3030
|
+
var Xe = H(J), re = C(J, 2);
|
|
3031
|
+
re.__click = () => Nt("pdf");
|
|
3032
|
+
var se = H(re), R = C(re, 2);
|
|
3033
|
+
R.__click = () => Nt("doc");
|
|
3034
|
+
var Ne = H(R), Ve = C(R, 2);
|
|
3035
|
+
Ve.__click = () => p(h, !l(h));
|
|
3036
|
+
var nr = H(Ve);
|
|
3037
|
+
U(() => {
|
|
3038
|
+
Z(Xe, s.widget.attachLocalFile), Z(se, s.widget.attachGoogleDrive), Z(Ne, s.widget.attachOneDrive), Z(nr, `${s.widget.attachMore ?? ""} `);
|
|
3039
|
+
}), X(O, Q);
|
|
3040
|
+
};
|
|
3041
|
+
_(Sr, (O) => {
|
|
3042
|
+
l(A) && O(Na);
|
|
3043
|
+
});
|
|
3044
|
+
}
|
|
3045
|
+
var Gr = C(Sr, 2);
|
|
3046
|
+
{
|
|
3047
|
+
var Ma = (O) => {
|
|
3048
|
+
var Q = sl(), J = H(Q);
|
|
3049
|
+
J.__click = () => Nt("img");
|
|
3050
|
+
var Xe = H(J), re = C(J, 2);
|
|
3051
|
+
re.__click = () => Nt("pdf");
|
|
3052
|
+
var se = H(re), R = C(re, 2);
|
|
3053
|
+
R.__click = () => Nt("doc");
|
|
3054
|
+
var Ne = H(R);
|
|
3055
|
+
U(() => {
|
|
3056
|
+
Z(Xe, s.widget.attachLocalFile), Z(se, s.widget.attachGoogleDrive), Z(Ne, s.widget.attachOneDrive);
|
|
3057
|
+
}), X(O, Q);
|
|
3058
|
+
};
|
|
3059
|
+
_(Gr, (O) => {
|
|
3060
|
+
l(h) && O(Ma);
|
|
3061
|
+
});
|
|
3062
|
+
}
|
|
3063
|
+
var La = C(Gr, 2), Fa = H(La);
|
|
3064
|
+
U(() => {
|
|
3065
|
+
de(tr, "aria-label", s.widget.ariaAttach), de(vt, "placeholder", s.widget.placeholder), de(vt, "aria-label", s.widget.ariaMessage), vt.disabled = l(T), Z(Fa, s.widget.poweredBy);
|
|
3066
|
+
}), mf(vt, () => l(v), (O) => p(v, O)), X(Be, Ke);
|
|
3067
|
+
};
|
|
3068
|
+
_(Un, (Be) => {
|
|
3069
|
+
l(w) === "audio" ? Be(_n) : Be($n, !1);
|
|
3070
|
+
});
|
|
3071
|
+
}
|
|
3072
|
+
U(() => {
|
|
3073
|
+
var Be;
|
|
3074
|
+
yn(P, 1, `panel ${l(c) ? "expanded" : ""} ${l(jt) === "bottom-left" ? "left" : ""}`, "svelte-gxf5w3"), de(Y, "src", l(it)), Z(V, ((Be = t.config) == null ? void 0 : Be.displayName) || "Olotalk"), de($, "aria-label", s.widget.ariaReset), de(ce, "aria-label", s.widget.ariaExpand);
|
|
3075
|
+
}), ir("error", Y, Xt), X(d, P);
|
|
3076
|
+
};
|
|
3077
|
+
_(Lr, (d) => {
|
|
3078
|
+
l(f) && d(ma);
|
|
3079
|
+
});
|
|
3080
|
+
}
|
|
3081
|
+
var Ha = C(Lr, 2);
|
|
3082
|
+
{
|
|
3083
|
+
var Oa = (d) => {
|
|
3084
|
+
var P = ol(), D = Dn(P);
|
|
3085
|
+
D.__click = fa;
|
|
3086
|
+
var m = H(D), Y = C(m, 2);
|
|
3087
|
+
{
|
|
3088
|
+
var G = ($) => {
|
|
3089
|
+
var ce = fl();
|
|
3090
|
+
X($, ce);
|
|
3091
|
+
};
|
|
3092
|
+
_(Y, ($) => {
|
|
3093
|
+
l(I) && $(G);
|
|
3094
|
+
});
|
|
3095
|
+
}
|
|
3096
|
+
var V = C(D, 2);
|
|
3097
|
+
{
|
|
3098
|
+
var ft = ($) => {
|
|
3099
|
+
var ce = ll(), tn = H(ce);
|
|
3100
|
+
U(() => {
|
|
3101
|
+
yn(ce, 1, `teaser ${l(jt) === "bottom-left" ? "left" : ""} ${l(E) ? "" : "hidden"}`, "svelte-gxf5w3"), de(ce, "aria-label", s.widget.ariaTeaser), Z(tn, l(we).messages[l(j)]);
|
|
3102
|
+
}), X($, ce);
|
|
3103
|
+
};
|
|
3104
|
+
_(V, ($) => {
|
|
3105
|
+
l(we).enabled && $(ft);
|
|
3106
|
+
});
|
|
3107
|
+
}
|
|
3108
|
+
U(() => {
|
|
3109
|
+
yn(D, 1, `launcher ${l(jt) === "bottom-left" ? "left" : ""}`, "svelte-gxf5w3"), de(D, "aria-label", s.widget.ariaOpenChat), de(m, "src", l(it));
|
|
3110
|
+
}), ir("error", m, Xt), X(d, P);
|
|
3111
|
+
};
|
|
3112
|
+
_(Ha, (d) => {
|
|
3113
|
+
r() || d(Oa);
|
|
3114
|
+
});
|
|
3115
|
+
}
|
|
3116
|
+
return U(() => {
|
|
3117
|
+
yn(Pn, 1, `root ${r() ? "embedded" : ""} ${l(ne) ? "dark" : ""}`, "svelte-gxf5w3"), pf(Pn, l(Zn));
|
|
3118
|
+
}), X(e, Pn), ms(ya);
|
|
3119
|
+
}
|
|
3120
|
+
ff(["click", "keydown"]);
|
|
3121
|
+
function dl(e, t) {
|
|
3122
|
+
const n = (t == null ? void 0 : t.widgetId) || (t == null ? void 0 : t.siteId);
|
|
3123
|
+
if (!n) throw new Error("[OlotalkWidget] 'widgetId' is required");
|
|
3124
|
+
if (!(t != null && t.origin))
|
|
3125
|
+
throw new Error("[OlotalkWidget] 'origin' is required");
|
|
3126
|
+
const r = /* @__PURE__ */ new Map(), a = (g, v) => {
|
|
3127
|
+
const A = r.get(g);
|
|
3128
|
+
if (A)
|
|
3129
|
+
for (const h of A)
|
|
3130
|
+
try {
|
|
3131
|
+
h(v);
|
|
3132
|
+
} catch (b) {
|
|
3133
|
+
console.error(b);
|
|
3134
|
+
}
|
|
3135
|
+
}, s = (g, v) => {
|
|
3136
|
+
let A = r.get(g);
|
|
3137
|
+
return A || (A = /* @__PURE__ */ new Set(), r.set(g, A)), A.add(v), () => A.delete(v);
|
|
3138
|
+
}, i = t.mount ?? e;
|
|
3139
|
+
if (!i) throw new Error("[OlotalkWidget] mount target is required");
|
|
3140
|
+
const o = document.createElement("div");
|
|
3141
|
+
o.setAttribute("data-olotalk-root", "widget"), i.appendChild(o);
|
|
3142
|
+
const f = t.placement || (i === document.body || i === document.documentElement ? "floating" : "embedded");
|
|
3143
|
+
f === "embedded" && (o.style.display = "block", o.style.width = "100%", o.style.height = "100%");
|
|
3144
|
+
const c = o.attachShadow ? o.attachShadow({ mode: "open" }) : o;
|
|
3145
|
+
if (t.cssUrl) {
|
|
3146
|
+
const g = c instanceof ShadowRoot ? c : document.head;
|
|
3147
|
+
if (!g.querySelector("link[data-olotalk-style]")) {
|
|
3148
|
+
const v = document.createElement("link");
|
|
3149
|
+
v.rel = "stylesheet", v.href = t.cssUrl, v.setAttribute("data-olotalk-style", "widget"), g.appendChild(v);
|
|
3150
|
+
}
|
|
3151
|
+
}
|
|
3152
|
+
const w = uf(cl, {
|
|
3153
|
+
target: c,
|
|
3154
|
+
props: {
|
|
3155
|
+
widgetId: n,
|
|
3156
|
+
origin: t.origin,
|
|
3157
|
+
config: t.config,
|
|
3158
|
+
theme: t.theme ?? "light",
|
|
3159
|
+
embedded: f === "embedded",
|
|
3160
|
+
locale: t.locale,
|
|
3161
|
+
// event callbacks (Svelte 5 replacement for createEventDispatcher)
|
|
3162
|
+
onReady: (g) => a("ready", g),
|
|
3163
|
+
onOpen: () => a("open"),
|
|
3164
|
+
onClose: () => a("close"),
|
|
3165
|
+
onSend: (g) => a("send", g)
|
|
3166
|
+
}
|
|
3167
|
+
});
|
|
3168
|
+
return {
|
|
3169
|
+
open() {
|
|
3170
|
+
w.openWidget();
|
|
3171
|
+
},
|
|
3172
|
+
close() {
|
|
3173
|
+
w.closeWidget();
|
|
3174
|
+
},
|
|
3175
|
+
setTheme(g) {
|
|
3176
|
+
w.setTheme(g);
|
|
3177
|
+
},
|
|
3178
|
+
destroy(g) {
|
|
3179
|
+
return df(w, { outro: !!(g != null && g.outro) }).finally(() => {
|
|
3180
|
+
o.remove();
|
|
3181
|
+
});
|
|
3182
|
+
},
|
|
3183
|
+
on: s
|
|
3184
|
+
};
|
|
3185
|
+
}
|
|
3186
|
+
const Al = { createWidget: dl };
|
|
3187
|
+
export {
|
|
3188
|
+
dl as createWidget,
|
|
3189
|
+
Al as default
|
|
3190
|
+
};
|