@harmonics/lattice-ui 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1832 +0,0 @@
1
- import { A as e, N as t, P as n, a as r, f as i, o as a, s as o, y as s } from "./hexes-B4uCADpF.js";
2
- //#region ../../node_modules/.bun/solid-js@1.9.17/node_modules/solid-js/dist/solid.js
3
- var c = {
4
- context: void 0,
5
- registry: void 0,
6
- effects: void 0,
7
- done: !1,
8
- getContextId() {
9
- return l(this.context.count);
10
- },
11
- getNextContextId() {
12
- return l(this.context.count++);
13
- }
14
- };
15
- function l(e) {
16
- let t = String(e), n = t.length - 1;
17
- return c.context.id + (n ? String.fromCharCode(96 + n) : "") + t;
18
- }
19
- function u(e) {
20
- c.context = e;
21
- }
22
- var d = (e, t) => e === t, f = Symbol("solid-track"), p = { equals: d }, m = null, h = he, g = 1, _ = 2, v = {
23
- owned: null,
24
- cleanups: null,
25
- context: null,
26
- owner: null
27
- }, y = null, b = null, x = null, S = null, C = null, ee = 0;
28
- function w(e, t) {
29
- let n = x, r = y, i = e.length === 0, a = t === void 0 ? r : t, o = i ? v : {
30
- owned: null,
31
- cleanups: null,
32
- context: a ? a.context : null,
33
- owner: a
34
- }, s = i ? e : () => e(() => O(() => j(o)));
35
- y = o, x = null;
36
- try {
37
- return A(s, !0);
38
- } finally {
39
- x = n, y = r;
40
- }
41
- }
42
- function T(e, t) {
43
- t = t ? Object.assign({}, p, t) : p;
44
- let n = {
45
- value: e,
46
- observers: null,
47
- observerSlots: null,
48
- comparator: t.equals || void 0
49
- };
50
- return [ce.bind(n), (e) => (typeof e == "function" && (e = b && b.running && b.sources.has(n) ? e(n.tValue) : e(n.value)), le(n, e))];
51
- }
52
- function E(e, t, n) {
53
- ue(fe(e, t, !1, g));
54
- }
55
- function te(e, t, n) {
56
- h = ge;
57
- let r = fe(e, t, !1, g), i = se && ae(se);
58
- i && (r.suspense = i), (!n || !n.render) && (r.user = !0), C ? C.push(r) : ue(r);
59
- }
60
- function D(e, t, n) {
61
- n = n ? Object.assign({}, p, n) : p;
62
- let r = fe(e, t, !0, 0);
63
- return r.observers = null, r.observerSlots = null, r.comparator = n.equals || void 0, ue(r), ce.bind(r);
64
- }
65
- function O(e) {
66
- if (x === null) return e();
67
- let t = x;
68
- x = null;
69
- try {
70
- return e();
71
- } finally {
72
- x = t;
73
- }
74
- }
75
- function ne(e, t, n) {
76
- let r = Array.isArray(e), i, a = n && n.defer;
77
- return (n) => {
78
- let o;
79
- if (r) {
80
- o = Array(e.length);
81
- for (let t = 0; t < e.length; t++) o[t] = e[t]();
82
- } else o = e();
83
- if (a) return a = !1, n;
84
- let s = O(() => t(o, i, n));
85
- return i = o, s;
86
- };
87
- }
88
- function k(e) {
89
- return y === null || (y.cleanups === null ? y.cleanups = [e] : y.cleanups.push(e)), e;
90
- }
91
- var [re, ie] = /*@__PURE__*/ T(!1);
92
- function ae(e) {
93
- let t;
94
- return y && y.context && (t = y.context[e.id]) !== void 0 ? t : e.defaultValue;
95
- }
96
- function oe(e) {
97
- let t = D(e), n = D(() => Ce(t()));
98
- return n.toArray = () => {
99
- let e = n();
100
- return Array.isArray(e) ? e : e == null ? [] : [e];
101
- }, n;
102
- }
103
- var se;
104
- function ce() {
105
- let e = b && b.running;
106
- if (this.sources && (e ? this.tState : this.state)) {
107
- if ((e ? this.tState : this.state) === g) ue(this);
108
- else {
109
- let e = S;
110
- S = null, A(() => _e(this), !1), S = e;
111
- }
112
- }
113
- if (x) {
114
- let e = this.observers;
115
- if (!e || e[e.length - 1] !== x) {
116
- let t = e ? e.length : 0;
117
- x.sources ? (x.sources.push(this), x.sourceSlots.push(t)) : (x.sources = [this], x.sourceSlots = [t]), e ? (e.push(x), this.observerSlots.push(x.sources.length - 1)) : (this.observers = [x], this.observerSlots = [x.sources.length - 1]);
118
- }
119
- }
120
- return e && b.sources.has(this) ? this.tValue : this.value;
121
- }
122
- function le(e, t, n) {
123
- let r = b && b.running && b.sources.has(e) ? e.tValue : e.value;
124
- if (!e.comparator || !e.comparator(r, t)) {
125
- if (b) {
126
- let r = b.running;
127
- (r || !n && b.sources.has(e)) && (b.sources.add(e), e.tValue = t), r || (e.value = t);
128
- } else e.value = t;
129
- e.observers && e.observers.length && A(() => {
130
- for (let t = 0; t < e.observers.length; t += 1) {
131
- let n = e.observers[t], r = b && b.running;
132
- r && b.disposed.has(n) || ((r ? !n.tState : !n.state) && (n.pure ? S.push(n) : C.push(n), n.observers && ve(n)), r ? n.tState = g : n.state = g);
133
- }
134
- if (S.length > 1e6) throw S = [], Error();
135
- }, !1);
136
- }
137
- return t;
138
- }
139
- function ue(e) {
140
- if (!e.fn) return;
141
- j(e);
142
- let t = ee;
143
- de(e, b && b.running && b.sources.has(e) ? e.tValue : e.value, t), b && !b.running && b.sources.has(e) && queueMicrotask(() => {
144
- A(() => {
145
- b && (b.running = !0), x = y = e, de(e, e.tValue, t), x = y = null;
146
- }, !1);
147
- });
148
- }
149
- function de(e, t, n) {
150
- let r, i = y, a = x;
151
- x = y = e;
152
- try {
153
- r = e.fn(t);
154
- } catch (t) {
155
- return e.pure && (b && b.running ? (e.tState = g, e.tOwned && e.tOwned.forEach(j), e.tOwned = void 0) : (e.state = g, e.owned && e.owned.forEach(j), e.owned = null)), e.updatedAt = n + 1, Se(t);
156
- } finally {
157
- x = a, y = i;
158
- }
159
- (!e.updatedAt || e.updatedAt <= n) && (e.updatedAt != null && "observers" in e ? le(e, r, !0) : b && b.running && e.pure ? (b.sources.has(e) || (e.value = r), b.sources.add(e), e.tValue = r) : e.value = r, e.updatedAt = n);
160
- }
161
- function fe(e, t, n, r = g, i) {
162
- let a = {
163
- fn: e,
164
- state: r,
165
- updatedAt: null,
166
- owned: null,
167
- sources: null,
168
- sourceSlots: null,
169
- cleanups: null,
170
- value: t,
171
- owner: y,
172
- context: y ? y.context : null,
173
- pure: n
174
- };
175
- return b && b.running && (a.state = 0, a.tState = r), y === null || y !== v && (b && b.running && y.pure ? y.tOwned ? y.tOwned.push(a) : y.tOwned = [a] : y.owned ? y.owned.push(a) : y.owned = [a]), a;
176
- }
177
- function pe(e) {
178
- let t = b && b.running;
179
- if ((t ? e.tState : e.state) === 0) return;
180
- if ((t ? e.tState : e.state) === _) return _e(e);
181
- if (e.suspense && O(e.suspense.inFallback)) return e.suspense.effects.push(e);
182
- let n = [e];
183
- for (; (e = e.owner) && (!e.updatedAt || e.updatedAt < ee);) {
184
- if (t && b.disposed.has(e)) return;
185
- (t ? e.tState : e.state) && n.push(e);
186
- }
187
- for (let r = n.length - 1; r >= 0; r--) {
188
- if (e = n[r], t) {
189
- let t = e, i = n[r + 1];
190
- for (; (t = t.owner) && t !== i;) if (b.disposed.has(t)) return;
191
- }
192
- if ((t ? e.tState : e.state) === g) ue(e);
193
- else if ((t ? e.tState : e.state) === _) {
194
- let t = S;
195
- S = null, A(() => _e(e, n[0]), !1), S = t;
196
- }
197
- }
198
- }
199
- function A(e, t) {
200
- if (S) return e();
201
- let n = !1;
202
- t || (S = []), C ? n = !0 : C = [], ee++;
203
- try {
204
- let t = e();
205
- return me(n), t;
206
- } catch (e) {
207
- n || (C = null), S = null, Se(e);
208
- }
209
- }
210
- function me(e) {
211
- if (S &&= (he(S), null), e) return;
212
- let t;
213
- if (b) {
214
- if (!b.promises.size && !b.queue.size) {
215
- let e = b.sources, n = b.disposed;
216
- C.push.apply(C, b.effects), t = b.resolve;
217
- for (let e of C) "tState" in e && (e.state = e.tState), delete e.tState;
218
- b = null, A(() => {
219
- for (let e of n) j(e);
220
- for (let t of e) {
221
- if (t.value = t.tValue, t.owned) for (let e = 0, n = t.owned.length; e < n; e++) j(t.owned[e]);
222
- t.tOwned && (t.owned = t.tOwned), delete t.tValue, delete t.tOwned, t.tState = 0;
223
- }
224
- ie(!1);
225
- }, !1);
226
- } else if (b.running) {
227
- b.running = !1, b.effects.push.apply(b.effects, C), C = null, ie(!0);
228
- return;
229
- }
230
- }
231
- let n = C;
232
- C = null, n.length && A(() => h(n), !1), t && t();
233
- }
234
- function he(e) {
235
- for (let t = 0; t < e.length; t++) pe(e[t]);
236
- }
237
- function ge(e) {
238
- let t, n = 0;
239
- for (t = 0; t < e.length; t++) {
240
- let r = e[t];
241
- r.user ? e[n++] = r : pe(r);
242
- }
243
- if (c.context) {
244
- if (c.count) {
245
- c.effects ||= [], c.effects.push(...e.slice(0, n));
246
- return;
247
- }
248
- u();
249
- }
250
- for (c.effects && (c.done || !c.count) && (e = [...c.effects, ...e], n += c.effects.length, delete c.effects), t = 0; t < n; t++) pe(e[t]);
251
- }
252
- function _e(e, t) {
253
- let n = b && b.running;
254
- n ? e.tState = 0 : e.state = 0;
255
- for (let r = 0; r < e.sources.length; r += 1) {
256
- let i = e.sources[r];
257
- if (i.sources) {
258
- let e = n ? i.tState : i.state;
259
- e === g ? i !== t && (!i.updatedAt || i.updatedAt < ee) && pe(i) : e === _ && _e(i, t);
260
- }
261
- }
262
- }
263
- function ve(e) {
264
- let t = b && b.running;
265
- for (let n = 0; n < e.observers.length; n += 1) {
266
- let r = e.observers[n];
267
- (t ? !r.tState : !r.state) && (t ? r.tState = _ : r.state = _, r.pure ? S.push(r) : C.push(r), r.observers && ve(r));
268
- }
269
- }
270
- function j(e) {
271
- let t;
272
- if (e.sources) for (; e.sources.length;) {
273
- let t = e.sources.pop(), n = e.sourceSlots.pop(), r = t.observers;
274
- if (r && r.length) {
275
- let e = r.pop(), i = t.observerSlots.pop();
276
- n < r.length && (e.sourceSlots[i] = n, r[n] = e, t.observerSlots[n] = i);
277
- }
278
- }
279
- if (e.tOwned) {
280
- for (t = e.tOwned.length - 1; t >= 0; t--) j(e.tOwned[t]);
281
- delete e.tOwned;
282
- }
283
- if (b && b.running && e.pure) ye(e, !0);
284
- else if (e.owned) {
285
- for (t = e.owned.length - 1; t >= 0; t--) j(e.owned[t]);
286
- e.owned = null;
287
- }
288
- if (e.cleanups) {
289
- for (t = e.cleanups.length - 1; t >= 0; t--) e.cleanups[t]();
290
- e.cleanups = null;
291
- }
292
- b && b.running ? e.tState = 0 : e.state = 0;
293
- }
294
- function ye(e, t) {
295
- if (t || (e.tState = 0, b.disposed.add(e)), e.owned) for (let t = 0; t < e.owned.length; t++) ye(e.owned[t]);
296
- }
297
- function be(e) {
298
- return e instanceof Error ? e : Error(typeof e == "string" ? e : "Unknown error", { cause: e });
299
- }
300
- function xe(e, t, n) {
301
- try {
302
- for (let n of t) n(e);
303
- } catch (e) {
304
- Se(e, n && n.owner || null);
305
- }
306
- }
307
- function Se(e, t = y) {
308
- let n = m && t && t.context && t.context[m], r = be(e);
309
- if (!n) throw r;
310
- C ? C.push({
311
- fn() {
312
- xe(r, n, t);
313
- },
314
- state: g
315
- }) : xe(r, n, t);
316
- }
317
- function Ce(e) {
318
- if (typeof e == "function" && !e.length) return Ce(e());
319
- if (Array.isArray(e)) {
320
- let t = [];
321
- for (let n = 0; n < e.length; n++) {
322
- let r = Ce(e[n]);
323
- if (Array.isArray(r)) {
324
- if (r.length < 32768) t.push.apply(t, r);
325
- else for (let e = 0; e < r.length; e++) t.push(r[e]);
326
- } else t.push(r);
327
- }
328
- return t;
329
- }
330
- return e;
331
- }
332
- var we = Symbol("fallback");
333
- function Te(e) {
334
- for (let t = 0; t < e.length; t++) e[t]();
335
- }
336
- function Ee(e, t, n = {}) {
337
- let r = [], i = [], a = [], o = 0, s = t.length > 1 ? [] : null;
338
- return k(() => Te(a)), () => {
339
- let c = e() || [], l = c.length, u, d;
340
- return c[f], O(() => {
341
- let e, t, f, m, h, g, _, v, y;
342
- if (l === 0) o !== 0 && (Te(a), a = [], r = [], i = [], o = 0, s &&= []), n.fallback && (r = [we], i[0] = w((e) => (a[0] = e, n.fallback())), o = 1);
343
- else if (o === 0) {
344
- for (i = Array(l), d = 0; d < l; d++) r[d] = c[d], i[d] = w(p);
345
- o = l;
346
- } else {
347
- for (f = Array(l), m = Array(l), s && (h = Array(l)), g = 0, _ = Math.min(o, l); g < _ && r[g] === c[g]; g++);
348
- for (_ = o - 1, v = l - 1; _ >= g && v >= g && r[_] === c[v]; _--, v--) f[v] = i[_], m[v] = a[_], s && (h[v] = s[_]);
349
- for (e = /* @__PURE__ */ new Map(), t = Array(v + 1), d = v; d >= g; d--) y = c[d], u = e.get(y), t[d] = u === void 0 ? -1 : u, e.set(y, d);
350
- for (u = g; u <= _; u++) y = r[u], d = e.get(y), d !== void 0 && d !== -1 ? (f[d] = i[u], m[d] = a[u], s && (h[d] = s[u]), d = t[d], e.set(y, d)) : a[u]();
351
- for (d = g; d < l; d++) d in f ? (i[d] = f[d], a[d] = m[d], s && (s[d] = h[d], s[d](d))) : i[d] = w(p);
352
- i = i.slice(0, o = l), r = c.slice(0);
353
- }
354
- return i;
355
- });
356
- function p(e) {
357
- if (a[d] = e, s) {
358
- let [e, n] = T(d);
359
- return s[d] = n, t(c[d], e);
360
- }
361
- return t(c[d]);
362
- }
363
- };
364
- }
365
- function De(e, t, n = {}) {
366
- let r = [], i = [], a = [], o = [], s = 0, c;
367
- return k(() => Te(a)), () => {
368
- let l = e() || [], u = l.length;
369
- return l[f], O(() => {
370
- if (u === 0) return s !== 0 && (Te(a), a = [], r = [], i = [], s = 0, o = []), n.fallback && (r = [we], i[0] = w((e) => (a[0] = e, n.fallback())), s = 1), i;
371
- for (r[0] === we && (a[0](), a = [], r = [], i = [], s = 0), c = 0; c < u; c++) c < r.length && r[c] !== l[c] ? o[c](() => l[c]) : c >= r.length && (i[c] = w(d));
372
- for (; c < r.length; c++) a[c]();
373
- return s = o.length = a.length = u, r = l.slice(0), i = i.slice(0, s);
374
- });
375
- function d(e) {
376
- a[c] = e;
377
- let [n, r] = T(l[c]);
378
- return o[c] = r, t(n, c);
379
- }
380
- };
381
- }
382
- function M(e, t) {
383
- return O(() => e(t || {}));
384
- }
385
- var Oe = (e) => `Stale read from <${e}>.`;
386
- function ke(e) {
387
- let t = "fallback" in e && { fallback: () => e.fallback };
388
- return D(Ee(() => e.each, e.children, t || void 0));
389
- }
390
- function Ae(e) {
391
- let t = "fallback" in e && { fallback: () => e.fallback };
392
- return D(De(() => e.each, e.children, t || void 0));
393
- }
394
- function je(e) {
395
- let t = e.keyed, n = D(() => e.when, void 0, void 0), r = t ? n : D(n, void 0, { equals: (e, t) => !e == !t });
396
- return D(() => {
397
- let i = r();
398
- if (i) {
399
- let a = e.children;
400
- return typeof a == "function" && a.length > 0 ? O(() => a(t ? i : () => {
401
- if (!O(r)) throw Oe("Show");
402
- return n();
403
- })) : a;
404
- }
405
- return e.fallback;
406
- }, void 0, void 0);
407
- }
408
- function Me(e) {
409
- let t = oe(() => e.children), n = D(() => {
410
- let e = t(), n = Array.isArray(e) ? e : [e], r = () => void 0;
411
- for (let e = 0; e < n.length; e++) {
412
- let t = e, i = n[e], a = r, o = D(() => a() ? void 0 : i.when, void 0, void 0), s = i.keyed ? o : D(o, void 0, { equals: (e, t) => !e == !t });
413
- r = () => a() || (s() ? [
414
- t,
415
- o,
416
- i
417
- ] : void 0);
418
- }
419
- return r;
420
- });
421
- return D(() => {
422
- let t = n()();
423
- if (!t) return e.fallback;
424
- let [r, i, a] = t, o = a.children;
425
- return typeof o == "function" && o.length > 0 ? O(() => o(a.keyed ? i() : () => {
426
- if (O(n)()?.[0] !== r) throw Oe("Match");
427
- return i();
428
- })) : o;
429
- }, void 0, void 0);
430
- }
431
- function Ne(e) {
432
- return e;
433
- }
434
- //#endregion
435
- //#region ../../node_modules/.bun/solid-js@1.9.17/node_modules/solid-js/web/dist/web.js
436
- function Pe(e, t, n) {
437
- let r = n.length, i = t.length, a = r, o = 0, s = 0, c = t[i - 1].nextSibling, l = null;
438
- for (; o < i || s < a;) if (t[o] === n[s]) o++, s++;
439
- else {
440
- for (; t[i - 1] === n[a - 1];) i--, a--;
441
- if (i === o) {
442
- let t = a < r ? s ? n[s - 1].nextSibling : n[a - s] : c;
443
- for (; s < a;) e.insertBefore(n[s++], t);
444
- } else if (a === s) for (; o < i;) (!l || !l.has(t[o])) && t[o].remove(), o++;
445
- else if (t[o] === n[a - 1] && n[s] === t[i - 1]) {
446
- let r = t[--i].nextSibling;
447
- e.insertBefore(n[s++], t[o++].nextSibling), e.insertBefore(n[--a], r), t[i] = n[a];
448
- } else {
449
- if (!l) {
450
- l = /* @__PURE__ */ new Map();
451
- let e = s;
452
- for (; e < a;) l.set(n[e], e++);
453
- }
454
- let r = l.get(t[o]);
455
- if (r != null) {
456
- if (s < r && r < a) {
457
- let c = o, u = 1, d;
458
- for (; ++c < i && c < a && (d = l.get(t[c])) != null && d === r + u;) u++;
459
- if (u > r - s) {
460
- let i = t[o];
461
- for (; s < r;) e.insertBefore(n[s++], i);
462
- } else e.replaceChild(n[s++], t[o++]);
463
- } else o++;
464
- } else t[o++].remove();
465
- }
466
- }
467
- }
468
- function Fe(e, t, n, r = {}) {
469
- let i;
470
- return w((r) => {
471
- i = r, t === document ? e() : F(t, e(), !n && t.firstChild ? null : void 0, n);
472
- }, r.owner), () => {
473
- i(), t.textContent = "";
474
- };
475
- }
476
- function N(e, t, n, r) {
477
- let i, a = () => {
478
- let t = r ? document.createElementNS("http://www.w3.org/1998/Math/MathML", "template") : document.createElement("template");
479
- return t.innerHTML = e, n ? t.content.firstChild.firstChild : r ? t.firstChild : t.content.firstChild;
480
- }, o = t ? () => O(() => document.importNode(i ||= a(), !0)) : () => (i ||= a()).cloneNode(!0);
481
- return o.cloneNode = o, o;
482
- }
483
- function P(e, t, n) {
484
- Ie(e) || (n == null ? e.removeAttribute(t) : e.setAttribute(t, n));
485
- }
486
- function F(e, t, n, r) {
487
- if (n !== void 0 && !r && (r = []), typeof t != "function") return Le(e, t, r, n);
488
- E((r) => Le(e, t(), r, n), r);
489
- }
490
- function Ie(e) {
491
- return !!c.context && !c.done && (!e || e.isConnected);
492
- }
493
- function Le(e, t, n, r, i) {
494
- let a = Ie(e);
495
- if (a) {
496
- !n && (n = [...e.childNodes]);
497
- let t = [];
498
- for (let e = 0; e < n.length; e++) {
499
- let r = n[e];
500
- r.nodeType === 8 && r.data.slice(0, 2) === "!$" ? r.remove() : t.push(r);
501
- }
502
- n = t;
503
- }
504
- for (; typeof n == "function";) n = n();
505
- if (t === n) return n;
506
- let o = typeof t, s = r !== void 0;
507
- if (e = s && n[0] && n[0].parentNode || e, o === "string" || o === "number") {
508
- if (a || o === "number" && (t = t.toString(), t === n)) return n;
509
- if (s) {
510
- let i = n[0];
511
- i && i.nodeType === 3 ? i.data !== t && (i.data = t) : i = document.createTextNode(t), n = I(e, n, r, i);
512
- } else n = n !== "" && typeof n == "string" ? e.firstChild.data = t : e.textContent = t;
513
- } else if (t == null || o === "boolean") {
514
- if (a) return n;
515
- n = I(e, n, r);
516
- } else if (o === "function") return E(() => {
517
- let i = t();
518
- for (; typeof i == "function";) i = i();
519
- n = Le(e, i, n, r);
520
- }), () => n;
521
- else if (Array.isArray(t)) {
522
- let o = [], c = n && Array.isArray(n);
523
- if (Re(o, t, n, i)) return E(() => n = Le(e, o, n, r, !0)), () => n;
524
- if (a) {
525
- if (!o.length) return n;
526
- if (r === void 0) return n = [...e.childNodes];
527
- let t = o[0];
528
- if (t.parentNode !== e) return n;
529
- let i = [t];
530
- for (; (t = t.nextSibling) !== r;) i.push(t);
531
- return n = i;
532
- }
533
- if (o.length === 0) {
534
- if (n = I(e, n, r), s) return n;
535
- } else c ? n.length === 0 ? ze(e, o, r) : Pe(e, n, o) : (n && I(e), ze(e, o));
536
- n = o;
537
- } else if (t.nodeType) {
538
- if (a && t.parentNode) return n = s ? [t] : t;
539
- if (Array.isArray(n)) {
540
- if (s) return n = I(e, n, r, t);
541
- I(e, n, null, t);
542
- } else n == null || n === "" || !e.firstChild ? e.appendChild(t) : e.replaceChild(t, e.firstChild);
543
- n = t;
544
- }
545
- return n;
546
- }
547
- function Re(e, t, n, r) {
548
- let i = !1;
549
- for (let a = 0, o = t.length; a < o; a++) {
550
- let o = t[a], s = n && n[e.length], c;
551
- if (o != null && o !== !0 && o !== !1) {
552
- if ((c = typeof o) == "object" && o.nodeType) e.push(o);
553
- else if (Array.isArray(o)) i = Re(e, o, s) || i;
554
- else if (c === "function") {
555
- if (r) {
556
- for (; typeof o == "function";) o = o();
557
- i = Re(e, Array.isArray(o) ? o : [o], Array.isArray(s) ? s : [s]) || i;
558
- } else e.push(o), i = !0;
559
- } else {
560
- let t = String(o);
561
- s && s.nodeType === 3 && s.data === t ? e.push(s) : e.push(document.createTextNode(t));
562
- }
563
- }
564
- }
565
- return i;
566
- }
567
- function ze(e, t, n = null) {
568
- for (let r = 0, i = t.length; r < i; r++) e.insertBefore(t[r], n);
569
- }
570
- function I(e, t, n, r) {
571
- if (n === void 0) return e.textContent = "";
572
- let i = r || document.createTextNode("");
573
- if (t.length) {
574
- let r = !1;
575
- for (let a = t.length - 1; a >= 0; a--) {
576
- let o = t[a];
577
- if (i !== o) {
578
- let t = o.parentNode === e;
579
- !r && !a ? t ? e.replaceChild(i, o) : e.insertBefore(i, n) : t && o.remove();
580
- } else r = !0;
581
- }
582
- } else e.insertBefore(i, n);
583
- return [i];
584
- }
585
- //#endregion
586
- //#region src/draw.ts
587
- var L = (e) => `M ${e.map((e) => `${e.x} ${e.y}`).join(" L ")} Z`, Be = () => typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches, Ve = Math.sqrt(3), He = (e) => `M${e.map((e) => `${Math.round(e.x * 100) / 100} ${Math.round(e.y * 100) / 100}`).join("L")}Z`;
588
- function Ue(e, t = {
589
- x: 0,
590
- y: 0
591
- }) {
592
- let n = e.x - t.x, r = e.y - t.y, i = [
593
- 0,
594
- 60,
595
- 120
596
- ].map((e) => {
597
- let t = e * Math.PI / 180;
598
- return Math.abs(n * Math.cos(t) + r * Math.sin(t));
599
- });
600
- return Math.max(...i) / (Ve / 2);
601
- }
602
- var We = /* @__PURE__ */ new Map();
603
- function Ge(e) {
604
- let t = We.get(e);
605
- if (t) return t;
606
- let n = 120 / e, r = n * Ve / 2, i = (e, t) => ({
607
- x: r * t,
608
- y: n * e + n / 2 * t
609
- }), a = [];
610
- for (let t = -2 * e; t <= 2 * e; t++) for (let n = -3 * e; n <= 3 * e; n++) for (let e of [0, 1]) {
611
- let r = e === 0 ? [
612
- i(n, t),
613
- i(n, t + 1),
614
- i(n + 1, t)
615
- ] : [
616
- i(n, t + 1),
617
- i(n + 1, t + 1),
618
- i(n + 1, t)
619
- ], o = {
620
- x: r.reduce((e, t) => e + t.x, 0) / 3 / 120,
621
- y: r.reduce((e, t) => e + t.y, 0) / 3 / 120
622
- };
623
- Ue(o) < .999 && a.push({
624
- corners: r,
625
- mid: o,
626
- i: n,
627
- j: t,
628
- k: e
629
- });
630
- }
631
- return We.set(e, a), a;
632
- }
633
- var R = 1 / 16, Ke = () => R * Ve / 2, qe = (e) => {
634
- let t = Math.round(e.x / Ke()), n = Math.round((e.y - R / 2 * t) / R);
635
- return {
636
- x: Ke() * t,
637
- y: R * n + R / 2 * t
638
- };
639
- }, z = (e, t) => (n) => Ue(n, qe(e)) < Math.max(1, Math.round(t / R)) * R - 1e-6, Je = (e, t, n) => (r) => ((r.x - e.x) / t) ** 2 + ((r.y - e.y) / n) ** 2 < 1, B = (e, t) => (n) => e.slice(1).some((r, i) => {
640
- let a = e[i], o = r.x - a.x, s = r.y - a.y, c = Math.max(0, Math.min(1, ((n.x - a.x) * o + (n.y - a.y) * s) / (o * o + s * s)));
641
- return Math.hypot(n.x - (a.x + c * o), n.y - (a.y + c * s)) < t;
642
- }), V = (e, t, n, r = 16) => Array.from({ length: r + 1 }, (i, a) => {
643
- let o = a / r, s = 1 - o;
644
- return {
645
- x: s * s * e.x + 2 * s * o * t.x + o * o * n.x,
646
- y: s * s * e.y + 2 * s * o * t.y + o * o * n.y
647
- };
648
- }), H = (...e) => (t) => e.every((e) => e(t)), Ye = (e) => (t) => !e(t), U = (...e) => (t) => e.some((e) => e(t)), Xe = (e) => (t) => {
649
- let n = e.map(qe);
650
- return n.slice(1).some((e, r) => {
651
- let i = n[r], a = e.x - i.x, o = e.y - i.y, s = ((t.x - i.x) * a + (t.y - i.y) * o) / (a * a + o * o);
652
- if (s < 0 || s > 1) return !1;
653
- let c = {
654
- x: t.x - (i.x + s * a),
655
- y: t.y - (i.y + s * o)
656
- };
657
- return (Math.abs(a) < 1e-9 ? c.x * Math.sign(i.x || 1) > 0 : c.y > 0) && Math.hypot(c.x, c.y) < Ke() * .999;
658
- });
659
- }, Ze = (e, t) => {
660
- let n = t * Math.tan(Math.PI / 6);
661
- return [
662
- {
663
- x: e.x - t,
664
- y: e.y - n
665
- },
666
- e,
667
- {
668
- x: e.x + t,
669
- y: e.y - n
670
- }
671
- ];
672
- }, W = (e) => U(e(-1), e(1)), Qe = -.18, G = .34, K = (e) => ({
673
- x: e * G,
674
- y: Qe
675
- }), $e = (e) => (t) => Math.hypot(t.x - e.x, t.y - e.y) < R * .58, q = (e, t, n = 0) => (r) => e({
676
- x: r.x - n * Ke(),
677
- y: r.y - t * R - n * R / 2
678
- }), et = (e, t, n = 0) => e.map(([e, r]) => [e, q(r, t, n)]), tt = (e, t, n = 0) => e > 0 && (e + n) % t < .16, J = (e, t) => e % t / t, nt = (e, t) => Math.floor(e / t) % 2, rt = (e, t = .04) => Xe(Ze({
679
- x: e * G,
680
- y: Qe + t
681
- }, .14)), it = (e, t) => U(z({
682
- x: e.x - .07 * t,
683
- y: e.y - .04 * t
684
- }, .09 * t), z({
685
- x: e.x + .07 * t,
686
- y: e.y - .04 * t
687
- }, .09 * t), (n) => n.y > e.y - .04 * t && n.y < e.y + .2 * t && Math.abs(n.x - e.x) < .16 * t * (1 - (n.y - e.y + .04 * t) / (.24 * t))), at = [
688
- {
689
- name: "Happy",
690
- idle: "Bobs, blinks, cheeks glow",
691
- at: (e) => {
692
- let t = tt(e, 3.4, 1), n = e > 0 && J(e, 2.4) < .5 ? .11 : .09;
693
- return et([
694
- ["ink", W((e) => t ? rt(e) : z(K(e), .15))],
695
- ["glint", W((e) => t ? () => !1 : $e({
696
- x: e * G + .05,
697
- y: -.22999999999999998
698
- }))],
699
- ["ink", B(V({
700
- x: -.4,
701
- y: .2
702
- }, {
703
- x: 0,
704
- y: .5
705
- }, {
706
- x: .4,
707
- y: .2
708
- }), .045)],
709
- ["blush", W((e) => z({
710
- x: e * .6,
711
- y: .1
712
- }, n))]
713
- ], e > 0 && J(e, 1.2) < .5 ? -1 : 0);
714
- }
715
- },
716
- {
717
- name: "Laughing",
718
- idle: "Shakes with each ha",
719
- at: (e) => {
720
- let t = e > 0 && J(e, 1.8) < .6 ? nt(e, .12) : 0, n = t ? .04 : 0;
721
- return et([
722
- ["ink", W((e) => B(V({
723
- x: e * G - .13,
724
- y: -.12
725
- }, {
726
- x: e * G,
727
- y: -.36
728
- }, {
729
- x: e * G + .13,
730
- y: -.12
731
- }), .04))],
732
- ["ink", H(Je({
733
- x: 0,
734
- y: .16
735
- }, .42, .36 + n), (e) => e.y > .16)],
736
- ["tongue", H(Je({
737
- x: 0,
738
- y: .16
739
- }, .42, .36 + n), Je({
740
- x: 0,
741
- y: .5 + n
742
- }, .22, .12))],
743
- ["glint", H(Je({
744
- x: 0,
745
- y: .16
746
- }, .42, .36), (e) => e.y > .16 && e.y < .22)],
747
- ["blush", W((e) => z({
748
- x: e * .62,
749
- y: .06
750
- }, .09))]
751
- ], -t);
752
- }
753
- },
754
- {
755
- name: "Sad",
756
- idle: "A tear runs down; the lip trembles",
757
- at: (e) => {
758
- let t = tt(e, 4.2, 2), n = .06 + (e > 0 ? J(e, 2) : 0) * .5, r = e > 0 ? nt(e, .2) : 0;
759
- return [
760
- ["ink", W((e) => t ? rt(e) : z(K(e), .13))],
761
- ["glint", W((e) => t ? () => !1 : $e({
762
- x: e * G + .04,
763
- y: -.22
764
- }))],
765
- ["ink", W((e) => B([{
766
- x: e * .52,
767
- y: -.36
768
- }, {
769
- x: e * .2,
770
- y: -.46
771
- }], .035))],
772
- ["ink", q(B(V({
773
- x: -.3,
774
- y: .46
775
- }, {
776
- x: 0,
777
- y: .18
778
- }, {
779
- x: .3,
780
- y: .46
781
- }), .04), r)],
782
- ["tear", U(z({
783
- x: -.34,
784
- y: n
785
- }, .06), z({
786
- x: -.34,
787
- y: n + .12
788
- }, .08))]
789
- ];
790
- }
791
- },
792
- {
793
- name: "Surprised",
794
- idle: "Eyes dart; brows jump",
795
- at: (e) => {
796
- let t = e > 0 ? [
797
- 0,
798
- -1,
799
- 0,
800
- 1
801
- ][Math.floor(J(e, 3.2) * 4)] : 0, n = e > 0 && J(e, 1.6) < .18 ? -1 : 0;
802
- return [
803
- ["ink", W((e) => H(z(K(e), .19), Ye(z(K(e), .14))))],
804
- ["ink", W((e) => q(z(K(e), .07), 0, t))],
805
- ["ink", W((e) => q(B(V({
806
- x: e * .52,
807
- y: -.42
808
- }, {
809
- x: e * .34,
810
- y: -.58
811
- }, {
812
- x: e * .16,
813
- y: -.44
814
- }), .035), n))],
815
- ["ink", H(z({
816
- x: 0,
817
- y: .36
818
- }, .17), Ye(z({
819
- x: 0,
820
- y: .36
821
- }, .09)))]
822
- ];
823
- }
824
- },
825
- {
826
- name: "Angry",
827
- idle: "Fumes and shakes",
828
- at: (e) => {
829
- let t = e > 0 && J(e, 2) < .4 ? nt(e, .07) ? 1 : -1 : 0, n = +(e > 0 && J(e, 2) > .5), r = e > 0 ? J(e, 1) : -1, i = [
830
- ["ink", W((e) => H(z(K(e), .15), (t) => t.y > -.26 + .4 * (-e * (t.x - e * G))))],
831
- ["ink", W((e) => q(B([{
832
- x: e * .58,
833
- y: -.44
834
- }, {
835
- x: e * .12,
836
- y: -.28
837
- }], .045), n))],
838
- ["ink", B(V({
839
- x: -.32,
840
- y: .42
841
- }, {
842
- x: 0,
843
- y: .3
844
- }, {
845
- x: .32,
846
- y: .42
847
- }), .045)]
848
- ];
849
- return r >= 0 && i.push(["tear", W((e) => z({
850
- x: e * (.5 + r * .04),
851
- y: -.46 - r * .14
852
- }, .05 + r * .03))]), et(i, 0, t);
853
- }
854
- },
855
- {
856
- name: "Worried",
857
- idle: "Sweats; glances about",
858
- at: (e) => {
859
- let t = e > 0 ? [
860
- 0,
861
- -1,
862
- -1,
863
- 0,
864
- 1,
865
- 1
866
- ][Math.floor(J(e, 3) * 6)] : 0, n = e > 0 ? J(e, 2.2) : 0, r = e > 0 && nt(e, .3) ? -1 : 1;
867
- return [
868
- ["ink", W((e) => q(z(K(e), .14), 0, t))],
869
- ["glint", W((e) => q($e({
870
- x: e * G + .04,
871
- y: -.22999999999999998
872
- }), 0, t))],
873
- ["ink", W((e) => B([{
874
- x: e * .54,
875
- y: -.38
876
- }, {
877
- x: e * .16,
878
- y: -.5
879
- }], .035))],
880
- ["ink", B(Array.from({ length: 9 }, (e, t) => ({
881
- x: -.4 + t * .1,
882
- y: .36 + (t % 2 == 0 ? .04 : -.04) * r
883
- })), .035)],
884
- ["tear", U(z({
885
- x: .66,
886
- y: -.46 + n * .3
887
- }, .06), z({
888
- x: .66,
889
- y: -.34 + n * .3
890
- }, .08))]
891
- ];
892
- }
893
- },
894
- {
895
- name: "Sleepy",
896
- idle: "Breathes in its bubble",
897
- at: (e) => {
898
- let t = e > 0 ? J(e, 3) : .3, n = t > .92, r = .13 + Math.sin(Math.PI * Math.min(1, t / .92)) * .09, i = e > 0 ? J(e, 2.4) : 0, a = [
899
- ["ink", W((e) => {
900
- let t = Ze({
901
- x: e * G,
902
- y: -.13
903
- }, .16), n = Math.tan(Math.PI / 6), r = (t, r) => {
904
- let i = e * (G + t), a = -.13 - t * n;
905
- return Xe([{
906
- x: i,
907
- y: a + .02
908
- }, {
909
- x: i,
910
- y: a + .02 + r
911
- }]);
912
- };
913
- return U(Xe(t), r(.04, .05), r(.09, .06), r(.14, .05));
914
- })],
915
- ["blush", W((e) => z({
916
- x: e * .56,
917
- y: .16
918
- }, .09))],
919
- ["ink", H(z({
920
- x: 0,
921
- y: .42
922
- }, .12), Ye(z({
923
- x: 0,
924
- y: .42
925
- }, .06)))],
926
- ["tear", U(z({
927
- x: .42,
928
- y: -.44 - i * .1
929
- }, .04), z({
930
- x: .5,
931
- y: -.58 - i * .1
932
- }, .06))]
933
- ];
934
- return n || a.push(["tear", H(z({
935
- x: .2,
936
- y: .18
937
- }, r), Ye(z({
938
- x: .2,
939
- y: .18
940
- }, r - .06)))]), a;
941
- }
942
- },
943
- {
944
- name: "Wink",
945
- idle: "Winks again",
946
- at: (e) => {
947
- let t = e > 0 && J(e, 2.6) > .7 && J(e, 2.6) < .85, n = e > 0 && J(e, 2.6) < .3 ? .11 : .09;
948
- return [
949
- ["ink", z(K(-1), .15)],
950
- ["glint", $e({
951
- x: -.34 + .05,
952
- y: -.22999999999999998
953
- })],
954
- t ? ["ink", z(K(1), .15)] : ["ink", B(V({
955
- x: .19000000000000003,
956
- y: Qe
957
- }, {
958
- x: G,
959
- y: -.3
960
- }, {
961
- x: .49,
962
- y: Qe
963
- }), .04)],
964
- ["ink", B(V({
965
- x: -.3,
966
- y: .32
967
- }, {
968
- x: .06,
969
- y: .5
970
- }, {
971
- x: .38,
972
- y: .22
973
- }), .045)],
974
- ["blush", z({
975
- x: .6,
976
- y: .1
977
- }, n)]
978
- ];
979
- }
980
- },
981
- {
982
- name: "Smitten",
983
- idle: "Hearts beat",
984
- at: (e) => {
985
- let t = e > 0 ? J(e, 1.1) : .9, n = t < .12 || t > .24 && t < .36 ? 1.3 : 1;
986
- return [["blush", W((e) => it({
987
- x: e * G,
988
- y: Qe
989
- }, n))], ["ink", B(V({
990
- x: -.34,
991
- y: .24
992
- }, {
993
- x: 0,
994
- y: .5
995
- }, {
996
- x: .34,
997
- y: .24
998
- }), .045)]];
999
- }
1000
- }
1001
- ], ot = (e, t) => {
1002
- let n = "plate";
1003
- for (let [r, i] of e) i(t) && (n = r);
1004
- return n;
1005
- }, st = (e) => e.k === 0 ? "right" : "left";
1006
- function ct(e, t, n) {
1007
- let r = Ge(t);
1008
- R = 1 / t;
1009
- let i = r.map((t) => ot(e, t.mid)), a = r.map(() => "top"), o = Math.max(1, Math.round(.035 / R)), s = (t, n) => ot(e, {
1010
- x: t.mid.x,
1011
- y: t.mid.y - n * R
1012
- });
1013
- return r.forEach((e, t) => {
1014
- let r = i[t];
1015
- if (n === "raised" && r === "plate") for (let n = 1; n <= o; n++) {
1016
- let r = s(e, n);
1017
- if (r !== "plate" && r !== "glint") {
1018
- i[t] = r, a[t] = st(e);
1019
- break;
1020
- }
1021
- }
1022
- else if (n === "carved" && r !== "plate" && r !== "glint") {
1023
- for (let n = 1; n <= o; n++) if (s(e, n) === "plate") {
1024
- a[t] = st(e);
1025
- break;
1026
- }
1027
- } else if (n === "cubes" && r !== "plate" && r !== "glint") {
1028
- let n = (e.k === 0 ? [
1029
- [e.i, e.j],
1030
- [e.i, e.j + 1],
1031
- [e.i + 1, e.j]
1032
- ] : [
1033
- [e.i, e.j + 1],
1034
- [e.i + 1, e.j + 1],
1035
- [e.i + 1, e.j]
1036
- ]).find(([e, t]) => ((t - e) % 3 + 3) % 3 == 0), r = {
1037
- x: Ve / 2 * R * n[1],
1038
- y: R * n[0] + R / 2 * n[1]
1039
- }, i = (Math.atan2(e.mid.x - r.x, -(e.mid.y - r.y)) * 180 / Math.PI + 360) % 360;
1040
- a[t] = i < 60 || i >= 300 ? "top" : i < 180 ? "right" : "left";
1041
- }
1042
- }), {
1043
- inks: i,
1044
- shades: a
1045
- };
1046
- }
1047
- function lt(e, t, n) {
1048
- let r = /* @__PURE__ */ new Map();
1049
- return e.forEach((e, i) => {
1050
- let a = t[i], o = n?.[i] ?? "top", s = `${a}:${o}`, c = r.get(s) ?? {
1051
- ink: a,
1052
- shade: o,
1053
- d: []
1054
- };
1055
- c.d.push(He(e.corners)), r.set(s, c);
1056
- }), [...r.values()].map((e) => ({
1057
- ink: e.ink,
1058
- shade: e.shade,
1059
- d: e.d.join("")
1060
- }));
1061
- }
1062
- //#endregion
1063
- //#region src/faceDrawing.tsx
1064
- var ut = /*#__PURE__*/ N("<svg><path class=facet></svg>", !1, !0, !1), dt = 16, ft = 1400, pt = 300, mt = 100;
1065
- function ht(e, t) {
1066
- let n = (e) => ({
1067
- x: e.x,
1068
- y: e.y - t
1069
- }), [, , r, i, a] = e;
1070
- return {
1071
- shade: He([
1072
- a,
1073
- i,
1074
- n(i),
1075
- n(a)
1076
- ]),
1077
- shadow: He([
1078
- i,
1079
- r,
1080
- n(r),
1081
- n(i)
1082
- ]),
1083
- top: He(e.map(n))
1084
- };
1085
- }
1086
- var gt = {
1087
- happy: "Happy",
1088
- content: "Happy",
1089
- asleep: "Sleepy",
1090
- sad: "Sad",
1091
- distressed: "Worried",
1092
- puzzled: "Surprised",
1093
- relieved: "Laughing"
1094
- }, _t = (e) => at.find((t) => t.name.toLowerCase() === e.trim().toLowerCase()), vt = (e) => _t(gt[e]) ?? at[0], yt = _t("Laughing");
1095
- function bt(e, t) {
1096
- let n = ct(e.at(t), dt, "raised");
1097
- return lt(Ge(dt), n.inks, n.shades);
1098
- }
1099
- function xt() {
1100
- let [e, t] = T(Be());
1101
- if (typeof window < "u" && typeof window.matchMedia == "function") {
1102
- let e = window.matchMedia("(prefers-reduced-motion: reduce)"), n = () => t(e.matches);
1103
- e.addEventListener("change", n), k(() => e.removeEventListener("change", n));
1104
- }
1105
- return e;
1106
- }
1107
- function St(e) {
1108
- let t = xt(), n = () => t() || (e.still?.() ?? !1), [r, i] = T(!1), a;
1109
- te(ne(e.pulse, (e, t) => {
1110
- t === void 0 || e === t || n() || (i(!0), clearTimeout(a), a = setTimeout(() => i(!1), ft));
1111
- }));
1112
- let [o, s] = T(0);
1113
- te(() => {
1114
- if (n()) {
1115
- s(0);
1116
- return;
1117
- }
1118
- if (!(e.shown?.() ?? !0)) return;
1119
- let t = performance.now() - O(o) * 1e3, r = performance.now(), i = requestAnimationFrame(function e(n) {
1120
- n - r >= mt && (r = n, s((n - t) / 1e3)), i = requestAnimationFrame(e);
1121
- });
1122
- k(() => cancelAnimationFrame(i));
1123
- }), k(() => clearTimeout(a));
1124
- let c = D(() => r() ? yt : e.expression()), l = D(() => bt(c(), o())), [u, d] = T(), f;
1125
- return te(ne(c, (e, t) => {
1126
- t && !n() && (d(bt(t, o())), clearTimeout(f), f = setTimeout(() => d(void 0), pt));
1127
- })), k(() => clearTimeout(f)), {
1128
- face: l,
1129
- leaving: u
1130
- };
1131
- }
1132
- function Ct(e) {
1133
- return M(Ae, {
1134
- get each() {
1135
- return e.drawing;
1136
- },
1137
- children: (e) => (() => {
1138
- var t = ut();
1139
- return E((n) => {
1140
- var r = e().ink, i = e().shade, a = e().d;
1141
- return r !== n.e && P(t, "data-ink", n.e = r), i !== n.t && P(t, "data-shade", n.t = i), a !== n.a && P(t, "d", n.a = a), n;
1142
- }, {
1143
- e: void 0,
1144
- t: void 0,
1145
- a: void 0
1146
- }), t;
1147
- })()
1148
- });
1149
- }
1150
- //#endregion
1151
- //#region src/elements/face.css?inline
1152
- var wt = ".face .plate-top{fill:var(--color-tree-raised);stroke:color-mix(in srgb, var(--color-tree-wood-0) 60%, var(--sky));stroke-width:var(--tree-rule-width);stroke-linejoin:round}.face .plate-shade{fill:color-mix(in srgb, var(--color-tree-wood-0) 45%, var(--sky))}.face .plate-shadow{fill:color-mix(in srgb, var(--color-tree-wood-0) 70%, var(--sky))}.face .facet{--ink:color-mix(in srgb, var(--color-tree-wood-0) 40%, var(--color-tree-ink));fill:var(--ink);stroke:var(--ink);stroke-width:var(--tree-rule-width);stroke-linejoin:round;vector-effect:non-scaling-stroke}.face .facet[data-ink=plate]{fill:none;stroke:color-mix(in srgb, var(--color-tree-wood-0) 14%, var(--color-tree-raised))}.face .facet[data-ink=glint]{--ink:var(--color-tree-raised)}.face .facet[data-ink=blush]{--ink:color-mix(in srgb, var(--color-tree-alert) 55%, var(--color-tree-raised))}.face .facet[data-ink=tear]{--ink:var(--color-tree-wood-2)}.face .facet[data-ink=tongue]{--ink:color-mix(in srgb, var(--color-tree-alert) 75%, var(--color-tree-raised))}.face .facet[data-shade=left]{fill:color-mix(in srgb, var(--ink) 72%, var(--color-tree-ink));stroke:color-mix(in srgb, var(--ink) 72%, var(--color-tree-ink))}.face .facet[data-shade=right]{fill:color-mix(in srgb, var(--ink) 48%, var(--color-tree-ink));stroke:color-mix(in srgb, var(--ink) 48%, var(--color-tree-ink))}.face .facet[data-ink=ink][data-shade=top]{fill:color-mix(in srgb, var(--color-tree-wood-0) 70%, var(--color-tree-ink));stroke:color-mix(in srgb, var(--color-tree-wood-0) 70%, var(--color-tree-ink))}.face .facet[data-ink=ink][data-shade=left]{fill:color-mix(in srgb, var(--color-tree-wood-0) 35%, var(--color-tree-ink));stroke:color-mix(in srgb, var(--color-tree-wood-0) 35%, var(--color-tree-ink))}.face .facet[data-ink=ink][data-shade=right]{fill:var(--color-tree-ink);stroke:var(--color-tree-ink)}.face .face-leaving{animation:.3s ease-in forwards face-sink}@keyframes face-sink{to{opacity:0;transform:translateY(var(--space-tree-2))}}@media (prefers-reduced-motion:reduce){.face .face-leaving{animation:none}}", Tt = ":root{--color-primary:#6f9584;--color-secondary:#55524b;--color-neutral:#f7f5f0;--color-surface:var(--color-neutral);--color-on-surface:#2b2a27;--color-on-surface-muted:var(--color-secondary);--color-edge:var(--color-neutral);--color-error:#b3261e;--color-depth-0:#c9d6cf;--color-depth-1:#b7c9c0;--color-depth-2:#a5bcb1;--color-depth-3:#93afa2;--color-depth-4:#81a293;--color-depth-5:var(--color-primary);--color-cell-empty:#e4ebe6;--color-tree-sky:#f4f4f0;--color-tree-earth:#2a302c;--color-tree-topsoil:#1f2522;--color-tree-raised:#fff;--color-tree-ink:#1e2219;--color-tree-ink-soft:#565c50;--color-tree-rule:#cfd1c9;--color-tree-on-ink:#f7f6f0;--color-tree-ink-under:#e8eae2;--color-tree-ink-under-soft:#b4bbae;--color-tree-rule-under:#414945;--color-tree-raised-under:#343b37;--color-tree-alert:#a3441e;--color-tree-wood-0:#705f4a;--color-tree-wood-1:#9a7b3c;--color-tree-wood-2:#566c78;--color-tree-wood-3:#6f5873;--color-tree-wood-4:#5f7a57;--color-tree-wood-under-0:#b5a48e;--color-tree-wood-under-1:#d4b26a;--color-tree-wood-under-2:#97b2c0;--color-tree-wood-under-3:#b79bbe;--color-tree-wood-under-4:#9dbb94;--color-tree-leaf:#546d41;--color-tree-leaf-under:#9dbb94;--color-tree-olive:#3e3348;--color-tree-olive-under:#b7a9cf;--color-tree-shadow:#00000040;--color-tree-lattice-sky:#1e22190d;--color-tree-lattice-earth:#e8eae20f;--font-body:400 15px/1.5 Atkinson Hyperlegible Next Variable, system-ui, sans-serif;--font-body-family:Atkinson Hyperlegible Next Variable, system-ui, sans-serif;--font-body-size:15px;--font-body-weight:400;--font-body-leading:1.5;--font-goal:600 15px/1.3 Atkinson Hyperlegible Next Variable, system-ui, sans-serif;--font-goal-family:Atkinson Hyperlegible Next Variable, system-ui, sans-serif;--font-goal-size:15px;--font-goal-weight:600;--font-goal-leading:1.3;--font-label:400 14px/1.3 Atkinson Hyperlegible Next Variable, system-ui, sans-serif;--font-label-family:Atkinson Hyperlegible Next Variable, system-ui, sans-serif;--font-label-size:14px;--font-label-weight:400;--font-label-leading:1.3;--font-excerpt:400 13px/1.4 Atkinson Hyperlegible Next Variable, system-ui, sans-serif;--font-excerpt-family:Atkinson Hyperlegible Next Variable, system-ui, sans-serif;--font-excerpt-size:13px;--font-excerpt-weight:400;--font-excerpt-leading:1.4;--font-tree-body:400 .8125rem/1.5 Roboto Mono Variable, Menlo, monospace;--font-tree-body-family:Roboto Mono Variable, Menlo, monospace;--font-tree-body-size:.8125rem;--font-tree-body-weight:400;--font-tree-body-leading:1.5;--font-tree-tight:400 .8125rem/1.1 Roboto Mono Variable, Menlo, monospace;--font-tree-tight-family:Roboto Mono Variable, Menlo, monospace;--font-tree-tight-size:.8125rem;--font-tree-tight-weight:400;--font-tree-tight-leading:1.1;--font-tree-small:400 .75rem Roboto Mono Variable, Menlo, monospace;--font-tree-small-family:Roboto Mono Variable, Menlo, monospace;--font-tree-small-size:.75rem;--font-tree-small-weight:400;--font-tree-lead:400 .875rem Roboto Mono Variable, Menlo, monospace;--font-tree-lead-family:Roboto Mono Variable, Menlo, monospace;--font-tree-lead-size:.875rem;--font-tree-lead-weight:400;--font-tree-title:400 1rem Roboto Mono Variable, Menlo, monospace;--font-tree-title-family:Roboto Mono Variable, Menlo, monospace;--font-tree-title-size:1rem;--font-tree-title-weight:400;--font-tree-italic:400 .8125rem Victor Mono Variable, Menlo, monospace;--font-tree-italic-family:Victor Mono Variable, Menlo, monospace;--font-tree-italic-size:.8125rem;--font-tree-italic-weight:400;--font-tree-voice:600 1.125rem/1.2 Roboto Mono Variable, Menlo, monospace;--font-tree-voice-family:Roboto Mono Variable, Menlo, monospace;--font-tree-voice-size:1.125rem;--font-tree-voice-weight:600;--font-tree-voice-leading:1.2;--font-tree-voice-lead:600 .9375rem Roboto Mono Variable, Menlo, monospace;--font-tree-voice-lead-family:Roboto Mono Variable, Menlo, monospace;--font-tree-voice-lead-size:.9375rem;--font-tree-voice-lead-weight:600;--font-tree-label:400 12px Roboto Mono Variable, Menlo, monospace;--font-tree-label-family:Roboto Mono Variable, Menlo, monospace;--font-tree-label-size:12px;--font-tree-label-weight:400;--font-tree-heading:400 12px Roboto Mono Variable, Menlo, monospace;--font-tree-heading-family:Roboto Mono Variable, Menlo, monospace;--font-tree-heading-size:12px;--font-tree-heading-weight:400;--font-tree-section:400 14px Roboto Mono Variable, Menlo, monospace;--font-tree-section-family:Roboto Mono Variable, Menlo, monospace;--font-tree-section-size:14px;--font-tree-section-weight:400;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-tree-1:.25rem;--space-tree-2:.5rem;--space-tree-3:.75rem;--space-tree-4:1rem;--space-tree-5:1.5rem;--space-tree-6:2.5rem;--space-tree-7:4rem;--radius-tree:.375rem;--canvas-background-color:var(--color-surface);--canvas-text-color:var(--color-on-surface);--canvas-typography:var(--font-body);--canvas-padding:var(--space-md);--goal-background-color:var(--color-surface);--goal-text-color:var(--color-on-surface);--goal-typography:var(--font-goal);--goal-padding:var(--space-sm);--goal-base-edge-width:225px;--corner-text-color:var(--color-on-surface);--corner-typography:var(--font-label);--corner-padding:var(--space-sm);--corner-excerpt-text-color:var(--color-on-surface-muted);--corner-excerpt-typography:var(--font-excerpt);--depth-0-background-color:var(--color-depth-0);--depth-1-background-color:var(--color-depth-1);--depth-2-background-color:var(--color-depth-2);--depth-3-background-color:var(--color-depth-3);--depth-4-background-color:var(--color-depth-4);--depth-5-background-color:var(--color-depth-5);--cell-empty-background-color:var(--color-cell-empty);--triangle-edge-background-color:var(--color-edge);--triangle-edge-width:1.5px;--selection-ring-background-color:var(--color-on-surface-muted);--selection-ring-width:1.5px;--hex-width:320px;--breadcrumb-background-color:var(--color-surface);--breadcrumb-text-color:var(--color-on-surface-muted);--breadcrumb-typography:var(--font-body);--breadcrumb-padding:var(--space-md);--breadcrumb-error-background-color:var(--color-surface);--breadcrumb-error-text-color:var(--color-error);--tree-column-width:26rem;--tree-measure-width:34rem;--tree-drawing-width:790px;--tree-sheet-height:70dvh;--tree-sheet-small-height:9rem;--tree-swatch-width:4rem;--tree-swatch-height:1.5rem;--tree-todo-height:26px;--tree-select-height:2rem;--tree-target-size:2.75rem;--tree-icon-target-size:2.5rem;--tree-row-icon-size:1.5rem;--tree-rootrow-box-size:40px;--tree-marker-size:.4rem;--tree-dot-size:.5rem;--tree-legend-inset-width:240px;--tree-legend-inset-narrow-width:128px;--tree-root-name-width:280px;--tree-count-width:104px;--tree-count-narrow-width:44px;--tree-comb-over-width:26px;--tree-topsoil-height:10px;--tree-rule-width:1px;--tree-rule-thick-width:3px;--tree-rule-thicker-width:6px;--tree-ground-line-width:1.5px;--tree-sprig-width:1.4px;--tree-halo-width:4px;--tree-focus-width:2px;--tree-focus-offset-width:2px;--tree-paper-background-color:var(--color-tree-sky);--tree-paper-text-color:var(--color-tree-ink);--tree-paper-soft-background-color:var(--color-tree-sky);--tree-paper-soft-text-color:var(--color-tree-ink-soft);--tree-box-background-color:var(--color-tree-raised);--tree-box-text-color:var(--color-tree-ink);--tree-toast-background-color:var(--color-tree-ink);--tree-toast-text-color:var(--color-tree-on-ink);--tree-alert-background-color:var(--color-tree-sky);--tree-alert-text-color:var(--color-tree-alert);--tree-ground-background-color:var(--color-tree-earth);--tree-ground-text-color:var(--color-tree-ink-under);--tree-ground-soft-background-color:var(--color-tree-earth);--tree-ground-soft-text-color:var(--color-tree-ink-under-soft);--tree-ground-box-background-color:var(--color-tree-raised-under);--tree-ground-box-text-color:var(--color-tree-ink-under);--tree-ground-topsoil-background-color:var(--color-tree-topsoil);--tree-ground-topsoil-text-color:var(--color-tree-ink-under);--tree-wood-0-background-color:var(--color-tree-sky);--tree-wood-0-text-color:var(--color-tree-wood-0);--tree-wood-1-background-color:var(--color-tree-sky);--tree-wood-1-text-color:var(--color-tree-wood-1);--tree-wood-2-background-color:var(--color-tree-sky);--tree-wood-2-text-color:var(--color-tree-wood-2);--tree-wood-3-background-color:var(--color-tree-sky);--tree-wood-3-text-color:var(--color-tree-wood-3);--tree-wood-4-background-color:var(--color-tree-sky);--tree-wood-4-text-color:var(--color-tree-wood-4);--tree-wood-under-0-background-color:var(--color-tree-earth);--tree-wood-under-0-text-color:var(--color-tree-wood-under-0);--tree-wood-under-1-background-color:var(--color-tree-earth);--tree-wood-under-1-text-color:var(--color-tree-wood-under-1);--tree-wood-under-2-background-color:var(--color-tree-earth);--tree-wood-under-2-text-color:var(--color-tree-wood-under-2);--tree-wood-under-3-background-color:var(--color-tree-earth);--tree-wood-under-3-text-color:var(--color-tree-wood-under-3);--tree-wood-under-4-background-color:var(--color-tree-earth);--tree-wood-under-4-text-color:var(--color-tree-wood-under-4);--tree-leaf-background-color:var(--color-tree-sky);--tree-leaf-text-color:var(--color-tree-leaf);--tree-leaf-under-background-color:var(--color-tree-earth);--tree-leaf-under-text-color:var(--color-tree-leaf-under);--tree-olive-background-color:var(--color-tree-sky);--tree-olive-text-color:var(--color-tree-olive);--tree-olive-under-background-color:var(--color-tree-earth);--tree-olive-under-text-color:var(--color-tree-olive-under);--tree-rule-line-background-color:var(--color-tree-rule);--tree-rule-under-background-color:var(--color-tree-rule-under);--tree-toast-shadow-background-color:var(--color-tree-shadow);--tree-lattice-sky-background-color:var(--color-tree-lattice-sky);--tree-lattice-earth-background-color:var(--color-tree-lattice-earth);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--color-surface:#1b1c1e;--color-on-surface:#e6e4df;--color-on-surface-muted:#aeaba3;--color-edge:#1b1c1e;--color-error:#f2b8b5;--color-depth-0:#2e3a35;--color-depth-1:#34433c;--color-depth-2:#3a4c44;--color-depth-3:#40554b;--color-depth-4:#465e53;--color-depth-5:#4c675a;--color-cell-empty:#232a27;--color-tree-sky:#1a1e21;--color-tree-earth:#0c0f0e;--color-tree-topsoil:#060807;--color-tree-raised:#22272a;--color-tree-ink:#e6e7de;--color-tree-ink-soft:#a6ab9f;--color-tree-rule:#353a38;--color-tree-on-ink:#131513;--color-tree-ink-under:#e6e7de;--color-tree-ink-under-soft:#a6ab9f;--color-tree-rule-under:#2a302d;--color-tree-raised-under:#1e2224;--color-tree-alert:#f09a74;--color-tree-wood-0:#a3907b;--color-tree-wood-1:#c9a65c;--color-tree-wood-2:#8aa5b3;--color-tree-wood-3:#a98db0;--color-tree-wood-4:#8fae86;--color-tree-wood-under-0:#a3907b;--color-tree-wood-under-1:#c9a65c;--color-tree-wood-under-2:#8aa5b3;--color-tree-wood-under-3:#a98db0;--color-tree-wood-under-4:#8fae86;--color-tree-leaf:#8aa373;--color-tree-leaf-under:#8aa373;--color-tree-olive:#9b8db5;--color-tree-olive-under:#9b8db5;--color-tree-shadow:#00000040;--color-tree-lattice-sky:#e6e7de0d;--color-tree-lattice-earth:#e6e7de0d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}", Et = ":host{--sky:var(--color-tree-sky);vertical-align:middle;display:inline-block}:host([hidden]){display:none}svg{display:block;overflow:visible}", Dt = typeof HTMLElement > "u" ? class {} : HTMLElement, Ot = Tt.replaceAll(":root", ":host");
1153
- function kt(e) {
1154
- let t;
1155
- return () => (t || (t = new CSSStyleSheet(), t.replaceSync(`${Ot}\n${Et}\n${e}`)), t);
1156
- }
1157
- function At(e, t, n = e) {
1158
- if (typeof customElements > "u") return;
1159
- let r = customElements.get(n);
1160
- r ? r !== t && !(r.prototype instanceof t) && console.warn(`<${n}> is already defined by another element; define ${e} as another name`) : customElements.define(n, n === e ? t : class extends t {});
1161
- }
1162
- var Y = (e, t) => {
1163
- let n = typeof e == "number" ? e : Number.parseFloat(String(e ?? ""));
1164
- return Number.isFinite(n) ? n : t;
1165
- }, jt = (e) => typeof e == "boolean" ? e : e != null && e !== "false", Mt = class extends Dt {
1166
- dispose;
1167
- connectedCallback() {
1168
- for (let e of this.inputs) if (Object.hasOwn(this, e)) {
1169
- let t = Reflect.get(this, e);
1170
- Reflect.deleteProperty(this, e), Reflect.set(this, e, t);
1171
- }
1172
- if (this.dispose) return;
1173
- let e = this.shadowRoot ?? this.attachShadow({ mode: "open" });
1174
- e.adoptedStyleSheets = [this.sheet()], this.dispose = Fe(() => this.draw(), e);
1175
- }
1176
- disconnectedCallback() {
1177
- queueMicrotask(() => {
1178
- this.isConnected || (this.dispose?.(), this.dispose = void 0);
1179
- });
1180
- }
1181
- tell(e, t) {
1182
- this.dispatchEvent(new CustomEvent(e, {
1183
- detail: t,
1184
- bubbles: !0,
1185
- composed: !0
1186
- }));
1187
- }
1188
- }, Nt = /*#__PURE__*/ N("<svg class=face part=face><path class=plate-shade></path><path class=plate-shadow></path><path class=plate-top></path><g transform=\"translate(0 -10)\"><g>"), Pt = /*#__PURE__*/ N("<svg><g class=face-leaving></svg>", !1, !0, !1), Ft = "lattice-face", It = Object.keys(gt), Lt = (e) => It.includes(e), Rt = 10, zt = 2, X = 120 * Ve / 2, Bt = ht([
1189
- {
1190
- x: 0,
1191
- y: -120
1192
- },
1193
- {
1194
- x: X,
1195
- y: -60
1196
- },
1197
- {
1198
- x: X,
1199
- y: 60
1200
- },
1201
- {
1202
- x: 0,
1203
- y: 120
1204
- },
1205
- {
1206
- x: -X,
1207
- y: 60
1208
- },
1209
- {
1210
- x: -X,
1211
- y: -60
1212
- }
1213
- ], Rt), Z = {
1214
- x: -X - zt,
1215
- y: -120 - Rt - zt,
1216
- width: 2 * (X + zt),
1217
- height: 240 + Rt + 4
1218
- }, Vt = kt(`${wt}\n.plate-top { vector-effect: non-scaling-stroke; }`), Ht = class e extends Mt {
1219
- static observedAttributes = [
1220
- "mood",
1221
- "expression",
1222
- "pulse",
1223
- "still",
1224
- "size",
1225
- "label",
1226
- "decorative"
1227
- ];
1228
- inputs = e.observedAttributes;
1229
- moodSignal = T("happy");
1230
- expressionSignal = T("");
1231
- pulseSignal = T(0);
1232
- stillSignal = T(!1);
1233
- sizeSignal = T(96);
1234
- labelSignal = T("");
1235
- decorativeSignal = T(!1);
1236
- get mood() {
1237
- return this.moodSignal[0]();
1238
- }
1239
- set mood(e) {
1240
- let t = String(e ?? "").toLowerCase();
1241
- this.moodSignal[1](Lt(t) ? t : "happy");
1242
- }
1243
- get expression() {
1244
- return this.expressionSignal[0]();
1245
- }
1246
- set expression(e) {
1247
- this.expressionSignal[1](String(e ?? ""));
1248
- }
1249
- get pulse() {
1250
- return this.pulseSignal[0]();
1251
- }
1252
- set pulse(e) {
1253
- this.pulseSignal[1](Y(e, 0));
1254
- }
1255
- get still() {
1256
- return this.stillSignal[0]();
1257
- }
1258
- set still(e) {
1259
- this.stillSignal[1](jt(e));
1260
- }
1261
- get size() {
1262
- return this.sizeSignal[0]();
1263
- }
1264
- set size(e) {
1265
- this.sizeSignal[1](Math.max(1, Y(e, 96)));
1266
- }
1267
- get label() {
1268
- return this.labelSignal[0]();
1269
- }
1270
- set label(e) {
1271
- this.labelSignal[1](String(e ?? ""));
1272
- }
1273
- get decorative() {
1274
- return this.decorativeSignal[0]();
1275
- }
1276
- set decorative(e) {
1277
- this.decorativeSignal[1](jt(e));
1278
- }
1279
- attributeChangedCallback(e, t, n) {
1280
- e === "still" || e === "decorative" ? Reflect.set(this, e, n) : Reflect.set(this, e, n ?? "");
1281
- }
1282
- sheet() {
1283
- return Vt();
1284
- }
1285
- draw() {
1286
- let e = D(() => _t(this.expression) ?? vt(this.mood)), [t, n] = T(!0);
1287
- if (typeof IntersectionObserver < "u") {
1288
- let e = new IntersectionObserver((e) => {
1289
- let t = e.at(-1);
1290
- t && n(t.isIntersecting);
1291
- });
1292
- e.observe(this), k(() => e.disconnect());
1293
- }
1294
- let { face: r, leaving: i } = St({
1295
- expression: e,
1296
- pulse: () => this.pulse,
1297
- still: () => this.still,
1298
- shown: t
1299
- }), a = () => this.label || `A ${e().name.toLowerCase()} face`, o = this;
1300
- return (() => {
1301
- var e = Nt(), t = e.firstChild, n = t.nextSibling, s = n.nextSibling, c = s.nextSibling, l = c.firstChild;
1302
- return F(c, M(je, {
1303
- get when() {
1304
- return i();
1305
- },
1306
- children: (e) => (() => {
1307
- var t = Pt();
1308
- return F(t, M(Ct, { get drawing() {
1309
- return e();
1310
- } })), t;
1311
- })()
1312
- }), l), F(l, M(Ct, { get drawing() {
1313
- return r();
1314
- } })), E((r) => {
1315
- var i = o.size, c = o.size * Z.height / Z.width, l = `${Z.x} ${Z.y} ${Z.width} ${Z.height}`, u = o.decorative ? void 0 : "img", d = o.decorative ? void 0 : a(), f = o.decorative ? "true" : void 0, p = Bt.shade, m = Bt.shadow, h = Bt.top;
1316
- return i !== r.e && P(e, "width", r.e = i), c !== r.t && P(e, "height", r.t = c), l !== r.a && P(e, "viewBox", r.a = l), u !== r.o && P(e, "role", r.o = u), d !== r.i && P(e, "aria-label", r.i = d), f !== r.n && P(e, "aria-hidden", r.n = f), p !== r.s && P(t, "d", r.s = p), m !== r.h && P(n, "d", r.h = m), h !== r.r && P(s, "d", r.r = h), r;
1317
- }, {
1318
- e: void 0,
1319
- t: void 0,
1320
- a: void 0,
1321
- o: void 0,
1322
- i: void 0,
1323
- n: void 0,
1324
- s: void 0,
1325
- h: void 0,
1326
- r: void 0
1327
- }), e;
1328
- })();
1329
- }
1330
- }, Ut = (e) => At(Ft, Ht, e), Wt = /*#__PURE__*/ N("<svg class=mark-shears viewBox=\"0 0 16 16\"aria-hidden=true><path class=shears-blade part=shears-blade></path><path class=shears-blade part=shears-blade></path><path class=shears-handle part=shears-handle></path><path class=shears-handle part=shears-handle>"), Gt = /*#__PURE__*/ N("<svg class=mark-done viewBox=\"0 0 16 16\"aria-hidden=true><path class=done-cell part=done-cell></path><path class=done-check part=done-check d=\"M 4.3 8.4 L 7 9.96 L 11.8 7.19\">"), Kt = (e, t, n) => {
1331
- let r = n * Math.sqrt(3) / 2;
1332
- return [
1333
- {
1334
- x: e,
1335
- y: t - n
1336
- },
1337
- {
1338
- x: e + r,
1339
- y: t - n / 2
1340
- },
1341
- {
1342
- x: e + r,
1343
- y: t + n / 2
1344
- },
1345
- {
1346
- x: e,
1347
- y: t + n
1348
- },
1349
- {
1350
- x: e - r,
1351
- y: t + n / 2
1352
- },
1353
- {
1354
- x: e - r,
1355
- y: t - n / 2
1356
- }
1357
- ];
1358
- };
1359
- function qt() {
1360
- let e = (e, t) => [
1361
- e,
1362
- {
1363
- x: e.x + t * 8.66,
1364
- y: e.y - 5
1365
- },
1366
- {
1367
- x: e.x + t * 8.66,
1368
- y: e.y - 6.6
1369
- },
1370
- {
1371
- x: e.x,
1372
- y: e.y - 1.6
1373
- }
1374
- ];
1375
- return (() => {
1376
- var t = Wt(), n = t.firstChild, r = n.nextSibling, i = r.nextSibling, a = i.nextSibling;
1377
- return E((t) => {
1378
- var o = L(e({
1379
- x: 4.6,
1380
- y: 10
1381
- }, 1)), s = L(e({
1382
- x: 11.4,
1383
- y: 10
1384
- }, -1)), c = L(Kt(4.6, 12.6, 2.6)), l = L(Kt(11.4, 12.6, 2.6));
1385
- return o !== t.e && P(n, "d", t.e = o), s !== t.t && P(r, "d", t.t = s), c !== t.a && P(i, "d", t.a = c), l !== t.o && P(a, "d", t.o = l), t;
1386
- }, {
1387
- e: void 0,
1388
- t: void 0,
1389
- a: void 0,
1390
- o: void 0
1391
- }), t;
1392
- })();
1393
- }
1394
- function Jt() {
1395
- return (() => {
1396
- var e = Gt(), t = e.firstChild;
1397
- return E(() => P(t, "d", L(Kt(8, 8, 7)))), e;
1398
- })();
1399
- }
1400
- //#endregion
1401
- //#region src/elements/icon.css?inline
1402
- var Yt = ":host{width:var(--lattice-icon-size,var(--space-tree-4));height:var(--lattice-icon-size,var(--space-tree-4))}span{width:100%;height:100%;display:block}svg{width:100%;height:100%}.mark-shears,.mark-done{stroke:currentColor;stroke-width:1.3px;stroke-linejoin:miter}.shears-blade{fill:currentColor}.shears-handle,.done-cell,.done-check{fill:none}.done-check{stroke-width:1.6px}", Xt = /*#__PURE__*/ N("<span part=icon>"), Zt = /*#__PURE__*/ N("<span part=icon role=img>"), Qt = "lattice-icon", $t = ["shears", "done"], en = kt(Yt), tn = class e extends Mt {
1403
- static observedAttributes = ["name", "label"];
1404
- inputs = e.observedAttributes;
1405
- nameSignal = T("shears");
1406
- labelSignal = T("");
1407
- get name() {
1408
- return this.nameSignal[0]();
1409
- }
1410
- set name(e) {
1411
- this.nameSignal[1](String(e ?? "").toLowerCase() === "done" ? "done" : "shears");
1412
- }
1413
- get label() {
1414
- return this.labelSignal[0]();
1415
- }
1416
- set label(e) {
1417
- this.labelSignal[1](String(e ?? ""));
1418
- }
1419
- attributeChangedCallback(e, t, n) {
1420
- Reflect.set(this, e, n ?? "");
1421
- }
1422
- sheet() {
1423
- return en();
1424
- }
1425
- draw() {
1426
- let e = () => {
1427
- let e = this;
1428
- return M(Me, { get children() {
1429
- return [M(Ne, {
1430
- get when() {
1431
- return e.name === "done";
1432
- },
1433
- get children() {
1434
- return M(Jt, {});
1435
- }
1436
- }), M(Ne, {
1437
- get when() {
1438
- return e.name === "shears";
1439
- },
1440
- get children() {
1441
- return M(qt, {});
1442
- }
1443
- })];
1444
- } });
1445
- }, t = this;
1446
- return M(je, {
1447
- get when() {
1448
- return t.label;
1449
- },
1450
- get fallback() {
1451
- return (() => {
1452
- var t = Xt();
1453
- return F(t, e), t;
1454
- })();
1455
- },
1456
- children: (t) => (() => {
1457
- var n = Zt();
1458
- return F(n, e), E(() => P(n, "aria-label", t())), n;
1459
- })()
1460
- });
1461
- }
1462
- }, nn = (e) => At(Qt, tn, e), rn = ".shape .flat-top{fill:color-mix(in srgb, var(--wood) 28%, var(--sky));stroke:color-mix(in srgb, var(--wood) 55%, var(--sky));stroke-width:var(--tree-rule-width);stroke-linejoin:round;vector-effect:non-scaling-stroke}.shape .flat-top[data-tone=\"5\"],.shape .flat-top[data-tone=\"6\"]{fill:var(--wood)}.shape .flat-top[data-tone=\"7\"]{fill:var(--color-tree-raised)}.shape .flat-shade{fill:color-mix(in srgb, var(--wood) 70%, var(--sky))}.shape .flat-shadow{fill:var(--wood)}.shape .seams{fill:none;stroke:color-mix(in srgb, var(--color-tree-ink) 18%, transparent);stroke-width:var(--tree-rule-width);stroke-linecap:round;vector-effect:non-scaling-stroke}", an = 8, Q = (e, t, n) => ({
1463
- kind: "cell",
1464
- at: {
1465
- q: e,
1466
- r: t
1467
- },
1468
- tone: n
1469
- }), $ = (e, t, n, r) => ({
1470
- kind: "tri",
1471
- at: {
1472
- i: e,
1473
- j: t,
1474
- k: n
1475
- },
1476
- tone: r
1477
- }), on = [
1478
- {
1479
- q: 1,
1480
- r: 0
1481
- },
1482
- {
1483
- q: 0,
1484
- r: 1
1485
- },
1486
- {
1487
- q: -1,
1488
- r: 1
1489
- },
1490
- {
1491
- q: -1,
1492
- r: 0
1493
- },
1494
- {
1495
- q: 0,
1496
- r: -1
1497
- },
1498
- {
1499
- q: 1,
1500
- r: -1
1501
- }
1502
- ], sn = {
1503
- cell: (e) => [Q(0, 0, e)],
1504
- pair: (e) => [Q(0, 0, e), Q(1, 0, e)],
1505
- line: (e) => [
1506
- Q(-1, 0, e),
1507
- Q(0, 0, e),
1508
- Q(1, 0, e)
1509
- ],
1510
- flower: (e) => [Q(0, 0, e), ...on.map((t) => Q(t.q, t.r, e))],
1511
- triangle: (e) => [$(0, 0, 0, e)],
1512
- diamond: (e) => [$(0, 0, 0, e), $(0, 0, 1, e)],
1513
- trapezoid: (e) => [
1514
- $(0, 0, 0, e),
1515
- $(0, 0, 1, e),
1516
- $(0, 1, 0, e)
1517
- ],
1518
- "big-triangle": (e) => [
1519
- $(0, 0, 0, e),
1520
- $(0, 1, 0, e),
1521
- $(1, 0, 0, e),
1522
- $(0, 0, 1, e)
1523
- ],
1524
- hexagon: (t) => e({
1525
- q: 0,
1526
- r: 0
1527
- }).map((e) => $(e.i, e.j, e.k, t))
1528
- }, cn = Object.keys(sn), ln = (e) => Math.min(7, Math.max(0, Math.round(Number.isFinite(e) ? e : 0))), un = (e) => typeof e == "number" && Number.isInteger(e), dn = !1, fn = (e) => {
1529
- dn || (dn = !0, console.warn(`<lattice-shape> parts is not JSON (${e.slice(0, 40)}): set parts as a property, and define the elements before the page first draws them`));
1530
- };
1531
- function pn(e, t) {
1532
- let n = e;
1533
- if (typeof n == "string") try {
1534
- n = JSON.parse(n);
1535
- } catch {
1536
- return fn(n), [];
1537
- }
1538
- return Array.isArray(n) ? n.flatMap((e) => {
1539
- if (typeof e != "object" || !e) return [];
1540
- let { kind: n, at: r, tone: i } = e, a = ln(typeof i == "number" ? i : t);
1541
- return n === "cell" && r && un(r.q) && un(r.r) ? [Q(r.q, r.r, a)] : n === "tri" && r && un(r.i) && un(r.j) && (r.k === 0 || r.k === 1) ? [$(r.i, r.j, r.k, a)] : [];
1542
- }) : [];
1543
- }
1544
- function mn(e, t, n = 2) {
1545
- if (e.length === 0) return {
1546
- faces: [],
1547
- seams: "",
1548
- box: {
1549
- x: 0,
1550
- y: 0,
1551
- width: 0,
1552
- height: 0
1553
- }
1554
- };
1555
- let c = s("shape", e), l = o(c).flatMap((e) => a(e).map(r)), u = l.map((e) => e.x), d = l.map((e) => e.y), f = Math.min(...u) - n, p = Math.min(...d) - t - n, m = {
1556
- x: f,
1557
- y: p,
1558
- width: Math.max(...u) + n - f,
1559
- height: Math.max(...d) + n - p
1560
- };
1561
- return {
1562
- ...i(c, t),
1563
- box: m
1564
- };
1565
- }
1566
- //#endregion
1567
- //#region src/elements/woods.css?inline
1568
- var hn = ".woods [data-tone]{--wood:var(--color-tree-wood-0)}.woods [data-tone=\"1\"]{--wood:var(--color-tree-wood-1)}.woods [data-tone=\"2\"]{--wood:var(--color-tree-wood-2)}.woods [data-tone=\"3\"]{--wood:var(--color-tree-wood-3)}.woods [data-tone=\"4\"]{--wood:var(--color-tree-wood-4)}.woods [data-tone=\"5\"],.woods [data-tone=\"7\"]{--wood:var(--color-tree-olive)}", gn = /*#__PURE__*/ N("<svg class=\"shape woods\"part=shape><path class=seams>"), _n = /*#__PURE__*/ N("<svg><path></svg>", !1, !0, !1), vn = "lattice-shape", yn = (e) => Object.hasOwn(sn, e), bn = kt(`${hn}\n${rn}`), xn = class e extends Mt {
1569
- static observedAttributes = [
1570
- "shape",
1571
- "parts",
1572
- "tone",
1573
- "lift",
1574
- "scale",
1575
- "label"
1576
- ];
1577
- inputs = e.observedAttributes;
1578
- shapeSignal = T("cell");
1579
- partsSignal = T();
1580
- toneSignal = T(0);
1581
- liftSignal = T(8);
1582
- scaleSignal = T(1);
1583
- labelSignal = T("");
1584
- get shape() {
1585
- return this.shapeSignal[0]();
1586
- }
1587
- set shape(e) {
1588
- let t = String(e ?? "").toLowerCase();
1589
- this.shapeSignal[1](yn(t) ? t : "cell");
1590
- }
1591
- made;
1592
- get parts() {
1593
- let e = [
1594
- this.partsSignal[0](),
1595
- this.shape,
1596
- this.tone
1597
- ];
1598
- if (!this.made || e.some((e, t) => e !== this.made?.from[t])) {
1599
- let [t, n, r] = e, i = t === void 0 ? sn[n](r) : pn(t, r);
1600
- this.made = {
1601
- from: e,
1602
- parts: i
1603
- };
1604
- }
1605
- return this.made.parts;
1606
- }
1607
- set parts(e) {
1608
- this.partsSignal[1](() => e === null || e === "" ? void 0 : e);
1609
- }
1610
- get tone() {
1611
- return this.toneSignal[0]();
1612
- }
1613
- set tone(e) {
1614
- this.toneSignal[1](ln(Y(e, 0)));
1615
- }
1616
- get lift() {
1617
- return this.liftSignal[0]();
1618
- }
1619
- set lift(e) {
1620
- this.liftSignal[1](Math.max(0, Y(e, 8)));
1621
- }
1622
- get scale() {
1623
- return this.scaleSignal[0]();
1624
- }
1625
- set scale(e) {
1626
- let t = Y(e, 1);
1627
- this.scaleSignal[1](t > 0 ? t : 1);
1628
- }
1629
- get label() {
1630
- return this.labelSignal[0]();
1631
- }
1632
- set label(e) {
1633
- this.labelSignal[1](String(e ?? ""));
1634
- }
1635
- attributeChangedCallback(e, t, n) {
1636
- e === "parts" ? this.parts = n : Reflect.set(this, e, n ?? "");
1637
- }
1638
- sheet() {
1639
- return bn();
1640
- }
1641
- draw() {
1642
- let e = D(() => mn(this.parts, this.lift)), t = () => e().box, n = this;
1643
- return (() => {
1644
- var r = gn(), i = r.firstChild;
1645
- return F(r, M(ke, {
1646
- get each() {
1647
- return e().faces;
1648
- },
1649
- children: (e) => (() => {
1650
- var t = _n();
1651
- return E((n) => {
1652
- var r = `flat-${e.kind}`, i = e.tone, a = e.d;
1653
- return r !== n.e && P(t, "class", n.e = r), i !== n.t && P(t, "data-tone", n.t = i), a !== n.a && P(t, "d", n.a = a), n;
1654
- }, {
1655
- e: void 0,
1656
- t: void 0,
1657
- a: void 0
1658
- }), t;
1659
- })()
1660
- }), i), E((a) => {
1661
- var o = t().width * n.scale, s = t().height * n.scale, c = `${t().x} ${t().y} ${t().width} ${t().height}`, l = n.label ? "img" : void 0, u = n.label || void 0, d = n.label ? void 0 : "true", f = e().seams;
1662
- return o !== a.e && P(r, "width", a.e = o), s !== a.t && P(r, "height", a.t = s), c !== a.a && P(r, "viewBox", a.a = c), l !== a.o && P(r, "role", a.o = l), u !== a.i && P(r, "aria-label", a.i = u), d !== a.n && P(r, "aria-hidden", a.n = d), f !== a.s && P(i, "d", a.s = f), a;
1663
- }, {
1664
- e: void 0,
1665
- t: void 0,
1666
- a: void 0,
1667
- o: void 0,
1668
- i: void 0,
1669
- n: void 0,
1670
- s: void 0
1671
- }), r;
1672
- })();
1673
- }
1674
- }, Sn = (e) => At(vn, xn, e), Cn = ":host{touch-action:none;cursor:crosshair;display:block;position:relative}:host([disabled]){cursor:auto;pointer-events:none}.trail{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.blade{fill:none;stroke:var(--color-tree-alert);stroke-width:var(--tree-rule-thick-width);stroke-linecap:round;stroke-linejoin:round}", wn = 220;
1675
- function Tn() {
1676
- let [e, t] = T([]), n, r = () => {
1677
- let i = performance.now();
1678
- t((e) => e.filter((e) => i - e.at < wn)), n = e().length > 0 ? requestAnimationFrame(r) : void 0;
1679
- };
1680
- return k(() => {
1681
- n !== void 0 && cancelAnimationFrame(n);
1682
- }), {
1683
- points: () => e().map((e) => `${e.p.x},${e.p.y}`).join(" "),
1684
- add: (e) => {
1685
- t((t) => [...t, {
1686
- p: e,
1687
- at: performance.now()
1688
- }]), n ??= requestAnimationFrame(r);
1689
- }
1690
- };
1691
- }
1692
- //#endregion
1693
- //#region src/elements/shears.tsx
1694
- var En = /*#__PURE__*/ N("<svg class=trail part=trail aria-hidden=true><polyline class=blade>"), Dn = "shears-pad", On = kt(Cn), kn = class e extends Mt {
1695
- static observedAttributes = ["disabled"];
1696
- inputs = e.observedAttributes;
1697
- disabledSignal = T(!1);
1698
- get disabled() {
1699
- return this.disabledSignal[0]();
1700
- }
1701
- set disabled(e) {
1702
- this.disabledSignal[1](jt(e));
1703
- }
1704
- attributeChangedCallback(e, t, n) {
1705
- this.disabled = n;
1706
- }
1707
- sheet() {
1708
- return On();
1709
- }
1710
- draw() {
1711
- let e = Tn(), t, n, r = (e) => {
1712
- let t = this.getBoundingClientRect();
1713
- return {
1714
- x: e.clientX - t.left,
1715
- y: e.clientY - t.top
1716
- };
1717
- }, i = (e) => {
1718
- if (!t || n === void 0) return;
1719
- let r = t, i = n;
1720
- t = void 0, n = void 0, this.hasPointerCapture(i) && this.releasePointerCapture(i), this.tell("strokeend", {
1721
- points: r,
1722
- cancelled: e
1723
- });
1724
- }, a = (e) => {
1725
- if (this.disabled || e.button !== 0 || t) return;
1726
- e.preventDefault(), n = e.pointerId, this.setPointerCapture(n);
1727
- let i = r(e);
1728
- t = [i], this.tell("stroke", {
1729
- points: [i],
1730
- point: i,
1731
- fresh: !0
1732
- });
1733
- }, o = (i) => {
1734
- if (!t || i.pointerId !== n) return;
1735
- let a = r(i);
1736
- t.push(a), e.add(a), this.tell("stroke", {
1737
- points: [...t],
1738
- point: a,
1739
- fresh: !1
1740
- });
1741
- }, s = (e) => (t) => {
1742
- t.pointerId === n && i(e);
1743
- }, c = [
1744
- ["pointerdown", a],
1745
- ["pointermove", o],
1746
- ["pointerup", s(!1)],
1747
- ["pointercancel", s(!0)],
1748
- ["lostpointercapture", s(!0)]
1749
- ];
1750
- for (let [e, t] of c) this.addEventListener(e, t);
1751
- return te(ne(() => this.disabled, (e) => e && i(!0), { defer: !0 })), k(() => {
1752
- i(!0);
1753
- for (let [e, t] of c) this.removeEventListener(e, t);
1754
- }), (() => {
1755
- var t = En(), n = t.firstChild;
1756
- return E(() => P(n, "points", e.points())), t;
1757
- })();
1758
- }
1759
- }, An = (e) => At(Dn, kn, e), jn = ":host{background:var(--color-tree-sky);display:block;position:relative}:host([kind=earth]){background:var(--color-tree-earth)}.sky{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.line{fill:none;stroke:var(--color-tree-lattice-sky);stroke-width:var(--tree-rule-width)}:host([kind=earth]) .line{stroke:var(--color-tree-lattice-earth)}", Mn = /*#__PURE__*/ N("<svg class=sky part=sky aria-hidden=true><defs><pattern patternUnits=userSpaceOnUse><path class=line></path></pattern></defs><rect width=100% height=100%>"), Nn = "hex-sky", Pn = kt(jn), Fn = 0, In = class e extends Mt {
1760
- static observedAttributes = [
1761
- "kind",
1762
- "orient",
1763
- "scale",
1764
- "x",
1765
- "y"
1766
- ];
1767
- inputs = e.observedAttributes;
1768
- kindSignal = T("sky");
1769
- orientSignal = T("pointy");
1770
- scaleSignal = T(1);
1771
- xSignal = T(0);
1772
- ySignal = T(0);
1773
- get kind() {
1774
- return this.kindSignal[0]();
1775
- }
1776
- set kind(e) {
1777
- this.kindSignal[1](String(e ?? "").toLowerCase() === "earth" ? "earth" : "sky");
1778
- }
1779
- get orient() {
1780
- return this.orientSignal[0]();
1781
- }
1782
- set orient(e) {
1783
- this.orientSignal[1](String(e ?? "").toLowerCase() === "flat" ? "flat" : "pointy");
1784
- }
1785
- get scale() {
1786
- return this.scaleSignal[0]();
1787
- }
1788
- set scale(e) {
1789
- let t = Y(e, 1);
1790
- this.scaleSignal[1](t > 0 ? t : 1);
1791
- }
1792
- get x() {
1793
- return this.xSignal[0]();
1794
- }
1795
- set x(e) {
1796
- this.xSignal[1](Y(e, 0));
1797
- }
1798
- get y() {
1799
- return this.ySignal[0]();
1800
- }
1801
- set y(e) {
1802
- this.ySignal[1](Y(e, 0));
1803
- }
1804
- attributeChangedCallback(e, t, n) {
1805
- Reflect.set(this, e, n ?? "");
1806
- }
1807
- sheet() {
1808
- return Pn();
1809
- }
1810
- draw() {
1811
- let e = `${Nn}-${++Fn}`, r = this;
1812
- return (() => {
1813
- var i = Mn(), a = i.firstChild, o = a.firstChild, s = o.firstChild, c = a.nextSibling;
1814
- return P(o, "id", e), P(c, "fill", `url(#${e})`), E((e) => {
1815
- var i = t.width, a = t.height, c = `translate(${r.x} ${r.y})${r.orient === "flat" ? " rotate(90)" : ""} scale(${r.scale})`, l = n[r.kind];
1816
- return i !== e.e && P(o, "width", e.e = i), a !== e.t && P(o, "height", e.t = a), c !== e.a && P(o, "patternTransform", e.a = c), l !== e.o && P(s, "d", e.o = l), e;
1817
- }, {
1818
- e: void 0,
1819
- t: void 0,
1820
- a: void 0,
1821
- o: void 0
1822
- }), i;
1823
- })();
1824
- }
1825
- }, Ln = (e) => At(Nn, In, e);
1826
- //#endregion
1827
- //#region src/elements/index.ts
1828
- function Rn() {
1829
- Ut(), Ln(), Sn(), An(), nn();
1830
- }
1831
- //#endregion
1832
- export { Ft as _, Dn as a, Ut as b, xn as c, cn as d, an as f, nn as g, tn as h, Ln as i, vn as l, Qt as m, In as n, kn as o, $t as p, Nn as r, An as s, Rn as t, Sn as u, Ht as v, at as x, It as y };