@pie-players/pie-section-tools-toolbar 0.2.9 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pie-tool-calculator-CjiwM9t4.js +3443 -0
- package/dist/section-tools-toolbar.js +1171 -1163
- package/dist/tool-graph-CXPY5FT9.js +4573 -0
- package/dist/tool-line-reader-CIyMzHIp.js +4315 -0
- package/dist/tool-periodic-table-C3x2EIo9.js +4181 -0
- package/dist/tool-protractor-B3JIgh4k.js +13787 -0
- package/dist/tool-ruler-BdnBVoda.js +13819 -0
- package/package.json +16 -13
- package/section-tools-toolbar.svelte +164 -161
- package/dist/section-tools-toolbar.js.map +0 -1
|
@@ -0,0 +1,4181 @@
|
|
|
1
|
+
var ws = Object.defineProperty, sn = (e) => {
|
|
2
|
+
throw TypeError(e);
|
|
3
|
+
}, xs = (e, o, t) => o in e ? ws(e, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[o] = t, v = (e, o, t) => xs(e, typeof o != "symbol" ? o + "" : o, t), di = (e, o, t) => o.has(e) || sn("Cannot " + t), p = (e, o, t) => (di(e, o, "read from private field"), t ? t.call(e) : o.get(e)), x = (e, o, t) => o.has(e) ? sn("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(e) : o.set(e, t), b = (e, o, t, i) => (di(e, o, "write to private field"), o.set(e, t), t), Z = (e, o, t) => (di(e, o, "access private method"), t), Ni;
|
|
4
|
+
typeof window < "u" && ((Ni = window.__svelte ?? (window.__svelte = {})).v ?? (Ni.v = /* @__PURE__ */ new Set())).add("5");
|
|
5
|
+
const ks = 1, Ss = 2, ln = 4, Is = 8, $s = 16, Ts = 2, ui = "[", Tt = "[!", fi = "]", To = {}, W = /* @__PURE__ */ Symbol(), rn = "http://www.w3.org/1999/xhtml", Cs = !1;
|
|
6
|
+
var an = Array.isArray, As = Array.prototype.indexOf, Co = Array.prototype.includes, Ct = Array.from, wt = Object.keys, xt = Object.defineProperty, Io = Object.getOwnPropertyDescriptor, Ls = Object.getOwnPropertyDescriptors, zs = Object.prototype, js = Array.prototype, cn = Object.getPrototypeOf, Oi = Object.isExtensible;
|
|
7
|
+
const Es = () => {
|
|
8
|
+
};
|
|
9
|
+
function Ms(e) {
|
|
10
|
+
for (var o = 0; o < e.length; o++)
|
|
11
|
+
e[o]();
|
|
12
|
+
}
|
|
13
|
+
function pn() {
|
|
14
|
+
var e, o, t = new Promise((i, s) => {
|
|
15
|
+
e = i, o = s;
|
|
16
|
+
});
|
|
17
|
+
return { promise: t, resolve: e, reject: o };
|
|
18
|
+
}
|
|
19
|
+
const F = 2, Zo = 4, At = 8, dn = 1 << 24, De = 16, xe = 32, so = 64, Ut = 128, ae = 512, H = 1024, X = 2048, we = 4096, te = 8192, Be = 16384, Ro = 32768, Ao = 65536, Vi = 1 << 17, un = 1 << 18, wo = 1 << 19, Rs = 1 << 20, Pe = 1 << 25, go = 65536, Jt = 1 << 21, mi = 1 << 22, to = 1 << 23, mt = /* @__PURE__ */ Symbol("$state"), Ns = /* @__PURE__ */ Symbol("legacy props"), Os = /* @__PURE__ */ Symbol(""), uo = new class extends Error {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments), v(this, "name", "StaleReactionError"), v(this, "message", "The reaction that called `getAbortSignal()` was re-run or destroyed");
|
|
22
|
+
}
|
|
23
|
+
}(), Vs = (
|
|
24
|
+
// We gotta write it like this because after downleveling the pure comment may end up in the wrong location
|
|
25
|
+
!!globalThis.document?.contentType && /* @__PURE__ */ globalThis.document.contentType.includes("xml")
|
|
26
|
+
), et = 3, ot = 8;
|
|
27
|
+
function Ps(e) {
|
|
28
|
+
throw new Error("https://svelte.dev/e/lifecycle_outside_component");
|
|
29
|
+
}
|
|
30
|
+
function Hs() {
|
|
31
|
+
throw new Error("https://svelte.dev/e/async_derived_orphan");
|
|
32
|
+
}
|
|
33
|
+
function Bs(e, o, t) {
|
|
34
|
+
throw new Error("https://svelte.dev/e/each_key_duplicate");
|
|
35
|
+
}
|
|
36
|
+
function Gs(e) {
|
|
37
|
+
throw new Error("https://svelte.dev/e/effect_in_teardown");
|
|
38
|
+
}
|
|
39
|
+
function Ds() {
|
|
40
|
+
throw new Error("https://svelte.dev/e/effect_in_unowned_derived");
|
|
41
|
+
}
|
|
42
|
+
function Ws(e) {
|
|
43
|
+
throw new Error("https://svelte.dev/e/effect_orphan");
|
|
44
|
+
}
|
|
45
|
+
function Fs() {
|
|
46
|
+
throw new Error("https://svelte.dev/e/effect_update_depth_exceeded");
|
|
47
|
+
}
|
|
48
|
+
function Xs() {
|
|
49
|
+
throw new Error("https://svelte.dev/e/hydration_failed");
|
|
50
|
+
}
|
|
51
|
+
function Us() {
|
|
52
|
+
throw new Error("https://svelte.dev/e/state_descriptors_fixed");
|
|
53
|
+
}
|
|
54
|
+
function Js() {
|
|
55
|
+
throw new Error("https://svelte.dev/e/state_prototype_fixed");
|
|
56
|
+
}
|
|
57
|
+
function Ks() {
|
|
58
|
+
throw new Error("https://svelte.dev/e/state_unsafe_mutation");
|
|
59
|
+
}
|
|
60
|
+
function qs() {
|
|
61
|
+
throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror");
|
|
62
|
+
}
|
|
63
|
+
function Lt(e) {
|
|
64
|
+
console.warn("https://svelte.dev/e/hydration_mismatch");
|
|
65
|
+
}
|
|
66
|
+
function Ys() {
|
|
67
|
+
console.warn("https://svelte.dev/e/svelte_boundary_reset_noop");
|
|
68
|
+
}
|
|
69
|
+
let $ = !1;
|
|
70
|
+
function He(e) {
|
|
71
|
+
$ = e;
|
|
72
|
+
}
|
|
73
|
+
let T;
|
|
74
|
+
function J(e) {
|
|
75
|
+
if (e === null)
|
|
76
|
+
throw Lt(), To;
|
|
77
|
+
return T = e;
|
|
78
|
+
}
|
|
79
|
+
function zt() {
|
|
80
|
+
return J(/* @__PURE__ */ Ae(T));
|
|
81
|
+
}
|
|
82
|
+
function I(e) {
|
|
83
|
+
if ($) {
|
|
84
|
+
if (/* @__PURE__ */ Ae(T) !== null)
|
|
85
|
+
throw Lt(), To;
|
|
86
|
+
T = e;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function Zs(e = 1) {
|
|
90
|
+
if ($) {
|
|
91
|
+
for (var o = e, t = T; o--; )
|
|
92
|
+
t = /** @type {TemplateNode} */
|
|
93
|
+
/* @__PURE__ */ Ae(t);
|
|
94
|
+
T = t;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function kt(e = !0) {
|
|
98
|
+
for (var o = 0, t = T; ; ) {
|
|
99
|
+
if (t.nodeType === ot) {
|
|
100
|
+
var i = (
|
|
101
|
+
/** @type {Comment} */
|
|
102
|
+
t.data
|
|
103
|
+
);
|
|
104
|
+
if (i === fi) {
|
|
105
|
+
if (o === 0) return t;
|
|
106
|
+
o -= 1;
|
|
107
|
+
} else (i === ui || i === Tt || // "[1", "[2", etc. for if blocks
|
|
108
|
+
i[0] === "[" && !isNaN(Number(i.slice(1)))) && (o += 1);
|
|
109
|
+
}
|
|
110
|
+
var s = (
|
|
111
|
+
/** @type {TemplateNode} */
|
|
112
|
+
/* @__PURE__ */ Ae(t)
|
|
113
|
+
);
|
|
114
|
+
e && t.remove(), t = s;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function fn(e) {
|
|
118
|
+
if (!e || e.nodeType !== ot)
|
|
119
|
+
throw Lt(), To;
|
|
120
|
+
return (
|
|
121
|
+
/** @type {Comment} */
|
|
122
|
+
e.data
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
function mn(e) {
|
|
126
|
+
return e === this.v;
|
|
127
|
+
}
|
|
128
|
+
function Qs(e, o) {
|
|
129
|
+
return e != e ? o == o : e !== o || e !== null && typeof e == "object" || typeof e == "function";
|
|
130
|
+
}
|
|
131
|
+
function hn(e) {
|
|
132
|
+
return !Qs(e, this.v);
|
|
133
|
+
}
|
|
134
|
+
let el = !1, ne = null;
|
|
135
|
+
function Lo(e) {
|
|
136
|
+
ne = e;
|
|
137
|
+
}
|
|
138
|
+
function gn(e, o = !1, t) {
|
|
139
|
+
ne = {
|
|
140
|
+
p: ne,
|
|
141
|
+
i: !1,
|
|
142
|
+
c: null,
|
|
143
|
+
e: null,
|
|
144
|
+
s: e,
|
|
145
|
+
x: null,
|
|
146
|
+
l: null
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function _n(e) {
|
|
150
|
+
var o = (
|
|
151
|
+
/** @type {ComponentContext} */
|
|
152
|
+
ne
|
|
153
|
+
), t = o.e;
|
|
154
|
+
if (t !== null) {
|
|
155
|
+
o.e = null;
|
|
156
|
+
for (var i of t)
|
|
157
|
+
Gn(i);
|
|
158
|
+
}
|
|
159
|
+
return e !== void 0 && (o.x = e), o.i = !0, ne = o.p, e ?? /** @type {T} */
|
|
160
|
+
{};
|
|
161
|
+
}
|
|
162
|
+
function yn() {
|
|
163
|
+
return !0;
|
|
164
|
+
}
|
|
165
|
+
let fo = [];
|
|
166
|
+
function bn() {
|
|
167
|
+
var e = fo;
|
|
168
|
+
fo = [], Ms(e);
|
|
169
|
+
}
|
|
170
|
+
function Ge(e) {
|
|
171
|
+
if (fo.length === 0 && !Jo) {
|
|
172
|
+
var o = fo;
|
|
173
|
+
queueMicrotask(() => {
|
|
174
|
+
o === fo && bn();
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
fo.push(e);
|
|
178
|
+
}
|
|
179
|
+
function ol() {
|
|
180
|
+
for (; fo.length > 0; )
|
|
181
|
+
bn();
|
|
182
|
+
}
|
|
183
|
+
function vn(e) {
|
|
184
|
+
var o = C;
|
|
185
|
+
if (o === null)
|
|
186
|
+
return S.f |= to, e;
|
|
187
|
+
if ((o.f & Ro) === 0 && (o.f & Zo) === 0)
|
|
188
|
+
throw e;
|
|
189
|
+
zo(e, o);
|
|
190
|
+
}
|
|
191
|
+
function zo(e, o) {
|
|
192
|
+
for (; o !== null; ) {
|
|
193
|
+
if ((o.f & Ut) !== 0) {
|
|
194
|
+
if ((o.f & Ro) === 0)
|
|
195
|
+
throw e;
|
|
196
|
+
try {
|
|
197
|
+
o.b.error(e);
|
|
198
|
+
return;
|
|
199
|
+
} catch (t) {
|
|
200
|
+
e = t;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
o = o.parent;
|
|
204
|
+
}
|
|
205
|
+
throw e;
|
|
206
|
+
}
|
|
207
|
+
const tl = -7169;
|
|
208
|
+
function R(e, o) {
|
|
209
|
+
e.f = e.f & tl | o;
|
|
210
|
+
}
|
|
211
|
+
function hi(e) {
|
|
212
|
+
(e.f & ae) !== 0 || e.deps === null ? R(e, H) : R(e, we);
|
|
213
|
+
}
|
|
214
|
+
function wn(e) {
|
|
215
|
+
if (e !== null)
|
|
216
|
+
for (const o of e)
|
|
217
|
+
(o.f & F) === 0 || (o.f & go) === 0 || (o.f ^= go, wn(
|
|
218
|
+
/** @type {Derived} */
|
|
219
|
+
o.deps
|
|
220
|
+
));
|
|
221
|
+
}
|
|
222
|
+
function xn(e, o, t) {
|
|
223
|
+
(e.f & X) !== 0 ? o.add(e) : (e.f & we) !== 0 && t.add(e), wn(e.deps), R(e, H);
|
|
224
|
+
}
|
|
225
|
+
const ht = /* @__PURE__ */ new Set();
|
|
226
|
+
let M = null, ve = null, Q = [], jt = null, Kt = !1, Jo = !1;
|
|
227
|
+
var Go, Do, Ue, ao, Wo, St, $o, Qe, Fo, co, qt, Yt, kn;
|
|
228
|
+
const il = class Sn {
|
|
229
|
+
constructor() {
|
|
230
|
+
x(this, co), v(this, "committed", !1), v(this, "current", /* @__PURE__ */ new Map()), v(this, "previous", /* @__PURE__ */ new Map()), x(this, Go, /* @__PURE__ */ new Set()), x(this, Do, /* @__PURE__ */ new Set()), x(this, Ue, 0), x(this, ao, 0), x(this, Wo, null), x(this, St, /* @__PURE__ */ new Set()), x(this, $o, /* @__PURE__ */ new Set()), x(this, Qe, /* @__PURE__ */ new Map()), v(this, "is_fork", !1), x(this, Fo, !1);
|
|
231
|
+
}
|
|
232
|
+
is_deferred() {
|
|
233
|
+
return this.is_fork || p(this, ao) > 0;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Add an effect to the #skipped_branches map and reset its children
|
|
237
|
+
* @param {Effect} effect
|
|
238
|
+
*/
|
|
239
|
+
skip_effect(o) {
|
|
240
|
+
p(this, Qe).has(o) || p(this, Qe).set(o, { d: [], m: [] });
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Remove an effect from the #skipped_branches map and reschedule
|
|
244
|
+
* any tracked dirty/maybe_dirty child effects
|
|
245
|
+
* @param {Effect} effect
|
|
246
|
+
*/
|
|
247
|
+
unskip_effect(o) {
|
|
248
|
+
var t = p(this, Qe).get(o);
|
|
249
|
+
if (t) {
|
|
250
|
+
p(this, Qe).delete(o);
|
|
251
|
+
for (var i of t.d)
|
|
252
|
+
R(i, X), ye(i);
|
|
253
|
+
for (i of t.m)
|
|
254
|
+
R(i, we), ye(i);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
*
|
|
259
|
+
* @param {Effect[]} root_effects
|
|
260
|
+
*/
|
|
261
|
+
process(o) {
|
|
262
|
+
Q = [], this.apply();
|
|
263
|
+
var t = [], i = [];
|
|
264
|
+
for (const s of o)
|
|
265
|
+
Z(this, co, qt).call(this, s, t, i);
|
|
266
|
+
if (this.is_deferred()) {
|
|
267
|
+
Z(this, co, Yt).call(this, i), Z(this, co, Yt).call(this, t);
|
|
268
|
+
for (const [s, n] of p(this, Qe))
|
|
269
|
+
Cn(s, n);
|
|
270
|
+
} else {
|
|
271
|
+
for (const s of p(this, Go)) s();
|
|
272
|
+
p(this, Go).clear(), p(this, Ue) === 0 && Z(this, co, kn).call(this), M = null, Pi(i), Pi(t), p(this, Wo)?.resolve();
|
|
273
|
+
}
|
|
274
|
+
ve = null;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Associate a change to a given source with the current
|
|
278
|
+
* batch, noting its previous and current values
|
|
279
|
+
* @param {Source} source
|
|
280
|
+
* @param {any} value
|
|
281
|
+
*/
|
|
282
|
+
capture(o, t) {
|
|
283
|
+
t !== W && !this.previous.has(o) && this.previous.set(o, t), (o.f & to) === 0 && (this.current.set(o, o.v), ve?.set(o, o.v));
|
|
284
|
+
}
|
|
285
|
+
activate() {
|
|
286
|
+
M = this, this.apply();
|
|
287
|
+
}
|
|
288
|
+
deactivate() {
|
|
289
|
+
M === this && (M = null, ve = null);
|
|
290
|
+
}
|
|
291
|
+
flush() {
|
|
292
|
+
if (this.activate(), Q.length > 0) {
|
|
293
|
+
if (In(), M !== null && M !== this)
|
|
294
|
+
return;
|
|
295
|
+
} else p(this, Ue) === 0 && this.process([]);
|
|
296
|
+
this.deactivate();
|
|
297
|
+
}
|
|
298
|
+
discard() {
|
|
299
|
+
for (const o of p(this, Do)) o(this);
|
|
300
|
+
p(this, Do).clear();
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
*
|
|
304
|
+
* @param {boolean} blocking
|
|
305
|
+
*/
|
|
306
|
+
increment(o) {
|
|
307
|
+
b(this, Ue, p(this, Ue) + 1), o && b(this, ao, p(this, ao) + 1);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
*
|
|
311
|
+
* @param {boolean} blocking
|
|
312
|
+
*/
|
|
313
|
+
decrement(o) {
|
|
314
|
+
b(this, Ue, p(this, Ue) - 1), o && b(this, ao, p(this, ao) - 1), !p(this, Fo) && (b(this, Fo, !0), Ge(() => {
|
|
315
|
+
b(this, Fo, !1), this.is_deferred() ? Q.length > 0 && this.flush() : this.revive();
|
|
316
|
+
}));
|
|
317
|
+
}
|
|
318
|
+
revive() {
|
|
319
|
+
for (const o of p(this, St))
|
|
320
|
+
p(this, $o).delete(o), R(o, X), ye(o);
|
|
321
|
+
for (const o of p(this, $o))
|
|
322
|
+
R(o, we), ye(o);
|
|
323
|
+
this.flush();
|
|
324
|
+
}
|
|
325
|
+
/** @param {() => void} fn */
|
|
326
|
+
oncommit(o) {
|
|
327
|
+
p(this, Go).add(o);
|
|
328
|
+
}
|
|
329
|
+
/** @param {(batch: Batch) => void} fn */
|
|
330
|
+
ondiscard(o) {
|
|
331
|
+
p(this, Do).add(o);
|
|
332
|
+
}
|
|
333
|
+
settled() {
|
|
334
|
+
return (p(this, Wo) ?? b(this, Wo, pn())).promise;
|
|
335
|
+
}
|
|
336
|
+
static ensure() {
|
|
337
|
+
if (M === null) {
|
|
338
|
+
const o = M = new Sn();
|
|
339
|
+
ht.add(M), Jo || Ge(() => {
|
|
340
|
+
M === o && o.flush();
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
return M;
|
|
344
|
+
}
|
|
345
|
+
apply() {
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
Go = /* @__PURE__ */ new WeakMap(), Do = /* @__PURE__ */ new WeakMap(), Ue = /* @__PURE__ */ new WeakMap(), ao = /* @__PURE__ */ new WeakMap(), Wo = /* @__PURE__ */ new WeakMap(), St = /* @__PURE__ */ new WeakMap(), $o = /* @__PURE__ */ new WeakMap(), Qe = /* @__PURE__ */ new WeakMap(), Fo = /* @__PURE__ */ new WeakMap(), co = /* @__PURE__ */ new WeakSet(), /**
|
|
349
|
+
* Traverse the effect tree, executing effects or stashing
|
|
350
|
+
* them for later execution as appropriate
|
|
351
|
+
* @param {Effect} root
|
|
352
|
+
* @param {Effect[]} effects
|
|
353
|
+
* @param {Effect[]} render_effects
|
|
354
|
+
*/
|
|
355
|
+
qt = function(e, o, t) {
|
|
356
|
+
e.f ^= H;
|
|
357
|
+
for (var i = e.first, s = null; i !== null; ) {
|
|
358
|
+
var n = i.f, l = (n & (xe | so)) !== 0, r = l && (n & H) !== 0, a = r || (n & te) !== 0 || p(this, Qe).has(i);
|
|
359
|
+
if (!a && i.fn !== null) {
|
|
360
|
+
l ? i.f ^= H : s !== null && (n & (Zo | At | dn)) !== 0 ? s.b.defer_effect(i) : (n & Zo) !== 0 ? o.push(i) : tt(i) && ((n & De) !== 0 && p(this, $o).add(i), Mo(i));
|
|
361
|
+
var c = i.first;
|
|
362
|
+
if (c !== null) {
|
|
363
|
+
i = c;
|
|
364
|
+
continue;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
for (; i !== null; ) {
|
|
368
|
+
i === s && (s = null);
|
|
369
|
+
var d = i.next;
|
|
370
|
+
if (d !== null) {
|
|
371
|
+
i = d;
|
|
372
|
+
break;
|
|
373
|
+
}
|
|
374
|
+
i = i.parent;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}, /**
|
|
378
|
+
* @param {Effect[]} effects
|
|
379
|
+
*/
|
|
380
|
+
Yt = function(e) {
|
|
381
|
+
for (var o = 0; o < e.length; o += 1)
|
|
382
|
+
xn(e[o], p(this, St), p(this, $o));
|
|
383
|
+
}, kn = function() {
|
|
384
|
+
var e;
|
|
385
|
+
if (ht.size > 1) {
|
|
386
|
+
this.previous.clear();
|
|
387
|
+
var o = ve, t = !0;
|
|
388
|
+
for (const s of ht) {
|
|
389
|
+
if (s === this) {
|
|
390
|
+
t = !1;
|
|
391
|
+
continue;
|
|
392
|
+
}
|
|
393
|
+
const n = [];
|
|
394
|
+
for (const [r, a] of this.current) {
|
|
395
|
+
if (s.current.has(r))
|
|
396
|
+
if (t && a !== s.current.get(r))
|
|
397
|
+
s.current.set(r, a);
|
|
398
|
+
else
|
|
399
|
+
continue;
|
|
400
|
+
n.push(r);
|
|
401
|
+
}
|
|
402
|
+
if (n.length === 0)
|
|
403
|
+
continue;
|
|
404
|
+
const l = [...s.current.keys()].filter((r) => !this.current.has(r));
|
|
405
|
+
if (l.length > 0) {
|
|
406
|
+
var i = Q;
|
|
407
|
+
Q = [];
|
|
408
|
+
const r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map();
|
|
409
|
+
for (const c of n)
|
|
410
|
+
$n(c, l, r, a);
|
|
411
|
+
if (Q.length > 0) {
|
|
412
|
+
M = s, s.apply();
|
|
413
|
+
for (const c of Q)
|
|
414
|
+
Z(e = s, co, qt).call(e, c, [], []);
|
|
415
|
+
s.deactivate();
|
|
416
|
+
}
|
|
417
|
+
Q = i;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
M = null, ve = o;
|
|
421
|
+
}
|
|
422
|
+
this.committed = !0, ht.delete(this);
|
|
423
|
+
};
|
|
424
|
+
let _o = il;
|
|
425
|
+
function Zt(e) {
|
|
426
|
+
var o = Jo;
|
|
427
|
+
Jo = !0;
|
|
428
|
+
try {
|
|
429
|
+
for (var t; ; ) {
|
|
430
|
+
if (ol(), Q.length === 0 && (M?.flush(), Q.length === 0))
|
|
431
|
+
return jt = null, /** @type {T} */
|
|
432
|
+
t;
|
|
433
|
+
In();
|
|
434
|
+
}
|
|
435
|
+
} finally {
|
|
436
|
+
Jo = o;
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
function In() {
|
|
440
|
+
Kt = !0;
|
|
441
|
+
try {
|
|
442
|
+
for (var e = 0; Q.length > 0; ) {
|
|
443
|
+
var o = _o.ensure();
|
|
444
|
+
if (e++ > 1e3) {
|
|
445
|
+
var t, i;
|
|
446
|
+
nl();
|
|
447
|
+
}
|
|
448
|
+
o.process(Q), io.clear();
|
|
449
|
+
}
|
|
450
|
+
} finally {
|
|
451
|
+
Q = [], Kt = !1, jt = null;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
function nl() {
|
|
455
|
+
try {
|
|
456
|
+
Fs();
|
|
457
|
+
} catch (e) {
|
|
458
|
+
zo(e, jt);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
let Ne = null;
|
|
462
|
+
function Pi(e) {
|
|
463
|
+
var o = e.length;
|
|
464
|
+
if (o !== 0) {
|
|
465
|
+
for (var t = 0; t < o; ) {
|
|
466
|
+
var i = e[t++];
|
|
467
|
+
if ((i.f & (Be | te)) === 0 && tt(i) && (Ne = /* @__PURE__ */ new Set(), Mo(i), i.deps === null && i.first === null && i.nodes === null && i.teardown === null && i.ac === null && Fn(i), Ne?.size > 0)) {
|
|
468
|
+
io.clear();
|
|
469
|
+
for (const s of Ne) {
|
|
470
|
+
if ((s.f & (Be | te)) !== 0) continue;
|
|
471
|
+
const n = [s];
|
|
472
|
+
let l = s.parent;
|
|
473
|
+
for (; l !== null; )
|
|
474
|
+
Ne.has(l) && (Ne.delete(l), n.push(l)), l = l.parent;
|
|
475
|
+
for (let r = n.length - 1; r >= 0; r--) {
|
|
476
|
+
const a = n[r];
|
|
477
|
+
(a.f & (Be | te)) === 0 && Mo(a);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
Ne.clear();
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
Ne = null;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
function $n(e, o, t, i) {
|
|
487
|
+
if (!t.has(e) && (t.add(e), e.reactions !== null))
|
|
488
|
+
for (const s of e.reactions) {
|
|
489
|
+
const n = s.f;
|
|
490
|
+
(n & F) !== 0 ? $n(
|
|
491
|
+
/** @type {Derived} */
|
|
492
|
+
s,
|
|
493
|
+
o,
|
|
494
|
+
t,
|
|
495
|
+
i
|
|
496
|
+
) : (n & (mi | De)) !== 0 && (n & X) === 0 && Tn(s, o, i) && (R(s, X), ye(
|
|
497
|
+
/** @type {Effect} */
|
|
498
|
+
s
|
|
499
|
+
));
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
function Tn(e, o, t) {
|
|
503
|
+
const i = t.get(e);
|
|
504
|
+
if (i !== void 0) return i;
|
|
505
|
+
if (e.deps !== null)
|
|
506
|
+
for (const s of e.deps) {
|
|
507
|
+
if (Co.call(o, s))
|
|
508
|
+
return !0;
|
|
509
|
+
if ((s.f & F) !== 0 && Tn(
|
|
510
|
+
/** @type {Derived} */
|
|
511
|
+
s,
|
|
512
|
+
o,
|
|
513
|
+
t
|
|
514
|
+
))
|
|
515
|
+
return t.set(
|
|
516
|
+
/** @type {Derived} */
|
|
517
|
+
s,
|
|
518
|
+
!0
|
|
519
|
+
), !0;
|
|
520
|
+
}
|
|
521
|
+
return t.set(e, !1), !1;
|
|
522
|
+
}
|
|
523
|
+
function ye(e) {
|
|
524
|
+
for (var o = jt = e; o.parent !== null; ) {
|
|
525
|
+
o = o.parent;
|
|
526
|
+
var t = o.f;
|
|
527
|
+
if (Kt && o === C && (t & De) !== 0 && (t & un) === 0)
|
|
528
|
+
return;
|
|
529
|
+
if ((t & (so | xe)) !== 0) {
|
|
530
|
+
if ((t & H) === 0) return;
|
|
531
|
+
o.f ^= H;
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
Q.push(o);
|
|
535
|
+
}
|
|
536
|
+
function Cn(e, o) {
|
|
537
|
+
if (!((e.f & xe) !== 0 && (e.f & H) !== 0)) {
|
|
538
|
+
(e.f & X) !== 0 ? o.d.push(e) : (e.f & we) !== 0 && o.m.push(e), R(e, H);
|
|
539
|
+
for (var t = e.first; t !== null; )
|
|
540
|
+
Cn(t, o), t = t.next;
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
function sl(e) {
|
|
544
|
+
let o = 0, t = yo(0), i;
|
|
545
|
+
return () => {
|
|
546
|
+
bi() && (u(t), vi(() => (o === 0 && (i = Si(() => e(() => Yo(t)))), o += 1, () => {
|
|
547
|
+
Ge(() => {
|
|
548
|
+
o -= 1, o === 0 && (i?.(), i = void 0, Yo(t));
|
|
549
|
+
});
|
|
550
|
+
})));
|
|
551
|
+
};
|
|
552
|
+
}
|
|
553
|
+
var ll = Ao | wo;
|
|
554
|
+
function rl(e, o, t) {
|
|
555
|
+
new al(e, o, t);
|
|
556
|
+
}
|
|
557
|
+
var _e, gt, eo, ko, Oe, Ve, re, Re, Je, po, Ke, Xo, Ko, qo, qe, Qt, ge, An, Ln, ei, It, oi;
|
|
558
|
+
class al {
|
|
559
|
+
/**
|
|
560
|
+
* @param {TemplateNode} node
|
|
561
|
+
* @param {BoundaryProps} props
|
|
562
|
+
* @param {((anchor: Node) => void)} children
|
|
563
|
+
*/
|
|
564
|
+
constructor(o, t, i) {
|
|
565
|
+
x(this, ge), v(this, "parent"), v(this, "is_pending", !1), x(this, _e), x(this, gt, $ ? T : null), x(this, eo), x(this, ko), x(this, Oe), x(this, Ve, null), x(this, re, null), x(this, Re, null), x(this, Je, null), x(this, po, 0), x(this, Ke, 0), x(this, Xo, !1), x(this, Ko, /* @__PURE__ */ new Set()), x(this, qo, /* @__PURE__ */ new Set()), x(this, qe, null), x(this, Qt, sl(() => (b(this, qe, yo(p(this, po))), () => {
|
|
566
|
+
b(this, qe, null);
|
|
567
|
+
}))), b(this, _e, o), b(this, eo, t), b(this, ko, (s) => {
|
|
568
|
+
var n = (
|
|
569
|
+
/** @type {Effect} */
|
|
570
|
+
C
|
|
571
|
+
);
|
|
572
|
+
n.b = this, n.f |= Ut, i(s);
|
|
573
|
+
}), this.parent = /** @type {Effect} */
|
|
574
|
+
C.b, b(this, Oe, wi(() => {
|
|
575
|
+
if ($) {
|
|
576
|
+
const s = (
|
|
577
|
+
/** @type {Comment} */
|
|
578
|
+
p(this, gt)
|
|
579
|
+
);
|
|
580
|
+
zt(), s.data === Tt ? Z(this, ge, Ln).call(this) : Z(this, ge, An).call(this);
|
|
581
|
+
} else
|
|
582
|
+
Z(this, ge, ei).call(this);
|
|
583
|
+
}, ll)), $ && b(this, _e, T);
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Defer an effect inside a pending boundary until the boundary resolves
|
|
587
|
+
* @param {Effect} effect
|
|
588
|
+
*/
|
|
589
|
+
defer_effect(o) {
|
|
590
|
+
xn(o, p(this, Ko), p(this, qo));
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* Returns `false` if the effect exists inside a boundary whose pending snippet is shown
|
|
594
|
+
* @returns {boolean}
|
|
595
|
+
*/
|
|
596
|
+
is_rendered() {
|
|
597
|
+
return !this.is_pending && (!this.parent || this.parent.is_rendered());
|
|
598
|
+
}
|
|
599
|
+
has_pending_snippet() {
|
|
600
|
+
return !!p(this, eo).pending;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Update the source that powers `$effect.pending()` inside this boundary,
|
|
604
|
+
* and controls when the current `pending` snippet (if any) is removed.
|
|
605
|
+
* Do not call from inside the class
|
|
606
|
+
* @param {1 | -1} d
|
|
607
|
+
*/
|
|
608
|
+
update_pending_count(o) {
|
|
609
|
+
Z(this, ge, oi).call(this, o), b(this, po, p(this, po) + o), !(!p(this, qe) || p(this, Xo)) && (b(this, Xo, !0), Ge(() => {
|
|
610
|
+
b(this, Xo, !1), p(this, qe) && jo(p(this, qe), p(this, po));
|
|
611
|
+
}));
|
|
612
|
+
}
|
|
613
|
+
get_effect_pending() {
|
|
614
|
+
return p(this, Qt).call(this), u(
|
|
615
|
+
/** @type {Source<number>} */
|
|
616
|
+
p(this, qe)
|
|
617
|
+
);
|
|
618
|
+
}
|
|
619
|
+
/** @param {unknown} error */
|
|
620
|
+
error(o) {
|
|
621
|
+
var t = p(this, eo).onerror;
|
|
622
|
+
let i = p(this, eo).failed;
|
|
623
|
+
if (!t && !i)
|
|
624
|
+
throw o;
|
|
625
|
+
p(this, Ve) && (K(p(this, Ve)), b(this, Ve, null)), p(this, re) && (K(p(this, re)), b(this, re, null)), p(this, Re) && (K(p(this, Re)), b(this, Re, null)), $ && (J(
|
|
626
|
+
/** @type {TemplateNode} */
|
|
627
|
+
p(this, gt)
|
|
628
|
+
), Zs(), J(kt()));
|
|
629
|
+
var s = !1, n = !1;
|
|
630
|
+
const l = () => {
|
|
631
|
+
if (s) {
|
|
632
|
+
Ys();
|
|
633
|
+
return;
|
|
634
|
+
}
|
|
635
|
+
s = !0, n && qs(), p(this, Re) !== null && bo(p(this, Re), () => {
|
|
636
|
+
b(this, Re, null);
|
|
637
|
+
}), Z(this, ge, It).call(this, () => {
|
|
638
|
+
_o.ensure(), Z(this, ge, ei).call(this);
|
|
639
|
+
});
|
|
640
|
+
};
|
|
641
|
+
Ge(() => {
|
|
642
|
+
try {
|
|
643
|
+
n = !0, t?.(o, l), n = !1;
|
|
644
|
+
} catch (r) {
|
|
645
|
+
zo(r, p(this, Oe) && p(this, Oe).parent);
|
|
646
|
+
}
|
|
647
|
+
i && b(this, Re, Z(this, ge, It).call(this, () => {
|
|
648
|
+
_o.ensure();
|
|
649
|
+
try {
|
|
650
|
+
return Te(() => {
|
|
651
|
+
var r = (
|
|
652
|
+
/** @type {Effect} */
|
|
653
|
+
C
|
|
654
|
+
);
|
|
655
|
+
r.b = this, r.f |= Ut, i(
|
|
656
|
+
p(this, _e),
|
|
657
|
+
() => o,
|
|
658
|
+
() => l
|
|
659
|
+
);
|
|
660
|
+
});
|
|
661
|
+
} catch (r) {
|
|
662
|
+
return zo(
|
|
663
|
+
r,
|
|
664
|
+
/** @type {Effect} */
|
|
665
|
+
p(this, Oe).parent
|
|
666
|
+
), null;
|
|
667
|
+
}
|
|
668
|
+
}));
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
_e = /* @__PURE__ */ new WeakMap(), gt = /* @__PURE__ */ new WeakMap(), eo = /* @__PURE__ */ new WeakMap(), ko = /* @__PURE__ */ new WeakMap(), Oe = /* @__PURE__ */ new WeakMap(), Ve = /* @__PURE__ */ new WeakMap(), re = /* @__PURE__ */ new WeakMap(), Re = /* @__PURE__ */ new WeakMap(), Je = /* @__PURE__ */ new WeakMap(), po = /* @__PURE__ */ new WeakMap(), Ke = /* @__PURE__ */ new WeakMap(), Xo = /* @__PURE__ */ new WeakMap(), Ko = /* @__PURE__ */ new WeakMap(), qo = /* @__PURE__ */ new WeakMap(), qe = /* @__PURE__ */ new WeakMap(), Qt = /* @__PURE__ */ new WeakMap(), ge = /* @__PURE__ */ new WeakSet(), An = function() {
|
|
673
|
+
try {
|
|
674
|
+
b(this, Ve, Te(() => p(this, ko).call(this, p(this, _e))));
|
|
675
|
+
} catch (e) {
|
|
676
|
+
this.error(e);
|
|
677
|
+
}
|
|
678
|
+
}, Ln = function() {
|
|
679
|
+
const e = p(this, eo).pending;
|
|
680
|
+
e && (this.is_pending = !0, b(this, re, Te(() => e(p(this, _e)))), Ge(() => {
|
|
681
|
+
var o = b(this, Je, document.createDocumentFragment()), t = ie();
|
|
682
|
+
o.append(t), b(this, Ve, Z(this, ge, It).call(this, () => (_o.ensure(), Te(() => p(this, ko).call(this, t))))), p(this, Ke) === 0 && (p(this, _e).before(o), b(this, Je, null), bo(
|
|
683
|
+
/** @type {Effect} */
|
|
684
|
+
p(this, re),
|
|
685
|
+
() => {
|
|
686
|
+
b(this, re, null);
|
|
687
|
+
}
|
|
688
|
+
), this.is_pending = !1);
|
|
689
|
+
}));
|
|
690
|
+
}, ei = function() {
|
|
691
|
+
try {
|
|
692
|
+
if (this.is_pending = this.has_pending_snippet(), b(this, Ke, 0), b(this, po, 0), b(this, Ve, Te(() => {
|
|
693
|
+
p(this, ko).call(this, p(this, _e));
|
|
694
|
+
})), p(this, Ke) > 0) {
|
|
695
|
+
var e = b(this, Je, document.createDocumentFragment());
|
|
696
|
+
Jn(p(this, Ve), e);
|
|
697
|
+
const o = (
|
|
698
|
+
/** @type {(anchor: Node) => void} */
|
|
699
|
+
p(this, eo).pending
|
|
700
|
+
);
|
|
701
|
+
b(this, re, Te(() => o(p(this, _e))));
|
|
702
|
+
} else
|
|
703
|
+
this.is_pending = !1;
|
|
704
|
+
} catch (o) {
|
|
705
|
+
this.error(o);
|
|
706
|
+
}
|
|
707
|
+
}, /**
|
|
708
|
+
* @template T
|
|
709
|
+
* @param {() => T} fn
|
|
710
|
+
*/
|
|
711
|
+
It = function(e) {
|
|
712
|
+
var o = C, t = S, i = ne;
|
|
713
|
+
Ce(p(this, Oe)), pe(p(this, Oe)), Lo(p(this, Oe).ctx);
|
|
714
|
+
try {
|
|
715
|
+
return e();
|
|
716
|
+
} catch (s) {
|
|
717
|
+
return vn(s), null;
|
|
718
|
+
} finally {
|
|
719
|
+
Ce(o), pe(t), Lo(i);
|
|
720
|
+
}
|
|
721
|
+
}, /**
|
|
722
|
+
* Updates the pending count associated with the currently visible pending snippet,
|
|
723
|
+
* if any, such that we can replace the snippet with content once work is done
|
|
724
|
+
* @param {1 | -1} d
|
|
725
|
+
*/
|
|
726
|
+
oi = function(e) {
|
|
727
|
+
var o;
|
|
728
|
+
if (!this.has_pending_snippet()) {
|
|
729
|
+
this.parent && Z(o = this.parent, ge, oi).call(o, e);
|
|
730
|
+
return;
|
|
731
|
+
}
|
|
732
|
+
if (b(this, Ke, p(this, Ke) + e), p(this, Ke) === 0) {
|
|
733
|
+
this.is_pending = !1;
|
|
734
|
+
for (const t of p(this, Ko))
|
|
735
|
+
R(t, X), ye(t);
|
|
736
|
+
for (const t of p(this, qo))
|
|
737
|
+
R(t, we), ye(t);
|
|
738
|
+
p(this, Ko).clear(), p(this, qo).clear(), p(this, re) && bo(p(this, re), () => {
|
|
739
|
+
b(this, re, null);
|
|
740
|
+
}), p(this, Je) && (p(this, _e).before(p(this, Je)), b(this, Je, null));
|
|
741
|
+
}
|
|
742
|
+
};
|
|
743
|
+
function cl(e, o, t, i) {
|
|
744
|
+
const s = Et;
|
|
745
|
+
var n = e.filter((f) => !f.settled);
|
|
746
|
+
if (t.length === 0 && n.length === 0) {
|
|
747
|
+
i(o.map(s));
|
|
748
|
+
return;
|
|
749
|
+
}
|
|
750
|
+
var l = M, r = (
|
|
751
|
+
/** @type {Effect} */
|
|
752
|
+
C
|
|
753
|
+
), a = pl(), c = n.length === 1 ? n[0].promise : n.length > 1 ? Promise.all(n.map((f) => f.promise)) : null;
|
|
754
|
+
function d(f) {
|
|
755
|
+
a();
|
|
756
|
+
try {
|
|
757
|
+
i(f);
|
|
758
|
+
} catch (h) {
|
|
759
|
+
(r.f & Be) === 0 && zo(h, r);
|
|
760
|
+
}
|
|
761
|
+
l?.deactivate(), ti();
|
|
762
|
+
}
|
|
763
|
+
if (t.length === 0) {
|
|
764
|
+
c.then(() => d(o.map(s)));
|
|
765
|
+
return;
|
|
766
|
+
}
|
|
767
|
+
function g() {
|
|
768
|
+
a(), Promise.all(t.map((f) => /* @__PURE__ */ dl(f))).then((f) => d([...o.map(s), ...f])).catch((f) => zo(f, r));
|
|
769
|
+
}
|
|
770
|
+
c ? c.then(g) : g();
|
|
771
|
+
}
|
|
772
|
+
function pl() {
|
|
773
|
+
var e = C, o = S, t = ne, i = M;
|
|
774
|
+
return function(s = !0) {
|
|
775
|
+
Ce(e), pe(o), Lo(t), s && i?.activate();
|
|
776
|
+
};
|
|
777
|
+
}
|
|
778
|
+
function ti() {
|
|
779
|
+
Ce(null), pe(null), Lo(null);
|
|
780
|
+
}
|
|
781
|
+
// @__NO_SIDE_EFFECTS__
|
|
782
|
+
function Et(e) {
|
|
783
|
+
var o = F | X, t = S !== null && (S.f & F) !== 0 ? (
|
|
784
|
+
/** @type {Derived} */
|
|
785
|
+
S
|
|
786
|
+
) : null;
|
|
787
|
+
return C !== null && (C.f |= wo), {
|
|
788
|
+
ctx: ne,
|
|
789
|
+
deps: null,
|
|
790
|
+
effects: null,
|
|
791
|
+
equals: mn,
|
|
792
|
+
f: o,
|
|
793
|
+
fn: e,
|
|
794
|
+
reactions: null,
|
|
795
|
+
rv: 0,
|
|
796
|
+
v: (
|
|
797
|
+
/** @type {V} */
|
|
798
|
+
W
|
|
799
|
+
),
|
|
800
|
+
wv: 0,
|
|
801
|
+
parent: t ?? C,
|
|
802
|
+
ac: null
|
|
803
|
+
};
|
|
804
|
+
}
|
|
805
|
+
// @__NO_SIDE_EFFECTS__
|
|
806
|
+
function dl(e, o, t) {
|
|
807
|
+
let i = (
|
|
808
|
+
/** @type {Effect | null} */
|
|
809
|
+
C
|
|
810
|
+
);
|
|
811
|
+
i === null && Hs();
|
|
812
|
+
var s = (
|
|
813
|
+
/** @type {Boundary} */
|
|
814
|
+
i.b
|
|
815
|
+
), n = (
|
|
816
|
+
/** @type {Promise<V>} */
|
|
817
|
+
/** @type {unknown} */
|
|
818
|
+
void 0
|
|
819
|
+
), l = yo(
|
|
820
|
+
/** @type {V} */
|
|
821
|
+
W
|
|
822
|
+
), r = !S, a = /* @__PURE__ */ new Map();
|
|
823
|
+
return xl(() => {
|
|
824
|
+
var c = pn();
|
|
825
|
+
n = c.promise;
|
|
826
|
+
try {
|
|
827
|
+
Promise.resolve(e()).then(c.resolve, c.reject).then(() => {
|
|
828
|
+
d === M && d.committed && d.deactivate(), ti();
|
|
829
|
+
});
|
|
830
|
+
} catch (h) {
|
|
831
|
+
c.reject(h), ti();
|
|
832
|
+
}
|
|
833
|
+
var d = (
|
|
834
|
+
/** @type {Batch} */
|
|
835
|
+
M
|
|
836
|
+
);
|
|
837
|
+
if (r) {
|
|
838
|
+
var g = s.is_rendered();
|
|
839
|
+
s.update_pending_count(1), d.increment(g), a.get(d)?.reject(uo), a.delete(d), a.set(d, c);
|
|
840
|
+
}
|
|
841
|
+
const f = (h, y = void 0) => {
|
|
842
|
+
if (d.activate(), y)
|
|
843
|
+
y !== uo && (l.f |= to, jo(l, y));
|
|
844
|
+
else {
|
|
845
|
+
(l.f & to) !== 0 && (l.f ^= to), jo(l, h);
|
|
846
|
+
for (const [w, m] of a) {
|
|
847
|
+
if (a.delete(w), w === d) break;
|
|
848
|
+
m.reject(uo);
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
r && (s.update_pending_count(-1), d.decrement(g));
|
|
852
|
+
};
|
|
853
|
+
c.promise.then(f, (h) => f(null, h || "unknown"));
|
|
854
|
+
}), Bn(() => {
|
|
855
|
+
for (const c of a.values())
|
|
856
|
+
c.reject(uo);
|
|
857
|
+
}), new Promise((c) => {
|
|
858
|
+
function d(g) {
|
|
859
|
+
function f() {
|
|
860
|
+
g === n ? c(l) : d(n);
|
|
861
|
+
}
|
|
862
|
+
g.then(f, f);
|
|
863
|
+
}
|
|
864
|
+
d(n);
|
|
865
|
+
});
|
|
866
|
+
}
|
|
867
|
+
// @__NO_SIDE_EFFECTS__
|
|
868
|
+
function Dt(e) {
|
|
869
|
+
const o = /* @__PURE__ */ Et(e);
|
|
870
|
+
return Kn(o), o;
|
|
871
|
+
}
|
|
872
|
+
// @__NO_SIDE_EFFECTS__
|
|
873
|
+
function ul(e) {
|
|
874
|
+
const o = /* @__PURE__ */ Et(e);
|
|
875
|
+
return o.equals = hn, o;
|
|
876
|
+
}
|
|
877
|
+
function fl(e) {
|
|
878
|
+
var o = e.effects;
|
|
879
|
+
if (o !== null) {
|
|
880
|
+
e.effects = null;
|
|
881
|
+
for (var t = 0; t < o.length; t += 1)
|
|
882
|
+
K(
|
|
883
|
+
/** @type {Effect} */
|
|
884
|
+
o[t]
|
|
885
|
+
);
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
function ml(e) {
|
|
889
|
+
for (var o = e.parent; o !== null; ) {
|
|
890
|
+
if ((o.f & F) === 0)
|
|
891
|
+
return (o.f & Be) === 0 ? (
|
|
892
|
+
/** @type {Effect} */
|
|
893
|
+
o
|
|
894
|
+
) : null;
|
|
895
|
+
o = o.parent;
|
|
896
|
+
}
|
|
897
|
+
return null;
|
|
898
|
+
}
|
|
899
|
+
function gi(e) {
|
|
900
|
+
var o, t = C;
|
|
901
|
+
Ce(ml(e));
|
|
902
|
+
try {
|
|
903
|
+
e.f &= ~go, fl(e), o = Qn(e);
|
|
904
|
+
} finally {
|
|
905
|
+
Ce(t);
|
|
906
|
+
}
|
|
907
|
+
return o;
|
|
908
|
+
}
|
|
909
|
+
function zn(e) {
|
|
910
|
+
var o = gi(e);
|
|
911
|
+
if (!e.equals(o) && (e.wv = Yn(), (!M?.is_fork || e.deps === null) && (e.v = o, e.deps === null))) {
|
|
912
|
+
R(e, H);
|
|
913
|
+
return;
|
|
914
|
+
}
|
|
915
|
+
no || (ve !== null ? (bi() || M?.is_fork) && ve.set(e, o) : hi(e));
|
|
916
|
+
}
|
|
917
|
+
function hl(e) {
|
|
918
|
+
if (e.effects !== null)
|
|
919
|
+
for (const o of e.effects)
|
|
920
|
+
(o.teardown || o.ac) && (o.teardown?.(), o.ac?.abort(uo), o.teardown = Es, o.ac = null, Qo(o, 0), xi(o));
|
|
921
|
+
}
|
|
922
|
+
function jn(e) {
|
|
923
|
+
if (e.effects !== null)
|
|
924
|
+
for (const o of e.effects)
|
|
925
|
+
o.teardown && Mo(o);
|
|
926
|
+
}
|
|
927
|
+
let ii = /* @__PURE__ */ new Set();
|
|
928
|
+
const io = /* @__PURE__ */ new Map();
|
|
929
|
+
let En = !1;
|
|
930
|
+
function yo(e, o) {
|
|
931
|
+
var t = {
|
|
932
|
+
f: 0,
|
|
933
|
+
// TODO ideally we could skip this altogether, but it causes type errors
|
|
934
|
+
v: e,
|
|
935
|
+
reactions: null,
|
|
936
|
+
equals: mn,
|
|
937
|
+
rv: 0,
|
|
938
|
+
wv: 0
|
|
939
|
+
};
|
|
940
|
+
return t;
|
|
941
|
+
}
|
|
942
|
+
// @__NO_SIDE_EFFECTS__
|
|
943
|
+
function N(e, o) {
|
|
944
|
+
const t = yo(e);
|
|
945
|
+
return Kn(t), t;
|
|
946
|
+
}
|
|
947
|
+
// @__NO_SIDE_EFFECTS__
|
|
948
|
+
function Mn(e, o = !1, t = !0) {
|
|
949
|
+
const i = yo(e);
|
|
950
|
+
return o || (i.equals = hn), i;
|
|
951
|
+
}
|
|
952
|
+
function O(e, o, t = !1) {
|
|
953
|
+
S !== null && // since we are untracking the function inside `$inspect.with` we need to add this check
|
|
954
|
+
// to ensure we error if state is set inside an inspect effect
|
|
955
|
+
(!be || (S.f & Vi) !== 0) && yn() && (S.f & (F | De | mi | Vi)) !== 0 && (ce === null || !Co.call(ce, e)) && Ks();
|
|
956
|
+
let i = t ? oo(o) : o;
|
|
957
|
+
return jo(e, i);
|
|
958
|
+
}
|
|
959
|
+
function jo(e, o) {
|
|
960
|
+
if (!e.equals(o)) {
|
|
961
|
+
var t = e.v;
|
|
962
|
+
no ? io.set(e, o) : io.set(e, t), e.v = o;
|
|
963
|
+
var i = _o.ensure();
|
|
964
|
+
if (i.capture(e, t), (e.f & F) !== 0) {
|
|
965
|
+
const s = (
|
|
966
|
+
/** @type {Derived} */
|
|
967
|
+
e
|
|
968
|
+
);
|
|
969
|
+
(e.f & X) !== 0 && gi(s), hi(s);
|
|
970
|
+
}
|
|
971
|
+
e.wv = Yn(), Rn(e, X), C !== null && (C.f & H) !== 0 && (C.f & (xe | so)) === 0 && (le === null ? Il([e]) : le.push(e)), !i.is_fork && ii.size > 0 && !En && gl();
|
|
972
|
+
}
|
|
973
|
+
return o;
|
|
974
|
+
}
|
|
975
|
+
function gl() {
|
|
976
|
+
En = !1;
|
|
977
|
+
for (const e of ii)
|
|
978
|
+
(e.f & H) !== 0 && R(e, we), tt(e) && Mo(e);
|
|
979
|
+
ii.clear();
|
|
980
|
+
}
|
|
981
|
+
function Yo(e) {
|
|
982
|
+
O(e, e.v + 1);
|
|
983
|
+
}
|
|
984
|
+
function Rn(e, o) {
|
|
985
|
+
var t = e.reactions;
|
|
986
|
+
if (t !== null)
|
|
987
|
+
for (var i = t.length, s = 0; s < i; s++) {
|
|
988
|
+
var n = t[s], l = n.f, r = (l & X) === 0;
|
|
989
|
+
if (r && R(n, o), (l & F) !== 0) {
|
|
990
|
+
var a = (
|
|
991
|
+
/** @type {Derived} */
|
|
992
|
+
n
|
|
993
|
+
);
|
|
994
|
+
ve?.delete(a), (l & go) === 0 && (l & ae && (n.f |= go), Rn(a, we));
|
|
995
|
+
} else r && ((l & De) !== 0 && Ne !== null && Ne.add(
|
|
996
|
+
/** @type {Effect} */
|
|
997
|
+
n
|
|
998
|
+
), ye(
|
|
999
|
+
/** @type {Effect} */
|
|
1000
|
+
n
|
|
1001
|
+
));
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
function oo(e) {
|
|
1005
|
+
if (typeof e != "object" || e === null || mt in e)
|
|
1006
|
+
return e;
|
|
1007
|
+
const o = cn(e);
|
|
1008
|
+
if (o !== zs && o !== js)
|
|
1009
|
+
return e;
|
|
1010
|
+
var t = /* @__PURE__ */ new Map(), i = an(e), s = /* @__PURE__ */ N(0), n = ho, l = (r) => {
|
|
1011
|
+
if (ho === n)
|
|
1012
|
+
return r();
|
|
1013
|
+
var a = S, c = ho;
|
|
1014
|
+
pe(null), Gi(n);
|
|
1015
|
+
var d = r();
|
|
1016
|
+
return pe(a), Gi(c), d;
|
|
1017
|
+
};
|
|
1018
|
+
return i && t.set("length", /* @__PURE__ */ N(
|
|
1019
|
+
/** @type {any[]} */
|
|
1020
|
+
e.length
|
|
1021
|
+
)), new Proxy(
|
|
1022
|
+
/** @type {any} */
|
|
1023
|
+
e,
|
|
1024
|
+
{
|
|
1025
|
+
defineProperty(r, a, c) {
|
|
1026
|
+
(!("value" in c) || c.configurable === !1 || c.enumerable === !1 || c.writable === !1) && Us();
|
|
1027
|
+
var d = t.get(a);
|
|
1028
|
+
return d === void 0 ? l(() => {
|
|
1029
|
+
var g = /* @__PURE__ */ N(c.value);
|
|
1030
|
+
return t.set(a, g), g;
|
|
1031
|
+
}) : O(d, c.value, !0), !0;
|
|
1032
|
+
},
|
|
1033
|
+
deleteProperty(r, a) {
|
|
1034
|
+
var c = t.get(a);
|
|
1035
|
+
if (c === void 0) {
|
|
1036
|
+
if (a in r) {
|
|
1037
|
+
const d = l(() => /* @__PURE__ */ N(W));
|
|
1038
|
+
t.set(a, d), Yo(s);
|
|
1039
|
+
}
|
|
1040
|
+
} else
|
|
1041
|
+
O(c, W), Yo(s);
|
|
1042
|
+
return !0;
|
|
1043
|
+
},
|
|
1044
|
+
get(r, a, c) {
|
|
1045
|
+
if (a === mt)
|
|
1046
|
+
return e;
|
|
1047
|
+
var d = t.get(a), g = a in r;
|
|
1048
|
+
if (d === void 0 && (!g || Io(r, a)?.writable) && (d = l(() => {
|
|
1049
|
+
var h = oo(g ? r[a] : W), y = /* @__PURE__ */ N(h);
|
|
1050
|
+
return y;
|
|
1051
|
+
}), t.set(a, d)), d !== void 0) {
|
|
1052
|
+
var f = u(d);
|
|
1053
|
+
return f === W ? void 0 : f;
|
|
1054
|
+
}
|
|
1055
|
+
return Reflect.get(r, a, c);
|
|
1056
|
+
},
|
|
1057
|
+
getOwnPropertyDescriptor(r, a) {
|
|
1058
|
+
var c = Reflect.getOwnPropertyDescriptor(r, a);
|
|
1059
|
+
if (c && "value" in c) {
|
|
1060
|
+
var d = t.get(a);
|
|
1061
|
+
d && (c.value = u(d));
|
|
1062
|
+
} else if (c === void 0) {
|
|
1063
|
+
var g = t.get(a), f = g?.v;
|
|
1064
|
+
if (g !== void 0 && f !== W)
|
|
1065
|
+
return {
|
|
1066
|
+
enumerable: !0,
|
|
1067
|
+
configurable: !0,
|
|
1068
|
+
value: f,
|
|
1069
|
+
writable: !0
|
|
1070
|
+
};
|
|
1071
|
+
}
|
|
1072
|
+
return c;
|
|
1073
|
+
},
|
|
1074
|
+
has(r, a) {
|
|
1075
|
+
if (a === mt)
|
|
1076
|
+
return !0;
|
|
1077
|
+
var c = t.get(a), d = c !== void 0 && c.v !== W || Reflect.has(r, a);
|
|
1078
|
+
if (c !== void 0 || C !== null && (!d || Io(r, a)?.writable)) {
|
|
1079
|
+
c === void 0 && (c = l(() => {
|
|
1080
|
+
var f = d ? oo(r[a]) : W, h = /* @__PURE__ */ N(f);
|
|
1081
|
+
return h;
|
|
1082
|
+
}), t.set(a, c));
|
|
1083
|
+
var g = u(c);
|
|
1084
|
+
if (g === W)
|
|
1085
|
+
return !1;
|
|
1086
|
+
}
|
|
1087
|
+
return d;
|
|
1088
|
+
},
|
|
1089
|
+
set(r, a, c, d) {
|
|
1090
|
+
var g = t.get(a), f = a in r;
|
|
1091
|
+
if (i && a === "length")
|
|
1092
|
+
for (var h = c; h < /** @type {Source<number>} */
|
|
1093
|
+
g.v; h += 1) {
|
|
1094
|
+
var y = t.get(h + "");
|
|
1095
|
+
y !== void 0 ? O(y, W) : h in r && (y = l(() => /* @__PURE__ */ N(W)), t.set(h + "", y));
|
|
1096
|
+
}
|
|
1097
|
+
if (g === void 0)
|
|
1098
|
+
(!f || Io(r, a)?.writable) && (g = l(() => /* @__PURE__ */ N(void 0)), O(g, oo(c)), t.set(a, g));
|
|
1099
|
+
else {
|
|
1100
|
+
f = g.v !== W;
|
|
1101
|
+
var w = l(() => oo(c));
|
|
1102
|
+
O(g, w);
|
|
1103
|
+
}
|
|
1104
|
+
var m = Reflect.getOwnPropertyDescriptor(r, a);
|
|
1105
|
+
if (m?.set && m.set.call(d, c), !f) {
|
|
1106
|
+
if (i && typeof a == "string") {
|
|
1107
|
+
var _ = (
|
|
1108
|
+
/** @type {Source<number>} */
|
|
1109
|
+
t.get("length")
|
|
1110
|
+
), j = Number(a);
|
|
1111
|
+
Number.isInteger(j) && j >= _.v && O(_, j + 1);
|
|
1112
|
+
}
|
|
1113
|
+
Yo(s);
|
|
1114
|
+
}
|
|
1115
|
+
return !0;
|
|
1116
|
+
},
|
|
1117
|
+
ownKeys(r) {
|
|
1118
|
+
u(s);
|
|
1119
|
+
var a = Reflect.ownKeys(r).filter((g) => {
|
|
1120
|
+
var f = t.get(g);
|
|
1121
|
+
return f === void 0 || f.v !== W;
|
|
1122
|
+
});
|
|
1123
|
+
for (var [c, d] of t)
|
|
1124
|
+
d.v !== W && !(c in r) && a.push(c);
|
|
1125
|
+
return a;
|
|
1126
|
+
},
|
|
1127
|
+
setPrototypeOf() {
|
|
1128
|
+
Js();
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
);
|
|
1132
|
+
}
|
|
1133
|
+
var Hi, Nn, On, Vn;
|
|
1134
|
+
function ni() {
|
|
1135
|
+
if (Hi === void 0) {
|
|
1136
|
+
Hi = window, Nn = /Firefox/.test(navigator.userAgent);
|
|
1137
|
+
var e = Element.prototype, o = Node.prototype, t = Text.prototype;
|
|
1138
|
+
On = Io(o, "firstChild").get, Vn = Io(o, "nextSibling").get, Oi(e) && (e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0), Oi(t) && (t.__t = void 0);
|
|
1139
|
+
}
|
|
1140
|
+
}
|
|
1141
|
+
function ie(e = "") {
|
|
1142
|
+
return document.createTextNode(e);
|
|
1143
|
+
}
|
|
1144
|
+
// @__NO_SIDE_EFFECTS__
|
|
1145
|
+
function Eo(e) {
|
|
1146
|
+
return (
|
|
1147
|
+
/** @type {TemplateNode | null} */
|
|
1148
|
+
On.call(e)
|
|
1149
|
+
);
|
|
1150
|
+
}
|
|
1151
|
+
// @__NO_SIDE_EFFECTS__
|
|
1152
|
+
function Ae(e) {
|
|
1153
|
+
return (
|
|
1154
|
+
/** @type {TemplateNode | null} */
|
|
1155
|
+
Vn.call(e)
|
|
1156
|
+
);
|
|
1157
|
+
}
|
|
1158
|
+
function L(e, o) {
|
|
1159
|
+
if (!$)
|
|
1160
|
+
return /* @__PURE__ */ Eo(e);
|
|
1161
|
+
var t = /* @__PURE__ */ Eo(T);
|
|
1162
|
+
if (t === null)
|
|
1163
|
+
t = T.appendChild(ie());
|
|
1164
|
+
else if (o && t.nodeType !== et) {
|
|
1165
|
+
var i = ie();
|
|
1166
|
+
return t?.before(i), J(i), i;
|
|
1167
|
+
}
|
|
1168
|
+
return o && Mt(
|
|
1169
|
+
/** @type {Text} */
|
|
1170
|
+
t
|
|
1171
|
+
), J(t), t;
|
|
1172
|
+
}
|
|
1173
|
+
function _l(e, o = !1) {
|
|
1174
|
+
if (!$) {
|
|
1175
|
+
var t = /* @__PURE__ */ Eo(e);
|
|
1176
|
+
return t instanceof Comment && t.data === "" ? /* @__PURE__ */ Ae(t) : t;
|
|
1177
|
+
}
|
|
1178
|
+
if (o) {
|
|
1179
|
+
if (T?.nodeType !== et) {
|
|
1180
|
+
var i = ie();
|
|
1181
|
+
return T?.before(i), J(i), i;
|
|
1182
|
+
}
|
|
1183
|
+
Mt(
|
|
1184
|
+
/** @type {Text} */
|
|
1185
|
+
T
|
|
1186
|
+
);
|
|
1187
|
+
}
|
|
1188
|
+
return T;
|
|
1189
|
+
}
|
|
1190
|
+
function V(e, o = 1, t = !1) {
|
|
1191
|
+
let i = $ ? T : e;
|
|
1192
|
+
for (var s; o--; )
|
|
1193
|
+
s = i, i = /** @type {TemplateNode} */
|
|
1194
|
+
/* @__PURE__ */ Ae(i);
|
|
1195
|
+
if (!$)
|
|
1196
|
+
return i;
|
|
1197
|
+
if (t) {
|
|
1198
|
+
if (i?.nodeType !== et) {
|
|
1199
|
+
var n = ie();
|
|
1200
|
+
return i === null ? s?.after(n) : i.before(n), J(n), n;
|
|
1201
|
+
}
|
|
1202
|
+
Mt(
|
|
1203
|
+
/** @type {Text} */
|
|
1204
|
+
i
|
|
1205
|
+
);
|
|
1206
|
+
}
|
|
1207
|
+
return J(i), i;
|
|
1208
|
+
}
|
|
1209
|
+
function Pn(e) {
|
|
1210
|
+
e.textContent = "";
|
|
1211
|
+
}
|
|
1212
|
+
function Hn() {
|
|
1213
|
+
return !1;
|
|
1214
|
+
}
|
|
1215
|
+
function _i(e, o, t) {
|
|
1216
|
+
return (
|
|
1217
|
+
/** @type {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element} */
|
|
1218
|
+
document.createElementNS(rn, e, void 0)
|
|
1219
|
+
);
|
|
1220
|
+
}
|
|
1221
|
+
function Mt(e) {
|
|
1222
|
+
if (
|
|
1223
|
+
/** @type {string} */
|
|
1224
|
+
e.nodeValue.length < 65536
|
|
1225
|
+
)
|
|
1226
|
+
return;
|
|
1227
|
+
let o = e.nextSibling;
|
|
1228
|
+
for (; o !== null && o.nodeType === et; )
|
|
1229
|
+
o.remove(), e.nodeValue += /** @type {string} */
|
|
1230
|
+
o.nodeValue, o = e.nextSibling;
|
|
1231
|
+
}
|
|
1232
|
+
function yi(e) {
|
|
1233
|
+
var o = S, t = C;
|
|
1234
|
+
pe(null), Ce(null);
|
|
1235
|
+
try {
|
|
1236
|
+
return e();
|
|
1237
|
+
} finally {
|
|
1238
|
+
pe(o), Ce(t);
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1241
|
+
function yl(e) {
|
|
1242
|
+
C === null && (S === null && Ws(), Ds()), no && Gs();
|
|
1243
|
+
}
|
|
1244
|
+
function bl(e, o) {
|
|
1245
|
+
var t = o.last;
|
|
1246
|
+
t === null ? o.last = o.first = e : (t.next = e, e.prev = t, o.last = e);
|
|
1247
|
+
}
|
|
1248
|
+
function Le(e, o, t) {
|
|
1249
|
+
var i = C;
|
|
1250
|
+
i !== null && (i.f & te) !== 0 && (e |= te);
|
|
1251
|
+
var s = {
|
|
1252
|
+
ctx: ne,
|
|
1253
|
+
deps: null,
|
|
1254
|
+
nodes: null,
|
|
1255
|
+
f: e | X | ae,
|
|
1256
|
+
first: null,
|
|
1257
|
+
fn: o,
|
|
1258
|
+
last: null,
|
|
1259
|
+
next: null,
|
|
1260
|
+
parent: i,
|
|
1261
|
+
b: i && i.b,
|
|
1262
|
+
prev: null,
|
|
1263
|
+
teardown: null,
|
|
1264
|
+
wv: 0,
|
|
1265
|
+
ac: null
|
|
1266
|
+
};
|
|
1267
|
+
if (t)
|
|
1268
|
+
try {
|
|
1269
|
+
Mo(s);
|
|
1270
|
+
} catch (r) {
|
|
1271
|
+
throw K(s), r;
|
|
1272
|
+
}
|
|
1273
|
+
else o !== null && ye(s);
|
|
1274
|
+
var n = s;
|
|
1275
|
+
if (t && n.deps === null && n.teardown === null && n.nodes === null && n.first === n.last && // either `null`, or a singular child
|
|
1276
|
+
(n.f & wo) === 0 && (n = n.first, (e & De) !== 0 && (e & Ao) !== 0 && n !== null && (n.f |= Ao)), n !== null && (n.parent = i, i !== null && bl(n, i), S !== null && (S.f & F) !== 0 && (e & so) === 0)) {
|
|
1277
|
+
var l = (
|
|
1278
|
+
/** @type {Derived} */
|
|
1279
|
+
S
|
|
1280
|
+
);
|
|
1281
|
+
(l.effects ?? (l.effects = [])).push(n);
|
|
1282
|
+
}
|
|
1283
|
+
return s;
|
|
1284
|
+
}
|
|
1285
|
+
function bi() {
|
|
1286
|
+
return S !== null && !be;
|
|
1287
|
+
}
|
|
1288
|
+
function Bn(e) {
|
|
1289
|
+
const o = Le(At, null, !1);
|
|
1290
|
+
return R(o, H), o.teardown = e, o;
|
|
1291
|
+
}
|
|
1292
|
+
function _t(e) {
|
|
1293
|
+
yl();
|
|
1294
|
+
var o = (
|
|
1295
|
+
/** @type {Effect} */
|
|
1296
|
+
C.f
|
|
1297
|
+
), t = !S && (o & xe) !== 0 && (o & Ro) === 0;
|
|
1298
|
+
if (t) {
|
|
1299
|
+
var i = (
|
|
1300
|
+
/** @type {ComponentContext} */
|
|
1301
|
+
ne
|
|
1302
|
+
);
|
|
1303
|
+
(i.e ?? (i.e = [])).push(e);
|
|
1304
|
+
} else
|
|
1305
|
+
return Gn(e);
|
|
1306
|
+
}
|
|
1307
|
+
function Gn(e) {
|
|
1308
|
+
return Le(Zo | Rs, e, !1);
|
|
1309
|
+
}
|
|
1310
|
+
function vl(e) {
|
|
1311
|
+
_o.ensure();
|
|
1312
|
+
const o = Le(so | wo, e, !0);
|
|
1313
|
+
return () => {
|
|
1314
|
+
K(o);
|
|
1315
|
+
};
|
|
1316
|
+
}
|
|
1317
|
+
function wl(e) {
|
|
1318
|
+
_o.ensure();
|
|
1319
|
+
const o = Le(so | wo, e, !0);
|
|
1320
|
+
return (t = {}) => new Promise((i) => {
|
|
1321
|
+
t.outro ? bo(o, () => {
|
|
1322
|
+
K(o), i(void 0);
|
|
1323
|
+
}) : (K(o), i(void 0));
|
|
1324
|
+
});
|
|
1325
|
+
}
|
|
1326
|
+
function Dn(e) {
|
|
1327
|
+
return Le(Zo, e, !1);
|
|
1328
|
+
}
|
|
1329
|
+
function xl(e) {
|
|
1330
|
+
return Le(mi | wo, e, !0);
|
|
1331
|
+
}
|
|
1332
|
+
function vi(e, o = 0) {
|
|
1333
|
+
return Le(At | o, e, !0);
|
|
1334
|
+
}
|
|
1335
|
+
function ct(e, o = [], t = [], i = []) {
|
|
1336
|
+
cl(i, o, t, (s) => {
|
|
1337
|
+
Le(At, () => e(...s.map(u)), !0);
|
|
1338
|
+
});
|
|
1339
|
+
}
|
|
1340
|
+
function wi(e, o = 0) {
|
|
1341
|
+
var t = Le(De | o, e, !0);
|
|
1342
|
+
return t;
|
|
1343
|
+
}
|
|
1344
|
+
function Te(e) {
|
|
1345
|
+
return Le(xe | wo, e, !0);
|
|
1346
|
+
}
|
|
1347
|
+
function Wn(e) {
|
|
1348
|
+
var o = e.teardown;
|
|
1349
|
+
if (o !== null) {
|
|
1350
|
+
const t = no, i = S;
|
|
1351
|
+
Bi(!0), pe(null);
|
|
1352
|
+
try {
|
|
1353
|
+
o.call(null);
|
|
1354
|
+
} finally {
|
|
1355
|
+
Bi(t), pe(i);
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
}
|
|
1359
|
+
function xi(e, o = !1) {
|
|
1360
|
+
var t = e.first;
|
|
1361
|
+
for (e.first = e.last = null; t !== null; ) {
|
|
1362
|
+
const s = t.ac;
|
|
1363
|
+
s !== null && yi(() => {
|
|
1364
|
+
s.abort(uo);
|
|
1365
|
+
});
|
|
1366
|
+
var i = t.next;
|
|
1367
|
+
(t.f & so) !== 0 ? t.parent = null : K(t, o), t = i;
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
function kl(e) {
|
|
1371
|
+
for (var o = e.first; o !== null; ) {
|
|
1372
|
+
var t = o.next;
|
|
1373
|
+
(o.f & xe) === 0 && K(o), o = t;
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
function K(e, o = !0) {
|
|
1377
|
+
var t = !1;
|
|
1378
|
+
(o || (e.f & un) !== 0) && e.nodes !== null && e.nodes.end !== null && (Sl(
|
|
1379
|
+
e.nodes.start,
|
|
1380
|
+
/** @type {TemplateNode} */
|
|
1381
|
+
e.nodes.end
|
|
1382
|
+
), t = !0), xi(e, o && !t), Qo(e, 0), R(e, Be);
|
|
1383
|
+
var i = e.nodes && e.nodes.t;
|
|
1384
|
+
if (i !== null)
|
|
1385
|
+
for (const n of i)
|
|
1386
|
+
n.stop();
|
|
1387
|
+
Wn(e);
|
|
1388
|
+
var s = e.parent;
|
|
1389
|
+
s !== null && s.first !== null && Fn(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes = e.ac = null;
|
|
1390
|
+
}
|
|
1391
|
+
function Sl(e, o) {
|
|
1392
|
+
for (; e !== null; ) {
|
|
1393
|
+
var t = e === o ? null : /* @__PURE__ */ Ae(e);
|
|
1394
|
+
e.remove(), e = t;
|
|
1395
|
+
}
|
|
1396
|
+
}
|
|
1397
|
+
function Fn(e) {
|
|
1398
|
+
var o = e.parent, t = e.prev, i = e.next;
|
|
1399
|
+
t !== null && (t.next = i), i !== null && (i.prev = t), o !== null && (o.first === e && (o.first = i), o.last === e && (o.last = t));
|
|
1400
|
+
}
|
|
1401
|
+
function bo(e, o, t = !0) {
|
|
1402
|
+
var i = [];
|
|
1403
|
+
Xn(e, i, !0);
|
|
1404
|
+
var s = () => {
|
|
1405
|
+
t && K(e), o && o();
|
|
1406
|
+
}, n = i.length;
|
|
1407
|
+
if (n > 0) {
|
|
1408
|
+
var l = () => --n || s();
|
|
1409
|
+
for (var r of i)
|
|
1410
|
+
r.out(l);
|
|
1411
|
+
} else
|
|
1412
|
+
s();
|
|
1413
|
+
}
|
|
1414
|
+
function Xn(e, o, t) {
|
|
1415
|
+
if ((e.f & te) === 0) {
|
|
1416
|
+
e.f ^= te;
|
|
1417
|
+
var i = e.nodes && e.nodes.t;
|
|
1418
|
+
if (i !== null)
|
|
1419
|
+
for (const r of i)
|
|
1420
|
+
(r.is_global || t) && o.push(r);
|
|
1421
|
+
for (var s = e.first; s !== null; ) {
|
|
1422
|
+
var n = s.next, l = (s.f & Ao) !== 0 || // If this is a branch effect without a block effect parent,
|
|
1423
|
+
// it means the parent block effect was pruned. In that case,
|
|
1424
|
+
// transparency information was transferred to the branch effect.
|
|
1425
|
+
(s.f & xe) !== 0 && (e.f & De) !== 0;
|
|
1426
|
+
Xn(s, o, l ? t : !1), s = n;
|
|
1427
|
+
}
|
|
1428
|
+
}
|
|
1429
|
+
}
|
|
1430
|
+
function ki(e) {
|
|
1431
|
+
Un(e, !0);
|
|
1432
|
+
}
|
|
1433
|
+
function Un(e, o) {
|
|
1434
|
+
if ((e.f & te) !== 0) {
|
|
1435
|
+
e.f ^= te, (e.f & H) === 0 && (R(e, X), ye(e));
|
|
1436
|
+
for (var t = e.first; t !== null; ) {
|
|
1437
|
+
var i = t.next, s = (t.f & Ao) !== 0 || (t.f & xe) !== 0;
|
|
1438
|
+
Un(t, s ? o : !1), t = i;
|
|
1439
|
+
}
|
|
1440
|
+
var n = e.nodes && e.nodes.t;
|
|
1441
|
+
if (n !== null)
|
|
1442
|
+
for (const l of n)
|
|
1443
|
+
(l.is_global || o) && l.in();
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
function Jn(e, o) {
|
|
1447
|
+
if (e.nodes)
|
|
1448
|
+
for (var t = e.nodes.start, i = e.nodes.end; t !== null; ) {
|
|
1449
|
+
var s = t === i ? null : /* @__PURE__ */ Ae(t);
|
|
1450
|
+
o.append(t), t = s;
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
let yt = !1, no = !1;
|
|
1454
|
+
function Bi(e) {
|
|
1455
|
+
no = e;
|
|
1456
|
+
}
|
|
1457
|
+
let S = null, be = !1;
|
|
1458
|
+
function pe(e) {
|
|
1459
|
+
S = e;
|
|
1460
|
+
}
|
|
1461
|
+
let C = null;
|
|
1462
|
+
function Ce(e) {
|
|
1463
|
+
C = e;
|
|
1464
|
+
}
|
|
1465
|
+
let ce = null;
|
|
1466
|
+
function Kn(e) {
|
|
1467
|
+
S !== null && (ce === null ? ce = [e] : ce.push(e));
|
|
1468
|
+
}
|
|
1469
|
+
let Y = null, oe = 0, le = null;
|
|
1470
|
+
function Il(e) {
|
|
1471
|
+
le = e;
|
|
1472
|
+
}
|
|
1473
|
+
let qn = 1, mo = 0, ho = mo;
|
|
1474
|
+
function Gi(e) {
|
|
1475
|
+
ho = e;
|
|
1476
|
+
}
|
|
1477
|
+
function Yn() {
|
|
1478
|
+
return ++qn;
|
|
1479
|
+
}
|
|
1480
|
+
function tt(e) {
|
|
1481
|
+
var o = e.f;
|
|
1482
|
+
if ((o & X) !== 0)
|
|
1483
|
+
return !0;
|
|
1484
|
+
if (o & F && (e.f &= ~go), (o & we) !== 0) {
|
|
1485
|
+
for (var t = (
|
|
1486
|
+
/** @type {Value[]} */
|
|
1487
|
+
e.deps
|
|
1488
|
+
), i = t.length, s = 0; s < i; s++) {
|
|
1489
|
+
var n = t[s];
|
|
1490
|
+
if (tt(
|
|
1491
|
+
/** @type {Derived} */
|
|
1492
|
+
n
|
|
1493
|
+
) && zn(
|
|
1494
|
+
/** @type {Derived} */
|
|
1495
|
+
n
|
|
1496
|
+
), n.wv > e.wv)
|
|
1497
|
+
return !0;
|
|
1498
|
+
}
|
|
1499
|
+
(o & ae) !== 0 && // During time traveling we don't want to reset the status so that
|
|
1500
|
+
// traversal of the graph in the other batches still happens
|
|
1501
|
+
ve === null && R(e, H);
|
|
1502
|
+
}
|
|
1503
|
+
return !1;
|
|
1504
|
+
}
|
|
1505
|
+
function Zn(e, o, t = !0) {
|
|
1506
|
+
var i = e.reactions;
|
|
1507
|
+
if (i !== null && !(ce !== null && Co.call(ce, e)))
|
|
1508
|
+
for (var s = 0; s < i.length; s++) {
|
|
1509
|
+
var n = i[s];
|
|
1510
|
+
(n.f & F) !== 0 ? Zn(
|
|
1511
|
+
/** @type {Derived} */
|
|
1512
|
+
n,
|
|
1513
|
+
o,
|
|
1514
|
+
!1
|
|
1515
|
+
) : o === n && (t ? R(n, X) : (n.f & H) !== 0 && R(n, we), ye(
|
|
1516
|
+
/** @type {Effect} */
|
|
1517
|
+
n
|
|
1518
|
+
));
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
function Qn(e) {
|
|
1522
|
+
var o, t = Y, i = oe, s = le, n = S, l = ce, r = ne, a = be, c = ho, d = e.f;
|
|
1523
|
+
Y = /** @type {null | Value[]} */
|
|
1524
|
+
null, oe = 0, le = null, S = (d & (xe | so)) === 0 ? e : null, ce = null, Lo(e.ctx), be = !1, ho = ++mo, e.ac !== null && (yi(() => {
|
|
1525
|
+
e.ac.abort(uo);
|
|
1526
|
+
}), e.ac = null);
|
|
1527
|
+
try {
|
|
1528
|
+
e.f |= Jt;
|
|
1529
|
+
var g = (
|
|
1530
|
+
/** @type {Function} */
|
|
1531
|
+
e.fn
|
|
1532
|
+
), f = g();
|
|
1533
|
+
e.f |= Ro;
|
|
1534
|
+
var h = e.deps, y = M?.is_fork;
|
|
1535
|
+
if (Y !== null) {
|
|
1536
|
+
var w;
|
|
1537
|
+
if (y || Qo(e, oe), h !== null && oe > 0)
|
|
1538
|
+
for (h.length = oe + Y.length, w = 0; w < Y.length; w++)
|
|
1539
|
+
h[oe + w] = Y[w];
|
|
1540
|
+
else
|
|
1541
|
+
e.deps = h = Y;
|
|
1542
|
+
if (bi() && (e.f & ae) !== 0)
|
|
1543
|
+
for (w = oe; w < h.length; w++)
|
|
1544
|
+
((o = h[w]).reactions ?? (o.reactions = [])).push(e);
|
|
1545
|
+
} else !y && h !== null && oe < h.length && (Qo(e, oe), h.length = oe);
|
|
1546
|
+
if (yn() && le !== null && !be && h !== null && (e.f & (F | we | X)) === 0)
|
|
1547
|
+
for (w = 0; w < /** @type {Source[]} */
|
|
1548
|
+
le.length; w++)
|
|
1549
|
+
Zn(
|
|
1550
|
+
le[w],
|
|
1551
|
+
/** @type {Effect} */
|
|
1552
|
+
e
|
|
1553
|
+
);
|
|
1554
|
+
if (n !== null && n !== e) {
|
|
1555
|
+
if (mo++, n.deps !== null)
|
|
1556
|
+
for (let m = 0; m < i; m += 1)
|
|
1557
|
+
n.deps[m].rv = mo;
|
|
1558
|
+
if (t !== null)
|
|
1559
|
+
for (const m of t)
|
|
1560
|
+
m.rv = mo;
|
|
1561
|
+
le !== null && (s === null ? s = le : s.push(.../** @type {Source[]} */
|
|
1562
|
+
le));
|
|
1563
|
+
}
|
|
1564
|
+
return (e.f & to) !== 0 && (e.f ^= to), f;
|
|
1565
|
+
} catch (m) {
|
|
1566
|
+
return vn(m);
|
|
1567
|
+
} finally {
|
|
1568
|
+
e.f ^= Jt, Y = t, oe = i, le = s, S = n, ce = l, Lo(r), be = a, ho = c;
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
function $l(e, o) {
|
|
1572
|
+
let t = o.reactions;
|
|
1573
|
+
if (t !== null) {
|
|
1574
|
+
var i = As.call(t, e);
|
|
1575
|
+
if (i !== -1) {
|
|
1576
|
+
var s = t.length - 1;
|
|
1577
|
+
s === 0 ? t = o.reactions = null : (t[i] = t[s], t.pop());
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
if (t === null && (o.f & F) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear
|
|
1581
|
+
// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
|
|
1582
|
+
// allows us to skip the expensive work of disconnecting and immediately reconnecting it
|
|
1583
|
+
(Y === null || !Co.call(Y, o))) {
|
|
1584
|
+
var n = (
|
|
1585
|
+
/** @type {Derived} */
|
|
1586
|
+
o
|
|
1587
|
+
);
|
|
1588
|
+
(n.f & ae) !== 0 && (n.f ^= ae, n.f &= ~go), hi(n), hl(n), Qo(n, 0);
|
|
1589
|
+
}
|
|
1590
|
+
}
|
|
1591
|
+
function Qo(e, o) {
|
|
1592
|
+
var t = e.deps;
|
|
1593
|
+
if (t !== null)
|
|
1594
|
+
for (var i = o; i < t.length; i++)
|
|
1595
|
+
$l(e, t[i]);
|
|
1596
|
+
}
|
|
1597
|
+
function Mo(e) {
|
|
1598
|
+
var o = e.f;
|
|
1599
|
+
if ((o & Be) === 0) {
|
|
1600
|
+
R(e, H);
|
|
1601
|
+
var t = C, i = yt;
|
|
1602
|
+
C = e, yt = !0;
|
|
1603
|
+
try {
|
|
1604
|
+
(o & (De | dn)) !== 0 ? kl(e) : xi(e), Wn(e);
|
|
1605
|
+
var s = Qn(e);
|
|
1606
|
+
e.teardown = typeof s == "function" ? s : null, e.wv = qn;
|
|
1607
|
+
var n;
|
|
1608
|
+
Cs && el && (e.f & X) !== 0 && e.deps;
|
|
1609
|
+
} finally {
|
|
1610
|
+
yt = i, C = t;
|
|
1611
|
+
}
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
1614
|
+
function u(e) {
|
|
1615
|
+
var o = e.f, t = (o & F) !== 0;
|
|
1616
|
+
if (S !== null && !be) {
|
|
1617
|
+
var i = C !== null && (C.f & Be) !== 0;
|
|
1618
|
+
if (!i && (ce === null || !Co.call(ce, e))) {
|
|
1619
|
+
var s = S.deps;
|
|
1620
|
+
if ((S.f & Jt) !== 0)
|
|
1621
|
+
e.rv < mo && (e.rv = mo, Y === null && s !== null && s[oe] === e ? oe++ : Y === null ? Y = [e] : Y.push(e));
|
|
1622
|
+
else {
|
|
1623
|
+
(S.deps ?? (S.deps = [])).push(e);
|
|
1624
|
+
var n = e.reactions;
|
|
1625
|
+
n === null ? e.reactions = [S] : Co.call(n, S) || n.push(S);
|
|
1626
|
+
}
|
|
1627
|
+
}
|
|
1628
|
+
}
|
|
1629
|
+
if (no && io.has(e))
|
|
1630
|
+
return io.get(e);
|
|
1631
|
+
if (t) {
|
|
1632
|
+
var l = (
|
|
1633
|
+
/** @type {Derived} */
|
|
1634
|
+
e
|
|
1635
|
+
);
|
|
1636
|
+
if (no) {
|
|
1637
|
+
var r = l.v;
|
|
1638
|
+
return ((l.f & H) === 0 && l.reactions !== null || os(l)) && (r = gi(l)), io.set(l, r), r;
|
|
1639
|
+
}
|
|
1640
|
+
var a = (l.f & ae) === 0 && !be && S !== null && (yt || (S.f & ae) !== 0), c = (l.f & Ro) === 0;
|
|
1641
|
+
tt(l) && (a && (l.f |= ae), zn(l)), a && !c && (jn(l), es(l));
|
|
1642
|
+
}
|
|
1643
|
+
if (ve?.has(e))
|
|
1644
|
+
return ve.get(e);
|
|
1645
|
+
if ((e.f & to) !== 0)
|
|
1646
|
+
throw e.v;
|
|
1647
|
+
return e.v;
|
|
1648
|
+
}
|
|
1649
|
+
function es(e) {
|
|
1650
|
+
if (e.f |= ae, e.deps !== null)
|
|
1651
|
+
for (const o of e.deps)
|
|
1652
|
+
(o.reactions ?? (o.reactions = [])).push(e), (o.f & F) !== 0 && (o.f & ae) === 0 && (jn(
|
|
1653
|
+
/** @type {Derived} */
|
|
1654
|
+
o
|
|
1655
|
+
), es(
|
|
1656
|
+
/** @type {Derived} */
|
|
1657
|
+
o
|
|
1658
|
+
));
|
|
1659
|
+
}
|
|
1660
|
+
function os(e) {
|
|
1661
|
+
if (e.v === W) return !0;
|
|
1662
|
+
if (e.deps === null) return !1;
|
|
1663
|
+
for (const o of e.deps)
|
|
1664
|
+
if (io.has(o) || (o.f & F) !== 0 && os(
|
|
1665
|
+
/** @type {Derived} */
|
|
1666
|
+
o
|
|
1667
|
+
))
|
|
1668
|
+
return !0;
|
|
1669
|
+
return !1;
|
|
1670
|
+
}
|
|
1671
|
+
function Si(e) {
|
|
1672
|
+
var o = be;
|
|
1673
|
+
try {
|
|
1674
|
+
return be = !0, e();
|
|
1675
|
+
} finally {
|
|
1676
|
+
be = o;
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1679
|
+
const So = /* @__PURE__ */ Symbol("events"), ts = /* @__PURE__ */ new Set(), si = /* @__PURE__ */ new Set();
|
|
1680
|
+
function Tl(e, o, t, i = {}) {
|
|
1681
|
+
function s(n) {
|
|
1682
|
+
if (i.capture || li.call(o, n), !n.cancelBubble)
|
|
1683
|
+
return yi(() => t?.call(this, n));
|
|
1684
|
+
}
|
|
1685
|
+
return e.startsWith("pointer") || e.startsWith("touch") || e === "wheel" ? Ge(() => {
|
|
1686
|
+
o.addEventListener(e, s, i);
|
|
1687
|
+
}) : o.addEventListener(e, s, i), s;
|
|
1688
|
+
}
|
|
1689
|
+
function Cl(e, o, t, i, s) {
|
|
1690
|
+
var n = { capture: i, passive: s }, l = Tl(e, o, t, n);
|
|
1691
|
+
(o === document.body || // @ts-ignore
|
|
1692
|
+
o === window || // @ts-ignore
|
|
1693
|
+
o === document || // Firefox has quirky behavior, it can happen that we still get "canplay" events when the element is already removed
|
|
1694
|
+
o instanceof HTMLMediaElement) && Bn(() => {
|
|
1695
|
+
o.removeEventListener(e, l, n);
|
|
1696
|
+
});
|
|
1697
|
+
}
|
|
1698
|
+
function Me(e, o, t) {
|
|
1699
|
+
(o[So] ?? (o[So] = {}))[e] = t;
|
|
1700
|
+
}
|
|
1701
|
+
function Al(e) {
|
|
1702
|
+
for (var o = 0; o < e.length; o++)
|
|
1703
|
+
ts.add(e[o]);
|
|
1704
|
+
for (var t of si)
|
|
1705
|
+
t(e);
|
|
1706
|
+
}
|
|
1707
|
+
let Di = null;
|
|
1708
|
+
function li(e) {
|
|
1709
|
+
var o = this, t = (
|
|
1710
|
+
/** @type {Node} */
|
|
1711
|
+
o.ownerDocument
|
|
1712
|
+
), i = e.type, s = e.composedPath?.() || [], n = (
|
|
1713
|
+
/** @type {null | Element} */
|
|
1714
|
+
s[0] || e.target
|
|
1715
|
+
);
|
|
1716
|
+
Di = e;
|
|
1717
|
+
var l = 0, r = Di === e && e[So];
|
|
1718
|
+
if (r) {
|
|
1719
|
+
var a = s.indexOf(r);
|
|
1720
|
+
if (a !== -1 && (o === document || o === /** @type {any} */
|
|
1721
|
+
window)) {
|
|
1722
|
+
e[So] = o;
|
|
1723
|
+
return;
|
|
1724
|
+
}
|
|
1725
|
+
var c = s.indexOf(o);
|
|
1726
|
+
if (c === -1)
|
|
1727
|
+
return;
|
|
1728
|
+
a <= c && (l = a);
|
|
1729
|
+
}
|
|
1730
|
+
if (n = /** @type {Element} */
|
|
1731
|
+
s[l] || e.target, n !== o) {
|
|
1732
|
+
xt(e, "currentTarget", {
|
|
1733
|
+
configurable: !0,
|
|
1734
|
+
get() {
|
|
1735
|
+
return n || t;
|
|
1736
|
+
}
|
|
1737
|
+
});
|
|
1738
|
+
var d = S, g = C;
|
|
1739
|
+
pe(null), Ce(null);
|
|
1740
|
+
try {
|
|
1741
|
+
for (var f, h = []; n !== null; ) {
|
|
1742
|
+
var y = n.assignedSlot || n.parentNode || /** @type {any} */
|
|
1743
|
+
n.host || null;
|
|
1744
|
+
try {
|
|
1745
|
+
var w = n[So]?.[i];
|
|
1746
|
+
w != null && (!/** @type {any} */
|
|
1747
|
+
n.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
|
|
1748
|
+
// -> the target could not have been disabled because it emits the event in the first place
|
|
1749
|
+
e.target === n) && w.call(n, e);
|
|
1750
|
+
} catch (m) {
|
|
1751
|
+
f ? h.push(m) : f = m;
|
|
1752
|
+
}
|
|
1753
|
+
if (e.cancelBubble || y === o || y === null)
|
|
1754
|
+
break;
|
|
1755
|
+
n = y;
|
|
1756
|
+
}
|
|
1757
|
+
if (f) {
|
|
1758
|
+
for (let m of h)
|
|
1759
|
+
queueMicrotask(() => {
|
|
1760
|
+
throw m;
|
|
1761
|
+
});
|
|
1762
|
+
throw f;
|
|
1763
|
+
}
|
|
1764
|
+
} finally {
|
|
1765
|
+
e[So] = o, delete e.currentTarget, pe(d), Ce(g);
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1769
|
+
const Ll = (
|
|
1770
|
+
// We gotta write it like this because after downleveling the pure comment may end up in the wrong location
|
|
1771
|
+
globalThis?.window?.trustedTypes && /* @__PURE__ */ globalThis.window.trustedTypes.createPolicy("svelte-trusted-html", {
|
|
1772
|
+
/** @param {string} html */
|
|
1773
|
+
createHTML: (e) => e
|
|
1774
|
+
})
|
|
1775
|
+
);
|
|
1776
|
+
function zl(e) {
|
|
1777
|
+
return (
|
|
1778
|
+
/** @type {string} */
|
|
1779
|
+
Ll?.createHTML(e) ?? e
|
|
1780
|
+
);
|
|
1781
|
+
}
|
|
1782
|
+
function jl(e, o = !1) {
|
|
1783
|
+
var t = _i("template");
|
|
1784
|
+
return e = e.replaceAll("<!>", "<!---->"), t.innerHTML = o ? zl(e) : e, t.content;
|
|
1785
|
+
}
|
|
1786
|
+
function vo(e, o) {
|
|
1787
|
+
var t = (
|
|
1788
|
+
/** @type {Effect} */
|
|
1789
|
+
C
|
|
1790
|
+
);
|
|
1791
|
+
t.nodes === null && (t.nodes = { start: e, end: o, a: null, t: null });
|
|
1792
|
+
}
|
|
1793
|
+
// @__NO_SIDE_EFFECTS__
|
|
1794
|
+
function No(e, o) {
|
|
1795
|
+
var t = (o & Ts) !== 0, i, s = !e.startsWith("<!>");
|
|
1796
|
+
return () => {
|
|
1797
|
+
if ($)
|
|
1798
|
+
return vo(T, null), T;
|
|
1799
|
+
i === void 0 && (i = jl(s ? e : "<!>" + e, !0), i = /** @type {TemplateNode} */
|
|
1800
|
+
/* @__PURE__ */ Eo(i));
|
|
1801
|
+
var n = (
|
|
1802
|
+
/** @type {TemplateNode} */
|
|
1803
|
+
t || Nn ? document.importNode(i, !0) : i.cloneNode(!0)
|
|
1804
|
+
);
|
|
1805
|
+
return vo(n, n), n;
|
|
1806
|
+
};
|
|
1807
|
+
}
|
|
1808
|
+
function Wt(e = "") {
|
|
1809
|
+
if (!$) {
|
|
1810
|
+
var o = ie(e + "");
|
|
1811
|
+
return vo(o, o), o;
|
|
1812
|
+
}
|
|
1813
|
+
var t = T;
|
|
1814
|
+
return t.nodeType !== et ? (t.before(t = ie()), J(t)) : Mt(
|
|
1815
|
+
/** @type {Text} */
|
|
1816
|
+
t
|
|
1817
|
+
), vo(t, t), t;
|
|
1818
|
+
}
|
|
1819
|
+
function El() {
|
|
1820
|
+
if ($)
|
|
1821
|
+
return vo(T, null), T;
|
|
1822
|
+
var e = document.createDocumentFragment(), o = document.createComment(""), t = ie();
|
|
1823
|
+
return e.append(o, t), vo(o, t), e;
|
|
1824
|
+
}
|
|
1825
|
+
function me(e, o) {
|
|
1826
|
+
if ($) {
|
|
1827
|
+
var t = (
|
|
1828
|
+
/** @type {Effect & { nodes: EffectNodes }} */
|
|
1829
|
+
C
|
|
1830
|
+
);
|
|
1831
|
+
((t.f & Ro) === 0 || t.nodes.end === null) && (t.nodes.end = T), zt();
|
|
1832
|
+
return;
|
|
1833
|
+
}
|
|
1834
|
+
e !== null && e.before(
|
|
1835
|
+
/** @type {Node} */
|
|
1836
|
+
o
|
|
1837
|
+
);
|
|
1838
|
+
}
|
|
1839
|
+
const Ml = ["touchstart", "touchmove"];
|
|
1840
|
+
function Rl(e) {
|
|
1841
|
+
return Ml.includes(e);
|
|
1842
|
+
}
|
|
1843
|
+
function fe(e, o) {
|
|
1844
|
+
var t = o == null ? "" : typeof o == "object" ? o + "" : o;
|
|
1845
|
+
t !== (e.__t ?? (e.__t = e.nodeValue)) && (e.__t = t, e.nodeValue = t + "");
|
|
1846
|
+
}
|
|
1847
|
+
function is(e, o) {
|
|
1848
|
+
return ns(e, o);
|
|
1849
|
+
}
|
|
1850
|
+
function Nl(e, o) {
|
|
1851
|
+
ni(), o.intro = o.intro ?? !1;
|
|
1852
|
+
const t = o.target, i = $, s = T;
|
|
1853
|
+
try {
|
|
1854
|
+
for (var n = /* @__PURE__ */ Eo(t); n && (n.nodeType !== ot || /** @type {Comment} */
|
|
1855
|
+
n.data !== ui); )
|
|
1856
|
+
n = /* @__PURE__ */ Ae(n);
|
|
1857
|
+
if (!n)
|
|
1858
|
+
throw To;
|
|
1859
|
+
He(!0), J(
|
|
1860
|
+
/** @type {Comment} */
|
|
1861
|
+
n
|
|
1862
|
+
);
|
|
1863
|
+
const l = ns(e, { ...o, anchor: n });
|
|
1864
|
+
return He(!1), /** @type {Exports} */
|
|
1865
|
+
l;
|
|
1866
|
+
} catch (l) {
|
|
1867
|
+
if (l instanceof Error && l.message.split(`
|
|
1868
|
+
`).some((r) => r.startsWith("https://svelte.dev/e/")))
|
|
1869
|
+
throw l;
|
|
1870
|
+
return l !== To && console.warn("Failed to hydrate: ", l), o.recover === !1 && Xs(), ni(), Pn(t), He(!1), is(e, o);
|
|
1871
|
+
} finally {
|
|
1872
|
+
He(i), J(s);
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1875
|
+
const pt = /* @__PURE__ */ new Map();
|
|
1876
|
+
function ns(e, { target: o, anchor: t, props: i = {}, events: s, context: n, intro: l = !0 }) {
|
|
1877
|
+
ni();
|
|
1878
|
+
var r = void 0, a = wl(() => {
|
|
1879
|
+
var c = t ?? o.appendChild(ie());
|
|
1880
|
+
rl(
|
|
1881
|
+
/** @type {TemplateNode} */
|
|
1882
|
+
c,
|
|
1883
|
+
{
|
|
1884
|
+
pending: () => {
|
|
1885
|
+
}
|
|
1886
|
+
},
|
|
1887
|
+
(f) => {
|
|
1888
|
+
gn({});
|
|
1889
|
+
var h = (
|
|
1890
|
+
/** @type {ComponentContext} */
|
|
1891
|
+
ne
|
|
1892
|
+
);
|
|
1893
|
+
if (n && (h.c = n), s && (i.$$events = s), $ && vo(
|
|
1894
|
+
/** @type {TemplateNode} */
|
|
1895
|
+
f,
|
|
1896
|
+
null
|
|
1897
|
+
), r = e(f, i) || {}, $ && (C.nodes.end = T, T === null || T.nodeType !== ot || /** @type {Comment} */
|
|
1898
|
+
T.data !== fi))
|
|
1899
|
+
throw Lt(), To;
|
|
1900
|
+
_n();
|
|
1901
|
+
}
|
|
1902
|
+
);
|
|
1903
|
+
var d = /* @__PURE__ */ new Set(), g = (f) => {
|
|
1904
|
+
for (var h = 0; h < f.length; h++) {
|
|
1905
|
+
var y = f[h];
|
|
1906
|
+
if (!d.has(y)) {
|
|
1907
|
+
d.add(y);
|
|
1908
|
+
var w = Rl(y);
|
|
1909
|
+
for (const j of [o, document]) {
|
|
1910
|
+
var m = pt.get(j);
|
|
1911
|
+
m === void 0 && (m = /* @__PURE__ */ new Map(), pt.set(j, m));
|
|
1912
|
+
var _ = m.get(y);
|
|
1913
|
+
_ === void 0 ? (j.addEventListener(y, li, { passive: w }), m.set(y, 1)) : m.set(y, _ + 1);
|
|
1914
|
+
}
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
};
|
|
1918
|
+
return g(Ct(ts)), si.add(g), () => {
|
|
1919
|
+
for (var f of d)
|
|
1920
|
+
for (const w of [o, document]) {
|
|
1921
|
+
var h = (
|
|
1922
|
+
/** @type {Map<string, number>} */
|
|
1923
|
+
pt.get(w)
|
|
1924
|
+
), y = (
|
|
1925
|
+
/** @type {number} */
|
|
1926
|
+
h.get(f)
|
|
1927
|
+
);
|
|
1928
|
+
--y == 0 ? (w.removeEventListener(f, li), h.delete(f), h.size === 0 && pt.delete(w)) : h.set(f, y);
|
|
1929
|
+
}
|
|
1930
|
+
si.delete(g), c !== t && c.parentNode?.removeChild(c);
|
|
1931
|
+
};
|
|
1932
|
+
});
|
|
1933
|
+
return ri.set(r, a), r;
|
|
1934
|
+
}
|
|
1935
|
+
let ri = /* @__PURE__ */ new WeakMap();
|
|
1936
|
+
function Ol(e, o) {
|
|
1937
|
+
const t = ri.get(e);
|
|
1938
|
+
return t ? (ri.delete(e), t(o)) : Promise.resolve();
|
|
1939
|
+
}
|
|
1940
|
+
var Ie, Ye, $e, xo, bt, ai, ss;
|
|
1941
|
+
class Vl {
|
|
1942
|
+
/**
|
|
1943
|
+
* @param {TemplateNode} anchor
|
|
1944
|
+
* @param {boolean} transition
|
|
1945
|
+
*/
|
|
1946
|
+
constructor(o, t = !0) {
|
|
1947
|
+
v(this, "anchor"), x(this, Ie, /* @__PURE__ */ new Map()), x(this, Ye, /* @__PURE__ */ new Map()), x(this, $e, /* @__PURE__ */ new Map()), x(this, xo, /* @__PURE__ */ new Set()), x(this, bt, !0), x(this, ai, () => {
|
|
1948
|
+
var i = (
|
|
1949
|
+
/** @type {Batch} */
|
|
1950
|
+
M
|
|
1951
|
+
);
|
|
1952
|
+
if (p(this, Ie).has(i)) {
|
|
1953
|
+
var s = (
|
|
1954
|
+
/** @type {Key} */
|
|
1955
|
+
p(this, Ie).get(i)
|
|
1956
|
+
), n = p(this, Ye).get(s);
|
|
1957
|
+
if (n)
|
|
1958
|
+
ki(n), p(this, xo).delete(s);
|
|
1959
|
+
else {
|
|
1960
|
+
var l = p(this, $e).get(s);
|
|
1961
|
+
l && (p(this, Ye).set(s, l.effect), p(this, $e).delete(s), l.fragment.lastChild.remove(), this.anchor.before(l.fragment), n = l.effect);
|
|
1962
|
+
}
|
|
1963
|
+
for (const [r, a] of p(this, Ie)) {
|
|
1964
|
+
if (p(this, Ie).delete(r), r === i)
|
|
1965
|
+
break;
|
|
1966
|
+
const c = p(this, $e).get(a);
|
|
1967
|
+
c && (K(c.effect), p(this, $e).delete(a));
|
|
1968
|
+
}
|
|
1969
|
+
for (const [r, a] of p(this, Ye)) {
|
|
1970
|
+
if (r === s || p(this, xo).has(r)) continue;
|
|
1971
|
+
const c = () => {
|
|
1972
|
+
if (Array.from(p(this, Ie).values()).includes(r)) {
|
|
1973
|
+
var d = document.createDocumentFragment();
|
|
1974
|
+
Jn(a, d), d.append(ie()), p(this, $e).set(r, { effect: a, fragment: d });
|
|
1975
|
+
} else
|
|
1976
|
+
K(a);
|
|
1977
|
+
p(this, xo).delete(r), p(this, Ye).delete(r);
|
|
1978
|
+
};
|
|
1979
|
+
p(this, bt) || !n ? (p(this, xo).add(r), bo(a, c, !1)) : c();
|
|
1980
|
+
}
|
|
1981
|
+
}
|
|
1982
|
+
}), x(this, ss, (i) => {
|
|
1983
|
+
p(this, Ie).delete(i);
|
|
1984
|
+
const s = Array.from(p(this, Ie).values());
|
|
1985
|
+
for (const [n, l] of p(this, $e))
|
|
1986
|
+
s.includes(n) || (K(l.effect), p(this, $e).delete(n));
|
|
1987
|
+
}), this.anchor = o, b(this, bt, t);
|
|
1988
|
+
}
|
|
1989
|
+
/**
|
|
1990
|
+
*
|
|
1991
|
+
* @param {any} key
|
|
1992
|
+
* @param {null | ((target: TemplateNode) => void)} fn
|
|
1993
|
+
*/
|
|
1994
|
+
ensure(o, t) {
|
|
1995
|
+
var i = (
|
|
1996
|
+
/** @type {Batch} */
|
|
1997
|
+
M
|
|
1998
|
+
), s = Hn();
|
|
1999
|
+
t && !p(this, Ye).has(o) && !p(this, $e).has(o) && p(this, Ye).set(
|
|
2000
|
+
o,
|
|
2001
|
+
Te(() => t(this.anchor))
|
|
2002
|
+
), p(this, Ie).set(i, o), s || ($ && (this.anchor = T), p(this, ai).call(this));
|
|
2003
|
+
}
|
|
2004
|
+
}
|
|
2005
|
+
Ie = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap(), $e = /* @__PURE__ */ new WeakMap(), xo = /* @__PURE__ */ new WeakMap(), bt = /* @__PURE__ */ new WeakMap(), ai = /* @__PURE__ */ new WeakMap(), ss = /* @__PURE__ */ new WeakMap();
|
|
2006
|
+
function Pl(e) {
|
|
2007
|
+
ne === null && Ps(), _t(() => {
|
|
2008
|
+
const o = Si(e);
|
|
2009
|
+
if (typeof o == "function") return (
|
|
2010
|
+
/** @type {() => void} */
|
|
2011
|
+
o
|
|
2012
|
+
);
|
|
2013
|
+
});
|
|
2014
|
+
}
|
|
2015
|
+
function Ft(e, o, t = !1) {
|
|
2016
|
+
$ && zt();
|
|
2017
|
+
var i = new Vl(e), s = t ? Ao : 0;
|
|
2018
|
+
function n(l, r) {
|
|
2019
|
+
if ($) {
|
|
2020
|
+
const d = fn(e);
|
|
2021
|
+
var a;
|
|
2022
|
+
if (d === ui ? a = 0 : d === Tt ? a = !1 : a = parseInt(d.substring(1)), l !== a) {
|
|
2023
|
+
var c = kt();
|
|
2024
|
+
J(c), i.anchor = c, He(!1), i.ensure(l, r), He(!0);
|
|
2025
|
+
return;
|
|
2026
|
+
}
|
|
2027
|
+
}
|
|
2028
|
+
i.ensure(l, r);
|
|
2029
|
+
}
|
|
2030
|
+
wi(() => {
|
|
2031
|
+
var l = !1;
|
|
2032
|
+
o((r, a = 0) => {
|
|
2033
|
+
l = !0, n(a, r);
|
|
2034
|
+
}), l || n(!1, null);
|
|
2035
|
+
}, s);
|
|
2036
|
+
}
|
|
2037
|
+
function Wi(e, o) {
|
|
2038
|
+
return o;
|
|
2039
|
+
}
|
|
2040
|
+
function Hl(e, o, t) {
|
|
2041
|
+
for (var i = [], s = o.length, n, l = o.length, r = 0; r < s; r++) {
|
|
2042
|
+
let g = o[r];
|
|
2043
|
+
bo(
|
|
2044
|
+
g,
|
|
2045
|
+
() => {
|
|
2046
|
+
if (n) {
|
|
2047
|
+
if (n.pending.delete(g), n.done.add(g), n.pending.size === 0) {
|
|
2048
|
+
var f = (
|
|
2049
|
+
/** @type {Set<EachOutroGroup>} */
|
|
2050
|
+
e.outrogroups
|
|
2051
|
+
);
|
|
2052
|
+
ci(Ct(n.done)), f.delete(n), f.size === 0 && (e.outrogroups = null);
|
|
2053
|
+
}
|
|
2054
|
+
} else
|
|
2055
|
+
l -= 1;
|
|
2056
|
+
},
|
|
2057
|
+
!1
|
|
2058
|
+
);
|
|
2059
|
+
}
|
|
2060
|
+
if (l === 0) {
|
|
2061
|
+
var a = i.length === 0 && t !== null;
|
|
2062
|
+
if (a) {
|
|
2063
|
+
var c = (
|
|
2064
|
+
/** @type {Element} */
|
|
2065
|
+
t
|
|
2066
|
+
), d = (
|
|
2067
|
+
/** @type {Element} */
|
|
2068
|
+
c.parentNode
|
|
2069
|
+
);
|
|
2070
|
+
Pn(d), d.append(c), e.items.clear();
|
|
2071
|
+
}
|
|
2072
|
+
ci(o, !a);
|
|
2073
|
+
} else
|
|
2074
|
+
n = {
|
|
2075
|
+
pending: new Set(o),
|
|
2076
|
+
done: /* @__PURE__ */ new Set()
|
|
2077
|
+
}, (e.outrogroups ?? (e.outrogroups = /* @__PURE__ */ new Set())).add(n);
|
|
2078
|
+
}
|
|
2079
|
+
function ci(e, o = !0) {
|
|
2080
|
+
for (var t = 0; t < e.length; t++)
|
|
2081
|
+
K(e[t], o);
|
|
2082
|
+
}
|
|
2083
|
+
var dt;
|
|
2084
|
+
function ut(e, o, t, i, s, n = null) {
|
|
2085
|
+
var l = e, r = /* @__PURE__ */ new Map(), a = (o & ln) !== 0;
|
|
2086
|
+
if (a) {
|
|
2087
|
+
var c = (
|
|
2088
|
+
/** @type {Element} */
|
|
2089
|
+
e
|
|
2090
|
+
);
|
|
2091
|
+
l = $ ? J(/* @__PURE__ */ Eo(c)) : c.appendChild(ie());
|
|
2092
|
+
}
|
|
2093
|
+
$ && zt();
|
|
2094
|
+
var d = null, g = /* @__PURE__ */ ul(() => {
|
|
2095
|
+
var _ = t();
|
|
2096
|
+
return an(_) ? _ : _ == null ? [] : Ct(_);
|
|
2097
|
+
}), f, h = !0;
|
|
2098
|
+
function y() {
|
|
2099
|
+
m.fallback = d, Bl(m, f, l, o, i), d !== null && (f.length === 0 ? (d.f & Pe) === 0 ? ki(d) : (d.f ^= Pe, Uo(d, null, l)) : bo(d, () => {
|
|
2100
|
+
d = null;
|
|
2101
|
+
}));
|
|
2102
|
+
}
|
|
2103
|
+
var w = wi(() => {
|
|
2104
|
+
f = /** @type {V[]} */
|
|
2105
|
+
u(g);
|
|
2106
|
+
var _ = f.length;
|
|
2107
|
+
let j = !1;
|
|
2108
|
+
if ($) {
|
|
2109
|
+
var se = fn(l) === Tt;
|
|
2110
|
+
se !== (_ === 0) && (l = kt(), J(l), He(!1), j = !0);
|
|
2111
|
+
}
|
|
2112
|
+
for (var q = /* @__PURE__ */ new Set(), je = (
|
|
2113
|
+
/** @type {Batch} */
|
|
2114
|
+
M
|
|
2115
|
+
), We = Hn(), U = 0; U < _; U += 1) {
|
|
2116
|
+
$ && T.nodeType === ot && /** @type {Comment} */
|
|
2117
|
+
T.data === fi && (l = /** @type {Comment} */
|
|
2118
|
+
T, j = !0, He(!1));
|
|
2119
|
+
var ke = f[U], Ee = i(ke, U), P = h ? null : r.get(Ee);
|
|
2120
|
+
P ? (P.v && jo(P.v, ke), P.i && jo(P.i, U), We && je.unskip_effect(P.e)) : (P = Gl(
|
|
2121
|
+
r,
|
|
2122
|
+
h ? l : dt ?? (dt = ie()),
|
|
2123
|
+
ke,
|
|
2124
|
+
Ee,
|
|
2125
|
+
U,
|
|
2126
|
+
s,
|
|
2127
|
+
o,
|
|
2128
|
+
t
|
|
2129
|
+
), h || (P.e.f |= Pe), r.set(Ee, P)), q.add(Ee);
|
|
2130
|
+
}
|
|
2131
|
+
if (_ === 0 && n && !d && (h ? d = Te(() => n(l)) : (d = Te(() => n(dt ?? (dt = ie()))), d.f |= Pe)), _ > q.size && Bs(), $ && _ > 0 && J(kt()), !h)
|
|
2132
|
+
if (We) {
|
|
2133
|
+
for (const [Ot, it] of r)
|
|
2134
|
+
q.has(Ot) || je.skip_effect(it.e);
|
|
2135
|
+
je.oncommit(y), je.ondiscard(() => {
|
|
2136
|
+
});
|
|
2137
|
+
} else
|
|
2138
|
+
y();
|
|
2139
|
+
j && He(!0), u(g);
|
|
2140
|
+
}), m = { effect: w, items: r, outrogroups: null, fallback: d };
|
|
2141
|
+
h = !1, $ && (l = T);
|
|
2142
|
+
}
|
|
2143
|
+
function Ho(e) {
|
|
2144
|
+
for (; e !== null && (e.f & xe) === 0; )
|
|
2145
|
+
e = e.next;
|
|
2146
|
+
return e;
|
|
2147
|
+
}
|
|
2148
|
+
function Bl(e, o, t, i, s) {
|
|
2149
|
+
var n = (i & Is) !== 0, l = o.length, r = e.items, a = Ho(e.effect.first), c, d = null, g, f = [], h = [], y, w, m, _;
|
|
2150
|
+
if (n)
|
|
2151
|
+
for (_ = 0; _ < l; _ += 1)
|
|
2152
|
+
y = o[_], w = s(y, _), m = /** @type {EachItem} */
|
|
2153
|
+
r.get(w).e, (m.f & Pe) === 0 && (m.nodes?.a?.measure(), (g ?? (g = /* @__PURE__ */ new Set())).add(m));
|
|
2154
|
+
for (_ = 0; _ < l; _ += 1) {
|
|
2155
|
+
if (y = o[_], w = s(y, _), m = /** @type {EachItem} */
|
|
2156
|
+
r.get(w).e, e.outrogroups !== null)
|
|
2157
|
+
for (const P of e.outrogroups)
|
|
2158
|
+
P.pending.delete(m), P.done.delete(m);
|
|
2159
|
+
if ((m.f & Pe) !== 0)
|
|
2160
|
+
if (m.f ^= Pe, m === a)
|
|
2161
|
+
Uo(m, null, t);
|
|
2162
|
+
else {
|
|
2163
|
+
var j = d ? d.next : a;
|
|
2164
|
+
m === e.effect.last && (e.effect.last = m.prev), m.prev && (m.prev.next = m.next), m.next && (m.next.prev = m.prev), Xe(e, d, m), Xe(e, m, j), Uo(m, j, t), d = m, f = [], h = [], a = Ho(d.next);
|
|
2165
|
+
continue;
|
|
2166
|
+
}
|
|
2167
|
+
if ((m.f & te) !== 0 && (ki(m), n && (m.nodes?.a?.unfix(), (g ?? (g = /* @__PURE__ */ new Set())).delete(m))), m !== a) {
|
|
2168
|
+
if (c !== void 0 && c.has(m)) {
|
|
2169
|
+
if (f.length < h.length) {
|
|
2170
|
+
var se = h[0], q;
|
|
2171
|
+
d = se.prev;
|
|
2172
|
+
var je = f[0], We = f[f.length - 1];
|
|
2173
|
+
for (q = 0; q < f.length; q += 1)
|
|
2174
|
+
Uo(f[q], se, t);
|
|
2175
|
+
for (q = 0; q < h.length; q += 1)
|
|
2176
|
+
c.delete(h[q]);
|
|
2177
|
+
Xe(e, je.prev, We.next), Xe(e, d, je), Xe(e, We, se), a = se, d = We, _ -= 1, f = [], h = [];
|
|
2178
|
+
} else
|
|
2179
|
+
c.delete(m), Uo(m, a, t), Xe(e, m.prev, m.next), Xe(e, m, d === null ? e.effect.first : d.next), Xe(e, d, m), d = m;
|
|
2180
|
+
continue;
|
|
2181
|
+
}
|
|
2182
|
+
for (f = [], h = []; a !== null && a !== m; )
|
|
2183
|
+
(c ?? (c = /* @__PURE__ */ new Set())).add(a), h.push(a), a = Ho(a.next);
|
|
2184
|
+
if (a === null)
|
|
2185
|
+
continue;
|
|
2186
|
+
}
|
|
2187
|
+
(m.f & Pe) === 0 && f.push(m), d = m, a = Ho(m.next);
|
|
2188
|
+
}
|
|
2189
|
+
if (e.outrogroups !== null) {
|
|
2190
|
+
for (const P of e.outrogroups)
|
|
2191
|
+
P.pending.size === 0 && (ci(Ct(P.done)), e.outrogroups?.delete(P));
|
|
2192
|
+
e.outrogroups.size === 0 && (e.outrogroups = null);
|
|
2193
|
+
}
|
|
2194
|
+
if (a !== null || c !== void 0) {
|
|
2195
|
+
var U = [];
|
|
2196
|
+
if (c !== void 0)
|
|
2197
|
+
for (m of c)
|
|
2198
|
+
(m.f & te) === 0 && U.push(m);
|
|
2199
|
+
for (; a !== null; )
|
|
2200
|
+
(a.f & te) === 0 && a !== e.fallback && U.push(a), a = Ho(a.next);
|
|
2201
|
+
var ke = U.length;
|
|
2202
|
+
if (ke > 0) {
|
|
2203
|
+
var Ee = (i & ln) !== 0 && l === 0 ? t : null;
|
|
2204
|
+
if (n) {
|
|
2205
|
+
for (_ = 0; _ < ke; _ += 1)
|
|
2206
|
+
U[_].nodes?.a?.measure();
|
|
2207
|
+
for (_ = 0; _ < ke; _ += 1)
|
|
2208
|
+
U[_].nodes?.a?.fix();
|
|
2209
|
+
}
|
|
2210
|
+
Hl(e, U, Ee);
|
|
2211
|
+
}
|
|
2212
|
+
}
|
|
2213
|
+
n && Ge(() => {
|
|
2214
|
+
if (g !== void 0)
|
|
2215
|
+
for (m of g)
|
|
2216
|
+
m.nodes?.a?.apply();
|
|
2217
|
+
});
|
|
2218
|
+
}
|
|
2219
|
+
function Gl(e, o, t, i, s, n, l, r) {
|
|
2220
|
+
var a = (l & ks) !== 0 ? (l & $s) === 0 ? /* @__PURE__ */ Mn(t, !1, !1) : yo(t) : null, c = (l & Ss) !== 0 ? yo(s) : null;
|
|
2221
|
+
return {
|
|
2222
|
+
v: a,
|
|
2223
|
+
i: c,
|
|
2224
|
+
e: Te(() => (n(o, a ?? t, c ?? s, r), () => {
|
|
2225
|
+
e.delete(i);
|
|
2226
|
+
}))
|
|
2227
|
+
};
|
|
2228
|
+
}
|
|
2229
|
+
function Uo(e, o, t) {
|
|
2230
|
+
if (e.nodes)
|
|
2231
|
+
for (var i = e.nodes.start, s = e.nodes.end, n = o && (o.f & Pe) === 0 ? (
|
|
2232
|
+
/** @type {EffectNodes} */
|
|
2233
|
+
o.nodes.start
|
|
2234
|
+
) : t; i !== null; ) {
|
|
2235
|
+
var l = (
|
|
2236
|
+
/** @type {TemplateNode} */
|
|
2237
|
+
/* @__PURE__ */ Ae(i)
|
|
2238
|
+
);
|
|
2239
|
+
if (n.before(i), i === s)
|
|
2240
|
+
return;
|
|
2241
|
+
i = l;
|
|
2242
|
+
}
|
|
2243
|
+
}
|
|
2244
|
+
function Xe(e, o, t) {
|
|
2245
|
+
o === null ? e.effect.first = t : o.next = t, t === null ? e.effect.last = o : t.prev = o;
|
|
2246
|
+
}
|
|
2247
|
+
function Dl(e, o) {
|
|
2248
|
+
Dn(() => {
|
|
2249
|
+
var t = e.getRootNode(), i = (
|
|
2250
|
+
/** @type {ShadowRoot} */
|
|
2251
|
+
t.host ? (
|
|
2252
|
+
/** @type {ShadowRoot} */
|
|
2253
|
+
t
|
|
2254
|
+
) : (
|
|
2255
|
+
/** @type {Document} */
|
|
2256
|
+
t.head ?? /** @type {Document} */
|
|
2257
|
+
t.ownerDocument.head
|
|
2258
|
+
)
|
|
2259
|
+
);
|
|
2260
|
+
if (!i.querySelector("#" + o.hash)) {
|
|
2261
|
+
const s = _i("style");
|
|
2262
|
+
s.id = o.hash, s.textContent = o.code, i.appendChild(s);
|
|
2263
|
+
}
|
|
2264
|
+
});
|
|
2265
|
+
}
|
|
2266
|
+
const Fi = [...`
|
|
2267
|
+
\r\f \v\uFEFF`];
|
|
2268
|
+
function Wl(e, o, t) {
|
|
2269
|
+
var i = e == null ? "" : "" + e;
|
|
2270
|
+
if (o && (i = i ? i + " " + o : o), t) {
|
|
2271
|
+
for (var s in t)
|
|
2272
|
+
if (t[s])
|
|
2273
|
+
i = i ? i + " " + s : s;
|
|
2274
|
+
else if (i.length)
|
|
2275
|
+
for (var n = s.length, l = 0; (l = i.indexOf(s, l)) >= 0; ) {
|
|
2276
|
+
var r = l + n;
|
|
2277
|
+
(l === 0 || Fi.includes(i[l - 1])) && (r === i.length || Fi.includes(i[r])) ? i = (l === 0 ? "" : i.substring(0, l)) + i.substring(r + 1) : l = r;
|
|
2278
|
+
}
|
|
2279
|
+
}
|
|
2280
|
+
return i === "" ? null : i;
|
|
2281
|
+
}
|
|
2282
|
+
function Fl(e, o) {
|
|
2283
|
+
return e == null ? null : String(e);
|
|
2284
|
+
}
|
|
2285
|
+
function ft(e, o, t, i, s, n) {
|
|
2286
|
+
var l = e.__className;
|
|
2287
|
+
if ($ || l !== t || l === void 0) {
|
|
2288
|
+
var r = Wl(t, i, n);
|
|
2289
|
+
(!$ || r !== e.getAttribute("class")) && (r == null ? e.removeAttribute("class") : e.className = r), e.__className = t;
|
|
2290
|
+
} else if (n && s !== n)
|
|
2291
|
+
for (var a in n) {
|
|
2292
|
+
var c = !!n[a];
|
|
2293
|
+
(s == null || c !== !!s[a]) && e.classList.toggle(a, c);
|
|
2294
|
+
}
|
|
2295
|
+
return n;
|
|
2296
|
+
}
|
|
2297
|
+
function Xt(e, o, t, i) {
|
|
2298
|
+
var s = e.__style;
|
|
2299
|
+
if ($ || s !== o) {
|
|
2300
|
+
var n = Fl(o);
|
|
2301
|
+
(!$ || n !== e.getAttribute("style")) && (n == null ? e.removeAttribute("style") : e.style.cssText = n), e.__style = o;
|
|
2302
|
+
}
|
|
2303
|
+
return i;
|
|
2304
|
+
}
|
|
2305
|
+
const Xl = /* @__PURE__ */ Symbol("is custom element"), Ul = /* @__PURE__ */ Symbol("is html"), Jl = Vs ? "link" : "LINK";
|
|
2306
|
+
function Bo(e, o, t, i) {
|
|
2307
|
+
var s = Kl(e);
|
|
2308
|
+
$ && (s[o] = e.getAttribute(o), o === "src" || o === "srcset" || o === "href" && e.nodeName === Jl) || s[o] !== (s[o] = t) && (o === "loading" && (e[Os] = t), t == null ? e.removeAttribute(o) : typeof t != "string" && ql(e).includes(o) ? e[o] = t : e.setAttribute(o, t));
|
|
2309
|
+
}
|
|
2310
|
+
function Kl(e) {
|
|
2311
|
+
return (
|
|
2312
|
+
/** @type {Record<string | symbol, unknown>} **/
|
|
2313
|
+
// @ts-expect-error
|
|
2314
|
+
e.__attributes ?? (e.__attributes = {
|
|
2315
|
+
[Xl]: e.nodeName.includes("-"),
|
|
2316
|
+
[Ul]: e.namespaceURI === rn
|
|
2317
|
+
})
|
|
2318
|
+
);
|
|
2319
|
+
}
|
|
2320
|
+
var Xi = /* @__PURE__ */ new Map();
|
|
2321
|
+
function ql(e) {
|
|
2322
|
+
var o = e.getAttribute("is") || e.nodeName, t = Xi.get(o);
|
|
2323
|
+
if (t) return t;
|
|
2324
|
+
Xi.set(o, t = []);
|
|
2325
|
+
for (var i, s = e, n = Element.prototype; n !== s; ) {
|
|
2326
|
+
i = Ls(s);
|
|
2327
|
+
for (var l in i)
|
|
2328
|
+
i[l].set && t.push(l);
|
|
2329
|
+
s = cn(s);
|
|
2330
|
+
}
|
|
2331
|
+
return t;
|
|
2332
|
+
}
|
|
2333
|
+
function Ui(e, o) {
|
|
2334
|
+
return e === o || e?.[mt] === o;
|
|
2335
|
+
}
|
|
2336
|
+
function Yl(e = {}, o, t, i) {
|
|
2337
|
+
return Dn(() => {
|
|
2338
|
+
var s, n;
|
|
2339
|
+
return vi(() => {
|
|
2340
|
+
s = n, n = [], Si(() => {
|
|
2341
|
+
e !== t(...n) && (o(e, ...n), s && Ui(t(...s), e) && o(null, ...s));
|
|
2342
|
+
});
|
|
2343
|
+
}), () => {
|
|
2344
|
+
Ge(() => {
|
|
2345
|
+
n && Ui(t(...n), e) && o(null, ...n);
|
|
2346
|
+
});
|
|
2347
|
+
};
|
|
2348
|
+
}), e;
|
|
2349
|
+
}
|
|
2350
|
+
function Ji(e, o, t, i) {
|
|
2351
|
+
var s = (
|
|
2352
|
+
/** @type {V} */
|
|
2353
|
+
i
|
|
2354
|
+
), n = !0, l = () => (n && (n = !1, s = /** @type {V} */
|
|
2355
|
+
i), s), r;
|
|
2356
|
+
r = /** @type {V} */
|
|
2357
|
+
e[o], r === void 0 && i !== void 0 && (r = l());
|
|
2358
|
+
var a;
|
|
2359
|
+
a = () => {
|
|
2360
|
+
var f = (
|
|
2361
|
+
/** @type {V} */
|
|
2362
|
+
e[o]
|
|
2363
|
+
);
|
|
2364
|
+
return f === void 0 ? l() : (n = !0, f);
|
|
2365
|
+
};
|
|
2366
|
+
var c = !1, d = /* @__PURE__ */ Et(() => (c = !1, a())), g = (
|
|
2367
|
+
/** @type {Effect} */
|
|
2368
|
+
C
|
|
2369
|
+
);
|
|
2370
|
+
return (
|
|
2371
|
+
/** @type {() => V} */
|
|
2372
|
+
(function(f, h) {
|
|
2373
|
+
if (arguments.length > 0) {
|
|
2374
|
+
const y = h ? u(d) : f;
|
|
2375
|
+
return O(d, y), c = !0, s !== void 0 && (s = y), f;
|
|
2376
|
+
}
|
|
2377
|
+
return no && c || (g.f & Be) !== 0 ? d.v : u(d);
|
|
2378
|
+
})
|
|
2379
|
+
);
|
|
2380
|
+
}
|
|
2381
|
+
function Zl(e) {
|
|
2382
|
+
return new Ql(e);
|
|
2383
|
+
}
|
|
2384
|
+
var Ze, he;
|
|
2385
|
+
class Ql {
|
|
2386
|
+
/**
|
|
2387
|
+
* @param {ComponentConstructorOptions & {
|
|
2388
|
+
* component: any;
|
|
2389
|
+
* }} options
|
|
2390
|
+
*/
|
|
2391
|
+
constructor(o) {
|
|
2392
|
+
x(this, Ze), x(this, he);
|
|
2393
|
+
var t = /* @__PURE__ */ new Map(), i = (n, l) => {
|
|
2394
|
+
var r = /* @__PURE__ */ Mn(l, !1, !1);
|
|
2395
|
+
return t.set(n, r), r;
|
|
2396
|
+
};
|
|
2397
|
+
const s = new Proxy(
|
|
2398
|
+
{ ...o.props || {}, $$events: {} },
|
|
2399
|
+
{
|
|
2400
|
+
get(n, l) {
|
|
2401
|
+
return u(t.get(l) ?? i(l, Reflect.get(n, l)));
|
|
2402
|
+
},
|
|
2403
|
+
has(n, l) {
|
|
2404
|
+
return l === Ns ? !0 : (u(t.get(l) ?? i(l, Reflect.get(n, l))), Reflect.has(n, l));
|
|
2405
|
+
},
|
|
2406
|
+
set(n, l, r) {
|
|
2407
|
+
return O(t.get(l) ?? i(l, r), r), Reflect.set(n, l, r);
|
|
2408
|
+
}
|
|
2409
|
+
}
|
|
2410
|
+
);
|
|
2411
|
+
b(this, he, (o.hydrate ? Nl : is)(o.component, {
|
|
2412
|
+
target: o.target,
|
|
2413
|
+
anchor: o.anchor,
|
|
2414
|
+
props: s,
|
|
2415
|
+
context: o.context,
|
|
2416
|
+
intro: o.intro ?? !1,
|
|
2417
|
+
recover: o.recover
|
|
2418
|
+
})), (!o?.props?.$$host || o.sync === !1) && Zt(), b(this, Ze, s.$$events);
|
|
2419
|
+
for (const n of Object.keys(p(this, he)))
|
|
2420
|
+
n === "$set" || n === "$destroy" || n === "$on" || xt(this, n, {
|
|
2421
|
+
get() {
|
|
2422
|
+
return p(this, he)[n];
|
|
2423
|
+
},
|
|
2424
|
+
/** @param {any} value */
|
|
2425
|
+
set(l) {
|
|
2426
|
+
p(this, he)[n] = l;
|
|
2427
|
+
},
|
|
2428
|
+
enumerable: !0
|
|
2429
|
+
});
|
|
2430
|
+
p(this, he).$set = /** @param {Record<string, any>} next */
|
|
2431
|
+
(n) => {
|
|
2432
|
+
Object.assign(s, n);
|
|
2433
|
+
}, p(this, he).$destroy = () => {
|
|
2434
|
+
Ol(p(this, he));
|
|
2435
|
+
};
|
|
2436
|
+
}
|
|
2437
|
+
/** @param {Record<string, any>} props */
|
|
2438
|
+
$set(o) {
|
|
2439
|
+
p(this, he).$set(o);
|
|
2440
|
+
}
|
|
2441
|
+
/**
|
|
2442
|
+
* @param {string} event
|
|
2443
|
+
* @param {(...args: any[]) => any} callback
|
|
2444
|
+
* @returns {any}
|
|
2445
|
+
*/
|
|
2446
|
+
$on(o, t) {
|
|
2447
|
+
p(this, Ze)[o] = p(this, Ze)[o] || [];
|
|
2448
|
+
const i = (...s) => t.call(this, ...s);
|
|
2449
|
+
return p(this, Ze)[o].push(i), () => {
|
|
2450
|
+
p(this, Ze)[o] = p(this, Ze)[o].filter(
|
|
2451
|
+
/** @param {any} fn */
|
|
2452
|
+
(s) => s !== i
|
|
2453
|
+
);
|
|
2454
|
+
};
|
|
2455
|
+
}
|
|
2456
|
+
$destroy() {
|
|
2457
|
+
p(this, he).$destroy();
|
|
2458
|
+
}
|
|
2459
|
+
}
|
|
2460
|
+
Ze = /* @__PURE__ */ new WeakMap(), he = /* @__PURE__ */ new WeakMap();
|
|
2461
|
+
let ls;
|
|
2462
|
+
typeof HTMLElement == "function" && (ls = class extends HTMLElement {
|
|
2463
|
+
/**
|
|
2464
|
+
* @param {*} $$componentCtor
|
|
2465
|
+
* @param {*} $$slots
|
|
2466
|
+
* @param {ShadowRootInit | undefined} shadow_root_init
|
|
2467
|
+
*/
|
|
2468
|
+
constructor(e, o, t) {
|
|
2469
|
+
super(), v(this, "$$ctor"), v(this, "$$s"), v(this, "$$c"), v(this, "$$cn", !1), v(this, "$$d", {}), v(this, "$$r", !1), v(this, "$$p_d", {}), v(this, "$$l", {}), v(this, "$$l_u", /* @__PURE__ */ new Map()), v(this, "$$me"), v(this, "$$shadowRoot", null), this.$$ctor = e, this.$$s = o, t && (this.$$shadowRoot = this.attachShadow(t));
|
|
2470
|
+
}
|
|
2471
|
+
/**
|
|
2472
|
+
* @param {string} type
|
|
2473
|
+
* @param {EventListenerOrEventListenerObject} listener
|
|
2474
|
+
* @param {boolean | AddEventListenerOptions} [options]
|
|
2475
|
+
*/
|
|
2476
|
+
addEventListener(e, o, t) {
|
|
2477
|
+
if (this.$$l[e] = this.$$l[e] || [], this.$$l[e].push(o), this.$$c) {
|
|
2478
|
+
const i = this.$$c.$on(e, o);
|
|
2479
|
+
this.$$l_u.set(o, i);
|
|
2480
|
+
}
|
|
2481
|
+
super.addEventListener(e, o, t);
|
|
2482
|
+
}
|
|
2483
|
+
/**
|
|
2484
|
+
* @param {string} type
|
|
2485
|
+
* @param {EventListenerOrEventListenerObject} listener
|
|
2486
|
+
* @param {boolean | AddEventListenerOptions} [options]
|
|
2487
|
+
*/
|
|
2488
|
+
removeEventListener(e, o, t) {
|
|
2489
|
+
if (super.removeEventListener(e, o, t), this.$$c) {
|
|
2490
|
+
const i = this.$$l_u.get(o);
|
|
2491
|
+
i && (i(), this.$$l_u.delete(o));
|
|
2492
|
+
}
|
|
2493
|
+
}
|
|
2494
|
+
async connectedCallback() {
|
|
2495
|
+
if (this.$$cn = !0, !this.$$c) {
|
|
2496
|
+
let e = function(i) {
|
|
2497
|
+
return (s) => {
|
|
2498
|
+
const n = _i("slot");
|
|
2499
|
+
i !== "default" && (n.name = i), me(s, n);
|
|
2500
|
+
};
|
|
2501
|
+
};
|
|
2502
|
+
if (await Promise.resolve(), !this.$$cn || this.$$c)
|
|
2503
|
+
return;
|
|
2504
|
+
const o = {}, t = er(this);
|
|
2505
|
+
for (const i of this.$$s)
|
|
2506
|
+
i in t && (i === "default" && !this.$$d.children ? (this.$$d.children = e(i), o.default = !0) : o[i] = e(i));
|
|
2507
|
+
for (const i of this.attributes) {
|
|
2508
|
+
const s = this.$$g_p(i.name);
|
|
2509
|
+
s in this.$$d || (this.$$d[s] = vt(s, i.value, this.$$p_d, "toProp"));
|
|
2510
|
+
}
|
|
2511
|
+
for (const i in this.$$p_d)
|
|
2512
|
+
!(i in this.$$d) && this[i] !== void 0 && (this.$$d[i] = this[i], delete this[i]);
|
|
2513
|
+
this.$$c = Zl({
|
|
2514
|
+
component: this.$$ctor,
|
|
2515
|
+
target: this.$$shadowRoot || this,
|
|
2516
|
+
props: {
|
|
2517
|
+
...this.$$d,
|
|
2518
|
+
$$slots: o,
|
|
2519
|
+
$$host: this
|
|
2520
|
+
}
|
|
2521
|
+
}), this.$$me = vl(() => {
|
|
2522
|
+
vi(() => {
|
|
2523
|
+
this.$$r = !0;
|
|
2524
|
+
for (const i of wt(this.$$c)) {
|
|
2525
|
+
if (!this.$$p_d[i]?.reflect) continue;
|
|
2526
|
+
this.$$d[i] = this.$$c[i];
|
|
2527
|
+
const s = vt(
|
|
2528
|
+
i,
|
|
2529
|
+
this.$$d[i],
|
|
2530
|
+
this.$$p_d,
|
|
2531
|
+
"toAttribute"
|
|
2532
|
+
);
|
|
2533
|
+
s == null ? this.removeAttribute(this.$$p_d[i].attribute || i) : this.setAttribute(this.$$p_d[i].attribute || i, s);
|
|
2534
|
+
}
|
|
2535
|
+
this.$$r = !1;
|
|
2536
|
+
});
|
|
2537
|
+
});
|
|
2538
|
+
for (const i in this.$$l)
|
|
2539
|
+
for (const s of this.$$l[i]) {
|
|
2540
|
+
const n = this.$$c.$on(i, s);
|
|
2541
|
+
this.$$l_u.set(s, n);
|
|
2542
|
+
}
|
|
2543
|
+
this.$$l = {};
|
|
2544
|
+
}
|
|
2545
|
+
}
|
|
2546
|
+
// We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte
|
|
2547
|
+
// and setting attributes through setAttribute etc, this is helpful
|
|
2548
|
+
/**
|
|
2549
|
+
* @param {string} attr
|
|
2550
|
+
* @param {string} _oldValue
|
|
2551
|
+
* @param {string} newValue
|
|
2552
|
+
*/
|
|
2553
|
+
attributeChangedCallback(e, o, t) {
|
|
2554
|
+
this.$$r || (e = this.$$g_p(e), this.$$d[e] = vt(e, t, this.$$p_d, "toProp"), this.$$c?.$set({ [e]: this.$$d[e] }));
|
|
2555
|
+
}
|
|
2556
|
+
disconnectedCallback() {
|
|
2557
|
+
this.$$cn = !1, Promise.resolve().then(() => {
|
|
2558
|
+
!this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(), this.$$c = void 0);
|
|
2559
|
+
});
|
|
2560
|
+
}
|
|
2561
|
+
/**
|
|
2562
|
+
* @param {string} attribute_name
|
|
2563
|
+
*/
|
|
2564
|
+
$$g_p(e) {
|
|
2565
|
+
return wt(this.$$p_d).find(
|
|
2566
|
+
(o) => this.$$p_d[o].attribute === e || !this.$$p_d[o].attribute && o.toLowerCase() === e
|
|
2567
|
+
) || e;
|
|
2568
|
+
}
|
|
2569
|
+
});
|
|
2570
|
+
function vt(e, o, t, i) {
|
|
2571
|
+
const s = t[e]?.type;
|
|
2572
|
+
if (o = s === "Boolean" && typeof o != "boolean" ? o != null : o, !i || !t[e])
|
|
2573
|
+
return o;
|
|
2574
|
+
if (i === "toAttribute")
|
|
2575
|
+
switch (s) {
|
|
2576
|
+
case "Object":
|
|
2577
|
+
case "Array":
|
|
2578
|
+
return o == null ? null : JSON.stringify(o);
|
|
2579
|
+
case "Boolean":
|
|
2580
|
+
return o ? "" : null;
|
|
2581
|
+
case "Number":
|
|
2582
|
+
return o ?? null;
|
|
2583
|
+
default:
|
|
2584
|
+
return o;
|
|
2585
|
+
}
|
|
2586
|
+
else
|
|
2587
|
+
switch (s) {
|
|
2588
|
+
case "Object":
|
|
2589
|
+
case "Array":
|
|
2590
|
+
return o && JSON.parse(o);
|
|
2591
|
+
case "Boolean":
|
|
2592
|
+
return o;
|
|
2593
|
+
// conversion already handled above
|
|
2594
|
+
case "Number":
|
|
2595
|
+
return o != null ? +o : o;
|
|
2596
|
+
default:
|
|
2597
|
+
return o;
|
|
2598
|
+
}
|
|
2599
|
+
}
|
|
2600
|
+
function er(e) {
|
|
2601
|
+
const o = {};
|
|
2602
|
+
return e.childNodes.forEach((t) => {
|
|
2603
|
+
o[
|
|
2604
|
+
/** @type {Element} node */
|
|
2605
|
+
t.slot || "default"
|
|
2606
|
+
] = !0;
|
|
2607
|
+
}), o;
|
|
2608
|
+
}
|
|
2609
|
+
function or(e, o, t, i, s, n) {
|
|
2610
|
+
let l = class extends ls {
|
|
2611
|
+
constructor() {
|
|
2612
|
+
super(e, t, s), this.$$p_d = o;
|
|
2613
|
+
}
|
|
2614
|
+
static get observedAttributes() {
|
|
2615
|
+
return wt(o).map(
|
|
2616
|
+
(r) => (o[r].attribute || r).toLowerCase()
|
|
2617
|
+
);
|
|
2618
|
+
}
|
|
2619
|
+
};
|
|
2620
|
+
return wt(o).forEach((r) => {
|
|
2621
|
+
xt(l.prototype, r, {
|
|
2622
|
+
get() {
|
|
2623
|
+
return this.$$c && r in this.$$c ? this.$$c[r] : this.$$d[r];
|
|
2624
|
+
},
|
|
2625
|
+
set(a) {
|
|
2626
|
+
a = vt(r, a, o), this.$$d[r] = a;
|
|
2627
|
+
var c = this.$$c;
|
|
2628
|
+
if (c) {
|
|
2629
|
+
var d = Io(c, r)?.get;
|
|
2630
|
+
d ? c[r] = a : c.$set({ [r]: a });
|
|
2631
|
+
}
|
|
2632
|
+
}
|
|
2633
|
+
});
|
|
2634
|
+
}), i.forEach((r) => {
|
|
2635
|
+
xt(l.prototype, r, {
|
|
2636
|
+
get() {
|
|
2637
|
+
return this.$$c?.[r];
|
|
2638
|
+
}
|
|
2639
|
+
});
|
|
2640
|
+
}), e.element = /** @type {any} */
|
|
2641
|
+
l, l;
|
|
2642
|
+
}
|
|
2643
|
+
class tr extends Event {
|
|
2644
|
+
constructor(o, t, i, s) {
|
|
2645
|
+
super("context-request", { bubbles: !0, composed: !0 }), v(this, "context"), v(this, "contextTarget"), v(this, "callback"), v(this, "subscribe"), this.context = o, this.contextTarget = t, this.callback = i, this.subscribe = s ?? !1;
|
|
2646
|
+
}
|
|
2647
|
+
}
|
|
2648
|
+
class ir {
|
|
2649
|
+
constructor(o, t) {
|
|
2650
|
+
v(this, "host"), v(this, "context"), v(this, "subscribe"), v(this, "onValue"), v(this, "isConnected", !1), v(this, "unsubscribe"), v(this, "currentValue"), v(this, "handleValue", (i, s) => {
|
|
2651
|
+
s !== this.unsubscribe && (this.unsubscribe?.(), this.unsubscribe = s), !this.subscribe && this.unsubscribe && (this.unsubscribe(), this.unsubscribe = void 0), this.currentValue = i, this.onValue?.(i);
|
|
2652
|
+
}), this.host = o, this.context = t.context, this.subscribe = t.subscribe ?? !0, this.onValue = t.onValue;
|
|
2653
|
+
}
|
|
2654
|
+
connect() {
|
|
2655
|
+
this.isConnected || (this.isConnected = !0, this.requestValue());
|
|
2656
|
+
}
|
|
2657
|
+
disconnect() {
|
|
2658
|
+
this.isConnected && (this.isConnected = !1, this.unsubscribe?.(), this.unsubscribe = void 0);
|
|
2659
|
+
}
|
|
2660
|
+
get value() {
|
|
2661
|
+
return this.currentValue;
|
|
2662
|
+
}
|
|
2663
|
+
requestValue() {
|
|
2664
|
+
this.host.dispatchEvent(new tr(this.context, this.host, this.handleValue, this.subscribe));
|
|
2665
|
+
}
|
|
2666
|
+
}
|
|
2667
|
+
const nr = (e) => e, sr = nr(/* @__PURE__ */ Symbol.for("pie.assessmentToolkit.runtimeContext"));
|
|
2668
|
+
function lr(e, o, t) {
|
|
2669
|
+
let i = !1;
|
|
2670
|
+
const s = new ir(e, {
|
|
2671
|
+
context: o,
|
|
2672
|
+
subscribe: !0,
|
|
2673
|
+
onValue: (c) => {
|
|
2674
|
+
i = !0, t(c);
|
|
2675
|
+
}
|
|
2676
|
+
});
|
|
2677
|
+
s.connect();
|
|
2678
|
+
const n = (c) => {
|
|
2679
|
+
c.context === o && s.requestValue();
|
|
2680
|
+
};
|
|
2681
|
+
e.addEventListener("context-provider", n);
|
|
2682
|
+
let l = 0;
|
|
2683
|
+
const r = 200, a = globalThis.setInterval(() => {
|
|
2684
|
+
if (i || l >= r) {
|
|
2685
|
+
globalThis.clearInterval(a);
|
|
2686
|
+
return;
|
|
2687
|
+
}
|
|
2688
|
+
l += 1, s.requestValue();
|
|
2689
|
+
}, 50);
|
|
2690
|
+
return () => {
|
|
2691
|
+
globalThis.clearInterval(a), e.removeEventListener("context-provider", n), s.disconnect();
|
|
2692
|
+
};
|
|
2693
|
+
}
|
|
2694
|
+
function rr(e, o) {
|
|
2695
|
+
return lr(e, sr, o);
|
|
2696
|
+
}
|
|
2697
|
+
function ar(e, o) {
|
|
2698
|
+
return rr(e, o);
|
|
2699
|
+
}
|
|
2700
|
+
var Ki;
|
|
2701
|
+
(function(e) {
|
|
2702
|
+
e.TTS_WORD = "tts-word", e.TTS_SENTENCE = "tts-sentence", e.ANNOTATION = "annotation";
|
|
2703
|
+
})(Ki || (Ki = {}));
|
|
2704
|
+
var qi;
|
|
2705
|
+
(function(e) {
|
|
2706
|
+
e.YELLOW = "yellow", e.GREEN = "green", e.BLUE = "blue", e.PINK = "pink", e.ORANGE = "orange", e.UNDERLINE = "underline";
|
|
2707
|
+
})(qi || (qi = {}));
|
|
2708
|
+
class cr {
|
|
2709
|
+
constructor() {
|
|
2710
|
+
v(this, "tools", /* @__PURE__ */ new Map()), v(this, "pnpIndex", /* @__PURE__ */ new Map()), v(this, "componentOverrides", {}), v(this, "moduleLoaders", /* @__PURE__ */ new Map()), v(this, "loadedToolModules", /* @__PURE__ */ new Set()), v(this, "moduleLoadPromises", /* @__PURE__ */ new Map());
|
|
2711
|
+
}
|
|
2712
|
+
/**
|
|
2713
|
+
* Normalize a single tool alias to canonical toolId.
|
|
2714
|
+
*/
|
|
2715
|
+
normalizeToolId(o) {
|
|
2716
|
+
return o === "tts" ? "textToSpeech" : o;
|
|
2717
|
+
}
|
|
2718
|
+
/**
|
|
2719
|
+
* Normalize a list of tool aliases to canonical toolIds.
|
|
2720
|
+
*/
|
|
2721
|
+
normalizeToolIds(o) {
|
|
2722
|
+
return o.map((t) => this.normalizeToolId(t));
|
|
2723
|
+
}
|
|
2724
|
+
/**
|
|
2725
|
+
* Register a tool
|
|
2726
|
+
*
|
|
2727
|
+
* @param registration - Tool registration
|
|
2728
|
+
* @throws Error if toolId is already registered
|
|
2729
|
+
*/
|
|
2730
|
+
register(o) {
|
|
2731
|
+
if (this.tools.has(o.toolId))
|
|
2732
|
+
throw new Error(`Tool '${o.toolId}' is already registered`);
|
|
2733
|
+
if (this.tools.set(o.toolId, o), o.pnpSupportIds)
|
|
2734
|
+
for (const t of o.pnpSupportIds)
|
|
2735
|
+
this.pnpIndex.has(t) || this.pnpIndex.set(t, /* @__PURE__ */ new Set()), this.pnpIndex.get(t).add(o.toolId);
|
|
2736
|
+
}
|
|
2737
|
+
/**
|
|
2738
|
+
* Override an existing tool registration
|
|
2739
|
+
*
|
|
2740
|
+
* @param registration - New tool registration (must have existing toolId)
|
|
2741
|
+
*/
|
|
2742
|
+
override(o) {
|
|
2743
|
+
if (!this.tools.has(o.toolId))
|
|
2744
|
+
throw new Error(`Cannot override non-existent tool '${o.toolId}'`);
|
|
2745
|
+
const t = this.tools.get(o.toolId);
|
|
2746
|
+
if (t.pnpSupportIds)
|
|
2747
|
+
for (const i of t.pnpSupportIds)
|
|
2748
|
+
this.pnpIndex.get(i)?.delete(o.toolId);
|
|
2749
|
+
if (this.tools.set(o.toolId, o), o.pnpSupportIds)
|
|
2750
|
+
for (const i of o.pnpSupportIds)
|
|
2751
|
+
this.pnpIndex.has(i) || this.pnpIndex.set(i, /* @__PURE__ */ new Set()), this.pnpIndex.get(i).add(o.toolId);
|
|
2752
|
+
}
|
|
2753
|
+
/**
|
|
2754
|
+
* Unregister a tool
|
|
2755
|
+
*
|
|
2756
|
+
* @param toolId - Tool ID to remove
|
|
2757
|
+
*/
|
|
2758
|
+
unregister(o) {
|
|
2759
|
+
const t = this.tools.get(o);
|
|
2760
|
+
if (t) {
|
|
2761
|
+
if (t.pnpSupportIds)
|
|
2762
|
+
for (const i of t.pnpSupportIds)
|
|
2763
|
+
this.pnpIndex.get(i)?.delete(o);
|
|
2764
|
+
this.tools.delete(o);
|
|
2765
|
+
}
|
|
2766
|
+
}
|
|
2767
|
+
/**
|
|
2768
|
+
* Get a tool registration by ID
|
|
2769
|
+
*
|
|
2770
|
+
* @param toolId - Tool ID
|
|
2771
|
+
* @returns Tool registration or undefined
|
|
2772
|
+
*/
|
|
2773
|
+
get(o) {
|
|
2774
|
+
return this.tools.get(o);
|
|
2775
|
+
}
|
|
2776
|
+
/**
|
|
2777
|
+
* Check if a tool is registered
|
|
2778
|
+
*
|
|
2779
|
+
* @param toolId - Tool ID
|
|
2780
|
+
* @returns true if registered
|
|
2781
|
+
*/
|
|
2782
|
+
has(o) {
|
|
2783
|
+
return this.tools.has(o);
|
|
2784
|
+
}
|
|
2785
|
+
/**
|
|
2786
|
+
* Get all registered tool IDs
|
|
2787
|
+
*
|
|
2788
|
+
* @returns Array of tool IDs
|
|
2789
|
+
*/
|
|
2790
|
+
getAllToolIds() {
|
|
2791
|
+
return Array.from(this.tools.keys());
|
|
2792
|
+
}
|
|
2793
|
+
/**
|
|
2794
|
+
* Get all tool registrations
|
|
2795
|
+
*
|
|
2796
|
+
* @returns Array of tool registrations
|
|
2797
|
+
*/
|
|
2798
|
+
getAllTools() {
|
|
2799
|
+
return Array.from(this.tools.values());
|
|
2800
|
+
}
|
|
2801
|
+
/**
|
|
2802
|
+
* Find tool IDs that support a given PNP support ID
|
|
2803
|
+
*
|
|
2804
|
+
* @param pnpSupportId - PNP support ID (e.g., 'calculator')
|
|
2805
|
+
* @returns Set of tool IDs that support this PNP ID
|
|
2806
|
+
*/
|
|
2807
|
+
getToolsByPNPSupport(o) {
|
|
2808
|
+
return this.pnpIndex.get(o) || /* @__PURE__ */ new Set();
|
|
2809
|
+
}
|
|
2810
|
+
/**
|
|
2811
|
+
* Get tools that support a specific level
|
|
2812
|
+
*
|
|
2813
|
+
* @param level - Tool level (assessment, section, item, passage, element)
|
|
2814
|
+
* @returns Array of tool registrations that support this level
|
|
2815
|
+
*/
|
|
2816
|
+
getToolsByLevel(o) {
|
|
2817
|
+
return this.getAllTools().filter((t) => t.supportedLevels.includes(o));
|
|
2818
|
+
}
|
|
2819
|
+
/**
|
|
2820
|
+
* Filter tools by visibility in a given context
|
|
2821
|
+
*
|
|
2822
|
+
* Pass 2 of the two-pass model: Given a list of allowed tool IDs (from Pass 1),
|
|
2823
|
+
* ask each tool if it's relevant in this context.
|
|
2824
|
+
*
|
|
2825
|
+
* @param allowedToolIds - Tool IDs that passed Pass 1 (orchestrator approval)
|
|
2826
|
+
* @param context - Context to evaluate
|
|
2827
|
+
* @returns Array of visible tool registrations
|
|
2828
|
+
*/
|
|
2829
|
+
filterVisibleInContext(o, t) {
|
|
2830
|
+
const i = [];
|
|
2831
|
+
for (const s of o) {
|
|
2832
|
+
const n = this.get(s);
|
|
2833
|
+
if (!n) {
|
|
2834
|
+
console.warn(`Tool '${s}' is allowed but not registered`);
|
|
2835
|
+
continue;
|
|
2836
|
+
}
|
|
2837
|
+
if (n.supportedLevels.includes(t.level))
|
|
2838
|
+
try {
|
|
2839
|
+
n.isVisibleInContext(t) && i.push(n);
|
|
2840
|
+
} catch (l) {
|
|
2841
|
+
console.error(`Error evaluating visibility for tool '${s}':`, l);
|
|
2842
|
+
}
|
|
2843
|
+
}
|
|
2844
|
+
return i;
|
|
2845
|
+
}
|
|
2846
|
+
/**
|
|
2847
|
+
* Get tool metadata for building UIs
|
|
2848
|
+
* Useful for building PNP configuration interfaces
|
|
2849
|
+
*
|
|
2850
|
+
* @returns Array of tool metadata (id, name, description, pnpSupportIds)
|
|
2851
|
+
*/
|
|
2852
|
+
getToolMetadata() {
|
|
2853
|
+
return this.getAllTools().map((o) => ({
|
|
2854
|
+
toolId: o.toolId,
|
|
2855
|
+
name: o.name,
|
|
2856
|
+
description: o.description,
|
|
2857
|
+
pnpSupportIds: o.pnpSupportIds || [],
|
|
2858
|
+
supportedLevels: o.supportedLevels
|
|
2859
|
+
}));
|
|
2860
|
+
}
|
|
2861
|
+
/**
|
|
2862
|
+
* Generate PNP support IDs from enabled tools
|
|
2863
|
+
* Useful for creating PNP profiles
|
|
2864
|
+
*
|
|
2865
|
+
* @param enabledToolIds - Tool IDs to enable
|
|
2866
|
+
* @returns Array of unique PNP support IDs
|
|
2867
|
+
*/
|
|
2868
|
+
generatePNPSupportsFromTools(o) {
|
|
2869
|
+
const t = /* @__PURE__ */ new Set();
|
|
2870
|
+
for (const i of o) {
|
|
2871
|
+
const s = this.get(i);
|
|
2872
|
+
if (s?.pnpSupportIds)
|
|
2873
|
+
for (const n of s.pnpSupportIds)
|
|
2874
|
+
t.add(n);
|
|
2875
|
+
}
|
|
2876
|
+
return Array.from(t);
|
|
2877
|
+
}
|
|
2878
|
+
/**
|
|
2879
|
+
* Clear all registrations (useful for testing)
|
|
2880
|
+
*/
|
|
2881
|
+
clear() {
|
|
2882
|
+
this.tools.clear(), this.pnpIndex.clear();
|
|
2883
|
+
}
|
|
2884
|
+
/**
|
|
2885
|
+
* Configure global component overrides used by tool instance creation.
|
|
2886
|
+
*/
|
|
2887
|
+
setComponentOverrides(o) {
|
|
2888
|
+
this.componentOverrides = o;
|
|
2889
|
+
}
|
|
2890
|
+
/**
|
|
2891
|
+
* Register lazy module loaders by toolId.
|
|
2892
|
+
* Toolbars call ensureToolModuleLoaded(toolId) before instance creation.
|
|
2893
|
+
*/
|
|
2894
|
+
setToolModuleLoaders(o) {
|
|
2895
|
+
for (const [t, i] of Object.entries(o))
|
|
2896
|
+
i && this.moduleLoaders.set(t, i);
|
|
2897
|
+
}
|
|
2898
|
+
/**
|
|
2899
|
+
* Ensure tool module side-effects are loaded exactly once.
|
|
2900
|
+
* Safe to call repeatedly; concurrent callers share the same promise.
|
|
2901
|
+
*/
|
|
2902
|
+
async ensureToolModuleLoaded(o) {
|
|
2903
|
+
if (this.loadedToolModules.has(o))
|
|
2904
|
+
return;
|
|
2905
|
+
const t = this.moduleLoadPromises.get(o);
|
|
2906
|
+
if (t) {
|
|
2907
|
+
await t;
|
|
2908
|
+
return;
|
|
2909
|
+
}
|
|
2910
|
+
const i = this.moduleLoaders.get(o);
|
|
2911
|
+
if (!i)
|
|
2912
|
+
return;
|
|
2913
|
+
const s = (async () => {
|
|
2914
|
+
await i(), this.loadedToolModules.add(o);
|
|
2915
|
+
})();
|
|
2916
|
+
this.moduleLoadPromises.set(o, s);
|
|
2917
|
+
try {
|
|
2918
|
+
await s;
|
|
2919
|
+
} finally {
|
|
2920
|
+
this.moduleLoadPromises.delete(o);
|
|
2921
|
+
}
|
|
2922
|
+
}
|
|
2923
|
+
/**
|
|
2924
|
+
* Ensure a set of tool modules are loaded.
|
|
2925
|
+
*/
|
|
2926
|
+
async ensureToolModulesLoaded(o) {
|
|
2927
|
+
await Promise.all(o.map((t) => this.ensureToolModuleLoaded(t)));
|
|
2928
|
+
}
|
|
2929
|
+
/**
|
|
2930
|
+
* Whether a tool module has already been loaded.
|
|
2931
|
+
*/
|
|
2932
|
+
isToolModuleLoaded(o) {
|
|
2933
|
+
return this.loadedToolModules.has(o);
|
|
2934
|
+
}
|
|
2935
|
+
/**
|
|
2936
|
+
* Render a tool for toolbar use with component overrides attached.
|
|
2937
|
+
*/
|
|
2938
|
+
renderForToolbar(o, t, i) {
|
|
2939
|
+
const s = this.get(o);
|
|
2940
|
+
if (!s)
|
|
2941
|
+
throw new Error(`Tool '${o}' is not registered`);
|
|
2942
|
+
const n = {
|
|
2943
|
+
...i,
|
|
2944
|
+
componentOverrides: {
|
|
2945
|
+
...this.componentOverrides || {},
|
|
2946
|
+
...i.componentOverrides || {}
|
|
2947
|
+
}
|
|
2948
|
+
};
|
|
2949
|
+
return s.renderToolbar(t, n);
|
|
2950
|
+
}
|
|
2951
|
+
}
|
|
2952
|
+
function rs(e) {
|
|
2953
|
+
return e.level === "item";
|
|
2954
|
+
}
|
|
2955
|
+
function pr(e) {
|
|
2956
|
+
return e.level === "passage";
|
|
2957
|
+
}
|
|
2958
|
+
function dr(e) {
|
|
2959
|
+
return e.level === "rubric";
|
|
2960
|
+
}
|
|
2961
|
+
function as(e) {
|
|
2962
|
+
return e.level === "element";
|
|
2963
|
+
}
|
|
2964
|
+
function Ii(e) {
|
|
2965
|
+
if (as(e)) {
|
|
2966
|
+
const o = e.item.config;
|
|
2967
|
+
if (!o)
|
|
2968
|
+
return "";
|
|
2969
|
+
const t = [], i = (r) => r.replace(/<[^>]*>/g, " ").trim(), s = o.elements?.[e.elementId];
|
|
2970
|
+
s && typeof s == "string" && t.push(i(s));
|
|
2971
|
+
const n = o.models, l = (Array.isArray(n) ? n : n && typeof n == "object" ? Object.values(n) : []).find((r) => r && typeof r == "object" && r.id === e.elementId);
|
|
2972
|
+
if (l) {
|
|
2973
|
+
for (const r of Object.values(l))
|
|
2974
|
+
if (typeof r == "string" && t.push(i(r)), Array.isArray(r)) {
|
|
2975
|
+
for (const a of r)
|
|
2976
|
+
if (a && typeof a == "object")
|
|
2977
|
+
for (const c of Object.values(a))
|
|
2978
|
+
typeof c == "string" && t.push(i(c));
|
|
2979
|
+
}
|
|
2980
|
+
}
|
|
2981
|
+
return t.filter(Boolean).join(" ").trim();
|
|
2982
|
+
}
|
|
2983
|
+
if (rs(e)) {
|
|
2984
|
+
const o = e.item;
|
|
2985
|
+
if (!o?.config)
|
|
2986
|
+
return "";
|
|
2987
|
+
const t = o.config, i = [], s = (a) => a.replace(/<[^>]*>/g, " ").trim();
|
|
2988
|
+
typeof t.markup == "string" && i.push(s(t.markup));
|
|
2989
|
+
const n = t.elements;
|
|
2990
|
+
if (n && typeof n == "object")
|
|
2991
|
+
for (const a of Object.values(n))
|
|
2992
|
+
typeof a == "string" && i.push(s(a));
|
|
2993
|
+
const l = t.models, r = Array.isArray(l) ? l : l && typeof l == "object" ? Object.values(l) : [];
|
|
2994
|
+
for (const a of r)
|
|
2995
|
+
if (!(!a || typeof a != "object")) {
|
|
2996
|
+
for (const c of Object.values(a))
|
|
2997
|
+
if (typeof c == "string" && i.push(s(c)), Array.isArray(c)) {
|
|
2998
|
+
for (const d of c)
|
|
2999
|
+
if (d && typeof d == "object")
|
|
3000
|
+
for (const g of Object.values(d))
|
|
3001
|
+
typeof g == "string" && i.push(s(g));
|
|
3002
|
+
}
|
|
3003
|
+
}
|
|
3004
|
+
return i.filter(Boolean).join(" ").trim();
|
|
3005
|
+
}
|
|
3006
|
+
if (pr(e)) {
|
|
3007
|
+
const o = e.passage;
|
|
3008
|
+
return o?.config ? (o.config.markup || "").replace(/<[^>]*>/g, " ").trim() : "";
|
|
3009
|
+
}
|
|
3010
|
+
if (dr(e)) {
|
|
3011
|
+
const o = e.rubricBlock;
|
|
3012
|
+
return o.passage?.config ? (o.passage.config.markup || "").replace(/<[^>]*>/g, " ").trim() : (o.content || "").replace(/<[^>]*>/g, " ").trim();
|
|
3013
|
+
}
|
|
3014
|
+
return "";
|
|
3015
|
+
}
|
|
3016
|
+
function Rt(e) {
|
|
3017
|
+
const o = Ii(e);
|
|
3018
|
+
return [
|
|
3019
|
+
/<math[>\s]/i,
|
|
3020
|
+
// MathML
|
|
3021
|
+
/\\\[([^\]]+)\\\]/,
|
|
3022
|
+
// LaTeX display math
|
|
3023
|
+
/\$\$[^$]+\$\$/,
|
|
3024
|
+
// LaTeX display math ($$...$$)
|
|
3025
|
+
/\\\(/,
|
|
3026
|
+
// LaTeX inline math
|
|
3027
|
+
/[+\-*/=<>≤≥∑∫√π]/,
|
|
3028
|
+
// Math symbols
|
|
3029
|
+
/\d+\s*[+\-*/=]\s*\d+/
|
|
3030
|
+
// Simple arithmetic
|
|
3031
|
+
].some((t) => t.test(o));
|
|
3032
|
+
}
|
|
3033
|
+
function ur(e) {
|
|
3034
|
+
const o = [
|
|
3035
|
+
"pie-multiple-choice",
|
|
3036
|
+
"pie-inline-choice",
|
|
3037
|
+
"pie-select-text",
|
|
3038
|
+
"multiple-choice",
|
|
3039
|
+
"inline-choice",
|
|
3040
|
+
"select-text"
|
|
3041
|
+
];
|
|
3042
|
+
if (as(e)) {
|
|
3043
|
+
const t = e.item.config;
|
|
3044
|
+
if (!t?.models)
|
|
3045
|
+
return !1;
|
|
3046
|
+
const i = (Array.isArray(t.models) ? t.models : Object.values(t.models)).find((n) => n && typeof n == "object" && n.id === e.elementId);
|
|
3047
|
+
if (!i)
|
|
3048
|
+
return !1;
|
|
3049
|
+
const s = i.element || "";
|
|
3050
|
+
return o.includes(s);
|
|
3051
|
+
}
|
|
3052
|
+
if (rs(e)) {
|
|
3053
|
+
const t = e.item.config?.models;
|
|
3054
|
+
return (Array.isArray(t) ? t : t && typeof t == "object" ? Object.values(t) : []).some((i) => {
|
|
3055
|
+
if (!i || typeof i != "object")
|
|
3056
|
+
return !1;
|
|
3057
|
+
const s = i.element || "";
|
|
3058
|
+
return o.includes(s) ? !0 : Array.isArray(i.choices) && i.choices.length > 0;
|
|
3059
|
+
});
|
|
3060
|
+
}
|
|
3061
|
+
return !1;
|
|
3062
|
+
}
|
|
3063
|
+
function Nt(e) {
|
|
3064
|
+
return Ii(e).trim().length >= 10;
|
|
3065
|
+
}
|
|
3066
|
+
function fr(e) {
|
|
3067
|
+
const o = Ii(e);
|
|
3068
|
+
return [
|
|
3069
|
+
/chemistry|chemical|element|atom|molecule|compound/i,
|
|
3070
|
+
/periodic\s+table/i,
|
|
3071
|
+
/H₂O|CO₂|NaCl|O₂|N₂/i,
|
|
3072
|
+
// Chemical formulas
|
|
3073
|
+
/\b[A-Z][a-z]?\d*\b/,
|
|
3074
|
+
// Element symbols (H, He, Li, etc.)
|
|
3075
|
+
/biology|organism|cell|DNA|RNA|protein/i,
|
|
3076
|
+
/physics|force|energy|velocity|acceleration/i
|
|
3077
|
+
].some((t) => t.test(o));
|
|
3078
|
+
}
|
|
3079
|
+
const mr = [
|
|
3080
|
+
"assessment",
|
|
3081
|
+
"section",
|
|
3082
|
+
"item",
|
|
3083
|
+
"passage",
|
|
3084
|
+
"rubric"
|
|
3085
|
+
], hr = new Set(mr);
|
|
3086
|
+
function gr(e) {
|
|
3087
|
+
return hr.has(e);
|
|
3088
|
+
}
|
|
3089
|
+
function de(e, o, t, i = "overlay") {
|
|
3090
|
+
const s = e.trim(), n = t.trim();
|
|
3091
|
+
if (!s || !n)
|
|
3092
|
+
throw new Error("Tool instance ids require non-empty tool and scope ids");
|
|
3093
|
+
if (!gr(o))
|
|
3094
|
+
throw new Error(`Unknown tool scope level '${o}'. Register custom levels with registerToolScopeLevel().`);
|
|
3095
|
+
return i === "inline" ? `${s}:${o}:${n}:inline` : `${s}:${o}:${n}`;
|
|
3096
|
+
}
|
|
3097
|
+
const _r = /* @__PURE__ */ new Set([
|
|
3098
|
+
"annotation-xml",
|
|
3099
|
+
"color-profile",
|
|
3100
|
+
"font-face",
|
|
3101
|
+
"font-face-src",
|
|
3102
|
+
"font-face-uri",
|
|
3103
|
+
"font-face-format",
|
|
3104
|
+
"font-face-name",
|
|
3105
|
+
"missing-glyph"
|
|
3106
|
+
]), yr = /^[a-z][a-z0-9._-]*-[a-z0-9._-]*$/, br = (e, o = "custom element tag") => {
|
|
3107
|
+
if (!e || typeof e != "string")
|
|
3108
|
+
throw new Error(`Invalid ${o}: expected a non-empty string`);
|
|
3109
|
+
const t = e.trim();
|
|
3110
|
+
if (!t)
|
|
3111
|
+
throw new Error(`Invalid ${o}: tag is empty`);
|
|
3112
|
+
if (t !== t.toLowerCase())
|
|
3113
|
+
throw new Error(`Invalid ${o} "${t}": custom element names must be lowercase`);
|
|
3114
|
+
if (!t.includes("-"))
|
|
3115
|
+
throw new Error(`Invalid ${o} "${t}": custom element names must include a hyphen`);
|
|
3116
|
+
if (_r.has(t))
|
|
3117
|
+
throw new Error(`Invalid ${o} "${t}": this name is reserved by the HTML spec`);
|
|
3118
|
+
if (!yr.test(t))
|
|
3119
|
+
throw new Error(`Invalid ${o} "${t}": allowed characters are lowercase letters, numbers, ".", "_" and "-"`);
|
|
3120
|
+
return t;
|
|
3121
|
+
}, cs = {
|
|
3122
|
+
calculator: "pie-tool-calculator",
|
|
3123
|
+
textToSpeech: "pie-tool-text-to-speech",
|
|
3124
|
+
ruler: "pie-tool-ruler",
|
|
3125
|
+
protractor: "pie-tool-protractor",
|
|
3126
|
+
answerEliminator: "pie-tool-answer-eliminator",
|
|
3127
|
+
highlighter: "pie-tool-annotation-toolbar",
|
|
3128
|
+
lineReader: "pie-tool-line-reader",
|
|
3129
|
+
colorScheme: "pie-tool-color-scheme",
|
|
3130
|
+
annotationToolbar: "pie-tool-annotation-toolbar",
|
|
3131
|
+
graph: "pie-tool-graph",
|
|
3132
|
+
periodicTable: "pie-tool-periodic-table"
|
|
3133
|
+
}, vr = (e, o) => {
|
|
3134
|
+
const t = o?.toolTagMap?.[e] ?? cs[e] ?? e;
|
|
3135
|
+
return br(t, `tool component tag for "${e}"`);
|
|
3136
|
+
}, wr = (e) => document.createElement(e), ze = (e, o, t, i) => {
|
|
3137
|
+
const s = vr(e, i), n = i?.toolComponentFactories?.[e] ?? i?.toolComponentFactory;
|
|
3138
|
+
return n ? n({ toolId: e, tagName: s, context: o, toolbarContext: t }) : wr(s);
|
|
3139
|
+
}, xr = {
|
|
3140
|
+
toolId: "calculator",
|
|
3141
|
+
name: "Calculator",
|
|
3142
|
+
description: "Multi-type calculator (basic, scientific, graphing)",
|
|
3143
|
+
icon: "calculator",
|
|
3144
|
+
// Calculator is item-level in this player architecture.
|
|
3145
|
+
supportedLevels: ["item"],
|
|
3146
|
+
// PNP support IDs that enable this tool
|
|
3147
|
+
// Maps to QTI 3.0 standard features: calculator, graphingCalculator
|
|
3148
|
+
pnpSupportIds: [
|
|
3149
|
+
"calculator",
|
|
3150
|
+
// QTI 3.0 standard (cognitive.calculator)
|
|
3151
|
+
"graphingCalculator",
|
|
3152
|
+
// QTI 3.0 standard (assessment.graphingCalculator)
|
|
3153
|
+
"basicCalculator",
|
|
3154
|
+
// Common variant
|
|
3155
|
+
"scientificCalculator"
|
|
3156
|
+
// Common variant
|
|
3157
|
+
],
|
|
3158
|
+
/**
|
|
3159
|
+
* Pass 2: Determine if calculator is relevant in this context
|
|
3160
|
+
*
|
|
3161
|
+
* Calculator is relevant when context contains mathematical content
|
|
3162
|
+
* (MathML, LaTeX, arithmetic markers).
|
|
3163
|
+
*/
|
|
3164
|
+
isVisibleInContext(e) {
|
|
3165
|
+
return Rt(e);
|
|
3166
|
+
},
|
|
3167
|
+
renderToolbar(e, o) {
|
|
3168
|
+
const t = de(this.toolId, "item", o.itemId), i = o.componentOverrides, s = ze(this.toolId, e, o, i);
|
|
3169
|
+
s.setAttribute("tool-id", t);
|
|
3170
|
+
const n = document.createElement("pie-tool-calculator-inline");
|
|
3171
|
+
return n.setAttribute("tool-id", de(this.toolId, "item", o.itemId, "inline")), n.setAttribute("target-tool-id", t), n.setAttribute("calculator-type", "scientific"), n.setAttribute("available-types", "basic,scientific,graphing"), n.setAttribute("size", o.ui?.size || "md"), {
|
|
3172
|
+
toolId: this.toolId,
|
|
3173
|
+
inlineElement: n,
|
|
3174
|
+
overlayElement: s,
|
|
3175
|
+
button: null,
|
|
3176
|
+
sync: () => {
|
|
3177
|
+
const l = o.isToolVisible(t);
|
|
3178
|
+
s.visible = l;
|
|
3179
|
+
},
|
|
3180
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3181
|
+
l(o.isToolVisible(t));
|
|
3182
|
+
}) : () => {
|
|
3183
|
+
}
|
|
3184
|
+
};
|
|
3185
|
+
}
|
|
3186
|
+
}, kr = {
|
|
3187
|
+
toolId: "textToSpeech",
|
|
3188
|
+
name: "Text to Speech",
|
|
3189
|
+
description: "Read content aloud",
|
|
3190
|
+
icon: "volume-up",
|
|
3191
|
+
// TTS can appear at all levels except assessment and element.
|
|
3192
|
+
supportedLevels: ["section", "item", "passage", "rubric"],
|
|
3193
|
+
// PNP support IDs that enable this tool
|
|
3194
|
+
// Maps to QTI 3.0 standard features: textToSpeech, readAloud
|
|
3195
|
+
pnpSupportIds: [
|
|
3196
|
+
"textToSpeech",
|
|
3197
|
+
// QTI 3.0 standard (auditory.textToSpeech)
|
|
3198
|
+
"readAloud",
|
|
3199
|
+
// QTI 3.0 standard (auditory.readAloud)
|
|
3200
|
+
"tts",
|
|
3201
|
+
// Common abbreviation
|
|
3202
|
+
"speechOutput"
|
|
3203
|
+
// Common variant
|
|
3204
|
+
],
|
|
3205
|
+
/**
|
|
3206
|
+
* Pass 2: Determine if TTS is relevant in this context
|
|
3207
|
+
*
|
|
3208
|
+
* TTS is relevant when:
|
|
3209
|
+
* - Context contains readable text (at least 10 characters)
|
|
3210
|
+
*/
|
|
3211
|
+
isVisibleInContext(e) {
|
|
3212
|
+
return Nt(e);
|
|
3213
|
+
},
|
|
3214
|
+
renderToolbar(e, o) {
|
|
3215
|
+
const t = de(this.toolId, "item", o.itemId, "inline"), i = document.createElement("pie-tool-tts-inline");
|
|
3216
|
+
i.setAttribute("tool-id", t), i.setAttribute("catalog-id", o.catalogId || o.itemId), i.setAttribute("language", o.language), i.setAttribute("size", o.ui?.size || "md");
|
|
3217
|
+
let s = !1;
|
|
3218
|
+
return {
|
|
3219
|
+
toolId: this.toolId,
|
|
3220
|
+
inlineElement: i,
|
|
3221
|
+
sync: () => {
|
|
3222
|
+
i.setAttribute("catalog-id", o.catalogId || o.itemId), i.setAttribute("language", o.language), i.setAttribute("size", o.ui?.size || "md"), o.ttsService && (i.ttsService = o.ttsService), !s && o.ensureTTSReady && (s = !0, o.ensureTTSReady().catch((n) => {
|
|
3223
|
+
console.error("[ttsToolRegistration] Failed to initialize TTS service:", n);
|
|
3224
|
+
}));
|
|
3225
|
+
}
|
|
3226
|
+
};
|
|
3227
|
+
}
|
|
3228
|
+
}, Sr = {
|
|
3229
|
+
toolId: "ruler",
|
|
3230
|
+
name: "Ruler",
|
|
3231
|
+
description: "On-screen ruler for measurements",
|
|
3232
|
+
icon: "ruler",
|
|
3233
|
+
// Ruler typically appears at item/element level
|
|
3234
|
+
supportedLevels: ["item", "element"],
|
|
3235
|
+
// PNP support IDs
|
|
3236
|
+
// Maps to QTI 3.0 standard feature: ruler
|
|
3237
|
+
pnpSupportIds: [
|
|
3238
|
+
"ruler",
|
|
3239
|
+
// QTI 3.0 standard (assessment.ruler)
|
|
3240
|
+
"measurement"
|
|
3241
|
+
// Common variant
|
|
3242
|
+
],
|
|
3243
|
+
/**
|
|
3244
|
+
* Pass 2: Ruler is relevant when math content is present
|
|
3245
|
+
*/
|
|
3246
|
+
isVisibleInContext(e) {
|
|
3247
|
+
return Rt(e);
|
|
3248
|
+
},
|
|
3249
|
+
renderToolbar(e, o) {
|
|
3250
|
+
const t = de(this.toolId, "item", o.itemId), i = {
|
|
3251
|
+
toolId: this.toolId,
|
|
3252
|
+
label: this.name,
|
|
3253
|
+
icon: typeof this.icon == "function" ? this.icon(e) : this.icon,
|
|
3254
|
+
disabled: !1,
|
|
3255
|
+
ariaLabel: "Open ruler tool",
|
|
3256
|
+
tooltip: "Ruler",
|
|
3257
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3258
|
+
active: o.isToolVisible(t)
|
|
3259
|
+
}, s = o.componentOverrides ?? {}, n = ze(this.toolId, e, o, s);
|
|
3260
|
+
return n.setAttribute("tool-id", t), {
|
|
3261
|
+
toolId: this.toolId,
|
|
3262
|
+
button: i,
|
|
3263
|
+
overlayElement: n,
|
|
3264
|
+
sync: () => {
|
|
3265
|
+
const l = o.isToolVisible(t);
|
|
3266
|
+
i.active = l, n.visible = l, o.toolkitCoordinator && (n.toolkitCoordinator = o.toolkitCoordinator);
|
|
3267
|
+
},
|
|
3268
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3269
|
+
l(o.isToolVisible(t));
|
|
3270
|
+
}) : () => {
|
|
3271
|
+
}
|
|
3272
|
+
};
|
|
3273
|
+
}
|
|
3274
|
+
}, Ir = {
|
|
3275
|
+
toolId: "protractor",
|
|
3276
|
+
name: "Protractor",
|
|
3277
|
+
description: "On-screen protractor for angle measurements",
|
|
3278
|
+
icon: "protractor",
|
|
3279
|
+
// Protractor typically appears at item/element level
|
|
3280
|
+
supportedLevels: ["item", "element"],
|
|
3281
|
+
// PNP support IDs
|
|
3282
|
+
// Maps to QTI 3.0 standard feature: protractor
|
|
3283
|
+
pnpSupportIds: [
|
|
3284
|
+
"protractor",
|
|
3285
|
+
// QTI 3.0 standard (assessment.protractor)
|
|
3286
|
+
"angleMeasurement"
|
|
3287
|
+
// Common variant
|
|
3288
|
+
],
|
|
3289
|
+
/**
|
|
3290
|
+
* Pass 2: Protractor is relevant when math content is present
|
|
3291
|
+
*/
|
|
3292
|
+
isVisibleInContext(e) {
|
|
3293
|
+
return Rt(e);
|
|
3294
|
+
},
|
|
3295
|
+
renderToolbar(e, o) {
|
|
3296
|
+
const t = de(this.toolId, "item", o.itemId), i = {
|
|
3297
|
+
toolId: this.toolId,
|
|
3298
|
+
label: this.name,
|
|
3299
|
+
icon: typeof this.icon == "function" ? this.icon(e) : this.icon,
|
|
3300
|
+
disabled: !1,
|
|
3301
|
+
ariaLabel: "Open protractor tool",
|
|
3302
|
+
tooltip: "Protractor",
|
|
3303
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3304
|
+
active: o.isToolVisible(t)
|
|
3305
|
+
}, s = o.componentOverrides ?? {}, n = ze(this.toolId, e, o, s);
|
|
3306
|
+
return n.setAttribute("tool-id", t), {
|
|
3307
|
+
toolId: this.toolId,
|
|
3308
|
+
button: i,
|
|
3309
|
+
overlayElement: n,
|
|
3310
|
+
sync: () => {
|
|
3311
|
+
const l = o.isToolVisible(t);
|
|
3312
|
+
i.active = l, n.visible = l, o.toolkitCoordinator && (n.toolkitCoordinator = o.toolkitCoordinator);
|
|
3313
|
+
},
|
|
3314
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3315
|
+
l(o.isToolVisible(t));
|
|
3316
|
+
}) : () => {
|
|
3317
|
+
}
|
|
3318
|
+
};
|
|
3319
|
+
}
|
|
3320
|
+
}, $r = {
|
|
3321
|
+
toolId: "answerEliminator",
|
|
3322
|
+
name: "Answer Eliminator",
|
|
3323
|
+
description: "Strike through answer choices",
|
|
3324
|
+
icon: "strikethrough",
|
|
3325
|
+
// Answer eliminator appears at item level only
|
|
3326
|
+
supportedLevels: ["item"],
|
|
3327
|
+
// PNP support IDs
|
|
3328
|
+
// Maps to QTI 3.0 standard feature: answerMasking
|
|
3329
|
+
pnpSupportIds: [
|
|
3330
|
+
"answerMasking",
|
|
3331
|
+
// QTI 3.0 standard (assessment.answerMasking)
|
|
3332
|
+
"answerEliminator",
|
|
3333
|
+
// QTI 3.0 standard (assessment.answerEliminator)
|
|
3334
|
+
"strikethrough",
|
|
3335
|
+
// Common variant
|
|
3336
|
+
"choiceMasking"
|
|
3337
|
+
// Common variant
|
|
3338
|
+
],
|
|
3339
|
+
/**
|
|
3340
|
+
* Pass 2: Answer eliminator is relevant only for choice-based questions
|
|
3341
|
+
*/
|
|
3342
|
+
isVisibleInContext(e) {
|
|
3343
|
+
return ur(e);
|
|
3344
|
+
},
|
|
3345
|
+
renderToolbar(e, o) {
|
|
3346
|
+
const t = de(this.toolId, "item", o.itemId), i = o.componentOverrides ?? {}, s = ze(this.toolId, e, o, i);
|
|
3347
|
+
s.setAttribute("tool-id", t), s.setAttribute("strategy", "strikethrough"), s.setAttribute("button-alignment", "inline");
|
|
3348
|
+
const n = {
|
|
3349
|
+
toolId: this.toolId,
|
|
3350
|
+
label: this.name,
|
|
3351
|
+
icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"><path d="M19,3H16.3H7.7H5A2,2 0 0,0 3,5V7.7V16.4V19A2,2 0 0,0 5,21H7.7H16.4H19A2,2 0 0,0 21,19V16.3V7.7V5A2,2 0 0,0 19,3M15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4L13.4,12L17,15.6L15.6,17Z"/></svg>',
|
|
3352
|
+
disabled: !1,
|
|
3353
|
+
ariaLabel: "Answer eliminator - Strike through choices",
|
|
3354
|
+
tooltip: "Strike Through",
|
|
3355
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3356
|
+
active: o.isToolVisible(t)
|
|
3357
|
+
};
|
|
3358
|
+
return {
|
|
3359
|
+
toolId: this.toolId,
|
|
3360
|
+
button: n,
|
|
3361
|
+
overlayElement: s,
|
|
3362
|
+
sync: () => {
|
|
3363
|
+
const l = o.isToolVisible(t);
|
|
3364
|
+
n.active = l, s.visible = l, o.toolCoordinator && (s.coordinator = o.toolCoordinator), s.scopeElement = o.getScopeElement?.() || null, o.elementToolStateStore && (s.elementToolStateStore = o.elementToolStateStore);
|
|
3365
|
+
const r = o.getGlobalElementId?.();
|
|
3366
|
+
r && (s.globalElementId = r);
|
|
3367
|
+
},
|
|
3368
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3369
|
+
l(o.isToolVisible(t));
|
|
3370
|
+
}) : () => {
|
|
3371
|
+
}
|
|
3372
|
+
};
|
|
3373
|
+
}
|
|
3374
|
+
}, Tr = {
|
|
3375
|
+
toolId: "highlighter",
|
|
3376
|
+
name: "Highlighter",
|
|
3377
|
+
description: "Highlight text",
|
|
3378
|
+
icon: "highlighter",
|
|
3379
|
+
// Highlighter appears at passage, rubric, item, and element levels
|
|
3380
|
+
supportedLevels: ["passage", "rubric", "item", "element"],
|
|
3381
|
+
// PNP support IDs
|
|
3382
|
+
pnpSupportIds: ["highlighter", "textHighlight", "annotation"],
|
|
3383
|
+
/**
|
|
3384
|
+
* Pass 2: Highlighter is relevant when readable text is available
|
|
3385
|
+
*/
|
|
3386
|
+
isVisibleInContext(e) {
|
|
3387
|
+
return Nt(e);
|
|
3388
|
+
},
|
|
3389
|
+
renderToolbar(e, o) {
|
|
3390
|
+
const t = de(this.toolId, "item", o.itemId), i = {
|
|
3391
|
+
toolId: this.toolId,
|
|
3392
|
+
label: this.name,
|
|
3393
|
+
icon: typeof this.icon == "function" ? this.icon(e) : this.icon,
|
|
3394
|
+
disabled: !1,
|
|
3395
|
+
ariaLabel: "Highlighter - Highlight text",
|
|
3396
|
+
tooltip: "Highlight",
|
|
3397
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3398
|
+
active: o.isToolVisible(t)
|
|
3399
|
+
}, s = o.componentOverrides ?? {}, n = ze(this.toolId, e, o, s);
|
|
3400
|
+
return n.setAttribute("tool-id", t), {
|
|
3401
|
+
toolId: this.toolId,
|
|
3402
|
+
button: i,
|
|
3403
|
+
overlayElement: n,
|
|
3404
|
+
sync: () => {
|
|
3405
|
+
const l = o.isToolVisible(t);
|
|
3406
|
+
i.active = l, n.enabled = l, n.visible = l, o.ttsService && (n.ttsService = o.ttsService);
|
|
3407
|
+
},
|
|
3408
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3409
|
+
l(o.isToolVisible(t));
|
|
3410
|
+
}) : () => {
|
|
3411
|
+
}
|
|
3412
|
+
};
|
|
3413
|
+
}
|
|
3414
|
+
}, Cr = {
|
|
3415
|
+
toolId: "lineReader",
|
|
3416
|
+
name: "Line Reader",
|
|
3417
|
+
description: "Reading guide overlay",
|
|
3418
|
+
icon: "bars-3",
|
|
3419
|
+
// Line reader appears where there's text to read
|
|
3420
|
+
supportedLevels: ["passage", "rubric", "item"],
|
|
3421
|
+
// PNP support IDs
|
|
3422
|
+
// Maps to QTI 3.0 standard features: readingMask, readingGuide, readingRuler
|
|
3423
|
+
pnpSupportIds: [
|
|
3424
|
+
"readingMask",
|
|
3425
|
+
// QTI 3.0 standard (reading.readingMask)
|
|
3426
|
+
"readingGuide",
|
|
3427
|
+
// QTI 3.0 standard (reading.readingGuide)
|
|
3428
|
+
"readingRuler",
|
|
3429
|
+
// QTI 3.0 standard (reading.readingRuler)
|
|
3430
|
+
"lineReader",
|
|
3431
|
+
// Common variant
|
|
3432
|
+
"trackingGuide"
|
|
3433
|
+
// Common variant
|
|
3434
|
+
],
|
|
3435
|
+
/**
|
|
3436
|
+
* Pass 2: Line reader is relevant when readable text is present
|
|
3437
|
+
*/
|
|
3438
|
+
isVisibleInContext(e) {
|
|
3439
|
+
return Nt(e);
|
|
3440
|
+
},
|
|
3441
|
+
renderToolbar(e, o) {
|
|
3442
|
+
const t = de(this.toolId, "item", o.itemId), i = {
|
|
3443
|
+
toolId: this.toolId,
|
|
3444
|
+
label: this.name,
|
|
3445
|
+
icon: typeof this.icon == "function" ? this.icon(e) : this.icon,
|
|
3446
|
+
disabled: !1,
|
|
3447
|
+
ariaLabel: "Line reader - Reading guide",
|
|
3448
|
+
tooltip: "Line Reader",
|
|
3449
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3450
|
+
active: o.isToolVisible(t)
|
|
3451
|
+
}, s = o.componentOverrides ?? {}, n = ze(this.toolId, e, o, s);
|
|
3452
|
+
return n.setAttribute("tool-id", t), {
|
|
3453
|
+
toolId: this.toolId,
|
|
3454
|
+
button: i,
|
|
3455
|
+
overlayElement: n,
|
|
3456
|
+
sync: () => {
|
|
3457
|
+
const l = o.isToolVisible(t);
|
|
3458
|
+
i.active = l, n.visible = l, o.toolkitCoordinator && (n.toolkitCoordinator = o.toolkitCoordinator);
|
|
3459
|
+
},
|
|
3460
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3461
|
+
l(o.isToolVisible(t));
|
|
3462
|
+
}) : () => {
|
|
3463
|
+
}
|
|
3464
|
+
};
|
|
3465
|
+
}
|
|
3466
|
+
}, Ar = {
|
|
3467
|
+
toolId: "colorScheme",
|
|
3468
|
+
name: "Color Scheme",
|
|
3469
|
+
description: "Accessible color themes and contrast",
|
|
3470
|
+
icon: "swatch",
|
|
3471
|
+
// Color scheme is assessment-wide
|
|
3472
|
+
supportedLevels: ["assessment", "section"],
|
|
3473
|
+
// PNP support IDs
|
|
3474
|
+
// Maps to QTI 3.0 standard features: highContrastDisplay, colorContrast, invertColors
|
|
3475
|
+
pnpSupportIds: [
|
|
3476
|
+
"highContrastDisplay",
|
|
3477
|
+
// QTI 3.0 standard (visual.highContrastDisplay)
|
|
3478
|
+
"colorContrast",
|
|
3479
|
+
// QTI 3.0 standard (visual.colorContrast)
|
|
3480
|
+
"invertColors",
|
|
3481
|
+
// QTI 3.0 standard (visual.invertColors)
|
|
3482
|
+
"colorScheme",
|
|
3483
|
+
// Common variant
|
|
3484
|
+
"highContrast",
|
|
3485
|
+
// Common variant
|
|
3486
|
+
"customColors"
|
|
3487
|
+
// Common variant
|
|
3488
|
+
],
|
|
3489
|
+
/**
|
|
3490
|
+
* Pass 2: Color scheme is always relevant when allowed
|
|
3491
|
+
*/
|
|
3492
|
+
isVisibleInContext(e) {
|
|
3493
|
+
return !0;
|
|
3494
|
+
},
|
|
3495
|
+
renderToolbar(e, o) {
|
|
3496
|
+
const t = de(this.toolId, "item", o.itemId), i = {
|
|
3497
|
+
toolId: this.toolId,
|
|
3498
|
+
label: this.name,
|
|
3499
|
+
icon: typeof this.icon == "function" ? this.icon(e) : this.icon,
|
|
3500
|
+
disabled: !1,
|
|
3501
|
+
ariaLabel: "Color scheme - Change colors and contrast",
|
|
3502
|
+
tooltip: "Color Scheme",
|
|
3503
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3504
|
+
active: o.isToolVisible(t)
|
|
3505
|
+
}, s = o.componentOverrides ?? {}, n = ze(this.toolId, e, o, s);
|
|
3506
|
+
return n.setAttribute("tool-id", t), {
|
|
3507
|
+
toolId: this.toolId,
|
|
3508
|
+
button: i,
|
|
3509
|
+
overlayElement: n,
|
|
3510
|
+
sync: () => {
|
|
3511
|
+
const l = o.isToolVisible(t);
|
|
3512
|
+
i.active = l, n.visible = l, o.toolkitCoordinator && (n.toolkitCoordinator = o.toolkitCoordinator);
|
|
3513
|
+
},
|
|
3514
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3515
|
+
l(o.isToolVisible(t));
|
|
3516
|
+
}) : () => {
|
|
3517
|
+
}
|
|
3518
|
+
};
|
|
3519
|
+
}
|
|
3520
|
+
}, Lr = {
|
|
3521
|
+
toolId: "annotationToolbar",
|
|
3522
|
+
name: "Highlighter",
|
|
3523
|
+
description: "Highlight and annotate text",
|
|
3524
|
+
icon: "highlighter",
|
|
3525
|
+
// Annotation appears where there's text content
|
|
3526
|
+
supportedLevels: ["passage", "rubric", "item", "element"],
|
|
3527
|
+
// PNP support IDs
|
|
3528
|
+
// Maps to QTI 3.0 standard features: highlighting, annotations
|
|
3529
|
+
pnpSupportIds: [
|
|
3530
|
+
"highlighting",
|
|
3531
|
+
// QTI 3.0 standard (cognitive.highlighting / reading.wordHighlighting)
|
|
3532
|
+
"annotations",
|
|
3533
|
+
// QTI 3.0 standard (cognitive.annotations)
|
|
3534
|
+
"highlighter",
|
|
3535
|
+
// Common variant
|
|
3536
|
+
"textHighlight",
|
|
3537
|
+
// Common variant
|
|
3538
|
+
"annotation"
|
|
3539
|
+
// Common variant
|
|
3540
|
+
],
|
|
3541
|
+
/**
|
|
3542
|
+
* Pass 2: Annotation is relevant when readable text is present
|
|
3543
|
+
*/
|
|
3544
|
+
isVisibleInContext(e) {
|
|
3545
|
+
return Nt(e);
|
|
3546
|
+
},
|
|
3547
|
+
renderToolbar(e, o) {
|
|
3548
|
+
const t = de(this.toolId, "item", o.itemId), i = {
|
|
3549
|
+
toolId: this.toolId,
|
|
3550
|
+
label: this.name,
|
|
3551
|
+
icon: typeof this.icon == "function" ? this.icon(e) : this.icon,
|
|
3552
|
+
disabled: !1,
|
|
3553
|
+
ariaLabel: "Annotation toolbar - Highlight text",
|
|
3554
|
+
tooltip: "Highlight",
|
|
3555
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3556
|
+
active: o.isToolVisible(t)
|
|
3557
|
+
}, s = o.componentOverrides ?? {}, n = ze(this.toolId, e, o, s);
|
|
3558
|
+
return n.setAttribute("tool-id", t), {
|
|
3559
|
+
toolId: this.toolId,
|
|
3560
|
+
button: i,
|
|
3561
|
+
overlayElement: n,
|
|
3562
|
+
sync: () => {
|
|
3563
|
+
const l = o.isToolVisible(t);
|
|
3564
|
+
i.active = l, n.visible = l, o.toolkitCoordinator && (n.toolkitCoordinator = o.toolkitCoordinator);
|
|
3565
|
+
},
|
|
3566
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3567
|
+
l(o.isToolVisible(t));
|
|
3568
|
+
}) : () => {
|
|
3569
|
+
}
|
|
3570
|
+
};
|
|
3571
|
+
}
|
|
3572
|
+
}, zr = {
|
|
3573
|
+
toolId: "graph",
|
|
3574
|
+
name: "Graph",
|
|
3575
|
+
description: "Graphing calculator and coordinate plane",
|
|
3576
|
+
icon: "chart-bar",
|
|
3577
|
+
// Graph appears at item and element level where graphing might be needed
|
|
3578
|
+
supportedLevels: ["item", "element"],
|
|
3579
|
+
// PNP support IDs
|
|
3580
|
+
// Maps to QTI 3.0 standard features: graph, graphingCalculator
|
|
3581
|
+
pnpSupportIds: [
|
|
3582
|
+
"graph",
|
|
3583
|
+
// QTI 3.0 standard (assessment.graph)
|
|
3584
|
+
"graphingCalculator",
|
|
3585
|
+
// QTI 3.0 standard (assessment.graphingCalculator)
|
|
3586
|
+
"coordinatePlane",
|
|
3587
|
+
// Common variant
|
|
3588
|
+
"graphingTool"
|
|
3589
|
+
// Common variant
|
|
3590
|
+
],
|
|
3591
|
+
/**
|
|
3592
|
+
* Pass 2: Graph is relevant when math content is present
|
|
3593
|
+
*/
|
|
3594
|
+
isVisibleInContext(e) {
|
|
3595
|
+
return Rt(e);
|
|
3596
|
+
},
|
|
3597
|
+
renderToolbar(e, o) {
|
|
3598
|
+
const t = de(this.toolId, "item", o.itemId), i = {
|
|
3599
|
+
toolId: this.toolId,
|
|
3600
|
+
label: this.name,
|
|
3601
|
+
icon: typeof this.icon == "function" ? this.icon(e) : this.icon,
|
|
3602
|
+
disabled: !1,
|
|
3603
|
+
ariaLabel: "Graph - Graphing calculator",
|
|
3604
|
+
tooltip: "Graph",
|
|
3605
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3606
|
+
active: o.isToolVisible(t)
|
|
3607
|
+
}, s = o.componentOverrides ?? {}, n = ze(this.toolId, e, o, s);
|
|
3608
|
+
return n.setAttribute("tool-id", t), {
|
|
3609
|
+
toolId: this.toolId,
|
|
3610
|
+
button: i,
|
|
3611
|
+
overlayElement: n,
|
|
3612
|
+
sync: () => {
|
|
3613
|
+
const l = o.isToolVisible(t);
|
|
3614
|
+
i.active = l, n.visible = l, o.toolkitCoordinator && (n.toolkitCoordinator = o.toolkitCoordinator);
|
|
3615
|
+
},
|
|
3616
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3617
|
+
l(o.isToolVisible(t));
|
|
3618
|
+
}) : () => {
|
|
3619
|
+
}
|
|
3620
|
+
};
|
|
3621
|
+
}
|
|
3622
|
+
}, jr = {
|
|
3623
|
+
toolId: "periodicTable",
|
|
3624
|
+
name: "Periodic Table",
|
|
3625
|
+
description: "Chemistry periodic table reference",
|
|
3626
|
+
icon: "beaker",
|
|
3627
|
+
// Periodic table appears at item and element level
|
|
3628
|
+
supportedLevels: ["item", "element"],
|
|
3629
|
+
// PNP support IDs
|
|
3630
|
+
// Maps to QTI 3.0 standard feature: periodicTable
|
|
3631
|
+
pnpSupportIds: [
|
|
3632
|
+
"periodicTable",
|
|
3633
|
+
// QTI 3.0 standard (assessment.periodicTable)
|
|
3634
|
+
"chemistryReference",
|
|
3635
|
+
// Common variant
|
|
3636
|
+
"elementReference"
|
|
3637
|
+
// Common variant
|
|
3638
|
+
],
|
|
3639
|
+
/**
|
|
3640
|
+
* Pass 2: Periodic table is relevant when science content is present
|
|
3641
|
+
*/
|
|
3642
|
+
isVisibleInContext(e) {
|
|
3643
|
+
return fr(e);
|
|
3644
|
+
},
|
|
3645
|
+
renderToolbar(e, o) {
|
|
3646
|
+
const t = de(this.toolId, "item", o.itemId), i = {
|
|
3647
|
+
toolId: this.toolId,
|
|
3648
|
+
label: this.name,
|
|
3649
|
+
icon: typeof this.icon == "function" ? this.icon(e) : this.icon,
|
|
3650
|
+
disabled: !1,
|
|
3651
|
+
ariaLabel: "Periodic table - Chemistry reference",
|
|
3652
|
+
tooltip: "Periodic Table",
|
|
3653
|
+
onClick: () => o.toggleTool(this.toolId),
|
|
3654
|
+
active: o.isToolVisible(t)
|
|
3655
|
+
}, s = o.componentOverrides ?? {}, n = ze(this.toolId, e, o, s);
|
|
3656
|
+
return n.setAttribute("tool-id", t), {
|
|
3657
|
+
toolId: this.toolId,
|
|
3658
|
+
button: i,
|
|
3659
|
+
overlayElement: n,
|
|
3660
|
+
sync: () => {
|
|
3661
|
+
const l = o.isToolVisible(t);
|
|
3662
|
+
i.active = l, n.visible = l, o.toolkitCoordinator && (n.toolkitCoordinator = o.toolkitCoordinator);
|
|
3663
|
+
},
|
|
3664
|
+
subscribeActive: (l) => o.subscribeVisibility ? o.subscribeVisibility(() => {
|
|
3665
|
+
l(o.isToolVisible(t));
|
|
3666
|
+
}) : () => {
|
|
3667
|
+
}
|
|
3668
|
+
};
|
|
3669
|
+
}
|
|
3670
|
+
};
|
|
3671
|
+
function Er(e = {}) {
|
|
3672
|
+
const o = new cr(), t = {
|
|
3673
|
+
toolTagMap: {
|
|
3674
|
+
...cs,
|
|
3675
|
+
...e.toolTagMap || {}
|
|
3676
|
+
},
|
|
3677
|
+
toolComponentFactory: e.toolComponentFactory,
|
|
3678
|
+
toolComponentFactories: e.toolComponentFactories
|
|
3679
|
+
}, i = (s) => e.overrides?.[s.toolId] || s;
|
|
3680
|
+
return o.register(i(xr)), o.register(i(kr)), o.register(i(Sr)), o.register(i(Ir)), o.register(i($r)), o.register(i(Tr)), o.register(i(Cr)), o.register(i(Ar)), o.register(i(Lr)), o.register(i(zr)), o.register(i(jr)), e.toolModuleLoaders && Object.keys(e.toolModuleLoaders).length > 0 && o.setToolModuleLoaders(e.toolModuleLoaders), o.setComponentOverrides(t), o;
|
|
3681
|
+
}
|
|
3682
|
+
function Mr() {
|
|
3683
|
+
const e = Er(), o = /* @__PURE__ */ new Set();
|
|
3684
|
+
for (const t of e.getAllTools())
|
|
3685
|
+
for (const i of t.pnpSupportIds || [])
|
|
3686
|
+
o.add(i);
|
|
3687
|
+
return [...o].sort();
|
|
3688
|
+
}
|
|
3689
|
+
Mr();
|
|
3690
|
+
const Rr = {
|
|
3691
|
+
/**
|
|
3692
|
+
* Visual accessibility features
|
|
3693
|
+
* For students with low vision, color blindness, or visual processing needs
|
|
3694
|
+
*/
|
|
3695
|
+
visual: {
|
|
3696
|
+
// Magnification and zoom
|
|
3697
|
+
magnification: "magnification",
|
|
3698
|
+
screenMagnifier: "screenMagnifier",
|
|
3699
|
+
zoomable: "zoomable",
|
|
3700
|
+
// Color and contrast
|
|
3701
|
+
highContrastDisplay: "highContrastDisplay",
|
|
3702
|
+
highContrastAudio: "highContrastAudio",
|
|
3703
|
+
colorContrast: "colorContrast",
|
|
3704
|
+
invertColors: "invertColors",
|
|
3705
|
+
// Display customization
|
|
3706
|
+
displayTransformability: "displayTransformability",
|
|
3707
|
+
largePrint: "largePrint",
|
|
3708
|
+
fontEnlargement: "fontEnlargement",
|
|
3709
|
+
resizeText: "resizeText",
|
|
3710
|
+
// Visual alternatives
|
|
3711
|
+
alternativeText: "alternativeText",
|
|
3712
|
+
longDescription: "longDescription",
|
|
3713
|
+
describedMath: "describedMath",
|
|
3714
|
+
tactileGraphic: "tactileGraphic",
|
|
3715
|
+
tactileObject: "tactileObject"
|
|
3716
|
+
},
|
|
3717
|
+
/**
|
|
3718
|
+
* Auditory accessibility features
|
|
3719
|
+
* For students who are deaf, hard of hearing, or benefit from audio
|
|
3720
|
+
*/
|
|
3721
|
+
auditory: {
|
|
3722
|
+
// Audio output
|
|
3723
|
+
audioDescription: "audioDescription",
|
|
3724
|
+
textToSpeech: "textToSpeech",
|
|
3725
|
+
readAloud: "readAloud",
|
|
3726
|
+
humanVoice: "humanVoice",
|
|
3727
|
+
syntheticVoice: "syntheticVoice",
|
|
3728
|
+
// Speech control
|
|
3729
|
+
speechRate: "speechRate",
|
|
3730
|
+
speechVolume: "speechVolume",
|
|
3731
|
+
voicePitch: "voicePitch",
|
|
3732
|
+
// Visual alternatives for audio
|
|
3733
|
+
captions: "captions",
|
|
3734
|
+
closedCaptions: "closedCaptions",
|
|
3735
|
+
openCaptions: "openCaptions",
|
|
3736
|
+
transcript: "transcript",
|
|
3737
|
+
signLanguage: "signLanguage",
|
|
3738
|
+
subtitles: "subtitles",
|
|
3739
|
+
// Audio adjustments
|
|
3740
|
+
audioControl: "audioControl",
|
|
3741
|
+
noBackgroundAudio: "noBackgroundAudio"
|
|
3742
|
+
},
|
|
3743
|
+
/**
|
|
3744
|
+
* Motor/physical accessibility features
|
|
3745
|
+
* For students with limited mobility or motor control
|
|
3746
|
+
*/
|
|
3747
|
+
motor: {
|
|
3748
|
+
// Input alternatives
|
|
3749
|
+
keyboardControl: "keyboardControl",
|
|
3750
|
+
mouseControl: "mouseControl",
|
|
3751
|
+
touchControl: "touchControl",
|
|
3752
|
+
voiceControl: "voiceControl",
|
|
3753
|
+
switchControl: "switchControl",
|
|
3754
|
+
eyeGazeControl: "eyeGazeControl",
|
|
3755
|
+
// Keyboard features
|
|
3756
|
+
singleSwitchAccess: "singleSwitchAccess",
|
|
3757
|
+
stickyKeys: "stickyKeys",
|
|
3758
|
+
keyboardShortcuts: "keyboardShortcuts",
|
|
3759
|
+
// Timing
|
|
3760
|
+
timingControl: "timingControl",
|
|
3761
|
+
unlimitedTime: "unlimitedTime",
|
|
3762
|
+
extendedTime: "extendedTime",
|
|
3763
|
+
pauseControl: "pauseControl"
|
|
3764
|
+
},
|
|
3765
|
+
/**
|
|
3766
|
+
* Cognitive/learning accessibility features
|
|
3767
|
+
* For students with learning disabilities, ADHD, autism, etc.
|
|
3768
|
+
*/
|
|
3769
|
+
cognitive: {
|
|
3770
|
+
// Content simplification
|
|
3771
|
+
simplifiedLanguage: "simplifiedLanguage",
|
|
3772
|
+
reducedComplexity: "reducedComplexity",
|
|
3773
|
+
structuralNavigation: "structuralNavigation",
|
|
3774
|
+
tableOfContents: "tableOfContents",
|
|
3775
|
+
// Focus and attention
|
|
3776
|
+
reducedDistraction: "reducedDistraction",
|
|
3777
|
+
noFlashing: "noFlashing",
|
|
3778
|
+
pauseAnimation: "pauseAnimation",
|
|
3779
|
+
// Organization and support
|
|
3780
|
+
annotations: "annotations",
|
|
3781
|
+
bookmarking: "bookmarking",
|
|
3782
|
+
highlighting: "highlighting",
|
|
3783
|
+
guidedNavigation: "guidedNavigation",
|
|
3784
|
+
// Tools
|
|
3785
|
+
calculator: "calculator",
|
|
3786
|
+
thesaurus: "thesaurus",
|
|
3787
|
+
spellingAssistance: "spellingAssistance",
|
|
3788
|
+
grammarAssistance: "grammarAssistance"
|
|
3789
|
+
},
|
|
3790
|
+
/**
|
|
3791
|
+
* Reading support features
|
|
3792
|
+
* For students with dyslexia or reading challenges
|
|
3793
|
+
*/
|
|
3794
|
+
reading: {
|
|
3795
|
+
// Text presentation
|
|
3796
|
+
lineSpacing: "lineSpacing",
|
|
3797
|
+
wordSpacing: "wordSpacing",
|
|
3798
|
+
letterSpacing: "letterSpacing",
|
|
3799
|
+
fontFamily: "fontFamily",
|
|
3800
|
+
readingMask: "readingMask",
|
|
3801
|
+
readingGuide: "readingGuide",
|
|
3802
|
+
readingRuler: "readingRuler",
|
|
3803
|
+
// Highlighting and emphasis
|
|
3804
|
+
wordHighlighting: "wordHighlighting",
|
|
3805
|
+
lineHighlighting: "lineHighlighting",
|
|
3806
|
+
focusIndicator: "focusIndicator",
|
|
3807
|
+
// Content support
|
|
3808
|
+
printableResource: "printableResource",
|
|
3809
|
+
braille: "braille",
|
|
3810
|
+
nemeth: "nemeth",
|
|
3811
|
+
refreshableBraille: "refreshableBraille"
|
|
3812
|
+
},
|
|
3813
|
+
/**
|
|
3814
|
+
* Navigation features
|
|
3815
|
+
* For efficient content navigation
|
|
3816
|
+
*/
|
|
3817
|
+
navigation: {
|
|
3818
|
+
// Structure
|
|
3819
|
+
index: "index",
|
|
3820
|
+
pageNavigation: "pageNavigation",
|
|
3821
|
+
skipContent: "skipContent",
|
|
3822
|
+
breadcrumbs: "breadcrumbs",
|
|
3823
|
+
// Search
|
|
3824
|
+
searchable: "searchable",
|
|
3825
|
+
fullTextSearch: "fullTextSearch"
|
|
3826
|
+
},
|
|
3827
|
+
/**
|
|
3828
|
+
* Linguistic features
|
|
3829
|
+
* For language support
|
|
3830
|
+
*/
|
|
3831
|
+
linguistic: {
|
|
3832
|
+
// Languages
|
|
3833
|
+
multilingualText: "multilingualText",
|
|
3834
|
+
translatedText: "translatedText",
|
|
3835
|
+
glossary: "glossary",
|
|
3836
|
+
// Sign language
|
|
3837
|
+
signLanguageInterpretation: "signLanguageInterpretation",
|
|
3838
|
+
visualLanguage: "visualLanguage"
|
|
3839
|
+
},
|
|
3840
|
+
/**
|
|
3841
|
+
* Assessment-specific features
|
|
3842
|
+
* Features specific to test-taking environments
|
|
3843
|
+
*/
|
|
3844
|
+
assessment: {
|
|
3845
|
+
// Tools
|
|
3846
|
+
protractor: "protractor",
|
|
3847
|
+
ruler: "ruler",
|
|
3848
|
+
graph: "graph",
|
|
3849
|
+
graphingCalculator: "graphingCalculator",
|
|
3850
|
+
periodicTable: "periodicTable",
|
|
3851
|
+
formulaSheet: "formulaSheet",
|
|
3852
|
+
// Answer support
|
|
3853
|
+
answerMasking: "answerMasking",
|
|
3854
|
+
answerEliminator: "answerEliminator",
|
|
3855
|
+
strikethrough: "strikethrough",
|
|
3856
|
+
// Item features
|
|
3857
|
+
itemGlossary: "itemGlossary",
|
|
3858
|
+
tutorialAvailable: "tutorialAvailable"
|
|
3859
|
+
}
|
|
3860
|
+
};
|
|
3861
|
+
Object.values(Rr).flatMap((e) => Object.values(e));
|
|
3862
|
+
var $t;
|
|
3863
|
+
(function(e) {
|
|
3864
|
+
e[e.BASE = 0] = "BASE", e[e.TOOL = 1e3] = "TOOL", e[e.MODAL = 2e3] = "MODAL", e[e.CONTROL = 3e3] = "CONTROL", e[e.HIGHLIGHT = 4e3] = "HIGHLIGHT";
|
|
3865
|
+
})($t || ($t = {}));
|
|
3866
|
+
var Yi;
|
|
3867
|
+
(function(e) {
|
|
3868
|
+
e.IDLE = "idle", e.LOADING = "loading", e.PLAYING = "playing", e.PAUSED = "paused", e.ERROR = "error";
|
|
3869
|
+
})(Yi || (Yi = {}));
|
|
3870
|
+
const Nr = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 };
|
|
3871
|
+
function ps(e) {
|
|
3872
|
+
try {
|
|
3873
|
+
const o = Nr?.[e];
|
|
3874
|
+
if (typeof o == "string" && o.length > 0)
|
|
3875
|
+
return o;
|
|
3876
|
+
} catch {
|
|
3877
|
+
}
|
|
3878
|
+
}
|
|
3879
|
+
typeof window < "u" && window.PIE_BUILDER_ORIGIN_URL || ps("PUBLIC_BUILDER_ORIGIN_URL");
|
|
3880
|
+
typeof window < "u" && window.PIE_BUILDER_BUNDLE_URL || ps("PUBLIC_BUILDER_BUNDLE_URL");
|
|
3881
|
+
var pi;
|
|
3882
|
+
(function(e) {
|
|
3883
|
+
e.player = "player.js", e.clientPlayer = "client-player.js", e.editor = "editor.js";
|
|
3884
|
+
})(pi || (pi = {}));
|
|
3885
|
+
var Zi;
|
|
3886
|
+
(function(e) {
|
|
3887
|
+
e.loading = "loading", e.loaded = "loaded";
|
|
3888
|
+
})(Zi || (Zi = {}));
|
|
3889
|
+
typeof window < "u" && !window.pieHelpers && (window.pieHelpers = {
|
|
3890
|
+
loadingScripts: {},
|
|
3891
|
+
loadingPromises: {}
|
|
3892
|
+
});
|
|
3893
|
+
var Qi;
|
|
3894
|
+
(function(e) {
|
|
3895
|
+
e.SAVE = "save", e.MODEL = "model", e.SCORE = "score", e.MANUAL_SCORE = "manual-score";
|
|
3896
|
+
})(Qi || (Qi = {}));
|
|
3897
|
+
var en;
|
|
3898
|
+
(function(e) {
|
|
3899
|
+
e.AUTO = "auto", e.MANUAL = "manual";
|
|
3900
|
+
})(en || (en = {}));
|
|
3901
|
+
var on;
|
|
3902
|
+
(function(e) {
|
|
3903
|
+
e.GATHER = "gather", e.VIEW = "view", e.EVALUATE = "evaluate";
|
|
3904
|
+
})(on || (on = {}));
|
|
3905
|
+
var tn;
|
|
3906
|
+
(function(e) {
|
|
3907
|
+
e.PENDING = "pending", e.IN_PROGRESS = "in_progress", e.COMPLETED = "completed", e.FAILED = "failed";
|
|
3908
|
+
})(tn || (tn = {}));
|
|
3909
|
+
var nn;
|
|
3910
|
+
(function(e) {
|
|
3911
|
+
e[e.ROOT = 0] = "ROOT", e[e.SUBJECT = 1] = "SUBJECT", e[e.LEVEL = 2] = "LEVEL", e[e.STANDARD = 3] = "STANDARD";
|
|
3912
|
+
})(nn || (nn = {}));
|
|
3913
|
+
pi.player;
|
|
3914
|
+
const Or = /* @__PURE__ */ JSON.parse('[{"name":"Hydrogen","atomic_mass":1.008,"boil":20.271,"category":"diatomic nonmetal","density":0.08988,"discovered_by":"Henry Cavendish","melt":13.99,"molar_heat":28.836,"named_by":"Antoine Lavoisier","number":1,"period":1,"group":1,"phase":"Gas","symbol":"H","xpos":1,"ypos":1,"wxpos":1,"wypos":1,"shells":[1],"electron_configuration":"1s1","electron_configuration_semantic":"1s1","electron_affinity":72.769,"electronegativity_pauling":2.2,"ionization_energies":[1312],"block":"s"},{"name":"Helium","atomic_mass":4.0026022,"boil":4.222,"category":"noble gas","density":0.1786,"discovered_by":"Pierre Janssen","melt":0.95,"molar_heat":null,"named_by":null,"number":2,"period":1,"group":18,"phase":"Gas","symbol":"He","xpos":18,"ypos":1,"wxpos":32,"wypos":1,"shells":[2],"electron_configuration":"1s2","electron_configuration_semantic":"1s2","electron_affinity":-48,"electronegativity_pauling":null,"ionization_energies":[2372.3,5250.5],"block":"s"},{"name":"Lithium","atomic_mass":6.94,"boil":1603,"category":"alkali metal","density":0.534,"discovered_by":"Johan August Arfwedson","melt":453.65,"molar_heat":24.86,"named_by":null,"number":3,"period":2,"group":1,"phase":"Solid","symbol":"Li","xpos":1,"ypos":2,"wxpos":1,"wypos":2,"shells":[2,1],"electron_configuration":"1s2 2s1","electron_configuration_semantic":"[He] 2s1","electron_affinity":59.6326,"electronegativity_pauling":0.98,"ionization_energies":[520.2,7298.1,11815],"block":"s"},{"name":"Beryllium","atomic_mass":9.01218315,"boil":2742,"category":"alkaline earth metal","density":1.85,"discovered_by":"Louis Nicolas Vauquelin","melt":1560,"molar_heat":16.443,"named_by":null,"number":4,"period":2,"group":2,"phase":"Solid","symbol":"Be","xpos":2,"ypos":2,"wxpos":2,"wypos":2,"shells":[2,2],"electron_configuration":"1s2 2s2","electron_configuration_semantic":"[He] 2s2","electron_affinity":-48,"electronegativity_pauling":1.57,"ionization_energies":[899.5,1757.1,14848.7,21006.6],"block":"s"},{"name":"Boron","atomic_mass":10.81,"boil":4200,"category":"metalloid","density":2.08,"discovered_by":"Joseph Louis Gay-Lussac","melt":2349,"molar_heat":11.087,"named_by":null,"number":5,"period":2,"group":13,"phase":"Solid","symbol":"B","xpos":13,"ypos":2,"wxpos":27,"wypos":2,"shells":[2,3],"electron_configuration":"1s2 2s2 2p1","electron_configuration_semantic":"[He] 2s2 2p1","electron_affinity":26.989,"electronegativity_pauling":2.04,"ionization_energies":[800.6,2427.1,3659.7,25025.8,32826.7],"block":"p"},{"name":"Carbon","atomic_mass":12.011,"boil":null,"category":"polyatomic nonmetal","density":1.821,"discovered_by":"Ancient Egypt","melt":null,"molar_heat":8.517,"named_by":null,"number":6,"period":2,"group":14,"phase":"Solid","symbol":"C","xpos":14,"ypos":2,"wxpos":28,"wypos":2,"shells":[2,4],"electron_configuration":"1s2 2s2 2p2","electron_configuration_semantic":"[He] 2s2 2p2","electron_affinity":121.7763,"electronegativity_pauling":2.55,"ionization_energies":[1086.5,2352.6,4620.5,6222.7,37831,47277],"block":"p"},{"name":"Nitrogen","atomic_mass":14.007,"boil":77.355,"category":"diatomic nonmetal","density":1.251,"discovered_by":"Daniel Rutherford","melt":63.15,"molar_heat":null,"named_by":"Jean-Antoine Chaptal","number":7,"period":2,"group":15,"phase":"Gas","symbol":"N","xpos":15,"ypos":2,"wxpos":29,"wypos":2,"shells":[2,5],"electron_configuration":"1s2 2s2 2p3","electron_configuration_semantic":"[He] 2s2 2p3","electron_affinity":-6.8,"electronegativity_pauling":3.04,"ionization_energies":[1402.3,2856,4578.1,7475,9444.9,53266.6,64360],"block":"p"},{"name":"Oxygen","atomic_mass":15.999,"boil":90.188,"category":"diatomic nonmetal","density":1.429,"discovered_by":"Carl Wilhelm Scheele","melt":54.36,"molar_heat":null,"named_by":"Antoine Lavoisier","number":8,"period":2,"group":16,"phase":"Gas","symbol":"O","xpos":16,"ypos":2,"wxpos":30,"wypos":2,"shells":[2,6],"electron_configuration":"1s2 2s2 2p4","electron_configuration_semantic":"[He] 2s2 2p4","electron_affinity":140.976,"electronegativity_pauling":3.44,"ionization_energies":[1313.9,3388.3,5300.5,7469.2,10989.5,13326.5,71330,84078],"block":"p"},{"name":"Fluorine","atomic_mass":18.9984031636,"boil":85.03,"category":"diatomic nonmetal","density":1.696,"discovered_by":"André-Marie Ampère","melt":53.48,"molar_heat":null,"named_by":"Humphry Davy","number":9,"period":2,"group":17,"phase":"Gas","symbol":"F","xpos":17,"ypos":2,"wxpos":31,"wypos":2,"shells":[2,7],"electron_configuration":"1s2 2s2 2p5","electron_configuration_semantic":"[He] 2s2 2p5","electron_affinity":328.1649,"electronegativity_pauling":3.98,"ionization_energies":[1681,3374.2,6050.4,8407.7,11022.7,15164.1,17868,92038.1,106434.3],"block":"p"},{"name":"Neon","atomic_mass":20.17976,"boil":27.104,"category":"noble gas","density":0.9002,"discovered_by":"Morris Travers","melt":24.56,"molar_heat":null,"named_by":null,"number":10,"period":2,"group":18,"phase":"Gas","symbol":"Ne","xpos":18,"ypos":2,"wxpos":32,"wypos":2,"shells":[2,8],"electron_configuration":"1s2 2s2 2p6","electron_configuration_semantic":"[He] 2s2 2p6","electron_affinity":-116,"electronegativity_pauling":null,"ionization_energies":[2080.7,3952.3,6122,9371,12177,15238,19999,23069.5,115379.5,131432],"block":"p"},{"name":"Sodium","atomic_mass":22.989769282,"boil":1156.09,"category":"alkali metal","density":0.968,"discovered_by":"Humphry Davy","melt":370.944,"molar_heat":28.23,"named_by":null,"number":11,"period":3,"group":1,"phase":"Solid","symbol":"Na","xpos":1,"ypos":3,"wxpos":1,"wypos":3,"shells":[2,8,1],"electron_configuration":"1s2 2s2 2p6 3s1","electron_configuration_semantic":"[Ne] 3s1","electron_affinity":52.867,"electronegativity_pauling":0.93,"ionization_energies":[495.8,4562,6910.3,9543,13354,16613,20117,25496,28932,141362,159076],"block":"s"},{"name":"Magnesium","atomic_mass":24.305,"boil":1363,"category":"alkaline earth metal","density":1.738,"discovered_by":"Joseph Black","melt":923,"molar_heat":24.869,"named_by":null,"number":12,"period":3,"group":2,"phase":"Solid","symbol":"Mg","xpos":2,"ypos":3,"wxpos":2,"wypos":3,"shells":[2,8,2],"electron_configuration":"1s2 2s2 2p6 3s2","electron_configuration_semantic":"[Ne] 3s2","electron_affinity":-40,"electronegativity_pauling":1.31,"ionization_energies":[737.7,1450.7,7732.7,10542.5,13630,18020,21711,25661,31653,35458,169988,189368],"block":"s"},{"name":"Aluminium","atomic_mass":26.98153857,"boil":2743,"category":"post-transition metal","density":2.7,"discovered_by":null,"melt":933.47,"molar_heat":24.2,"named_by":"Humphry Davy","number":13,"period":3,"group":13,"phase":"Solid","symbol":"Al","xpos":13,"ypos":3,"wxpos":27,"wypos":3,"shells":[2,8,3],"electron_configuration":"1s2 2s2 2p6 3s2 3p1","electron_configuration_semantic":"[Ne] 3s2 3p1","electron_affinity":41.762,"electronegativity_pauling":1.61,"ionization_energies":[577.5,1816.7,2744.8,11577,14842,18379,23326,27465,31853,38473,42647,201266,222316],"block":"p"},{"name":"Silicon","atomic_mass":28.085,"boil":3538,"category":"metalloid","density":2.329,"discovered_by":"Jöns Jacob Berzelius","melt":1687,"molar_heat":19.789,"named_by":"Thomas Thomson (chemist)","number":14,"period":3,"group":14,"phase":"Solid","symbol":"Si","xpos":14,"ypos":3,"wxpos":28,"wypos":3,"shells":[2,8,4],"electron_configuration":"1s2 2s2 2p6 3s2 3p2","electron_configuration_semantic":"[Ne] 3s2 3p2","electron_affinity":134.0684,"electronegativity_pauling":1.9,"ionization_energies":[786.5,1577.1,3231.6,4355.5,16091,19805,23780,29287,33878,38726,45962,50502,235196,257923],"block":"p"},{"name":"Phosphorus","atomic_mass":30.9737619985,"boil":null,"category":"polyatomic nonmetal","density":1.823,"discovered_by":"Hennig Brand","melt":null,"molar_heat":23.824,"named_by":null,"number":15,"period":3,"group":15,"phase":"Solid","symbol":"P","xpos":15,"ypos":3,"wxpos":29,"wypos":3,"shells":[2,8,5],"electron_configuration":"1s2 2s2 2p6 3s2 3p3","electron_configuration_semantic":"[Ne] 3s2 3p3","electron_affinity":72.037,"electronegativity_pauling":2.19,"ionization_energies":[1011.8,1907,2914.1,4963.6,6273.9,21267,25431,29872,35905,40950,46261,54110,59024,271791,296195],"block":"p"},{"name":"Sulfur","atomic_mass":32.06,"boil":717.8,"category":"polyatomic nonmetal","density":2.07,"discovered_by":"Ancient china","melt":388.36,"molar_heat":22.75,"named_by":null,"number":16,"period":3,"group":16,"phase":"Solid","symbol":"S","xpos":16,"ypos":3,"wxpos":30,"wypos":3,"shells":[2,8,6],"electron_configuration":"1s2 2s2 2p6 3s2 3p4","electron_configuration_semantic":"[Ne] 3s2 3p4","electron_affinity":200.4101,"electronegativity_pauling":2.58,"ionization_energies":[999.6,2252,3357,4556,7004.3,8495.8,27107,31719,36621,43177,48710,54460,62930,68216,311048,337138],"block":"p"},{"name":"Chlorine","atomic_mass":35.45,"boil":239.11,"category":"diatomic nonmetal","density":3.2,"discovered_by":"Carl Wilhelm Scheele","melt":171.6,"molar_heat":null,"named_by":null,"number":17,"period":3,"group":17,"phase":"Gas","symbol":"Cl","xpos":17,"ypos":3,"wxpos":31,"wypos":3,"shells":[2,8,7],"electron_configuration":"1s2 2s2 2p6 3s2 3p5","electron_configuration_semantic":"[Ne] 3s2 3p5","electron_affinity":348.575,"electronegativity_pauling":3.16,"ionization_energies":[1251.2,2298,3822,5158.6,6542,9362,11018,33604,38600,43961,51068,57119,63363,72341,78095,352994,380760],"block":"p"},{"name":"Argon","atomic_mass":39.9481,"boil":87.302,"category":"noble gas","density":1.784,"discovered_by":"Lord Rayleigh","melt":83.81,"molar_heat":null,"named_by":null,"number":18,"period":3,"group":18,"phase":"Gas","symbol":"Ar","xpos":18,"ypos":3,"wxpos":32,"wypos":3,"shells":[2,8,8],"electron_configuration":"1s2 2s2 2p6 3s2 3p6","electron_configuration_semantic":"[Ne] 3s2 3p6","electron_affinity":-96,"electronegativity_pauling":null,"ionization_energies":[1520.6,2665.8,3931,5771,7238,8781,11995,13842,40760,46186,52002,59653,66199,72918,82473,88576,397605,427066],"block":"p"},{"name":"Potassium","atomic_mass":39.09831,"boil":1032,"category":"alkali metal","density":0.862,"discovered_by":"Humphry Davy","melt":336.7,"molar_heat":29.6,"named_by":null,"number":19,"period":4,"group":1,"phase":"Solid","symbol":"K","xpos":1,"ypos":4,"wxpos":1,"wypos":4,"shells":[2,8,8,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s1","electron_configuration_semantic":"[Ar] 4s1","electron_affinity":48.383,"electronegativity_pauling":0.82,"ionization_energies":[418.8,3052,4420,5877,7975,9590,11343,14944,16963.7,48610,54490,60730,68950,75900,83080,93400,99710,444880,476063],"block":"s"},{"name":"Calcium","atomic_mass":40.0784,"boil":1757,"category":"alkaline earth metal","density":1.55,"discovered_by":"Humphry Davy","melt":1115,"molar_heat":25.929,"named_by":null,"number":20,"period":4,"group":2,"phase":"Solid","symbol":"Ca","xpos":2,"ypos":4,"wxpos":2,"wypos":4,"shells":[2,8,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2","electron_configuration_semantic":"[Ar] 4s2","electron_affinity":2.37,"electronegativity_pauling":1,"ionization_energies":[589.8,1145.4,4912.4,6491,8153,10496,12270,14206,18191,20385,57110,63410,70110,78890,86310,94000,104900,111711,494850,527762],"block":"s"},{"name":"Scandium","atomic_mass":44.9559085,"boil":3109,"category":"transition metal","density":2.985,"discovered_by":"Lars Fredrik Nilson","melt":1814,"molar_heat":25.52,"named_by":null,"number":21,"period":4,"group":3,"phase":"Solid","symbol":"Sc","xpos":3,"ypos":4,"wxpos":17,"wypos":4,"shells":[2,8,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d1","electron_configuration_semantic":"[Ar] 3d1 4s2","electron_affinity":18,"electronegativity_pauling":1.36,"ionization_energies":[633.1,1235,2388.6,7090.6,8843,10679,13310,15250,17370,21726,24102,66320,73010,80160,89490,97400,105600,117000,124270,547530,582163],"block":"d"},{"name":"Titanium","atomic_mass":47.8671,"boil":3560,"category":"transition metal","density":4.506,"discovered_by":"William Gregor","melt":1941,"molar_heat":25.06,"named_by":"Martin Heinrich Klaproth","number":22,"period":4,"group":4,"phase":"Solid","symbol":"Ti","xpos":4,"ypos":4,"wxpos":18,"wypos":4,"shells":[2,8,10,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d2","electron_configuration_semantic":"[Ar] 3d2 4s2","electron_affinity":7.289,"electronegativity_pauling":1.54,"ionization_energies":[658.8,1309.8,2652.5,4174.6,9581,11533,13590,16440,18530,20833,25575,28125,76015,83280,90880,100700,109100,117800,129900,137530,602930,639294],"block":"d"},{"name":"Vanadium","atomic_mass":50.94151,"boil":3680,"category":"transition metal","density":6,"discovered_by":"Andrés Manuel del Río","melt":2183,"molar_heat":24.89,"named_by":"Isotopes of vanadium","number":23,"period":4,"group":5,"phase":"Solid","symbol":"V","xpos":5,"ypos":4,"wxpos":19,"wypos":4,"shells":[2,8,11,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d3","electron_configuration_semantic":"[Ar] 3d3 4s2","electron_affinity":50.911,"electronegativity_pauling":1.63,"ionization_energies":[650.9,1414,2830,4507,6298.7,12363,14530,16730,19860,22240,24670,29730,32446,86450,94170,102300,112700,121600,130700,143400,151440,661050,699144],"block":"d"},{"name":"Chromium","atomic_mass":51.99616,"boil":2944,"category":"transition metal","density":7.19,"discovered_by":"Louis Nicolas Vauquelin","melt":2180,"molar_heat":23.35,"named_by":null,"number":24,"period":4,"group":6,"phase":"Solid","symbol":"Cr","xpos":6,"ypos":4,"wxpos":20,"wypos":4,"shells":[2,8,13,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s1 3d5","electron_configuration_semantic":"[Ar] 3d5 4s1","electron_affinity":65.21,"electronegativity_pauling":1.66,"ionization_energies":[652.9,1590.6,2987,4743,6702,8744.9,15455,17820,20190,23580,26130,28750,34230,37066,97510,105800,114300,125300,134700,144300,157700,166090,721870,761733],"block":"d"},{"name":"Manganese","atomic_mass":54.9380443,"boil":2334,"category":"transition metal","density":7.21,"discovered_by":"Torbern Olof Bergman","melt":1519,"molar_heat":26.32,"named_by":null,"number":25,"period":4,"group":7,"phase":"Solid","symbol":"Mn","xpos":7,"ypos":4,"wxpos":21,"wypos":4,"shells":[2,8,13,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d5","electron_configuration_semantic":"[Ar] 3d5 4s2","electron_affinity":-50,"electronegativity_pauling":1.55,"ionization_energies":[717.3,1509,3248,4940,6990,9220,11500,18770,21400,23960,27590,30330,33150,38880,41987,109480,118100,127100,138600,148500,158600,172500,181380,785450,827067],"block":"d"},{"name":"Iron","atomic_mass":55.8452,"boil":3134,"category":"transition metal","density":7.874,"discovered_by":"5000 BC","melt":1811,"molar_heat":25.1,"named_by":null,"number":26,"period":4,"group":8,"phase":"Solid","symbol":"Fe","xpos":8,"ypos":4,"wxpos":22,"wypos":4,"shells":[2,8,14,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d6","electron_configuration_semantic":"[Ar] 3d6 4s2","electron_affinity":14.785,"electronegativity_pauling":1.83,"ionization_energies":[762.5,1561.9,2957,5290,7240,9560,12060,14580,22540,25290,28000,31920,34830,37840,44100,47206,122200,131000,140500,152600,163000,173600,188100,195200,851800,895161],"block":"d"},{"name":"Cobalt","atomic_mass":58.9331944,"boil":3200,"category":"transition metal","density":8.9,"discovered_by":"Georg Brandt","melt":1768,"molar_heat":24.81,"named_by":null,"number":27,"period":4,"group":9,"phase":"Solid","symbol":"Co","xpos":9,"ypos":4,"wxpos":23,"wypos":4,"shells":[2,8,15,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d7","electron_configuration_semantic":"[Ar] 3d7 4s2","electron_affinity":63.898,"electronegativity_pauling":1.88,"ionization_energies":[760.4,1648,3232,4950,7670,9840,12440,15230,17959,26570,29400,32400,36600,39700,42800,49396,52737,134810,145170,154700,167400,178100,189300,204500,214100,920870,966023],"block":"d"},{"name":"Nickel","atomic_mass":58.69344,"boil":3003,"category":"transition metal","density":8.908,"discovered_by":"Axel Fredrik Cronstedt","melt":1728,"molar_heat":26.07,"named_by":null,"number":28,"period":4,"group":10,"phase":"Solid","symbol":"Ni","xpos":10,"ypos":4,"wxpos":24,"wypos":4,"shells":[2,8,16,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d8","electron_configuration_semantic":"[Ar] 3d8 4s2","electron_affinity":111.65,"electronegativity_pauling":1.91,"ionization_energies":[737.1,1753,3395,5300,7339,10400,12800,15600,18600,21670,30970,34000,37100,41500,44800,48100,55101,58570,148700,159000,169400,182700,194000,205600,221400,231490,992718,1039668],"block":"d"},{"name":"Copper","atomic_mass":63.5463,"boil":2835,"category":"transition metal","density":8.96,"discovered_by":"Middle East","melt":1357.77,"molar_heat":24.44,"named_by":null,"number":29,"period":4,"group":11,"phase":"Solid","symbol":"Cu","xpos":11,"ypos":4,"wxpos":25,"wypos":4,"shells":[2,8,18,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s1 3d10","electron_configuration_semantic":"[Ar] 3d10 4s1","electron_affinity":119.235,"electronegativity_pauling":1.9,"ionization_energies":[745.5,1957.9,3555,5536,7700,9900,13400,16000,19200,22400,25600,35600,38700,42000,46700,50200,53700,61100,64702,163700,174100,184900,198800,210500,222700,239100,249660,1067358,1116105],"block":"d"},{"name":"Zinc","atomic_mass":65.382,"boil":1180,"category":"transition metal","density":7.14,"discovered_by":"India","melt":692.68,"molar_heat":25.47,"named_by":null,"number":30,"period":4,"group":12,"phase":"Solid","symbol":"Zn","xpos":12,"ypos":4,"wxpos":26,"wypos":4,"shells":[2,8,18,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10","electron_configuration_semantic":"[Ar] 3d10 4s2","electron_affinity":-58,"electronegativity_pauling":1.65,"ionization_energies":[906.4,1733.3,3833,5731,7970,10400,12900,16800,19600,23000,26400,29990,40490,43800,47300,52300,55900,59700,67300,71200,179100],"block":"d"},{"name":"Gallium","atomic_mass":69.7231,"boil":2673,"category":"post-transition metal","density":5.91,"discovered_by":"Lecoq de Boisbaudran","melt":302.9146,"molar_heat":25.86,"named_by":null,"number":31,"period":4,"group":13,"phase":"Solid","symbol":"Ga","xpos":13,"ypos":4,"wxpos":27,"wypos":4,"shells":[2,8,18,3],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p1","electron_configuration_semantic":"[Ar] 3d10 4s2 4p1","electron_affinity":41,"electronegativity_pauling":1.81,"ionization_energies":[578.8,1979.3,2963,6180],"block":"p"},{"name":"Germanium","atomic_mass":72.6308,"boil":3106,"category":"metalloid","density":5.323,"discovered_by":"Clemens Winkler","melt":1211.4,"molar_heat":23.222,"named_by":null,"number":32,"period":4,"group":14,"phase":"Solid","symbol":"Ge","xpos":14,"ypos":4,"wxpos":28,"wypos":4,"shells":[2,8,18,4],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p2","electron_configuration_semantic":"[Ar] 3d10 4s2 4p2","electron_affinity":118.9352,"electronegativity_pauling":2.01,"ionization_energies":[762,1537.5,3302.1,4411,9020],"block":"p"},{"name":"Arsenic","atomic_mass":74.9215956,"boil":null,"category":"metalloid","density":5.727,"discovered_by":"Bronze Age","melt":null,"molar_heat":24.64,"named_by":null,"number":33,"period":4,"group":15,"phase":"Solid","symbol":"As","xpos":15,"ypos":4,"wxpos":29,"wypos":4,"shells":[2,8,18,5],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p3","electron_configuration_semantic":"[Ar] 3d10 4s2 4p3","electron_affinity":77.65,"electronegativity_pauling":2.18,"ionization_energies":[947,1798,2735,4837,6043,12310],"block":"p"},{"name":"Selenium","atomic_mass":78.9718,"boil":958,"category":"polyatomic nonmetal","density":4.81,"discovered_by":"Jöns Jakob Berzelius","melt":494,"molar_heat":25.363,"named_by":null,"number":34,"period":4,"group":16,"phase":"Solid","symbol":"Se","xpos":16,"ypos":4,"wxpos":30,"wypos":4,"shells":[2,8,18,6],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p4","electron_configuration_semantic":"[Ar] 3d10 4s2 4p4","electron_affinity":194.9587,"electronegativity_pauling":2.55,"ionization_energies":[941,2045,2973.7,4144,6590,7880,14990],"block":"p"},{"name":"Bromine","atomic_mass":79.904,"boil":332,"category":"diatomic nonmetal","density":3.1028,"discovered_by":"Antoine Jérôme Balard","melt":265.8,"molar_heat":null,"named_by":null,"number":35,"period":4,"group":17,"phase":"Liquid","symbol":"Br","xpos":17,"ypos":4,"wxpos":31,"wypos":4,"shells":[2,8,18,7],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p5","electron_configuration_semantic":"[Ar] 3d10 4s2 4p5","electron_affinity":324.537,"electronegativity_pauling":2.96,"ionization_energies":[1139.9,2103,3470,4560,5760,8550,9940,18600],"block":"p"},{"name":"Krypton","atomic_mass":83.7982,"boil":119.93,"category":"noble gas","density":3.749,"discovered_by":"William Ramsay","melt":115.78,"molar_heat":null,"named_by":null,"number":36,"period":4,"group":18,"phase":"Gas","symbol":"Kr","xpos":18,"ypos":4,"wxpos":32,"wypos":4,"shells":[2,8,18,8],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6","electron_configuration_semantic":"[Ar] 3d10 4s2 4p6","electron_affinity":-96,"electronegativity_pauling":3,"ionization_energies":[1350.8,2350.4,3565,5070,6240,7570,10710,12138,22274,25880,29700,33800,37700,43100,47500,52200,57100,61800,75800,80400,85300,90400,96300,101400,111100,116290,282500,296200,311400,326200],"block":"p"},{"name":"Rubidium","atomic_mass":85.46783,"boil":961,"category":"alkali metal","density":1.532,"discovered_by":"Robert Bunsen","melt":312.45,"molar_heat":31.06,"named_by":null,"number":37,"period":5,"group":1,"phase":"Solid","symbol":"Rb","xpos":1,"ypos":5,"wxpos":1,"wypos":5,"shells":[2,8,18,8,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s1","electron_configuration_semantic":"[Kr] 5s1","electron_affinity":46.884,"electronegativity_pauling":0.82,"ionization_energies":[403,2633,3860,5080,6850,8140,9570,13120,14500,26740],"block":"s"},{"name":"Strontium","atomic_mass":87.621,"boil":1650,"category":"alkaline earth metal","density":2.64,"discovered_by":"William Cruickshank (chemist)","melt":1050,"molar_heat":26.4,"named_by":null,"number":38,"period":5,"group":2,"phase":"Solid","symbol":"Sr","xpos":2,"ypos":5,"wxpos":2,"wypos":5,"shells":[2,8,18,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2","electron_configuration_semantic":"[Kr] 5s2","electron_affinity":5.023,"electronegativity_pauling":0.95,"ionization_energies":[549.5,1064.2,4138,5500,6910,8760,10230,11800,15600,17100,31270],"block":"s"},{"name":"Yttrium","atomic_mass":88.905842,"boil":3203,"category":"transition metal","density":4.472,"discovered_by":"Johan Gadolin","melt":1799,"molar_heat":26.53,"named_by":null,"number":39,"period":5,"group":3,"phase":"Solid","symbol":"Y","xpos":3,"ypos":5,"wxpos":17,"wypos":5,"shells":[2,8,18,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d1","electron_configuration_semantic":"[Kr] 4d1 5s2","electron_affinity":29.6,"electronegativity_pauling":1.22,"ionization_energies":[600,1180,1980,5847,7430,8970,11190,12450,14110,18400,19900,36090],"block":"d"},{"name":"Zirconium","atomic_mass":91.2242,"boil":4650,"category":"transition metal","density":6.52,"discovered_by":"Martin Heinrich Klaproth","melt":2128,"molar_heat":25.36,"named_by":null,"number":40,"period":5,"group":4,"phase":"Solid","symbol":"Zr","xpos":4,"ypos":5,"wxpos":18,"wypos":5,"shells":[2,8,18,10,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d2","electron_configuration_semantic":"[Kr] 4d2 5s2","electron_affinity":41.806,"electronegativity_pauling":1.33,"ionization_energies":[640.1,1270,2218,3313,7752,9500],"block":"d"},{"name":"Niobium","atomic_mass":92.906372,"boil":5017,"category":"transition metal","density":8.57,"discovered_by":"Charles Hatchett","melt":2750,"molar_heat":24.6,"named_by":null,"number":41,"period":5,"group":5,"phase":"Solid","symbol":"Nb","xpos":5,"ypos":5,"wxpos":19,"wypos":5,"shells":[2,8,18,12,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s1 4d4","electron_configuration_semantic":"[Kr] 4d4 5s1","electron_affinity":88.516,"electronegativity_pauling":1.6,"ionization_energies":[652.1,1380,2416,3700,4877,9847,12100],"block":"d"},{"name":"Molybdenum","atomic_mass":95.951,"boil":4912,"category":"transition metal","density":10.28,"discovered_by":"Carl Wilhelm Scheele","melt":2896,"molar_heat":24.06,"named_by":null,"number":42,"period":5,"group":6,"phase":"Solid","symbol":"Mo","xpos":6,"ypos":5,"wxpos":20,"wypos":5,"shells":[2,8,18,13,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s1 4d5","electron_configuration_semantic":"[Kr] 4d5 5s1","electron_affinity":72.1,"electronegativity_pauling":2.16,"ionization_energies":[684.3,1560,2618,4480,5257,6640.8,12125,13860,15835,17980,20190,22219,26930,29196,52490,55000,61400,67700,74000,80400,87000,93400,98420,104400,121900,127700,133800,139800,148100,154500],"block":"d"},{"name":"Technetium","atomic_mass":98,"boil":4538,"category":"transition metal","density":11,"discovered_by":"Emilio Segrè","melt":2430,"molar_heat":24.27,"named_by":null,"number":43,"period":5,"group":7,"phase":"Solid","symbol":"Tc","xpos":7,"ypos":5,"wxpos":21,"wypos":5,"shells":[2,8,18,13,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d5","electron_configuration_semantic":"[Kr] 4d5 5s2","electron_affinity":53,"electronegativity_pauling":1.9,"ionization_energies":[702,1470,2850],"block":"d"},{"name":"Ruthenium","atomic_mass":101.072,"boil":4423,"category":"transition metal","density":12.45,"discovered_by":"Karl Ernst Claus","melt":2607,"molar_heat":24.06,"named_by":null,"number":44,"period":5,"group":8,"phase":"Solid","symbol":"Ru","xpos":8,"ypos":5,"wxpos":22,"wypos":5,"shells":[2,8,18,15,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s1 4d7","electron_configuration_semantic":"[Kr] 4d7 5s1","electron_affinity":100.96,"electronegativity_pauling":2.2,"ionization_energies":[710.2,1620,2747],"block":"d"},{"name":"Rhodium","atomic_mass":102.905502,"boil":3968,"category":"transition metal","density":12.41,"discovered_by":"William Hyde Wollaston","melt":2237,"molar_heat":24.98,"named_by":null,"number":45,"period":5,"group":9,"phase":"Solid","symbol":"Rh","xpos":9,"ypos":5,"wxpos":23,"wypos":5,"shells":[2,8,18,16,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s1 4d8","electron_configuration_semantic":"[Kr] 4d8 5s1","electron_affinity":110.27,"electronegativity_pauling":2.28,"ionization_energies":[719.7,1740,2997],"block":"d"},{"name":"Palladium","atomic_mass":106.421,"boil":3236,"category":"transition metal","density":12.023,"discovered_by":"William Hyde Wollaston","melt":1828.05,"molar_heat":25.98,"named_by":null,"number":46,"period":5,"group":10,"phase":"Solid","symbol":"Pd","xpos":10,"ypos":5,"wxpos":24,"wypos":5,"shells":[2,8,18,18],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 4d10","electron_configuration_semantic":"[Kr] 4d10","electron_affinity":54.24,"electronegativity_pauling":2.2,"ionization_energies":[804.4,1870,3177],"block":"d"},{"name":"Silver","atomic_mass":107.86822,"boil":2435,"category":"transition metal","density":10.49,"discovered_by":"unknown, before 5000 BC","melt":1234.93,"molar_heat":25.35,"named_by":null,"number":47,"period":5,"group":11,"phase":"Solid","symbol":"Ag","xpos":11,"ypos":5,"wxpos":25,"wypos":5,"shells":[2,8,18,18,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s1 4d10","electron_configuration_semantic":"[Kr] 4d10 5s1","electron_affinity":125.862,"electronegativity_pauling":1.93,"ionization_energies":[731,2070,3361],"block":"d"},{"name":"Cadmium","atomic_mass":112.4144,"boil":1040,"category":"transition metal","density":8.65,"discovered_by":"Karl Samuel Leberecht Hermann","melt":594.22,"molar_heat":26.02,"named_by":"Isotopes of cadmium","number":48,"period":5,"group":12,"phase":"Solid","symbol":"Cd","xpos":12,"ypos":5,"wxpos":26,"wypos":5,"shells":[2,8,18,18,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10","electron_configuration_semantic":"[Kr] 4d10 5s2","electron_affinity":-68,"electronegativity_pauling":1.69,"ionization_energies":[867.8,1631.4,3616],"block":"d"},{"name":"Indium","atomic_mass":114.8181,"boil":2345,"category":"post-transition metal","density":7.31,"discovered_by":"Ferdinand Reich","melt":429.7485,"molar_heat":26.74,"named_by":null,"number":49,"period":5,"group":13,"phase":"Solid","symbol":"In","xpos":13,"ypos":5,"wxpos":27,"wypos":5,"shells":[2,8,18,18,3],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p1","electron_configuration_semantic":"[Kr] 4d10 5s2 5p1","electron_affinity":37.043,"electronegativity_pauling":1.78,"ionization_energies":[558.3,1820.7,2704,5210],"block":"p"},{"name":"Tin","atomic_mass":118.7107,"boil":2875,"category":"post-transition metal","density":7.365,"discovered_by":"unknown, before 3500 BC","melt":505.08,"molar_heat":27.112,"named_by":null,"number":50,"period":5,"group":14,"phase":"Solid","symbol":"Sn","xpos":14,"ypos":5,"wxpos":28,"wypos":5,"shells":[2,8,18,18,4],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p2","electron_configuration_semantic":"[Kr] 4d10 5s2 5p2","electron_affinity":107.2984,"electronegativity_pauling":1.96,"ionization_energies":[708.6,1411.8,2943,3930.3,7456],"block":"p"},{"name":"Antimony","atomic_mass":121.7601,"boil":1908,"category":"metalloid","density":6.697,"discovered_by":"unknown, before 3000 BC","melt":903.78,"molar_heat":25.23,"named_by":null,"number":51,"period":5,"group":15,"phase":"Solid","symbol":"Sb","xpos":15,"ypos":5,"wxpos":29,"wypos":5,"shells":[2,8,18,18,5],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p3","electron_configuration_semantic":"[Kr] 4d10 5s2 5p3","electron_affinity":101.059,"electronegativity_pauling":2.05,"ionization_energies":[834,1594.9,2440,4260,5400,10400],"block":"p"},{"name":"Tellurium","atomic_mass":127.603,"boil":1261,"category":"metalloid","density":6.24,"discovered_by":"Franz-Joseph Müller von Reichenstein","melt":722.66,"molar_heat":25.73,"named_by":null,"number":52,"period":5,"group":16,"phase":"Solid","symbol":"Te","xpos":16,"ypos":5,"wxpos":30,"wypos":5,"shells":[2,8,18,18,6],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p4","electron_configuration_semantic":"[Kr] 4d10 5s2 5p4","electron_affinity":190.161,"electronegativity_pauling":2.1,"ionization_energies":[869.3,1790,2698,3610,5668,6820,13200],"block":"p"},{"name":"Iodine","atomic_mass":126.904473,"boil":457.4,"category":"diatomic nonmetal","density":4.933,"discovered_by":"Bernard Courtois","melt":386.85,"molar_heat":null,"named_by":null,"number":53,"period":5,"group":17,"phase":"Solid","symbol":"I","xpos":17,"ypos":5,"wxpos":31,"wypos":5,"shells":[2,8,18,18,7],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p5","electron_configuration_semantic":"[Kr] 4d10 5s2 5p5","electron_affinity":295.1531,"electronegativity_pauling":2.66,"ionization_energies":[1008.4,1845.9,3180],"block":"p"},{"name":"Xenon","atomic_mass":131.2936,"boil":165.051,"category":"noble gas","density":5.894,"discovered_by":"William Ramsay","melt":161.4,"molar_heat":null,"named_by":null,"number":54,"period":5,"group":18,"phase":"Gas","symbol":"Xe","xpos":18,"ypos":5,"wxpos":32,"wypos":5,"shells":[2,8,18,18,8],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6","electron_configuration_semantic":"[Kr] 4d10 5s2 5p6","electron_affinity":-77,"electronegativity_pauling":2.6,"ionization_energies":[1170.4,2046.4,3099.4],"block":"p"},{"name":"Cesium","atomic_mass":132.905451966,"boil":944,"category":"alkali metal","density":1.93,"discovered_by":"Robert Bunsen","melt":301.7,"molar_heat":32.21,"named_by":null,"number":55,"period":6,"group":1,"phase":"Solid","symbol":"Cs","xpos":1,"ypos":6,"wxpos":1,"wypos":6,"shells":[2,8,18,18,8,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s1","electron_configuration_semantic":"[Xe] 6s1","electron_affinity":45.505,"electronegativity_pauling":0.79,"ionization_energies":[375.7,2234.3,3400],"block":"s"},{"name":"Barium","atomic_mass":137.3277,"boil":2118,"category":"alkaline earth metal","density":3.51,"discovered_by":"Carl Wilhelm Scheele","melt":1000,"molar_heat":28.07,"named_by":null,"number":56,"period":6,"group":2,"phase":"Solid","symbol":"Ba","xpos":2,"ypos":6,"wxpos":2,"wypos":6,"shells":[2,8,18,18,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2","electron_configuration_semantic":"[Xe] 6s2","electron_affinity":13.954,"electronegativity_pauling":0.89,"ionization_energies":[502.9,965.2,3600],"block":"s"},{"name":"Lanthanum","atomic_mass":138.905477,"boil":3737,"category":"lanthanide","density":6.162,"discovered_by":"Carl Gustaf Mosander","melt":1193,"molar_heat":27.11,"named_by":null,"number":57,"period":6,"group":3,"phase":"Solid","symbol":"La","xpos":3,"ypos":9,"wxpos":3,"wypos":6,"shells":[2,8,18,18,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 5d1","electron_configuration_semantic":"[Xe] 5d16s2","electron_affinity":53,"electronegativity_pauling":1.1,"ionization_energies":[538.1,1067,1850.3,4819,5940],"block":"f"},{"name":"Cerium","atomic_mass":140.1161,"boil":3716,"category":"lanthanide","density":6.77,"discovered_by":"Martin Heinrich Klaproth","melt":1068,"molar_heat":26.94,"named_by":null,"number":58,"period":6,"group":3,"phase":"Solid","symbol":"Ce","xpos":4,"ypos":9,"wxpos":4,"wypos":6,"shells":[2,8,18,19,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 5d1 4f1","electron_configuration_semantic":"[Xe] 4f1 5d1 6s2","electron_affinity":55,"electronegativity_pauling":1.12,"ionization_energies":[534.4,1050,1949,3547,6325,7490],"block":"f"},{"name":"Praseodymium","atomic_mass":140.907662,"boil":3403,"category":"lanthanide","density":6.77,"discovered_by":"Carl Auer von Welsbach","melt":1208,"molar_heat":27.2,"named_by":null,"number":59,"period":6,"group":3,"phase":"Solid","symbol":"Pr","xpos":5,"ypos":9,"wxpos":5,"wypos":6,"shells":[2,8,18,21,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f3","electron_configuration_semantic":"[Xe] 4f3 6s2","electron_affinity":93,"electronegativity_pauling":1.13,"ionization_energies":[527,1020,2086,3761,5551],"block":"f"},{"name":"Neodymium","atomic_mass":144.2423,"boil":3347,"category":"lanthanide","density":7.01,"discovered_by":"Carl Auer von Welsbach","melt":1297,"molar_heat":27.45,"named_by":null,"number":60,"period":6,"group":3,"phase":"Solid","symbol":"Nd","xpos":6,"ypos":9,"wxpos":6,"wypos":6,"shells":[2,8,18,22,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f4","electron_configuration_semantic":"[Xe] 4f4 6s2","electron_affinity":184.87,"electronegativity_pauling":1.14,"ionization_energies":[533.1,1040,2130,3900],"block":"f"},{"name":"Promethium","atomic_mass":145,"boil":3273,"category":"lanthanide","density":7.26,"discovered_by":"Chien Shiung Wu","melt":1315,"molar_heat":null,"named_by":"Isotopes of promethium","number":61,"period":6,"group":3,"phase":"Solid","symbol":"Pm","xpos":7,"ypos":9,"wxpos":7,"wypos":6,"shells":[2,8,18,23,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f5","electron_configuration_semantic":"[Xe] 4f5 6s2","electron_affinity":12.45,"electronegativity_pauling":1.13,"ionization_energies":[540,1050,2150,3970],"block":"f"},{"name":"Samarium","atomic_mass":150.362,"boil":2173,"category":"lanthanide","density":7.52,"discovered_by":"Lecoq de Boisbaudran","melt":1345,"molar_heat":29.54,"named_by":null,"number":62,"period":6,"group":3,"phase":"Solid","symbol":"Sm","xpos":8,"ypos":9,"wxpos":8,"wypos":6,"shells":[2,8,18,24,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f6","electron_configuration_semantic":"[Xe] 4f6 6s2","electron_affinity":15.63,"electronegativity_pauling":1.17,"ionization_energies":[544.5,1070,2260,3990],"block":"f"},{"name":"Europium","atomic_mass":151.9641,"boil":1802,"category":"lanthanide","density":5.264,"discovered_by":"Eugène-Anatole Demarçay","melt":1099,"molar_heat":27.66,"named_by":null,"number":63,"period":6,"group":3,"phase":"Solid","symbol":"Eu","xpos":9,"ypos":9,"wxpos":9,"wypos":6,"shells":[2,8,18,25,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f7","electron_configuration_semantic":"[Xe] 4f7 6s2","electron_affinity":11.2,"electronegativity_pauling":1.2,"ionization_energies":[547.1,1085,2404,4120],"block":"f"},{"name":"Gadolinium","atomic_mass":157.253,"boil":3273,"category":"lanthanide","density":7.9,"discovered_by":"Jean Charles Galissard de Marignac","melt":1585,"molar_heat":37.03,"named_by":null,"number":64,"period":6,"group":3,"phase":"Solid","symbol":"Gd","xpos":10,"ypos":9,"wxpos":10,"wypos":6,"shells":[2,8,18,25,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f7 5d1","electron_configuration_semantic":"[Xe] 4f7 5d1 6s2","electron_affinity":13.22,"electronegativity_pauling":1.2,"ionization_energies":[593.4,1170,1990,4250],"block":"f"},{"name":"Terbium","atomic_mass":158.925352,"boil":3396,"category":"lanthanide","density":8.23,"discovered_by":"Carl Gustaf Mosander","melt":1629,"molar_heat":28.91,"named_by":null,"number":65,"period":6,"group":3,"phase":"Solid","symbol":"Tb","xpos":11,"ypos":9,"wxpos":11,"wypos":6,"shells":[2,8,18,27,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f9","electron_configuration_semantic":"[Xe] 4f9 6s2","electron_affinity":112.4,"electronegativity_pauling":1.1,"ionization_energies":[565.8,1110,2114,3839],"block":"f"},{"name":"Dysprosium","atomic_mass":162.5001,"boil":2840,"category":"lanthanide","density":8.54,"discovered_by":"Lecoq de Boisbaudran","melt":1680,"molar_heat":27.7,"named_by":null,"number":66,"period":6,"group":3,"phase":"Solid","symbol":"Dy","xpos":12,"ypos":9,"wxpos":12,"wypos":6,"shells":[2,8,18,28,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f10","electron_configuration_semantic":"[Xe] 4f10 6s2","electron_affinity":33.96,"electronegativity_pauling":1.22,"ionization_energies":[573,1130,2200,3990],"block":"f"},{"name":"Holmium","atomic_mass":164.930332,"boil":2873,"category":"lanthanide","density":8.79,"discovered_by":"Marc Delafontaine","melt":1734,"molar_heat":27.15,"named_by":null,"number":67,"period":6,"group":3,"phase":"Solid","symbol":"Ho","xpos":13,"ypos":9,"wxpos":13,"wypos":6,"shells":[2,8,18,29,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f11","electron_configuration_semantic":"[Xe] 4f11 6s2","electron_affinity":32.61,"electronegativity_pauling":1.23,"ionization_energies":[581,1140,2204,4100],"block":"f"},{"name":"Erbium","atomic_mass":167.2593,"boil":3141,"category":"lanthanide","density":9.066,"discovered_by":"Carl Gustaf Mosander","melt":1802,"molar_heat":28.12,"named_by":null,"number":68,"period":6,"group":3,"phase":"Solid","symbol":"Er","xpos":14,"ypos":9,"wxpos":14,"wypos":6,"shells":[2,8,18,30,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f12","electron_configuration_semantic":"[Xe] 4f12 6s2","electron_affinity":30.1,"electronegativity_pauling":1.24,"ionization_energies":[589.3,1150,2194,4120],"block":"f"},{"name":"Thulium","atomic_mass":168.934222,"boil":2223,"category":"lanthanide","density":9.32,"discovered_by":"Per Teodor Cleve","melt":1818,"molar_heat":27.03,"named_by":null,"number":69,"period":6,"group":3,"phase":"Solid","symbol":"Tm","xpos":15,"ypos":9,"wxpos":15,"wypos":6,"shells":[2,8,18,31,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f13","electron_configuration_semantic":"[Xe] 4f13 6s2","electron_affinity":99,"electronegativity_pauling":1.25,"ionization_energies":[596.7,1160,2285,4120],"block":"f"},{"name":"Ytterbium","atomic_mass":173.0451,"boil":1469,"category":"lanthanide","density":6.9,"discovered_by":"Jean Charles Galissard de Marignac","melt":1097,"molar_heat":26.74,"named_by":null,"number":70,"period":6,"group":3,"phase":"Solid","symbol":"Yb","xpos":16,"ypos":9,"wxpos":16,"wypos":6,"shells":[2,8,18,32,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14","electron_configuration_semantic":"[Xe] 4f14 6s2","electron_affinity":-1.93,"electronegativity_pauling":1.1,"ionization_energies":[603.4,1174.8,2417,4203],"block":"f"},{"name":"Lutetium","atomic_mass":174.96681,"boil":3675,"category":"lanthanide","density":9.841,"discovered_by":"Georges Urbain","melt":1925,"molar_heat":26.86,"named_by":null,"number":71,"period":6,"group":3,"phase":"Solid","symbol":"Lu","xpos":17,"ypos":9,"wxpos":17,"wypos":6,"shells":[2,8,18,32,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d1","electron_configuration_semantic":"[Xe] 4f14 5d1 6s2","electron_affinity":33.4,"electronegativity_pauling":1.27,"ionization_energies":[523.5,1340,2022.3,4370,6445],"block":"d"},{"name":"Hafnium","atomic_mass":178.492,"boil":4876,"category":"transition metal","density":13.31,"discovered_by":"Dirk Coster","melt":2506,"molar_heat":25.73,"named_by":null,"number":72,"period":6,"group":4,"phase":"Solid","symbol":"Hf","xpos":4,"ypos":6,"wxpos":18,"wypos":6,"shells":[2,8,18,32,10,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d2","electron_configuration_semantic":"[Xe] 4f14 5d2 6s2","electron_affinity":17.18,"electronegativity_pauling":1.3,"ionization_energies":[658.5,1440,2250,3216],"block":"d"},{"name":"Tantalum","atomic_mass":180.947882,"boil":5731,"category":"transition metal","density":16.69,"discovered_by":"Anders Gustaf Ekeberg","melt":3290,"molar_heat":25.36,"named_by":null,"number":73,"period":6,"group":5,"phase":"Solid","symbol":"Ta","xpos":5,"ypos":6,"wxpos":19,"wypos":6,"shells":[2,8,18,32,11,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d3","electron_configuration_semantic":"[Xe] 4f14 5d3 6s2","electron_affinity":31,"electronegativity_pauling":1.5,"ionization_energies":[761,1500],"block":"d"},{"name":"Tungsten","atomic_mass":183.841,"boil":6203,"category":"transition metal","density":19.25,"discovered_by":"Carl Wilhelm Scheele","melt":3695,"molar_heat":24.27,"named_by":null,"number":74,"period":6,"group":6,"phase":"Solid","symbol":"W","xpos":6,"ypos":6,"wxpos":20,"wypos":6,"shells":[2,8,18,32,12,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d4","electron_configuration_semantic":"[Xe] 4f14 5d4 6s2","electron_affinity":78.76,"electronegativity_pauling":2.36,"ionization_energies":[770,1700],"block":"d"},{"name":"Rhenium","atomic_mass":186.2071,"boil":5869,"category":"transition metal","density":21.02,"discovered_by":"Masataka Ogawa","melt":3459,"molar_heat":25.48,"named_by":"Walter Noddack","number":75,"period":6,"group":7,"phase":"Solid","symbol":"Re","xpos":7,"ypos":6,"wxpos":21,"wypos":6,"shells":[2,8,18,32,13,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d5","electron_configuration_semantic":"[Xe] 4f14 5d5 6s2","electron_affinity":5.8273,"electronegativity_pauling":1.9,"ionization_energies":[760,1260,2510,3640],"block":"d"},{"name":"Osmium","atomic_mass":190.233,"boil":5285,"category":"transition metal","density":22.59,"discovered_by":"Smithson Tennant","melt":3306,"molar_heat":24.7,"named_by":null,"number":76,"period":6,"group":8,"phase":"Solid","symbol":"Os","xpos":8,"ypos":6,"wxpos":22,"wypos":6,"shells":[2,8,18,32,14,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d6","electron_configuration_semantic":"[Xe] 4f14 5d6 6s2","electron_affinity":103.99,"electronegativity_pauling":2.2,"ionization_energies":[840,1600],"block":"d"},{"name":"Iridium","atomic_mass":192.2173,"boil":4403,"category":"transition metal","density":22.56,"discovered_by":"Smithson Tennant","melt":2719,"molar_heat":25.1,"named_by":null,"number":77,"period":6,"group":9,"phase":"Solid","symbol":"Ir","xpos":9,"ypos":6,"wxpos":23,"wypos":6,"shells":[2,8,18,32,15,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d7","electron_configuration_semantic":"[Xe] 4f14 5d7 6s2","electron_affinity":150.94,"electronegativity_pauling":2.2,"ionization_energies":[880,1600],"block":"d"},{"name":"Platinum","atomic_mass":195.0849,"boil":4098,"category":"transition metal","density":21.45,"discovered_by":"Antonio de Ulloa","melt":2041.4,"molar_heat":25.86,"named_by":null,"number":78,"period":6,"group":10,"phase":"Solid","symbol":"Pt","xpos":10,"ypos":6,"wxpos":24,"wypos":6,"shells":[2,8,18,32,17,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s1 4f14 5d9","electron_configuration_semantic":"[Xe] 4f14 5d9 6s1","electron_affinity":205.041,"electronegativity_pauling":2.28,"ionization_energies":[870,1791],"block":"d"},{"name":"Gold","atomic_mass":196.9665695,"boil":3243,"category":"transition metal","density":19.3,"discovered_by":"Middle East","melt":1337.33,"molar_heat":25.418,"named_by":null,"number":79,"period":6,"group":11,"phase":"Solid","symbol":"Au","xpos":11,"ypos":6,"wxpos":25,"wypos":6,"shells":[2,8,18,32,18,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s1 4f14 5d10","electron_configuration_semantic":"[Xe] 4f14 5d10 6s1","electron_affinity":222.747,"electronegativity_pauling":2.54,"ionization_energies":[890.1,1980],"block":"d"},{"name":"Mercury","atomic_mass":200.5923,"boil":629.88,"category":"transition metal","density":13.534,"discovered_by":"unknown, before 2000 BCE","melt":234.321,"molar_heat":27.983,"named_by":null,"number":80,"period":6,"group":12,"phase":"Liquid","symbol":"Hg","xpos":12,"ypos":6,"wxpos":26,"wypos":6,"shells":[2,8,18,32,18,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10","electron_configuration_semantic":"[Xe] 4f14 5d10 6s2","electron_affinity":-48,"electronegativity_pauling":2,"ionization_energies":[1007.1,1810,3300],"block":"d"},{"name":"Thallium","atomic_mass":204.38,"boil":1746,"category":"post-transition metal","density":11.85,"discovered_by":"William Crookes","melt":577,"molar_heat":26.32,"named_by":null,"number":81,"period":6,"group":13,"phase":"Solid","symbol":"Tl","xpos":13,"ypos":6,"wxpos":27,"wypos":6,"shells":[2,8,18,32,18,3],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p1","electron_configuration_semantic":"[Xe] 4f14 5d10 6s2 6p1","electron_affinity":36.4,"electronegativity_pauling":1.62,"ionization_energies":[589.4,1971,2878],"block":"p"},{"name":"Lead","atomic_mass":207.21,"boil":2022,"category":"post-transition metal","density":11.34,"discovered_by":"Middle East","melt":600.61,"molar_heat":26.65,"named_by":null,"number":82,"period":6,"group":14,"phase":"Solid","symbol":"Pb","xpos":14,"ypos":6,"wxpos":28,"wypos":6,"shells":[2,8,18,32,18,4],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p2","electron_configuration_semantic":"[Xe] 4f14 5d10 6s2 6p2","electron_affinity":34.4204,"electronegativity_pauling":1.87,"ionization_energies":[715.6,1450.5,3081.5,4083,6640],"block":"p"},{"name":"Bismuth","atomic_mass":208.980401,"boil":1837,"category":"post-transition metal","density":9.78,"discovered_by":"Claude François Geoffroy","melt":544.7,"molar_heat":25.52,"named_by":null,"number":83,"period":6,"group":15,"phase":"Solid","symbol":"Bi","xpos":15,"ypos":6,"wxpos":29,"wypos":6,"shells":[2,8,18,32,18,5],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p3","electron_configuration_semantic":"[Xe] 4f14 5d10 6s2 6p3","electron_affinity":90.924,"electronegativity_pauling":2.02,"ionization_energies":[703,1610,2466,4370,5400,8520],"block":"p"},{"name":"Polonium","atomic_mass":209,"boil":1235,"category":"post-transition metal","density":9.196,"discovered_by":"Pierre Curie","melt":527,"molar_heat":26.4,"named_by":null,"number":84,"period":6,"group":16,"phase":"Solid","symbol":"Po","xpos":16,"ypos":6,"wxpos":30,"wypos":6,"shells":[2,8,18,32,18,6],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p4","electron_configuration_semantic":"[Xe] 4f14 5d10 6s2 6p4","electron_affinity":136,"electronegativity_pauling":2,"ionization_energies":[812.1],"block":"p"},{"name":"Astatine","atomic_mass":210,"boil":610,"category":"metalloid","density":6.35,"discovered_by":"Dale R. Corson","melt":575,"molar_heat":null,"named_by":null,"number":85,"period":6,"group":17,"phase":"Solid","symbol":"At","xpos":17,"ypos":6,"wxpos":31,"wypos":6,"shells":[2,8,18,32,18,7],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p5","electron_configuration_semantic":"[Xe] 4f14 5d10 6s2 6p5","electron_affinity":233,"electronegativity_pauling":2.2,"ionization_energies":[899.003],"block":"p"},{"name":"Radon","atomic_mass":222,"boil":211.5,"category":"noble gas","density":9.73,"discovered_by":"Friedrich Ernst Dorn","melt":202,"molar_heat":null,"named_by":null,"number":86,"period":6,"group":18,"phase":"Gas","symbol":"Rn","xpos":18,"ypos":6,"wxpos":32,"wypos":6,"shells":[2,8,18,32,18,8],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6","electron_configuration_semantic":"[Xe] 4f14 5d10 6s2 6p6","electron_affinity":-68,"electronegativity_pauling":2.2,"ionization_energies":[1037],"block":"p"},{"name":"Francium","atomic_mass":223,"boil":950,"category":"alkali metal","density":1.87,"discovered_by":"Marguerite Perey","melt":300,"molar_heat":null,"named_by":null,"number":87,"period":7,"group":1,"phase":"Solid","symbol":"Fr","xpos":1,"ypos":7,"wxpos":1,"wypos":7,"shells":[2,8,18,32,18,8,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s1","electron_configuration_semantic":"[Rn] 7s1","electron_affinity":46.89,"electronegativity_pauling":0.79,"ionization_energies":[380],"block":"s"},{"name":"Radium","atomic_mass":226,"boil":2010,"category":"alkaline earth metal","density":5.5,"discovered_by":"Pierre Curie","melt":1233,"molar_heat":null,"named_by":null,"number":88,"period":7,"group":2,"phase":"Solid","symbol":"Ra","xpos":2,"ypos":7,"wxpos":2,"wypos":7,"shells":[2,8,18,32,18,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2","electron_configuration_semantic":"[Rn] 7s2","electron_affinity":9.6485,"electronegativity_pauling":0.9,"ionization_energies":[509.3,979],"block":"s"},{"name":"Actinium","atomic_mass":227,"boil":3500,"category":"actinide","density":10,"discovered_by":"Friedrich Oskar Giesel","melt":1500,"molar_heat":27.2,"named_by":null,"number":89,"period":7,"group":3,"phase":"Solid","symbol":"Ac","xpos":3,"ypos":10,"wxpos":3,"wypos":7,"shells":[2,8,18,32,18,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 6d1","electron_configuration_semantic":"[Rn] 6d1 7s2","electron_affinity":33.77,"electronegativity_pauling":1.1,"ionization_energies":[499,1170],"block":"f"},{"name":"Thorium","atomic_mass":232.03774,"boil":5061,"category":"actinide","density":11.724,"discovered_by":"Jöns Jakob Berzelius","melt":2023,"molar_heat":26.23,"named_by":null,"number":90,"period":7,"group":3,"phase":"Solid","symbol":"Th","xpos":4,"ypos":10,"wxpos":4,"wypos":7,"shells":[2,8,18,32,18,10,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 6d2","electron_configuration_semantic":"[Rn] 6d2 7s2","electron_affinity":112.72,"electronegativity_pauling":1.3,"ionization_energies":[587,1110,1930,2780],"block":"f"},{"name":"Protactinium","atomic_mass":231.035882,"boil":4300,"category":"actinide","density":15.37,"discovered_by":"William Crookes","melt":1841,"molar_heat":null,"named_by":"Otto Hahn","number":91,"period":7,"group":3,"phase":"Solid","symbol":"Pa","xpos":5,"ypos":10,"wxpos":5,"wypos":7,"shells":[2,8,18,32,20,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f2 6d1","electron_configuration_semantic":"[Rn] 5f2 6d1 7s2","electron_affinity":53.03,"electronegativity_pauling":1.5,"ionization_energies":[568],"block":"f"},{"name":"Uranium","atomic_mass":238.028913,"boil":4404,"category":"actinide","density":19.1,"discovered_by":"Martin Heinrich Klaproth","melt":1405.3,"molar_heat":27.665,"named_by":null,"number":92,"period":7,"group":3,"phase":"Solid","symbol":"U","xpos":6,"ypos":10,"wxpos":6,"wypos":7,"shells":[2,8,18,32,21,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f3 6d1","electron_configuration_semantic":"[Rn] 5f3 6d1 7s2","electron_affinity":50.94,"electronegativity_pauling":1.38,"ionization_energies":[597.6,1420],"block":"f"},{"name":"Neptunium","atomic_mass":237,"boil":4447,"category":"actinide","density":20.45,"discovered_by":"Edwin McMillan","melt":912,"molar_heat":29.46,"named_by":null,"number":93,"period":7,"group":3,"phase":"Solid","symbol":"Np","xpos":7,"ypos":10,"wxpos":7,"wypos":7,"shells":[2,8,18,32,22,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f4 6d1","electron_configuration_semantic":"[Rn] 5f4 6d1 7s2","electron_affinity":45.85,"electronegativity_pauling":1.36,"ionization_energies":[604.5],"block":"f"},{"name":"Plutonium","atomic_mass":244,"boil":3505,"category":"actinide","density":19.816,"discovered_by":"Glenn T. Seaborg","melt":912.5,"molar_heat":35.5,"named_by":null,"number":94,"period":7,"group":3,"phase":"Solid","symbol":"Pu","xpos":8,"ypos":10,"wxpos":8,"wypos":7,"shells":[2,8,18,32,24,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f6","electron_configuration_semantic":"[Rn] 5f6 7s2","electron_affinity":-48.33,"electronegativity_pauling":1.28,"ionization_energies":[584.7],"block":"f"},{"name":"Americium","atomic_mass":243,"boil":2880,"category":"actinide","density":12,"discovered_by":"Glenn T. Seaborg","melt":1449,"molar_heat":62.7,"named_by":null,"number":95,"period":7,"group":3,"phase":"Solid","symbol":"Am","xpos":9,"ypos":10,"wxpos":9,"wypos":7,"shells":[2,8,18,32,25,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f7","electron_configuration_semantic":"[Rn] 5f7 7s2","electron_affinity":9.93,"electronegativity_pauling":1.13,"ionization_energies":[578],"block":"f"},{"name":"Curium","atomic_mass":247,"boil":3383,"category":"actinide","density":13.51,"discovered_by":"Glenn T. Seaborg","melt":1613,"molar_heat":null,"named_by":null,"number":96,"period":7,"group":3,"phase":"Solid","symbol":"Cm","xpos":10,"ypos":10,"wxpos":10,"wypos":7,"shells":[2,8,18,32,25,9,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f7 6d1","electron_configuration_semantic":"[Rn] 5f7 6d1 7s2","electron_affinity":27.17,"electronegativity_pauling":1.28,"ionization_energies":[581],"block":"f"},{"name":"Berkelium","atomic_mass":247,"boil":2900,"category":"actinide","density":14.78,"discovered_by":"Lawrence Berkeley National Laboratory","melt":1259,"molar_heat":null,"named_by":null,"number":97,"period":7,"group":3,"phase":"Solid","symbol":"Bk","xpos":11,"ypos":10,"wxpos":11,"wypos":7,"shells":[2,8,18,32,27,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f9","electron_configuration_semantic":"[Rn] 5f9 7s2","electron_affinity":-165.24,"electronegativity_pauling":1.3,"ionization_energies":[601],"block":"f"},{"name":"Californium","atomic_mass":251,"boil":1743,"category":"actinide","density":15.1,"discovered_by":"Lawrence Berkeley National Laboratory","melt":1173,"molar_heat":null,"named_by":null,"number":98,"period":7,"group":3,"phase":"Solid","symbol":"Cf","xpos":12,"ypos":10,"wxpos":12,"wypos":7,"shells":[2,8,18,32,28,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f10","electron_configuration_semantic":"[Rn] 5f10 7s2","electron_affinity":-97.31,"electronegativity_pauling":1.3,"ionization_energies":[608],"block":"f"},{"name":"Einsteinium","atomic_mass":252,"boil":1269,"category":"actinide","density":8.84,"discovered_by":"Lawrence Berkeley National Laboratory","melt":1133,"molar_heat":null,"named_by":null,"number":99,"period":7,"group":3,"phase":"Solid","symbol":"Es","xpos":13,"ypos":10,"wxpos":13,"wypos":7,"shells":[2,8,18,32,29,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f11","electron_configuration_semantic":"[Rn] 5f11 7s2","electron_affinity":-28.6,"electronegativity_pauling":1.3,"ionization_energies":[619],"block":"f"},{"name":"Fermium","atomic_mass":257,"boil":null,"category":"actinide","density":null,"discovered_by":"Lawrence Berkeley National Laboratory","melt":1800,"molar_heat":null,"named_by":null,"number":100,"period":7,"group":3,"phase":"Solid","symbol":"Fm","xpos":14,"ypos":10,"wxpos":14,"wypos":7,"shells":[2,8,18,32,30,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f12","electron_configuration_semantic":"[Rn] 5f12 7s2","electron_affinity":33.96,"electronegativity_pauling":1.3,"ionization_energies":[627],"block":"f"},{"name":"Mendelevium","atomic_mass":258,"boil":null,"category":"actinide","density":null,"discovered_by":"Lawrence Berkeley National Laboratory","melt":1100,"molar_heat":null,"named_by":null,"number":101,"period":7,"group":3,"phase":"Solid","symbol":"Md","xpos":15,"ypos":10,"wxpos":15,"wypos":7,"shells":[2,8,18,32,31,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f13","electron_configuration_semantic":"[Rn] 5f13 7s2","electron_affinity":93.91,"electronegativity_pauling":1.3,"ionization_energies":[635],"block":"f"},{"name":"Nobelium","atomic_mass":259,"boil":null,"category":"actinide","density":null,"discovered_by":"Joint Institute for Nuclear Research","melt":1100,"molar_heat":null,"named_by":null,"number":102,"period":7,"group":3,"phase":"Solid","symbol":"No","xpos":16,"ypos":10,"wxpos":16,"wypos":7,"shells":[2,8,18,32,32,8,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14","electron_configuration_semantic":"[Rn] 5f14 7s2","electron_affinity":-223.22,"electronegativity_pauling":1.3,"ionization_energies":[642],"block":"f"},{"name":"Lawrencium","atomic_mass":266,"boil":null,"category":"actinide","density":null,"discovered_by":"Lawrence Berkeley National Laboratory","melt":1900,"molar_heat":null,"named_by":null,"number":103,"period":7,"group":3,"phase":"Solid","symbol":"Lr","xpos":17,"ypos":10,"wxpos":17,"wypos":7,"shells":[2,8,18,32,32,8,3],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 7p1","electron_configuration_semantic":"[Rn] 5f14 7s2 7p1","electron_affinity":-30.04,"electronegativity_pauling":1.3,"ionization_energies":[470],"block":"d"},{"name":"Rutherfordium","atomic_mass":267,"boil":5800,"category":"transition metal","density":23.2,"discovered_by":"Joint Institute for Nuclear Research","melt":2400,"molar_heat":null,"named_by":null,"number":104,"period":7,"group":4,"phase":"Solid","symbol":"Rf","xpos":4,"ypos":7,"wxpos":18,"wypos":7,"shells":[2,8,18,32,32,10,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d2","electron_configuration_semantic":"[Rn] 5f14 6d2 7s2","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[580],"block":"d"},{"name":"Dubnium","atomic_mass":268,"boil":null,"category":"transition metal","density":29.3,"discovered_by":"Joint Institute for Nuclear Research","melt":null,"molar_heat":null,"named_by":null,"number":105,"period":7,"group":5,"phase":"Solid","symbol":"Db","xpos":5,"ypos":7,"wxpos":19,"wypos":7,"shells":[2,8,18,32,32,11,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d3","electron_configuration_semantic":"*[Rn] 5f14 6d3 7s2","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[],"block":"d"},{"name":"Seaborgium","atomic_mass":269,"boil":null,"category":"transition metal","density":35,"discovered_by":"Lawrence Berkeley National Laboratory","melt":null,"molar_heat":null,"named_by":null,"number":106,"period":7,"group":6,"phase":"Solid","symbol":"Sg","xpos":6,"ypos":7,"wxpos":20,"wypos":7,"shells":[2,8,18,32,32,12,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d4","electron_configuration_semantic":"*[Rn] 5f14 6d4 7s2","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[],"block":"d"},{"name":"Bohrium","atomic_mass":270,"boil":null,"category":"transition metal","density":37.1,"discovered_by":"Gesellschaft für Schwerionenforschung","melt":null,"molar_heat":null,"named_by":null,"number":107,"period":7,"group":7,"phase":"Solid","symbol":"Bh","xpos":7,"ypos":7,"wxpos":21,"wypos":7,"shells":[2,8,18,32,32,13,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d5","electron_configuration_semantic":"*[Rn] 5f14 6d5 7s2","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[],"block":"d"},{"name":"Hassium","atomic_mass":269,"boil":null,"category":"transition metal","density":40.7,"discovered_by":"Gesellschaft für Schwerionenforschung","melt":126,"molar_heat":null,"named_by":null,"number":108,"period":7,"group":8,"phase":"Solid","symbol":"Hs","xpos":8,"ypos":7,"wxpos":22,"wypos":7,"shells":[2,8,18,32,32,14,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d6","electron_configuration_semantic":"*[Rn] 5f14 6d6 7s2","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[],"block":"d"},{"name":"Meitnerium","atomic_mass":278,"boil":null,"category":"unknown, probably transition metal","density":37.4,"discovered_by":"Gesellschaft für Schwerionenforschung","melt":null,"molar_heat":null,"named_by":null,"number":109,"period":7,"group":9,"phase":"Solid","symbol":"Mt","xpos":9,"ypos":7,"wxpos":23,"wypos":7,"shells":[2,8,18,32,32,15,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d7","electron_configuration_semantic":"*[Rn] 5f14 6d7 7s2","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[],"block":"d"},{"name":"Darmstadtium","atomic_mass":281,"boil":null,"category":"unknown, probably transition metal","density":34.8,"discovered_by":"Gesellschaft für Schwerionenforschung","melt":null,"molar_heat":null,"named_by":null,"number":110,"period":7,"group":10,"phase":"Solid","symbol":"Ds","xpos":10,"ypos":7,"wxpos":24,"wypos":7,"shells":[2,8,18,32,32,16,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d8","electron_configuration_semantic":"*[Rn] 5f14 6d9 7s1","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[],"block":"d"},{"name":"Roentgenium","atomic_mass":282,"boil":null,"category":"unknown, probably transition metal","density":28.7,"discovered_by":"Gesellschaft für Schwerionenforschung","melt":null,"molar_heat":null,"named_by":null,"number":111,"period":7,"group":11,"phase":"Solid","symbol":"Rg","xpos":11,"ypos":7,"wxpos":25,"wypos":7,"shells":[2,8,18,32,32,17,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d9","electron_configuration_semantic":"*[Rn] 5f14 6d10 7s1","electron_affinity":151,"electronegativity_pauling":null,"ionization_energies":[],"block":"d"},{"name":"Copernicium","atomic_mass":285,"boil":3570,"category":"transition metal","density":14,"discovered_by":"Gesellschaft für Schwerionenforschung","melt":null,"molar_heat":null,"named_by":null,"number":112,"period":7,"group":12,"phase":"Liquid","symbol":"Cn","xpos":12,"ypos":7,"wxpos":26,"wypos":7,"shells":[2,8,18,32,32,18,2],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d10","electron_configuration_semantic":"*[Rn] 5f14 6d10 7s2","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[],"block":"d"},{"name":"Nihonium","atomic_mass":286,"boil":1430,"category":"unknown, probably transition metal","density":16,"discovered_by":"RIKEN","melt":700,"molar_heat":null,"named_by":null,"number":113,"period":7,"group":13,"phase":"Solid","symbol":"Nh","xpos":13,"ypos":7,"wxpos":27,"wypos":7,"shells":[2,8,18,32,32,18,3],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d10 7p1","electron_configuration_semantic":"*[Rn] 5f14 6d10 7s2 7p1","electron_affinity":66.6,"electronegativity_pauling":null,"ionization_energies":[],"block":"p"},{"name":"Flerovium","atomic_mass":289,"boil":420,"category":"post-transition metal","density":14,"discovered_by":"Joint Institute for Nuclear Research","melt":340,"molar_heat":null,"named_by":null,"number":114,"period":7,"group":14,"phase":"Solid","symbol":"Fl","xpos":14,"ypos":7,"wxpos":28,"wypos":7,"shells":[2,8,18,32,32,18,4],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d10 7p2","electron_configuration_semantic":"*[Rn] 5f14 6d10 7s2 7p2","electron_affinity":null,"electronegativity_pauling":null,"ionization_energies":[],"block":"p"},{"name":"Moscovium","atomic_mass":289,"boil":1400,"category":"unknown, probably post-transition metal","density":13.5,"discovered_by":"Joint Institute for Nuclear Research","melt":670,"molar_heat":null,"named_by":null,"number":115,"period":7,"group":15,"phase":"Solid","symbol":"Mc","xpos":15,"ypos":7,"wxpos":29,"wypos":7,"shells":[2,8,18,32,32,18,5],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d10 7p3","electron_configuration_semantic":"*[Rn] 5f14 6d10 7s2 7p3","electron_affinity":35.3,"electronegativity_pauling":null,"ionization_energies":[],"block":"p"},{"name":"Livermorium","atomic_mass":293,"boil":1085,"category":"unknown, probably post-transition metal","density":12.9,"discovered_by":"Joint Institute for Nuclear Research","melt":709,"molar_heat":null,"named_by":null,"number":116,"period":7,"group":16,"phase":"Solid","symbol":"Lv","xpos":16,"ypos":7,"wxpos":30,"wypos":7,"shells":[2,8,18,32,32,18,6],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d10 7p4","electron_configuration_semantic":"*[Rn] 5f14 6d10 7s2 7p4","electron_affinity":74.9,"electronegativity_pauling":null,"ionization_energies":[],"block":"p"},{"name":"Tennessine","atomic_mass":294,"boil":883,"category":"unknown, probably metalloid","density":7.17,"discovered_by":"Joint Institute for Nuclear Research","melt":723,"molar_heat":null,"named_by":null,"number":117,"period":7,"group":17,"phase":"Solid","symbol":"Ts","xpos":17,"ypos":7,"wxpos":31,"wypos":7,"shells":[2,8,18,32,32,18,7],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d10 7p5","electron_configuration_semantic":"*[Rn] 5f14 6d10 7s2 7p5","electron_affinity":165.9,"electronegativity_pauling":null,"ionization_energies":[],"block":"p"},{"name":"Oganesson","atomic_mass":294,"boil":350,"category":"unknown, predicted to be noble gas","density":4.95,"discovered_by":"Joint Institute for Nuclear Research","melt":null,"molar_heat":null,"named_by":null,"number":118,"period":7,"group":18,"phase":"Solid","symbol":"Og","xpos":18,"ypos":7,"wxpos":32,"wypos":7,"shells":[2,8,18,32,32,18,8],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d10 7p6","electron_configuration_semantic":"*[Rn] 5f14 6d10 7s2 7p6","electron_affinity":5.40318,"electronegativity_pauling":null,"ionization_energies":[],"block":"p"},{"name":"Ununennium","atomic_mass":315,"boil":630,"category":"unknown, but predicted to be an alkali metal","density":3,"discovered_by":"GSI Helmholtz Centre for Heavy Ion Research","melt":null,"molar_heat":null,"named_by":null,"number":119,"period":8,"group":1,"phase":"Solid","symbol":"Uue","xpos":1,"ypos":8,"wxpos":1,"wypos":8,"shells":[2,8,18,32,32,18,8,1],"electron_configuration":"1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s2 4d10 5p6 6s2 4f14 5d10 6p6 7s2 5f14 6d10 7p6 8s1","electron_configuration_semantic":"*[Uuo] 8s1","electron_affinity":63.87,"electronegativity_pauling":null,"ionization_energies":[],"block":"s"}]'), Vr = {
|
|
3915
|
+
elements: Or
|
|
3916
|
+
};
|
|
3917
|
+
var Pr = /* @__PURE__ */ No("<button> </button>"), Hr = /* @__PURE__ */ No('<div class="pie-tool-periodic-table__element-overview svelte-1h56j87" style="grid-row: 2 / span 2; grid-column: 3 / span 10;" aria-live="polite"><div><div class="pie-tool-periodic-table__left-col svelte-1h56j87"><div class="pie-tool-periodic-table__symbol-center svelte-1h56j87"> </div> <div class="pie-tool-periodic-table__element-name svelte-1h56j87"> </div></div> <div class="pie-tool-periodic-table__right-col svelte-1h56j87"><div class="pie-tool-periodic-table__top-row svelte-1h56j87"><div class="pie-tool-periodic-table__info-block svelte-1h56j87"><div class="pie-tool-periodic-table__label svelte-1h56j87">Atomic Mass</div> <div class="pie-tool-periodic-table__value svelte-1h56j87"> </div></div> <div class="pie-tool-periodic-table__info-block svelte-1h56j87"><div class="pie-tool-periodic-table__label svelte-1h56j87">Atomic No</div> <div class="pie-tool-periodic-table__value svelte-1h56j87"> </div></div></div> <div class="pie-tool-periodic-table__bottom-row svelte-1h56j87"><div class="pie-tool-periodic-table__info-block svelte-1h56j87"><div class="pie-tool-periodic-table__label svelte-1h56j87">Electron Config</div> <div class="pie-tool-periodic-table__value svelte-1h56j87"> </div></div> <div class="pie-tool-periodic-table__info-block svelte-1h56j87"><div class="pie-tool-periodic-table__label svelte-1h56j87">Phase</div> <div class="pie-tool-periodic-table__value svelte-1h56j87"> </div></div></div></div></div></div>'), Br = /* @__PURE__ */ No('<button tabindex="0"><div class="pie-tool-periodic-table__atomic-number svelte-1h56j87"> </div> <div class="pie-tool-periodic-table__symbol svelte-1h56j87"> </div> <div class="pie-tool-periodic-table__name svelte-1h56j87"> </div> <div class="pie-tool-periodic-table__atomic-mass svelte-1h56j87"> </div></button>'), Gr = /* @__PURE__ */ No('<div class="pie-tool-periodic-table__group-label svelte-1h56j87"></div>'), Dr = /* @__PURE__ */ No('<div class="pie-tool-periodic-table__period-label svelte-1h56j87"><!></div>'), Wr = /* @__PURE__ */ No('<div class="pie-tool-periodic-table svelte-1h56j87" role="dialog" tabindex="-1" aria-label="Periodic Table - Click elements to view details"><div class="pie-tool-periodic-table__header svelte-1h56j87"><h3 id="periodic-table-title" class="pie-tool-periodic-table__title svelte-1h56j87">Periodic Table</h3> <div class="pie-tool-periodic-table__header-controls svelte-1h56j87"><button class="pie-tool-periodic-table__close-btn svelte-1h56j87" aria-label="Close periodic table"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 svelte-1h56j87" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></button></div></div> <div class="pie-tool-periodic-table__content svelte-1h56j87"><div class="pie-tool-periodic-table__wrapper svelte-1h56j87"><div class="pie-tool-periodic-table__grid svelte-1h56j87" role="grid" aria-labelledby="periodic-table-title"><div class="pie-tool-periodic-table__category-header pie-tool-periodic-table__category-badge-row svelte-1h56j87" role="presentation" style="grid-row: 1; grid-column: 2 / span 16;"><button aria-label="Show all elements">All Elements</button> <!></div> <!> <!></div> <div class="pie-tool-periodic-table__group-labels svelte-1h56j87" aria-hidden="true"></div> <div class="pie-tool-periodic-table__period-labels svelte-1h56j87" aria-hidden="true"></div></div></div></div>');
|
|
3918
|
+
const Fr = {
|
|
3919
|
+
hash: "svelte-1h56j87",
|
|
3920
|
+
code: `.pie-tool-periodic-table.svelte-1h56j87 {position:fixed;background:white;box-shadow:0 10px 40px rgba(0, 0, 0, 0.3);user-select:none;touch-action:none;border-radius:12px;overflow:visible; /* Changed from hidden to visible to show all content without clipping */z-index:2000; /* ZIndexLayer.MODAL */min-width:1100px; /* Match default width */display:flex;flex-direction:column;}
|
|
3921
|
+
|
|
3922
|
+
/* Header (matching production implementation: dark teal) */.pie-tool-periodic-table__header.svelte-1h56j87 {padding:12px 16px;background:var(--pie-primary-dark, #2c3e50); /* Dark teal-like color */color:var(--pie-white, white);display:flex;justify-content:space-between;align-items:center;cursor:move;user-select:none;border-radius:12px 12px 0 0;}.pie-tool-periodic-table__title.svelte-1h56j87 {font-weight:600;font-size:16px;color:var(--pie-white, white);margin:0;}.pie-tool-periodic-table__header-controls.svelte-1h56j87 {display:flex;gap:8px;align-items:center;}.pie-tool-periodic-table__close-btn.svelte-1h56j87 {background:transparent;border:none;color:var(--pie-white, white);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color 0.2s;}.pie-tool-periodic-table__close-btn.svelte-1h56j87:hover {background:rgba(255, 255, 255, 0.1);}.pie-tool-periodic-table__close-btn.svelte-1h56j87:focus-visible {outline:2px solid var(--pie-primary, #3f51b5);outline-offset:2px;}.pie-tool-periodic-table__close-btn.svelte-1h56j87 svg:where(.svelte-1h56j87) {width:20px;height:20px;display:block;}
|
|
3923
|
+
|
|
3924
|
+
/* Content wrapper */.pie-tool-periodic-table__content.svelte-1h56j87 {flex:1;display:flex;flex-direction:column;overflow:visible; /* Changed from auto to visible - no scrolling needed */padding:10px 4px 0 16px; /* top | right | bottom | left */}
|
|
3925
|
+
|
|
3926
|
+
/* Wrapper needed for absolute positioning of overlays */.pie-tool-periodic-table__wrapper.svelte-1h56j87 {position:relative;}
|
|
3927
|
+
|
|
3928
|
+
/* Main grid layout */.pie-tool-periodic-table__grid.svelte-1h56j87 {display:grid;grid-gap:3px;grid-template-columns:repeat(18, minmax(35px, 1fr));grid-template-rows:repeat(10, minmax(35px, 1fr));margin:0 auto;width:100%;}
|
|
3929
|
+
|
|
3930
|
+
/* Category badge row (matching production implementation) */.pie-tool-periodic-table__category-header.pie-tool-periodic-table__category-badge-row.svelte-1h56j87 {align-items:center;background-color:transparent;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:0.5rem;}.pie-tool-periodic-table__category-badge.svelte-1h56j87 {border:1px solid rgba(0, 0, 0, 0.1);border-radius:1rem;cursor:pointer;font-size:0.7rem;line-height:1;padding:4px 6px;transition:background-color 0.2s ease, color 0.2s ease;white-space:nowrap;background:white;color:#333;}.pie-tool-periodic-table__category-badge.svelte-1h56j87:hover {background:rgba(0, 0, 0, 0.05);}.pie-tool-periodic-table__category-badge.pie-tool-periodic-table__category-badge--active.svelte-1h56j87 {background-color:var(--pie-primary-dark, #2c3e50);border-color:var(--pie-primary-dark, #2c3e50);color:#fff;}
|
|
3931
|
+
|
|
3932
|
+
/* Element overview section (matching production implementation) */.pie-tool-periodic-table__element-overview.svelte-1h56j87 {align-items:center;display:flex;height:100%;justify-content:center;padding:6px;z-index:2;}.pie-tool-periodic-table__selected-element.pie-tool-periodic-table__selected-grid.svelte-1h56j87 {align-items:center;border:2px solid #000;border-radius:8px;box-sizing:border-box;display:flex;gap:16px;padding:12px;background:white;}.pie-tool-periodic-table__left-col.svelte-1h56j87 {align-items:center;display:flex;flex-direction:column;min-width:0;}.pie-tool-periodic-table__symbol-center.svelte-1h56j87 {font-size:2rem;font-weight:bold;line-height:1.2;margin-bottom:4px;}.pie-tool-periodic-table__element-name.svelte-1h56j87 {color:#333;font-size:1rem;font-weight:500;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;}.pie-tool-periodic-table__right-col.svelte-1h56j87 {display:flex;flex-direction:column;gap:8px;justify-content:space-between;min-width:0;}.pie-tool-periodic-table__top-row.svelte-1h56j87,
|
|
3933
|
+
.pie-tool-periodic-table__bottom-row.svelte-1h56j87 {display:flex;gap:8px;justify-content:space-between;min-width:0;}.pie-tool-periodic-table__info-block.svelte-1h56j87 {display:flex;flex-direction:column;min-width:0;text-align:left;}.pie-tool-periodic-table__info-block.svelte-1h56j87 .pie-tool-periodic-table__label:where(.svelte-1h56j87) {color:#444;font-size:0.75rem;font-weight:bold;margin-bottom:2px;}.pie-tool-periodic-table__info-block.svelte-1h56j87 .pie-tool-periodic-table__value:where(.svelte-1h56j87) {color:#000;font-size:0.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
3934
|
+
|
|
3935
|
+
/* Element styles */.pie-tool-periodic-table__element.svelte-1h56j87 {background-color:white;border:1px solid rgba(0, 0, 0, 0.1);border-radius:4px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:50px;padding:3px;position:relative;transition:transform 0.1s ease-in-out;}.pie-tool-periodic-table__element.svelte-1h56j87:hover {border-color:var(--pie-primary-dark, #2c3e50);transform:scale(1.03);z-index:10;}.pie-tool-periodic-table__element.svelte-1h56j87:focus {outline:2px solid var(--pie-primary-dark, #2c3e50);outline-offset:2px;z-index:10;}.pie-tool-periodic-table__element.pie-tool-periodic-table__element--selected.svelte-1h56j87 {border-color:var(--pie-primary-dark, #2c3e50);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1);z-index:11;}
|
|
3936
|
+
|
|
3937
|
+
/* Dim out elements not in the selected category */.pie-tool-periodic-table__element.pie-tool-periodic-table__element--dim.svelte-1h56j87 {filter:grayscale(80%);opacity:0.4;}
|
|
3938
|
+
|
|
3939
|
+
/* Text inside each element box */.pie-tool-periodic-table__atomic-number.svelte-1h56j87 {font-size:9px;opacity:0.8;text-align:left;}.pie-tool-periodic-table__symbol.svelte-1h56j87 {font-size:14px;font-weight:bold;margin:2px 0;text-align:center;}.pie-tool-periodic-table__name.svelte-1h56j87 {font-size:8px;opacity:0.9;overflow:hidden;text-align:center;white-space:nowrap;}.pie-tool-periodic-table__atomic-mass.svelte-1h56j87 {font-size:9px;opacity:0.8;text-align:right;}
|
|
3940
|
+
|
|
3941
|
+
/* Overlay for Group (column) labels */.pie-tool-periodic-table__group-labels.svelte-1h56j87 {color:#333;display:flex;font-size:0.65rem;font-weight:bold;left:0;pointer-events:none;position:absolute;top:-1.2em;width:100%;}.pie-tool-periodic-table__group-label.svelte-1h56j87 {text-align:center;}
|
|
3942
|
+
|
|
3943
|
+
/* Overlay for Period (row) labels */.pie-tool-periodic-table__period-labels.svelte-1h56j87 {color:#333;display:flex;flex-direction:column;font-size:0.65rem;font-weight:bold;height:100%;justify-content:space-evenly;left:-1.2em;pointer-events:none;position:absolute;top:0;}.pie-tool-periodic-table__period-label.svelte-1h56j87 {padding-right:0.2em;text-align:right;}
|
|
3944
|
+
|
|
3945
|
+
/* Category-based background colors (matching production implementation) */.pie-tool-periodic-table__category--alkali-metal.svelte-1h56j87 {background-color:#ff9e9e;}.pie-tool-periodic-table__category--alkaline-earth-metal.svelte-1h56j87 {background-color:#ffdc8a;}.pie-tool-periodic-table__category--alkaline-earth.svelte-1h56j87 {background-color:#ffdc8a; /* Also handle without "-metal" suffix */}.pie-tool-periodic-table__category--lanthanide.svelte-1h56j87 {background-color:#f9a8d4;}.pie-tool-periodic-table__category--actinide.svelte-1h56j87 {background-color:#e0aaff;}.pie-tool-periodic-table__category--transition-metal.svelte-1h56j87 {background-color:#a3d8f4;}.pie-tool-periodic-table__category--post-transition-metal.svelte-1h56j87 {background-color:#b4f8c8;}.pie-tool-periodic-table__category--metalloid.svelte-1h56j87 {background-color:#d9f99d;}.pie-tool-periodic-table__category--diatomic-nonmetal.svelte-1h56j87 {background-color:#f5f5f5;}.pie-tool-periodic-table__category--noble-gas.svelte-1h56j87 {background-color:#c4b5fd;}.pie-tool-periodic-table__category--polyatomic-nonmetal.svelte-1h56j87 {background-color:#fbcfe8;}.pie-tool-periodic-table__category--nonmetal.svelte-1h56j87 {background-color:#f0f0f0; /* Production implementation also has this */}.pie-tool-periodic-table__category--halogen.svelte-1h56j87 {background-color:#8ef5d0; /* Production implementation has halogen color */}.pie-tool-periodic-table__category--unknown.svelte-1h56j87 {background-color:#f5f5f5;}`
|
|
3946
|
+
};
|
|
3947
|
+
function Xr(e, o) {
|
|
3948
|
+
gn(o, !0), Dl(e, Fr);
|
|
3949
|
+
let t = Ji(o, "visible", 7, !1), i = Ji(o, "toolId", 7, "periodicTable");
|
|
3950
|
+
const s = typeof window < "u";
|
|
3951
|
+
let n = /* @__PURE__ */ N(void 0), l = /* @__PURE__ */ N(null);
|
|
3952
|
+
const r = /* @__PURE__ */ Dt(() => u(l)?.toolCoordinator);
|
|
3953
|
+
let a = /* @__PURE__ */ N(!1), c = /* @__PURE__ */ N(oo(s ? window.innerWidth / 2 : 400)), d = /* @__PURE__ */ N(oo(s ? window.innerHeight / 2 : 300)), g = /* @__PURE__ */ N(
|
|
3954
|
+
1100
|
|
3955
|
+
// Increased to show all 18 columns without horizontal scrolling
|
|
3956
|
+
), f = /* @__PURE__ */ N(
|
|
3957
|
+
750
|
|
3958
|
+
// Increased to show all 10 rows without vertical scrolling
|
|
3959
|
+
), h = /* @__PURE__ */ N(0), y = /* @__PURE__ */ N(0), w = /* @__PURE__ */ N(!1);
|
|
3960
|
+
const m = Vr.elements;
|
|
3961
|
+
let _ = /* @__PURE__ */ N(oo(
|
|
3962
|
+
m[0] || null
|
|
3963
|
+
// Initialize with Hydrogen
|
|
3964
|
+
)), j = /* @__PURE__ */ N("All");
|
|
3965
|
+
_t(() => {
|
|
3966
|
+
if (u(n))
|
|
3967
|
+
return ar(u(n), (k) => {
|
|
3968
|
+
O(l, k, !0);
|
|
3969
|
+
});
|
|
3970
|
+
});
|
|
3971
|
+
function se(k) {
|
|
3972
|
+
const E = k.toLowerCase();
|
|
3973
|
+
return E.indexOf("unknown") !== -1 ? "Unknown" : {
|
|
3974
|
+
"alkali metal": "Alkali Metal",
|
|
3975
|
+
"alkaline earth": "Alkaline Earth Metal",
|
|
3976
|
+
"alkaline earth metal": "Alkaline Earth Metal",
|
|
3977
|
+
"transition metal": "Transition Metal",
|
|
3978
|
+
"post-transition metal": "Post-transition Metal",
|
|
3979
|
+
metalloid: "Metalloid",
|
|
3980
|
+
nonmetal: "Diatomic Nonmetal",
|
|
3981
|
+
"polyatomic nonmetal": "Polyatomic Nonmetal",
|
|
3982
|
+
"diatomic nonmetal": "Diatomic Nonmetal",
|
|
3983
|
+
halogen: "Diatomic Nonmetal",
|
|
3984
|
+
// Halogens are diatomic nonmetals
|
|
3985
|
+
"noble gas": "Noble Gas",
|
|
3986
|
+
lanthanide: "Lanthanide",
|
|
3987
|
+
actinide: "Actinide",
|
|
3988
|
+
metal: "Post-transition Metal"
|
|
3989
|
+
// Some elements might just be 'metal'
|
|
3990
|
+
}[E] || k;
|
|
3991
|
+
}
|
|
3992
|
+
function q(k) {
|
|
3993
|
+
return k.split(" ").map((E) => E.charAt(0).toUpperCase() + E.slice(1)).join(" ");
|
|
3994
|
+
}
|
|
3995
|
+
let je = /* @__PURE__ */ Dt(() => {
|
|
3996
|
+
const k = /* @__PURE__ */ new Set();
|
|
3997
|
+
return m.forEach((E) => {
|
|
3998
|
+
E.category && k.add(se(E.category));
|
|
3999
|
+
}), Array.from(k).sort();
|
|
4000
|
+
}), We = /* @__PURE__ */ Dt(() => u(j) === "All" ? m : m.filter((k) => se(k.category) === u(j)));
|
|
4001
|
+
function U(k) {
|
|
4002
|
+
O(_, k, !0);
|
|
4003
|
+
}
|
|
4004
|
+
function ke(k) {
|
|
4005
|
+
O(j, k, !0);
|
|
4006
|
+
}
|
|
4007
|
+
function Ee() {
|
|
4008
|
+
u(r)?.hideTool(i());
|
|
4009
|
+
}
|
|
4010
|
+
function P(k) {
|
|
4011
|
+
const E = k.target;
|
|
4012
|
+
E.closest(".pie-tool-periodic-table__header") && (E.closest("button") || (O(a, !0), O(h, k.clientX - u(c)), O(y, k.clientY - u(d)), u(n) && (u(n).setPointerCapture(k.pointerId), u(r)?.bringToFront(u(n)))));
|
|
4013
|
+
}
|
|
4014
|
+
function Ot(k) {
|
|
4015
|
+
if (!u(a)) return;
|
|
4016
|
+
let E = k.clientX - u(h), Oo = k.clientY - u(y);
|
|
4017
|
+
const Vo = (u(n)?.offsetWidth || u(g)) / 2, nt = (u(n)?.offsetHeight || u(f)) / 2;
|
|
4018
|
+
O(c, Math.max(Vo, Math.min(E, window.innerWidth - Vo)), !0), O(d, Math.max(nt, Math.min(Oo, window.innerHeight - nt)), !0);
|
|
4019
|
+
}
|
|
4020
|
+
function it(k) {
|
|
4021
|
+
u(a) && u(n) && (O(a, !1), u(n).releasePointerCapture(k.pointerId));
|
|
4022
|
+
}
|
|
4023
|
+
function ds(k) {
|
|
4024
|
+
k.key === "Escape" && Ee();
|
|
4025
|
+
}
|
|
4026
|
+
_t(() => {
|
|
4027
|
+
u(r) && i() && !u(w) && (u(n) ? u(r).registerTool(i(), "Periodic Table", u(n), $t.MODAL) : u(r).registerTool(i(), "Periodic Table", void 0, $t.MODAL), O(w, !0));
|
|
4028
|
+
}), _t(() => {
|
|
4029
|
+
u(r) && u(n) && i() && (u(r).updateToolElement(i(), u(n)), u(r).bringToFront(u(n)));
|
|
4030
|
+
}), Pl(() => () => {
|
|
4031
|
+
u(r) && i() && u(r).unregisterTool(i());
|
|
4032
|
+
});
|
|
4033
|
+
var us = {
|
|
4034
|
+
get visible() {
|
|
4035
|
+
return t();
|
|
4036
|
+
},
|
|
4037
|
+
set visible(k = !1) {
|
|
4038
|
+
t(k), Zt();
|
|
4039
|
+
},
|
|
4040
|
+
get toolId() {
|
|
4041
|
+
return i();
|
|
4042
|
+
},
|
|
4043
|
+
set toolId(k = "periodicTable") {
|
|
4044
|
+
i(k), Zt();
|
|
4045
|
+
}
|
|
4046
|
+
}, $i = El(), fs = _l($i);
|
|
4047
|
+
{
|
|
4048
|
+
var ms = (k) => {
|
|
4049
|
+
var E = Wr(), Oo = L(E), Vo = V(L(Oo), 2), nt = L(Vo);
|
|
4050
|
+
I(Vo), I(Oo);
|
|
4051
|
+
var Ti = V(Oo, 2), Ci = L(Ti), Vt = L(Ci), Pt = L(Vt), st = L(Pt);
|
|
4052
|
+
let Ai;
|
|
4053
|
+
var hs = V(st, 2);
|
|
4054
|
+
ut(hs, 16, () => u(je), (B) => B, (B, A) => {
|
|
4055
|
+
var z = Pr();
|
|
4056
|
+
let G;
|
|
4057
|
+
var ue = L(z, !0);
|
|
4058
|
+
I(z), ct(
|
|
4059
|
+
(lo, Se) => {
|
|
4060
|
+
G = ft(z, 1, `pie-tool-periodic-table__category-badge pie-tool-periodic-table__category--${lo ?? ""}`, "svelte-1h56j87", G, {
|
|
4061
|
+
"pie-tool-periodic-table__category-badge--active": u(j) === A
|
|
4062
|
+
}), Bo(z, "aria-label", `Filter by ${A ?? ""}`), Bo(z, "aria-pressed", u(j) === A), fe(ue, Se);
|
|
4063
|
+
},
|
|
4064
|
+
[
|
|
4065
|
+
() => A.replace(" ", "-").toLowerCase(),
|
|
4066
|
+
() => q(A)
|
|
4067
|
+
]
|
|
4068
|
+
), Me("click", z, () => ke(A)), me(B, z);
|
|
4069
|
+
}), I(Pt);
|
|
4070
|
+
var Li = V(Pt, 2);
|
|
4071
|
+
{
|
|
4072
|
+
var gs = (B) => {
|
|
4073
|
+
var A = Hr(), z = L(A), G = L(z), ue = L(G), lo = L(ue, !0);
|
|
4074
|
+
I(ue);
|
|
4075
|
+
var Se = V(ue, 2), Po = L(Se, !0);
|
|
4076
|
+
I(Se), I(G);
|
|
4077
|
+
var Fe = V(G, 2), D = L(Fe), ee = L(D), lt = V(L(ee), 2), ro = L(lt, !0);
|
|
4078
|
+
I(lt), I(ee);
|
|
4079
|
+
var rt = V(ee, 2), at = V(L(rt), 2), Bt = L(at, !0);
|
|
4080
|
+
I(at), I(rt), I(D);
|
|
4081
|
+
var ji = V(D, 2), Gt = L(ji), Ei = V(L(Gt), 2), ys = L(Ei, !0);
|
|
4082
|
+
I(Ei), I(Gt);
|
|
4083
|
+
var Mi = V(Gt, 2), Ri = V(L(Mi), 2), bs = L(Ri, !0);
|
|
4084
|
+
I(Ri), I(Mi), I(ji), I(Fe), I(z), I(A), ct(
|
|
4085
|
+
(vs) => {
|
|
4086
|
+
ft(z, 1, `pie-tool-periodic-table__selected-element pie-tool-periodic-table__selected-grid pie-tool-periodic-table__category--${vs ?? ""}`, "svelte-1h56j87"), fe(lo, u(_).symbol), fe(Po, u(_).name), fe(ro, u(_).atomic_mass), fe(Bt, u(_).number), fe(ys, u(_).electron_configuration_semantic), fe(bs, u(_).phase);
|
|
4087
|
+
},
|
|
4088
|
+
[
|
|
4089
|
+
() => se(u(_).category).replace(" ", "-").toLowerCase()
|
|
4090
|
+
]
|
|
4091
|
+
), me(B, A);
|
|
4092
|
+
};
|
|
4093
|
+
Ft(Li, (B) => {
|
|
4094
|
+
u(_) && B(gs);
|
|
4095
|
+
});
|
|
4096
|
+
}
|
|
4097
|
+
var _s = V(Li, 2);
|
|
4098
|
+
ut(_s, 17, () => u(We), (B) => B.symbol, (B, A) => {
|
|
4099
|
+
var z = Br();
|
|
4100
|
+
let G;
|
|
4101
|
+
var ue = L(z), lo = L(ue, !0);
|
|
4102
|
+
I(ue);
|
|
4103
|
+
var Se = V(ue, 2), Po = L(Se, !0);
|
|
4104
|
+
I(Se);
|
|
4105
|
+
var Fe = V(Se, 2), D = L(Fe, !0);
|
|
4106
|
+
I(Fe);
|
|
4107
|
+
var ee = V(Fe, 2), lt = L(ee, !0);
|
|
4108
|
+
I(ee), I(z), ct(
|
|
4109
|
+
(ro, rt, at, Bt) => {
|
|
4110
|
+
G = ft(z, 1, `pie-tool-periodic-table__element pie-tool-periodic-table__category--${ro ?? ""}`, "svelte-1h56j87", G, rt), Xt(z, `grid-row: ${u(A).ypos ?? ""}; grid-column: ${u(A).xpos ?? ""};`), Bo(z, "title", u(A).name), Bo(z, "aria-label", `${u(A).name ?? ""}, Symbol: ${u(A).symbol ?? ""}, Atomic number: ${u(A).number ?? ""}, Atomic mass: ${at ?? ""}, Category: ${u(A).category ?? ""}`), fe(lo, u(A).number), fe(Po, u(A).symbol), fe(D, u(A).name), fe(lt, Bt);
|
|
4111
|
+
},
|
|
4112
|
+
[
|
|
4113
|
+
() => se(u(A).category).replace(" ", "-").toLowerCase(),
|
|
4114
|
+
() => ({
|
|
4115
|
+
"pie-tool-periodic-table__element--selected": u(_)?.symbol === u(A).symbol,
|
|
4116
|
+
"pie-tool-periodic-table__element--dim": u(j) !== "All" && se(u(A).category) !== u(j)
|
|
4117
|
+
}),
|
|
4118
|
+
() => u(A).atomic_mass.toFixed(3),
|
|
4119
|
+
() => u(A).atomic_mass.toFixed(3)
|
|
4120
|
+
]
|
|
4121
|
+
), Me("click", z, () => U(u(A))), Me("keydown", z, (ro) => {
|
|
4122
|
+
(ro.key === "Enter" || ro.key === " ") && (ro.preventDefault(), U(u(A)));
|
|
4123
|
+
}), me(B, z);
|
|
4124
|
+
}), I(Vt);
|
|
4125
|
+
var Ht = V(Vt, 2);
|
|
4126
|
+
ut(Ht, 20, () => Array(18), Wi, (B, A, z) => {
|
|
4127
|
+
var G = Gr();
|
|
4128
|
+
Xt(G, `left: ${z * 5.555555555555555}%; width: 5.555555555555555%;`), G.textContent = z + 1, me(B, G);
|
|
4129
|
+
}), I(Ht);
|
|
4130
|
+
var zi = V(Ht, 2);
|
|
4131
|
+
ut(zi, 20, () => Array(10), Wi, (B, A, z) => {
|
|
4132
|
+
var G = Dr(), ue = L(G);
|
|
4133
|
+
{
|
|
4134
|
+
var lo = (D) => {
|
|
4135
|
+
}, Se = (D) => {
|
|
4136
|
+
var ee = Wt("6");
|
|
4137
|
+
me(D, ee);
|
|
4138
|
+
}, Po = (D) => {
|
|
4139
|
+
var ee = Wt("7");
|
|
4140
|
+
me(D, ee);
|
|
4141
|
+
}, Fe = (D) => {
|
|
4142
|
+
var ee = Wt();
|
|
4143
|
+
ee.nodeValue = z - 2, me(D, ee);
|
|
4144
|
+
};
|
|
4145
|
+
Ft(ue, (D) => {
|
|
4146
|
+
z < 3 ? D(lo) : z === 8 ? D(Se, 1) : z === 9 ? D(Po, 2) : D(Fe, !1);
|
|
4147
|
+
});
|
|
4148
|
+
}
|
|
4149
|
+
I(G), me(B, G);
|
|
4150
|
+
}), I(zi), I(Ci), I(Ti), I(E), Yl(E, (B) => O(n, B), () => u(n)), ct(() => {
|
|
4151
|
+
Xt(E, `left: ${u(c) ?? ""}px; top: ${u(d) ?? ""}px; width: ${u(g) ?? ""}px; height: ${u(f) ?? ""}px; transform: translate(-50%, -50%);`), Ai = ft(st, 1, "pie-tool-periodic-table__category-badge svelte-1h56j87", null, Ai, {
|
|
4152
|
+
"pie-tool-periodic-table__category-badge--active": u(j) === "All"
|
|
4153
|
+
}), Bo(st, "aria-pressed", u(j) === "All");
|
|
4154
|
+
}), Me("pointerdown", E, P), Me("pointermove", E, Ot), Me("pointerup", E, it), Cl("lostpointercapture", E, it), Me("keydown", E, ds), Me("click", nt, Ee), Me("click", st, () => ke("All")), me(k, E);
|
|
4155
|
+
};
|
|
4156
|
+
Ft(fs, (k) => {
|
|
4157
|
+
t() && k(ms);
|
|
4158
|
+
});
|
|
4159
|
+
}
|
|
4160
|
+
return me(e, $i), _n(us);
|
|
4161
|
+
}
|
|
4162
|
+
Al([
|
|
4163
|
+
"pointerdown",
|
|
4164
|
+
"pointermove",
|
|
4165
|
+
"pointerup",
|
|
4166
|
+
"keydown",
|
|
4167
|
+
"click"
|
|
4168
|
+
]);
|
|
4169
|
+
customElements.define("pie-tool-periodic-table", or(
|
|
4170
|
+
Xr,
|
|
4171
|
+
{
|
|
4172
|
+
visible: { attribute: "visible", type: "Boolean" },
|
|
4173
|
+
toolId: { attribute: "tool-id", type: "String" }
|
|
4174
|
+
},
|
|
4175
|
+
[],
|
|
4176
|
+
[],
|
|
4177
|
+
{ mode: "open" }
|
|
4178
|
+
));
|
|
4179
|
+
export {
|
|
4180
|
+
Xr as default
|
|
4181
|
+
};
|