@harmonics/lattice-ui 0.5.0 → 0.6.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,1782 +0,0 @@
1
- import { A as e, D as t, a as n, g as r, j as i, l as a, o, s } from "./hexes-DN9eyQho.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 = me, 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(() => M(o)));
35
- y = o, x = null;
36
- try {
37
- return j(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
- A(de(e, t, !1, g));
54
- }
55
- function te(e, t, n) {
56
- h = he;
57
- let r = de(e, t, !1, g), i = se && ae(se);
58
- i && (r.suspense = i), (!n || !n.render) && (r.user = !0), C ? C.push(r) : A(r);
59
- }
60
- function D(e, t, n) {
61
- n = n ? Object.assign({}, p, n) : p;
62
- let r = de(e, t, !0, 0);
63
- return r.observers = null, r.observerSlots = null, r.comparator = n.equals || void 0, A(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(() => Se(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) A(this);
108
- else {
109
- let e = S;
110
- S = null, j(() => ge(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 && j(() => {
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 && _e(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 A(e) {
140
- if (!e.fn) return;
141
- M(e);
142
- let t = ee;
143
- ue(e, b && b.running && b.sources.has(e) ? e.tValue : e.value, t), b && !b.running && b.sources.has(e) && queueMicrotask(() => {
144
- j(() => {
145
- b && (b.running = !0), x = y = e, ue(e, e.tValue, t), x = y = null;
146
- }, !1);
147
- });
148
- }
149
- function ue(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(M), e.tOwned = void 0) : (e.state = g, e.owned && e.owned.forEach(M), e.owned = null)), e.updatedAt = n + 1, xe(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 de(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 fe(e) {
178
- let t = b && b.running;
179
- if ((t ? e.tState : e.state) === 0) return;
180
- if ((t ? e.tState : e.state) === _) return ge(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) A(e);
193
- else if ((t ? e.tState : e.state) === _) {
194
- let t = S;
195
- S = null, j(() => ge(e, n[0]), !1), S = t;
196
- }
197
- }
198
- }
199
- function j(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 pe(n), t;
206
- } catch (e) {
207
- n || (C = null), S = null, xe(e);
208
- }
209
- }
210
- function pe(e) {
211
- if (S &&= (me(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, j(() => {
219
- for (let e of n) M(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++) M(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 && j(() => h(n), !1), t && t();
233
- }
234
- function me(e) {
235
- for (let t = 0; t < e.length; t++) fe(e[t]);
236
- }
237
- function he(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 : fe(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++) fe(e[t]);
251
- }
252
- function ge(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) && fe(i) : e === _ && ge(i, t);
260
- }
261
- }
262
- }
263
- function _e(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 && _e(r));
268
- }
269
- }
270
- function M(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--) M(e.tOwned[t]);
281
- delete e.tOwned;
282
- }
283
- if (b && b.running && e.pure) ve(e, !0);
284
- else if (e.owned) {
285
- for (t = e.owned.length - 1; t >= 0; t--) M(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 ve(e, t) {
295
- if (t || (e.tState = 0, b.disposed.add(e)), e.owned) for (let t = 0; t < e.owned.length; t++) ve(e.owned[t]);
296
- }
297
- function ye(e) {
298
- return e instanceof Error ? e : Error(typeof e == "string" ? e : "Unknown error", { cause: e });
299
- }
300
- function be(e, t, n) {
301
- try {
302
- for (let n of t) n(e);
303
- } catch (e) {
304
- xe(e, n && n.owner || null);
305
- }
306
- }
307
- function xe(e, t = y) {
308
- let n = m && t && t.context && t.context[m], r = ye(e);
309
- if (!n) throw r;
310
- C ? C.push({
311
- fn() {
312
- be(r, n, t);
313
- },
314
- state: g
315
- }) : be(r, n, t);
316
- }
317
- function Se(e) {
318
- if (typeof e == "function" && !e.length) return Se(e());
319
- if (Array.isArray(e)) {
320
- let t = [];
321
- for (let n = 0; n < e.length; n++) {
322
- let r = Se(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 Ce = Symbol("fallback");
333
- function we(e) {
334
- for (let t = 0; t < e.length; t++) e[t]();
335
- }
336
- function Te(e, t, n = {}) {
337
- let r = [], i = [], a = [], o = 0, s = t.length > 1 ? [] : null;
338
- return k(() => we(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 && (we(a), a = [], r = [], i = [], o = 0, s &&= []), n.fallback && (r = [Ce], 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 Ee(e, t, n = {}) {
366
- let r = [], i = [], a = [], o = [], s = 0, c;
367
- return k(() => we(a)), () => {
368
- let l = e() || [], u = l.length;
369
- return l[f], O(() => {
370
- if (u === 0) return s !== 0 && (we(a), a = [], r = [], i = [], s = 0, o = []), n.fallback && (r = [Ce], i[0] = w((e) => (a[0] = e, n.fallback())), s = 1), i;
371
- for (r[0] === Ce && (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 N(e, t) {
383
- return O(() => e(t || {}));
384
- }
385
- var De = (e) => `Stale read from <${e}>.`;
386
- function Oe(e) {
387
- let t = "fallback" in e && { fallback: () => e.fallback };
388
- return D(Te(() => e.each, e.children, t || void 0));
389
- }
390
- function ke(e) {
391
- let t = "fallback" in e && { fallback: () => e.fallback };
392
- return D(Ee(() => e.each, e.children, t || void 0));
393
- }
394
- function Ae(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 De("Show");
402
- return n();
403
- })) : a;
404
- }
405
- return e.fallback;
406
- }, void 0, void 0);
407
- }
408
- function je(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 De("Match");
427
- return i();
428
- })) : o;
429
- }, void 0, void 0);
430
- }
431
- function Me(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 Ne(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 Pe(e, t, n, r = {}) {
469
- let i;
470
- return w((r) => {
471
- i = r, t === document ? e() : I(t, e(), !n && t.firstChild ? null : void 0, n);
472
- }, r.owner), () => {
473
- i(), t.textContent = "";
474
- };
475
- }
476
- function P(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 F(e, t, n) {
484
- Fe(e) || (n == null ? e.removeAttribute(t) : e.setAttribute(t, n));
485
- }
486
- function I(e, t, n, r) {
487
- if (n !== void 0 && !r && (r = []), typeof t != "function") return Ie(e, t, r, n);
488
- E((r) => Ie(e, t(), r, n), r);
489
- }
490
- function Fe(e) {
491
- return !!c.context && !c.done && (!e || e.isConnected);
492
- }
493
- function Ie(e, t, n, r, i) {
494
- let a = Fe(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 = L(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 = L(e, n, r);
516
- } else if (o === "function") return E(() => {
517
- let i = t();
518
- for (; typeof i == "function";) i = i();
519
- n = Ie(e, i, n, r);
520
- }), () => n;
521
- else if (Array.isArray(t)) {
522
- let o = [], c = n && Array.isArray(n);
523
- if (Le(o, t, n, i)) return E(() => n = Ie(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 = L(e, n, r), s) return n;
535
- } else c ? n.length === 0 ? Re(e, o, r) : Ne(e, n, o) : (n && L(e), Re(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 = L(e, n, r, t);
541
- L(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 Le(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 = Le(e, o, s) || i;
554
- else if (c === "function") {
555
- if (r) {
556
- for (; typeof o == "function";) o = o();
557
- i = Le(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 Re(e, t, n = null) {
568
- for (let r = 0, i = t.length; r < i; r++) e.insertBefore(t[r], n);
569
- }
570
- function L(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 ze = (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__*/ P("<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(e) {
1100
- let t = () => Be() || (e.still?.() ?? !1), [n, r] = T(!1), i;
1101
- te(ne(e.pulse, (e, n) => {
1102
- n === void 0 || e === n || t() || (r(!0), clearTimeout(i), i = setTimeout(() => r(!1), ft));
1103
- }));
1104
- let [a, o] = T(0);
1105
- te(() => {
1106
- if (t()) {
1107
- o(0);
1108
- return;
1109
- }
1110
- let e = performance.now(), n = setInterval(() => o((performance.now() - e) / 1e3), mt);
1111
- k(() => clearInterval(n));
1112
- }), k(() => clearTimeout(i));
1113
- let s = D(() => n() ? yt : e.expression()), c = D(() => bt(s(), a())), [l, u] = T(), d;
1114
- return te(ne(s, (e, n) => {
1115
- n && !t() && (u(bt(n, a())), clearTimeout(d), d = setTimeout(() => u(void 0), pt));
1116
- })), k(() => clearTimeout(d)), {
1117
- face: c,
1118
- leaving: l
1119
- };
1120
- }
1121
- function St(e) {
1122
- return N(ke, {
1123
- get each() {
1124
- return e.drawing;
1125
- },
1126
- children: (e) => (() => {
1127
- var t = ut();
1128
- return E((n) => {
1129
- var r = e().ink, i = e().shade, a = e().d;
1130
- return r !== n.e && F(t, "data-ink", n.e = r), i !== n.t && F(t, "data-shade", n.t = i), a !== n.a && F(t, "d", n.a = a), n;
1131
- }, {
1132
- e: void 0,
1133
- t: void 0,
1134
- a: void 0
1135
- }), t;
1136
- })()
1137
- });
1138
- }
1139
- //#endregion
1140
- //#region src/elements/face.css?inline
1141
- var Ct = ".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}}", wt = ":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}}", Tt = ":host{--sky:var(--color-tree-sky);vertical-align:middle;display:inline-block}:host([hidden]){display:none}svg{display:block;overflow:visible}", Et = typeof HTMLElement > "u" ? class {} : HTMLElement, Dt = wt.replaceAll(":root", ":host");
1142
- function Ot(e) {
1143
- let t;
1144
- return () => (t || (t = new CSSStyleSheet(), t.replaceSync(`${Dt}\n${Tt}\n${e}`)), t);
1145
- }
1146
- function kt(e, t) {
1147
- typeof customElements < "u" && (customElements.get(e) || customElements.define(e, t));
1148
- }
1149
- var Y = (e, t) => {
1150
- let n = typeof e == "number" ? e : Number.parseFloat(String(e ?? ""));
1151
- return Number.isFinite(n) ? n : t;
1152
- }, At = (e) => typeof e == "boolean" ? e : e != null && e !== "false", jt = class extends Et {
1153
- dispose;
1154
- connectedCallback() {
1155
- for (let e of this.inputs) if (Object.hasOwn(this, e)) {
1156
- let t = Reflect.get(this, e);
1157
- Reflect.deleteProperty(this, e), Reflect.set(this, e, t);
1158
- }
1159
- if (this.dispose) return;
1160
- let e = this.shadowRoot ?? this.attachShadow({ mode: "open" });
1161
- e.adoptedStyleSheets = [this.sheet()], this.dispose = Pe(() => this.draw(), e);
1162
- }
1163
- disconnectedCallback() {
1164
- this.dispose?.(), this.dispose = void 0;
1165
- }
1166
- tell(e, t) {
1167
- this.dispatchEvent(new CustomEvent(e, {
1168
- detail: t,
1169
- bubbles: !0,
1170
- composed: !0
1171
- }));
1172
- }
1173
- }, Mt = /*#__PURE__*/ P("<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>"), Nt = /*#__PURE__*/ P("<svg><g class=face-leaving></svg>", !1, !0, !1), Pt = "lattice-face", Ft = Object.keys(gt), It = (e) => Ft.includes(e), Lt = 10, Rt = 2, X = 120 * Ve / 2, zt = ht([
1174
- {
1175
- x: 0,
1176
- y: -120
1177
- },
1178
- {
1179
- x: X,
1180
- y: -60
1181
- },
1182
- {
1183
- x: X,
1184
- y: 60
1185
- },
1186
- {
1187
- x: 0,
1188
- y: 120
1189
- },
1190
- {
1191
- x: -X,
1192
- y: 60
1193
- },
1194
- {
1195
- x: -X,
1196
- y: -60
1197
- }
1198
- ], Lt), Z = {
1199
- x: -X - Rt,
1200
- y: -120 - Lt - Rt,
1201
- width: 2 * (X + Rt),
1202
- height: 240 + Lt + 4
1203
- }, Bt = Ot(`${Ct}\n.plate-top { vector-effect: non-scaling-stroke; }`), Vt = class e extends jt {
1204
- static observedAttributes = [
1205
- "mood",
1206
- "expression",
1207
- "pulse",
1208
- "still",
1209
- "size",
1210
- "label",
1211
- "decorative"
1212
- ];
1213
- inputs = e.observedAttributes;
1214
- moodSignal = T("happy");
1215
- expressionSignal = T("");
1216
- pulseSignal = T(0);
1217
- stillSignal = T(!1);
1218
- sizeSignal = T(96);
1219
- labelSignal = T("");
1220
- decorativeSignal = T(!1);
1221
- get mood() {
1222
- return this.moodSignal[0]();
1223
- }
1224
- set mood(e) {
1225
- let t = String(e ?? "").toLowerCase();
1226
- this.moodSignal[1](It(t) ? t : "happy");
1227
- }
1228
- get expression() {
1229
- return this.expressionSignal[0]();
1230
- }
1231
- set expression(e) {
1232
- this.expressionSignal[1](String(e ?? ""));
1233
- }
1234
- get pulse() {
1235
- return this.pulseSignal[0]();
1236
- }
1237
- set pulse(e) {
1238
- this.pulseSignal[1](Y(e, 0));
1239
- }
1240
- get still() {
1241
- return this.stillSignal[0]();
1242
- }
1243
- set still(e) {
1244
- this.stillSignal[1](At(e));
1245
- }
1246
- get size() {
1247
- return this.sizeSignal[0]();
1248
- }
1249
- set size(e) {
1250
- this.sizeSignal[1](Math.max(1, Y(e, 96)));
1251
- }
1252
- get label() {
1253
- return this.labelSignal[0]();
1254
- }
1255
- set label(e) {
1256
- this.labelSignal[1](String(e ?? ""));
1257
- }
1258
- get decorative() {
1259
- return this.decorativeSignal[0]();
1260
- }
1261
- set decorative(e) {
1262
- this.decorativeSignal[1](At(e));
1263
- }
1264
- attributeChangedCallback(e, t, n) {
1265
- e === "still" || e === "decorative" ? Reflect.set(this, e, n) : Reflect.set(this, e, n ?? "");
1266
- }
1267
- sheet() {
1268
- return Bt();
1269
- }
1270
- draw() {
1271
- let e = D(() => _t(this.expression) ?? vt(this.mood)), { face: t, leaving: n } = xt({
1272
- expression: e,
1273
- pulse: () => this.pulse,
1274
- still: () => this.still
1275
- }), r = () => this.label || `A ${e().name.toLowerCase()} face`, i = this;
1276
- return (() => {
1277
- var e = Mt(), a = e.firstChild, o = a.nextSibling, s = o.nextSibling, c = s.nextSibling, l = c.firstChild;
1278
- return I(c, N(Ae, {
1279
- get when() {
1280
- return n();
1281
- },
1282
- children: (e) => (() => {
1283
- var t = Nt();
1284
- return I(t, N(St, { get drawing() {
1285
- return e();
1286
- } })), t;
1287
- })()
1288
- }), l), I(l, N(St, { get drawing() {
1289
- return t();
1290
- } })), E((t) => {
1291
- var n = i.size, c = i.size * Z.height / Z.width, l = `${Z.x} ${Z.y} ${Z.width} ${Z.height}`, u = i.decorative ? void 0 : "img", d = i.decorative ? void 0 : r(), f = i.decorative ? "true" : void 0, p = zt.shade, m = zt.shadow, h = zt.top;
1292
- return n !== t.e && F(e, "width", t.e = n), c !== t.t && F(e, "height", t.t = c), l !== t.a && F(e, "viewBox", t.a = l), u !== t.o && F(e, "role", t.o = u), d !== t.i && F(e, "aria-label", t.i = d), f !== t.n && F(e, "aria-hidden", t.n = f), p !== t.s && F(a, "d", t.s = p), m !== t.h && F(o, "d", t.h = m), h !== t.r && F(s, "d", t.r = h), t;
1293
- }, {
1294
- e: void 0,
1295
- t: void 0,
1296
- a: void 0,
1297
- o: void 0,
1298
- i: void 0,
1299
- n: void 0,
1300
- s: void 0,
1301
- h: void 0,
1302
- r: void 0
1303
- }), e;
1304
- })();
1305
- }
1306
- }, Ht = () => kt(Pt, Vt), Ut = /*#__PURE__*/ P("<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>"), Wt = /*#__PURE__*/ P("<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\">"), Gt = (e, t, n) => {
1307
- let r = n * Math.sqrt(3) / 2;
1308
- return [
1309
- {
1310
- x: e,
1311
- y: t - n
1312
- },
1313
- {
1314
- x: e + r,
1315
- y: t - n / 2
1316
- },
1317
- {
1318
- x: e + r,
1319
- y: t + n / 2
1320
- },
1321
- {
1322
- x: e,
1323
- y: t + n
1324
- },
1325
- {
1326
- x: e - r,
1327
- y: t + n / 2
1328
- },
1329
- {
1330
- x: e - r,
1331
- y: t - n / 2
1332
- }
1333
- ];
1334
- };
1335
- function Kt() {
1336
- let e = (e, t) => [
1337
- e,
1338
- {
1339
- x: e.x + t * 8.66,
1340
- y: e.y - 5
1341
- },
1342
- {
1343
- x: e.x + t * 8.66,
1344
- y: e.y - 6.6
1345
- },
1346
- {
1347
- x: e.x,
1348
- y: e.y - 1.6
1349
- }
1350
- ];
1351
- return (() => {
1352
- var t = Ut(), n = t.firstChild, r = n.nextSibling, i = r.nextSibling, a = i.nextSibling;
1353
- return E((t) => {
1354
- var o = ze(e({
1355
- x: 4.6,
1356
- y: 10
1357
- }, 1)), s = ze(e({
1358
- x: 11.4,
1359
- y: 10
1360
- }, -1)), c = ze(Gt(4.6, 12.6, 2.6)), l = ze(Gt(11.4, 12.6, 2.6));
1361
- return o !== t.e && F(n, "d", t.e = o), s !== t.t && F(r, "d", t.t = s), c !== t.a && F(i, "d", t.a = c), l !== t.o && F(a, "d", t.o = l), t;
1362
- }, {
1363
- e: void 0,
1364
- t: void 0,
1365
- a: void 0,
1366
- o: void 0
1367
- }), t;
1368
- })();
1369
- }
1370
- function qt() {
1371
- return (() => {
1372
- var e = Wt(), t = e.firstChild;
1373
- return E(() => F(t, "d", ze(Gt(8, 8, 7)))), e;
1374
- })();
1375
- }
1376
- //#endregion
1377
- //#region src/elements/icon.css?inline
1378
- var Jt = ":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}", Yt = /*#__PURE__*/ P("<span part=icon>"), Xt = /*#__PURE__*/ P("<span part=icon role=img>"), Zt = "lattice-icon", Qt = ["shears", "done"], $t = Ot(Jt), en = class e extends jt {
1379
- static observedAttributes = ["name", "label"];
1380
- inputs = e.observedAttributes;
1381
- nameSignal = T("shears");
1382
- labelSignal = T("");
1383
- get name() {
1384
- return this.nameSignal[0]();
1385
- }
1386
- set name(e) {
1387
- this.nameSignal[1](String(e ?? "").toLowerCase() === "done" ? "done" : "shears");
1388
- }
1389
- get label() {
1390
- return this.labelSignal[0]();
1391
- }
1392
- set label(e) {
1393
- this.labelSignal[1](String(e ?? ""));
1394
- }
1395
- attributeChangedCallback(e, t, n) {
1396
- Reflect.set(this, e, n ?? "");
1397
- }
1398
- sheet() {
1399
- return $t();
1400
- }
1401
- draw() {
1402
- let e = () => {
1403
- let e = this;
1404
- return N(je, { get children() {
1405
- return [N(Me, {
1406
- get when() {
1407
- return e.name === "done";
1408
- },
1409
- get children() {
1410
- return N(qt, {});
1411
- }
1412
- }), N(Me, {
1413
- get when() {
1414
- return e.name === "shears";
1415
- },
1416
- get children() {
1417
- return N(Kt, {});
1418
- }
1419
- })];
1420
- } });
1421
- }, t = this;
1422
- return N(Ae, {
1423
- get when() {
1424
- return t.label;
1425
- },
1426
- get fallback() {
1427
- return (() => {
1428
- var t = Yt();
1429
- return I(t, e), t;
1430
- })();
1431
- },
1432
- children: (t) => (() => {
1433
- var n = Xt();
1434
- return I(n, e), E(() => F(n, "aria-label", t())), n;
1435
- })()
1436
- });
1437
- }
1438
- }, tn = () => kt(Zt, en), nn = ".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}", rn = 8, Q = (e, t, n) => ({
1439
- kind: "cell",
1440
- at: {
1441
- q: e,
1442
- r: t
1443
- },
1444
- tone: n
1445
- }), $ = (e, t, n, r) => ({
1446
- kind: "tri",
1447
- at: {
1448
- i: e,
1449
- j: t,
1450
- k: n
1451
- },
1452
- tone: r
1453
- }), an = [
1454
- {
1455
- q: 1,
1456
- r: 0
1457
- },
1458
- {
1459
- q: 0,
1460
- r: 1
1461
- },
1462
- {
1463
- q: -1,
1464
- r: 1
1465
- },
1466
- {
1467
- q: -1,
1468
- r: 0
1469
- },
1470
- {
1471
- q: 0,
1472
- r: -1
1473
- },
1474
- {
1475
- q: 1,
1476
- r: -1
1477
- }
1478
- ], on = {
1479
- cell: (e) => [Q(0, 0, e)],
1480
- pair: (e) => [Q(0, 0, e), Q(1, 0, e)],
1481
- line: (e) => [
1482
- Q(-1, 0, e),
1483
- Q(0, 0, e),
1484
- Q(1, 0, e)
1485
- ],
1486
- flower: (e) => [Q(0, 0, e), ...an.map((t) => Q(t.q, t.r, e))],
1487
- triangle: (e) => [$(0, 0, 0, e)],
1488
- diamond: (e) => [$(0, 0, 0, e), $(0, 0, 1, e)],
1489
- trapezoid: (e) => [
1490
- $(0, 0, 0, e),
1491
- $(0, 0, 1, e),
1492
- $(0, 1, 0, e)
1493
- ],
1494
- "big-triangle": (e) => [
1495
- $(0, 0, 0, e),
1496
- $(0, 1, 0, e),
1497
- $(1, 0, 0, e),
1498
- $(0, 0, 1, e)
1499
- ],
1500
- hexagon: (e) => t({
1501
- q: 0,
1502
- r: 0
1503
- }).map((t) => $(t.i, t.j, t.k, e))
1504
- }, sn = Object.keys(on), cn = (e) => Math.min(7, Math.max(0, Math.round(Number.isFinite(e) ? e : 0))), ln = (e) => typeof e == "number" && Number.isInteger(e);
1505
- function un(e, t) {
1506
- let n = e;
1507
- if (typeof n == "string") try {
1508
- n = JSON.parse(n);
1509
- } catch {
1510
- return [];
1511
- }
1512
- return Array.isArray(n) ? n.flatMap((e) => {
1513
- if (typeof e != "object" || !e) return [];
1514
- let { kind: n, at: r, tone: i } = e, a = cn(typeof i == "number" ? i : t);
1515
- return n === "cell" && r && ln(r.q) && ln(r.r) ? [Q(r.q, r.r, a)] : n === "tri" && r && ln(r.i) && ln(r.j) && (r.k === 0 || r.k === 1) ? [$(r.i, r.j, r.k, a)] : [];
1516
- }) : [];
1517
- }
1518
- function dn(e, t, i = 2) {
1519
- if (e.length === 0) return {
1520
- faces: [],
1521
- seams: "",
1522
- box: {
1523
- x: 0,
1524
- y: 0,
1525
- width: 0,
1526
- height: 0
1527
- }
1528
- };
1529
- let c = r("shape", e), l = s(c).flatMap((e) => o(e).map(n)), u = l.map((e) => e.x), d = l.map((e) => e.y), f = Math.min(...u) - i, p = Math.min(...d) - t - i, m = {
1530
- x: f,
1531
- y: p,
1532
- width: Math.max(...u) + i - f,
1533
- height: Math.max(...d) + i - p
1534
- };
1535
- return {
1536
- ...a(c, t),
1537
- box: m
1538
- };
1539
- }
1540
- //#endregion
1541
- //#region src/elements/woods.css?inline
1542
- var fn = ".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)}", pn = /*#__PURE__*/ P("<svg class=\"shape woods\"part=shape><path class=seams>"), mn = /*#__PURE__*/ P("<svg><path></svg>", !1, !0, !1), hn = "lattice-shape", gn = (e) => Object.hasOwn(on, e), _n = Ot(`${fn}\n${nn}`), vn = class e extends jt {
1543
- static observedAttributes = [
1544
- "shape",
1545
- "parts",
1546
- "tone",
1547
- "lift",
1548
- "scale",
1549
- "label"
1550
- ];
1551
- inputs = e.observedAttributes;
1552
- shapeSignal = T("cell");
1553
- partsSignal = T();
1554
- toneSignal = T(0);
1555
- liftSignal = T(8);
1556
- scaleSignal = T(1);
1557
- labelSignal = T("");
1558
- get shape() {
1559
- return this.shapeSignal[0]();
1560
- }
1561
- set shape(e) {
1562
- let t = String(e ?? "").toLowerCase();
1563
- this.shapeSignal[1](gn(t) ? t : "cell");
1564
- }
1565
- get parts() {
1566
- let e = this.partsSignal[0]();
1567
- return e === void 0 ? on[this.shape](this.tone) : un(e, this.tone);
1568
- }
1569
- set parts(e) {
1570
- this.partsSignal[1](() => e === null || e === "" ? void 0 : e);
1571
- }
1572
- get tone() {
1573
- return this.toneSignal[0]();
1574
- }
1575
- set tone(e) {
1576
- this.toneSignal[1](cn(Y(e, 0)));
1577
- }
1578
- get lift() {
1579
- return this.liftSignal[0]();
1580
- }
1581
- set lift(e) {
1582
- this.liftSignal[1](Math.max(0, Y(e, 8)));
1583
- }
1584
- get scale() {
1585
- return this.scaleSignal[0]();
1586
- }
1587
- set scale(e) {
1588
- let t = Y(e, 1);
1589
- this.scaleSignal[1](t > 0 ? t : 1);
1590
- }
1591
- get label() {
1592
- return this.labelSignal[0]();
1593
- }
1594
- set label(e) {
1595
- this.labelSignal[1](String(e ?? ""));
1596
- }
1597
- attributeChangedCallback(e, t, n) {
1598
- e === "parts" ? this.parts = n : Reflect.set(this, e, n ?? "");
1599
- }
1600
- sheet() {
1601
- return _n();
1602
- }
1603
- draw() {
1604
- let e = D(() => dn(this.parts, this.lift)), t = () => e().box, n = this;
1605
- return (() => {
1606
- var r = pn(), i = r.firstChild;
1607
- return I(r, N(Oe, {
1608
- get each() {
1609
- return e().faces;
1610
- },
1611
- children: (e) => (() => {
1612
- var t = mn();
1613
- return E((n) => {
1614
- var r = `flat-${e.kind}`, i = e.tone, a = e.d;
1615
- return r !== n.e && F(t, "class", n.e = r), i !== n.t && F(t, "data-tone", n.t = i), a !== n.a && F(t, "d", n.a = a), n;
1616
- }, {
1617
- e: void 0,
1618
- t: void 0,
1619
- a: void 0
1620
- }), t;
1621
- })()
1622
- }), i), E((a) => {
1623
- 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;
1624
- return o !== a.e && F(r, "width", a.e = o), s !== a.t && F(r, "height", a.t = s), c !== a.a && F(r, "viewBox", a.a = c), l !== a.o && F(r, "role", a.o = l), u !== a.i && F(r, "aria-label", a.i = u), d !== a.n && F(r, "aria-hidden", a.n = d), f !== a.s && F(i, "d", a.s = f), a;
1625
- }, {
1626
- e: void 0,
1627
- t: void 0,
1628
- a: void 0,
1629
- o: void 0,
1630
- i: void 0,
1631
- n: void 0,
1632
- s: void 0
1633
- }), r;
1634
- })();
1635
- }
1636
- }, yn = () => kt(hn, vn), bn = ":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}", xn = 220;
1637
- function Sn() {
1638
- let [e, t] = T([]), n, r = () => {
1639
- let i = performance.now();
1640
- t((e) => e.filter((e) => i - e.at < xn)), n = e().length > 0 ? requestAnimationFrame(r) : void 0;
1641
- };
1642
- return k(() => {
1643
- n !== void 0 && cancelAnimationFrame(n);
1644
- }), {
1645
- points: () => e().map((e) => `${e.p.x},${e.p.y}`).join(" "),
1646
- add: (e) => {
1647
- t((t) => [...t, {
1648
- p: e,
1649
- at: performance.now()
1650
- }]), n ??= requestAnimationFrame(r);
1651
- }
1652
- };
1653
- }
1654
- //#endregion
1655
- //#region src/elements/shears.tsx
1656
- var Cn = /*#__PURE__*/ P("<svg class=trail part=trail aria-hidden=true><polyline class=blade>"), wn = "shears-pad", Tn = Ot(bn), En = class e extends jt {
1657
- static observedAttributes = ["disabled"];
1658
- inputs = e.observedAttributes;
1659
- disabledSignal = T(!1);
1660
- get disabled() {
1661
- return this.disabledSignal[0]();
1662
- }
1663
- set disabled(e) {
1664
- this.disabledSignal[1](At(e));
1665
- }
1666
- attributeChangedCallback(e, t, n) {
1667
- this.disabled = n;
1668
- }
1669
- sheet() {
1670
- return Tn();
1671
- }
1672
- draw() {
1673
- let e = Sn(), t, n, r = (e) => {
1674
- let t = this.getBoundingClientRect();
1675
- return {
1676
- x: e.clientX - t.left,
1677
- y: e.clientY - t.top
1678
- };
1679
- }, i = (e) => {
1680
- this.disabled || e.button !== 0 || t || (e.preventDefault(), n = e.pointerId, this.setPointerCapture(n), t = [r(e)], this.tell("stroke", {
1681
- points: [...t],
1682
- fresh: !0
1683
- }));
1684
- }, a = (i) => {
1685
- if (!t || i.pointerId !== n) return;
1686
- let a = r(i);
1687
- t.push(a), e.add(a), this.tell("stroke", {
1688
- points: [...t],
1689
- fresh: !1
1690
- });
1691
- }, o = (e) => {
1692
- if (!t || e.pointerId !== n) return;
1693
- let r = t;
1694
- t = void 0, this.hasPointerCapture(e.pointerId) && this.releasePointerCapture(e.pointerId), this.tell("strokeend", { points: r });
1695
- }, s = [
1696
- ["pointerdown", i],
1697
- ["pointermove", a],
1698
- ["pointerup", o],
1699
- ["pointercancel", o]
1700
- ];
1701
- for (let [e, t] of s) this.addEventListener(e, t);
1702
- return k(() => {
1703
- for (let [e, t] of s) this.removeEventListener(e, t);
1704
- }), (() => {
1705
- var t = Cn(), n = t.firstChild;
1706
- return E(() => F(n, "points", e.points())), t;
1707
- })();
1708
- }
1709
- }, Dn = () => kt(wn, En), On = ":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)}", kn = /*#__PURE__*/ P("<svg class=sky part=sky aria-hidden=true><defs><pattern patternUnits=userSpaceOnUse><path class=line></path></pattern></defs><rect width=100% height=100%>"), An = "hex-sky", jn = Ot(On), Mn = 0, Nn = class t extends jt {
1710
- static observedAttributes = [
1711
- "kind",
1712
- "orient",
1713
- "scale",
1714
- "x",
1715
- "y"
1716
- ];
1717
- inputs = t.observedAttributes;
1718
- kindSignal = T("sky");
1719
- orientSignal = T("pointy");
1720
- scaleSignal = T(1);
1721
- xSignal = T(0);
1722
- ySignal = T(0);
1723
- get kind() {
1724
- return this.kindSignal[0]();
1725
- }
1726
- set kind(e) {
1727
- this.kindSignal[1](String(e ?? "").toLowerCase() === "earth" ? "earth" : "sky");
1728
- }
1729
- get orient() {
1730
- return this.orientSignal[0]();
1731
- }
1732
- set orient(e) {
1733
- this.orientSignal[1](String(e ?? "").toLowerCase() === "flat" ? "flat" : "pointy");
1734
- }
1735
- get scale() {
1736
- return this.scaleSignal[0]();
1737
- }
1738
- set scale(e) {
1739
- let t = Y(e, 1);
1740
- this.scaleSignal[1](t > 0 ? t : 1);
1741
- }
1742
- get x() {
1743
- return this.xSignal[0]();
1744
- }
1745
- set x(e) {
1746
- this.xSignal[1](Y(e, 0));
1747
- }
1748
- get y() {
1749
- return this.ySignal[0]();
1750
- }
1751
- set y(e) {
1752
- this.ySignal[1](Y(e, 0));
1753
- }
1754
- attributeChangedCallback(e, t, n) {
1755
- Reflect.set(this, e, n ?? "");
1756
- }
1757
- sheet() {
1758
- return jn();
1759
- }
1760
- draw() {
1761
- let t = `${An}-${++Mn}`, n = this;
1762
- return (() => {
1763
- var r = kn(), a = r.firstChild, o = a.firstChild, s = o.firstChild, c = a.nextSibling;
1764
- return F(o, "id", t), F(c, "fill", `url(#${t})`), E((t) => {
1765
- var r = e.width, a = e.height, c = `translate(${n.x} ${n.y})${n.orient === "flat" ? " rotate(90)" : ""} scale(${n.scale})`, l = i[n.kind];
1766
- return r !== t.e && F(o, "width", t.e = r), a !== t.t && F(o, "height", t.t = a), c !== t.a && F(o, "patternTransform", t.a = c), l !== t.o && F(s, "d", t.o = l), t;
1767
- }, {
1768
- e: void 0,
1769
- t: void 0,
1770
- a: void 0,
1771
- o: void 0
1772
- }), r;
1773
- })();
1774
- }
1775
- }, Pn = () => kt(An, Nn);
1776
- //#endregion
1777
- //#region src/elements/index.ts
1778
- function Fn() {
1779
- Ht(), Pn(), yn(), Dn(), tn();
1780
- }
1781
- //#endregion
1782
- export { Pt as _, wn as a, Ht as b, vn as c, sn as d, rn as f, tn as g, en as h, Pn as i, hn as l, Zt as m, Nn as n, En as o, Qt as p, An as r, Dn as s, Fn as t, yn as u, Vt as v, at as x, Ft as y };