@harmonics/lattice-ui 0.6.0 → 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.
- package/CHANGELOG.md +10 -0
- package/README.md +39 -6
- package/dist/board.js +204 -204
- package/dist/define.js +1 -1
- package/dist/elements-DdyLdkzr.js +1346 -0
- package/dist/index.js +2 -2
- package/dist/types/elements/icon.d.ts +1 -1
- package/dist/types/elements/index.d.ts +1 -1
- package/dist/types/elements/shape.d.ts +35 -3
- package/dist/types/elements/solid.d.ts +5 -1
- package/dist/{woods-FI5aDpfQ.js → woods-C8W11GkD.js} +96 -144
- package/package.json +1 -1
- package/react.d.ts +5 -0
- package/dist/elements-GhyUSrb9.js +0 -1099
package/dist/board.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { A as e, C as t, D as n,
|
|
1
|
+
import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, b as c, c as l, d as u, f as d, g as f, h as p, j as m, k as h, l as g, m as _, o as v, p as y, t as b, u as x, v as S, w as C, x as w, y as T } from "./woods-C8W11GkD.js";
|
|
2
2
|
import { A as E, C as D, D as O, E as k, F as A, I as j, L as M, M as ee, P as N, R as P, S as F, T as I, _ as L, a as R, b as te, c as z, g as ne, h as re, i as ie, j as B, k as V, m as H, n as ae, p as oe, r as se, s as U, v as W, w as ce, x as le, y as G } from "./hexes-DwdbCYSF.js";
|
|
3
3
|
//#region src/board.ts
|
|
4
4
|
var { half: ue } = M, de = 5, K = (e) => `${e.q},${e.r}`, fe = /* @__PURE__ */ new Set();
|
|
5
5
|
function pe(e) {
|
|
6
|
-
let t = e.hooks ?? {},
|
|
6
|
+
let t = e.hooks ?? {}, r = () => e.fixed?.() ?? fe, i = 4, a = () => (i = (i + 1) % de, i), [o, s] = h(e.initial), c = () => o().filter((e) => !r().has(e.id)), [l, u] = h(), [d, f] = h(), [p, g] = h(), _ = (e) => o().find((t) => t.id === e), v = (e, t) => o().flatMap((n) => n.id === e ? t : [n]), y = (e, n, i, a) => (s(n), t.change?.(n.filter((e) => !r().has(e.id)), i, a) !== !1 || (s(e), !1)), b = n(() => {
|
|
7
7
|
let t = l();
|
|
8
8
|
if (!t) return;
|
|
9
9
|
let n = t.now.x - t.start.x, r = t.now.y - t.start.y, i = W(t.from, n, r, t.held);
|
|
@@ -12,60 +12,60 @@ function pe(e) {
|
|
|
12
12
|
x: n,
|
|
13
13
|
y: r
|
|
14
14
|
} : i;
|
|
15
|
-
}), x =
|
|
15
|
+
}), x = n(() => {
|
|
16
16
|
let e = l(), t = b();
|
|
17
17
|
return e && t ? G(e.from, t.step) : void 0;
|
|
18
|
-
}), S =
|
|
18
|
+
}), S = n(() => new Set((e.tray?.() ?? []).map(K))), C = () => {
|
|
19
19
|
let e = l();
|
|
20
20
|
return e ? S().has(K(ne(e.now.x, e.now.y))) : !1;
|
|
21
|
-
}, w =
|
|
21
|
+
}, w = n(() => {
|
|
22
22
|
let t = x();
|
|
23
23
|
return t ? se(t, o(), e.area(), e.clear()) : /* @__PURE__ */ new Set();
|
|
24
24
|
}), T = (t) => oe(t, o(), e.area(), e.clear()), D = () => {
|
|
25
25
|
let e = x();
|
|
26
26
|
return e ? T(e) : !1;
|
|
27
|
-
}, k =
|
|
27
|
+
}, k = n(() => [...o()].sort((e, t) => e.id === l()?.id ? 1 : t.id === l()?.id ? -1 : ie(e) - ie(t)).map((e) => e.id)), M = n(() => {
|
|
28
28
|
let e = p(), t = e && !l() ? _(e) : void 0;
|
|
29
29
|
return t ? c().filter((e) => e.id !== t.id && ee(t, e)).flatMap((e) => O(t, e)) : [];
|
|
30
30
|
}), N, P = (e) => {
|
|
31
31
|
f(e), clearTimeout(N), N = setTimeout(() => f(void 0), 300);
|
|
32
32
|
}, F;
|
|
33
|
-
|
|
33
|
+
m(() => {
|
|
34
34
|
clearTimeout(N), clearTimeout(F);
|
|
35
35
|
});
|
|
36
|
-
let I = (e,
|
|
36
|
+
let I = (e, n) => {
|
|
37
37
|
let i = _(e);
|
|
38
|
-
if (!i ||
|
|
39
|
-
let a = A(i,
|
|
38
|
+
if (!i || r().has(e)) return;
|
|
39
|
+
let a = A(i, n), c = l();
|
|
40
40
|
if (c?.id === e) u({
|
|
41
41
|
...c,
|
|
42
|
-
from: A(c.from,
|
|
42
|
+
from: A(c.from, n)
|
|
43
43
|
}), s(v(e, [a]));
|
|
44
44
|
else if (!T(a)) {
|
|
45
45
|
P(e);
|
|
46
46
|
return;
|
|
47
47
|
} else if (!y(o(), v(e, [a]), "turn", e)) return;
|
|
48
|
-
t.turned?.(e,
|
|
48
|
+
t.turned?.(e, n);
|
|
49
49
|
}, L = (e) => {
|
|
50
|
-
let
|
|
51
|
-
if (!
|
|
52
|
-
let { piece: i, absorbed: a } = re(
|
|
50
|
+
let n = _(e);
|
|
51
|
+
if (!n || r().has(e)) return;
|
|
52
|
+
let { piece: i, absorbed: a } = re(n, c());
|
|
53
53
|
if (a.length === 0) {
|
|
54
54
|
P(e);
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
57
|
let s = o().filter((e) => !a.includes(e.id)).map((t) => t.id === e ? i : t);
|
|
58
|
-
y(o(), s, "glue", e) && (
|
|
59
|
-
}, z = (
|
|
60
|
-
let i = _(
|
|
61
|
-
if (!i ||
|
|
62
|
-
P(
|
|
58
|
+
y(o(), s, "glue", e) && (g(e), t.focus?.(e));
|
|
59
|
+
}, z = (n) => {
|
|
60
|
+
let i = _(n);
|
|
61
|
+
if (!i || r().has(n) || i.parts.length < 2) {
|
|
62
|
+
P(n);
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
let a = ae(i, e.id), s = a[0];
|
|
66
|
-
y(o(), v(
|
|
66
|
+
y(o(), v(n, a), "break", n) && (g(s.id), t.focus?.(s.id));
|
|
67
67
|
}, V = (e) => {
|
|
68
|
-
!
|
|
68
|
+
!r().has(e) && _(e) && y(o(), v(e, []), "remove", e) && g(void 0);
|
|
69
69
|
}, H = (e, t, n, r) => {
|
|
70
70
|
let i = r ?? o();
|
|
71
71
|
u({
|
|
@@ -80,7 +80,7 @@ function pe(e) {
|
|
|
80
80
|
restore: r,
|
|
81
81
|
before: i,
|
|
82
82
|
action: n
|
|
83
|
-
}),
|
|
83
|
+
}), g(void 0);
|
|
84
84
|
};
|
|
85
85
|
return {
|
|
86
86
|
pieces: o,
|
|
@@ -97,14 +97,14 @@ function pe(e) {
|
|
|
97
97
|
glueSides: M,
|
|
98
98
|
refused: d,
|
|
99
99
|
touched: p,
|
|
100
|
-
touch:
|
|
101
|
-
lift: (t,
|
|
100
|
+
touch: g,
|
|
101
|
+
lift: (t, n, i) => {
|
|
102
102
|
let a = _(t);
|
|
103
|
-
if (!(!a ||
|
|
103
|
+
if (!(!a || r().has(t) || l())) {
|
|
104
104
|
if (i !== void 0 && a.parts.length > 1) {
|
|
105
|
-
let
|
|
106
|
-
s(v(t, [c, ...l])), H(c,
|
|
107
|
-
} else H(a,
|
|
105
|
+
let r = o(), [c, ...l] = ce(a, i, e.id);
|
|
106
|
+
s(v(t, [c, ...l])), H(c, n, "pull", r);
|
|
107
|
+
} else H(a, n, "move");
|
|
108
108
|
}
|
|
109
109
|
},
|
|
110
110
|
fromTray: (t, n) => {
|
|
@@ -123,7 +123,7 @@ function pe(e) {
|
|
|
123
123
|
}), l = j(n, c.x + ue, c.y + 44, i, e.id());
|
|
124
124
|
if (T(l)) {
|
|
125
125
|
if (!y(o(), [...o(), l], "add", l.id)) return;
|
|
126
|
-
|
|
126
|
+
g(l.id), t.focus?.(l.id);
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -149,13 +149,13 @@ function pe(e) {
|
|
|
149
149
|
y: n.now.y - n.start.y
|
|
150
150
|
}, f = n.before;
|
|
151
151
|
if (u(void 0), i) {
|
|
152
|
-
n.action === "add" && n.restore ? s(n.restore) : y(f, v(n.id, []), "remove", n.id) &&
|
|
152
|
+
n.action === "add" && n.restore ? s(n.restore) : y(f, v(n.id, []), "remove", n.id) && g(void 0);
|
|
153
153
|
return;
|
|
154
154
|
}
|
|
155
155
|
let p = r && (a ? r : te(r, o(), e.area(), e.clear()));
|
|
156
156
|
if (p) {
|
|
157
157
|
if (!y(f, v(n.id, [p]), n.action, n.id)) return;
|
|
158
|
-
|
|
158
|
+
g(n.id);
|
|
159
159
|
let e = B({
|
|
160
160
|
i: p.pivot.i - n.from.pivot.i,
|
|
161
161
|
j: p.pivot.j - n.from.pivot.j
|
|
@@ -171,22 +171,22 @@ function pe(e) {
|
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
173
|
s(v(n.id, [n.from]));
|
|
174
|
-
let
|
|
175
|
-
F = setTimeout(() => P(n.id),
|
|
174
|
+
let m = t.slid?.(n.id, d) ?? 0;
|
|
175
|
+
F = setTimeout(() => P(n.id), m);
|
|
176
176
|
},
|
|
177
|
-
key: (e,
|
|
177
|
+
key: (e, n) => {
|
|
178
178
|
let i = _(e);
|
|
179
|
-
if (!i ||
|
|
180
|
-
let a =
|
|
181
|
-
if (a === "r" || a === "R") return l()?.id !== e && (I(e,
|
|
182
|
-
if (a === "g" || a === "G") return
|
|
179
|
+
if (!i || r().has(e)) return !1;
|
|
180
|
+
let a = n.key;
|
|
181
|
+
if (a === "r" || a === "R") return l()?.id !== e && (I(e, n.shiftKey ? -1 : 1), t.focus?.(e)), !0;
|
|
182
|
+
if (a === "g" || a === "G") return n.shiftKey ? z(e) : L(e), !0;
|
|
183
183
|
if (a === "Delete" || a === "Backspace") return V(e), !0;
|
|
184
184
|
let s = E(i, a);
|
|
185
185
|
if (!s) return !1;
|
|
186
186
|
let c = G(i, s);
|
|
187
187
|
if (!T(c)) return P(e), !0;
|
|
188
188
|
if (!y(o(), v(e, [c]), "move", e)) return !0;
|
|
189
|
-
|
|
189
|
+
g(e);
|
|
190
190
|
let u = B(s);
|
|
191
191
|
return t.landed?.(e, {
|
|
192
192
|
x: -u.x,
|
|
@@ -205,18 +205,18 @@ function pe(e) {
|
|
|
205
205
|
}
|
|
206
206
|
function me(e, t) {
|
|
207
207
|
if (typeof window > "u") return;
|
|
208
|
-
let n = (n) => e.follow(t(n.clientX, n.clientY)),
|
|
208
|
+
let n = (n) => e.follow(t(n.clientX, n.clientY)), i = () => e.drop(), a = (t) => {
|
|
209
209
|
e.carryKey(t) && t.preventDefault();
|
|
210
210
|
};
|
|
211
|
-
|
|
212
|
-
e.carried() && (window.addEventListener("pointermove", n), window.addEventListener("pointerup",
|
|
213
|
-
window.removeEventListener("pointermove", n), window.removeEventListener("pointerup",
|
|
211
|
+
r(() => {
|
|
212
|
+
e.carried() && (window.addEventListener("pointermove", n), window.addEventListener("pointerup", i), window.addEventListener("pointercancel", i), window.addEventListener("keydown", a), m(() => {
|
|
213
|
+
window.removeEventListener("pointermove", n), window.removeEventListener("pointerup", i), window.removeEventListener("pointercancel", i), window.removeEventListener("keydown", a);
|
|
214
214
|
}));
|
|
215
215
|
});
|
|
216
216
|
}
|
|
217
217
|
//#endregion
|
|
218
218
|
//#region src/pieceDrawing.tsx
|
|
219
|
-
var he = /*#__PURE__*/
|
|
219
|
+
var he = /*#__PURE__*/ c("<svg><path class=shade></svg>", !1, !0, !1), ge = /*#__PURE__*/ c("<svg><path class=shadow></svg>", !1, !0, !1), q = /*#__PURE__*/ c("<svg><path class=top></svg>", !1, !0, !1), _e = /*#__PURE__*/ c("<svg><g><rect width=1 height=1></svg>", !1, !0, !1), ve = /*#__PURE__*/ c("<svg><g class=part></svg>", !1, !0, !1), J = /*#__PURE__*/ c("<svg><g></svg>", !1, !0, !1), ye = /*#__PURE__*/ c("<svg><line></svg>", !1, !0, !1), be = /*#__PURE__*/ c("<svg><g class=piece role=button tabindex=0><g><g><g></svg>", !1, !0, !1), xe = /*#__PURE__*/ c("<svg><g class=landing></svg>", !1, !0, !1), Y = /*#__PURE__*/ c("<svg><path></svg>", !1, !0, !1), Se = /*#__PURE__*/ c("<svg><g class=tray></svg>", !1, !0, !1), Ce = /*#__PURE__*/ c("<svg><g class=source role=button tabindex=0><g class=tray-cell></g><g class=tray-unit></svg>", !1, !0, !1), { width: X, half: Z } = M;
|
|
220
220
|
function we() {
|
|
221
221
|
return [
|
|
222
222
|
(() => {
|
|
@@ -233,40 +233,40 @@ function we() {
|
|
|
233
233
|
})()
|
|
234
234
|
];
|
|
235
235
|
}
|
|
236
|
-
function Te(
|
|
237
|
-
let
|
|
236
|
+
function Te(e) {
|
|
237
|
+
let t = z(e.tri).map(U), n = t[2], r = t[1];
|
|
238
238
|
return [(() => {
|
|
239
|
-
var
|
|
240
|
-
return
|
|
241
|
-
var o = `matrix(${
|
|
242
|
-
return o !==
|
|
239
|
+
var t = _e(), a = t.firstChild;
|
|
240
|
+
return i((i) => {
|
|
241
|
+
var o = `matrix(${r.x - n.x} ${r.y - n.y} 0 -1 ${n.x} ${n.y})`, s = `side ${e.tri.k === 0 ? "shadow" : "shade"}`;
|
|
242
|
+
return o !== i.e && T(t, "transform", i.e = o), s !== i.t && T(a, "class", i.t = s), i;
|
|
243
243
|
}, {
|
|
244
244
|
e: void 0,
|
|
245
245
|
t: void 0
|
|
246
|
-
}),
|
|
246
|
+
}), t;
|
|
247
247
|
})(), (() => {
|
|
248
|
-
var
|
|
249
|
-
return
|
|
248
|
+
var e = q();
|
|
249
|
+
return i(() => T(e, "d", p(t))), e;
|
|
250
250
|
})()];
|
|
251
251
|
}
|
|
252
|
-
function Ee(
|
|
252
|
+
function Ee(e) {
|
|
253
253
|
return (() => {
|
|
254
|
-
var
|
|
255
|
-
return
|
|
256
|
-
var
|
|
257
|
-
return () =>
|
|
258
|
-
var
|
|
259
|
-
return
|
|
260
|
-
})() :
|
|
261
|
-
return
|
|
254
|
+
var t = ve();
|
|
255
|
+
return s(t, (() => {
|
|
256
|
+
var t = S(() => e.part.kind === "cell");
|
|
257
|
+
return () => t() ? (() => {
|
|
258
|
+
var t = J();
|
|
259
|
+
return s(t, o(we, {})), i(() => T(t, "transform", `translate(${R(e.part.at).x} ${R(e.part.at).y})`)), t;
|
|
260
|
+
})() : o(Te, { get tri() {
|
|
261
|
+
return e.part.at;
|
|
262
262
|
} });
|
|
263
|
-
})()),
|
|
264
|
-
var
|
|
265
|
-
return
|
|
263
|
+
})()), i((n) => {
|
|
264
|
+
var r = e.part.tone, i = e.index;
|
|
265
|
+
return r !== n.e && T(t, "data-tone", n.e = r), i !== n.t && T(t, "data-part", n.t = i), n;
|
|
266
266
|
}, {
|
|
267
267
|
e: void 0,
|
|
268
268
|
t: void 0
|
|
269
|
-
}),
|
|
269
|
+
}), t;
|
|
270
270
|
})();
|
|
271
271
|
}
|
|
272
272
|
function De(e) {
|
|
@@ -276,26 +276,26 @@ function De(e) {
|
|
|
276
276
|
index: t
|
|
277
277
|
})).sort((e, r) => t(e.part) - t(r.part) || n(e.part) - n(r.part));
|
|
278
278
|
}
|
|
279
|
-
function Q(
|
|
279
|
+
function Q(e) {
|
|
280
280
|
return (() => {
|
|
281
|
-
var
|
|
282
|
-
return
|
|
281
|
+
var t = J();
|
|
282
|
+
return s(t, o(a, {
|
|
283
283
|
get each() {
|
|
284
|
-
return
|
|
284
|
+
return e.sides;
|
|
285
285
|
},
|
|
286
|
-
children: ([
|
|
287
|
-
var
|
|
288
|
-
return
|
|
289
|
-
var i =
|
|
290
|
-
return i !==
|
|
286
|
+
children: ([e, t]) => (() => {
|
|
287
|
+
var n = ye();
|
|
288
|
+
return i((r) => {
|
|
289
|
+
var i = e.x, a = e.y, o = t.x, s = t.y;
|
|
290
|
+
return i !== r.e && T(n, "x1", r.e = i), a !== r.t && T(n, "y1", r.t = a), o !== r.a && T(n, "x2", r.a = o), s !== r.o && T(n, "y2", r.o = s), r;
|
|
291
291
|
}, {
|
|
292
292
|
e: void 0,
|
|
293
293
|
t: void 0,
|
|
294
294
|
a: void 0,
|
|
295
295
|
o: void 0
|
|
296
|
-
}),
|
|
296
|
+
}), n;
|
|
297
297
|
})()
|
|
298
|
-
})),
|
|
298
|
+
})), i(() => T(t, "class", e.class)), t;
|
|
299
299
|
})();
|
|
300
300
|
}
|
|
301
301
|
function Oe(e, t) {
|
|
@@ -341,99 +341,99 @@ function Oe(e, t) {
|
|
|
341
341
|
};
|
|
342
342
|
}
|
|
343
343
|
var ke = (e) => `A piece of ${e.parts.length} ${e.parts.length === 1 ? "part" : "parts"}. Drag it or use the arrow keys to move it; R turns it, G glues it to what it touches, Shift+G breaks it apart, Delete throws it away.`;
|
|
344
|
-
function Ae(
|
|
345
|
-
let
|
|
344
|
+
function Ae(e) {
|
|
345
|
+
let t = e.board, n = () => t.pieceById(e.id);
|
|
346
346
|
return (() => {
|
|
347
|
-
var
|
|
348
|
-
return
|
|
349
|
-
|
|
350
|
-
})),
|
|
351
|
-
if (
|
|
352
|
-
|
|
353
|
-
let
|
|
354
|
-
|
|
355
|
-
}), w((
|
|
356
|
-
|
|
357
|
-
let
|
|
358
|
-
|
|
347
|
+
var c = be(), l = c.firstChild, u = l.firstChild, d = u.firstChild;
|
|
348
|
+
return f(c, "keydown", (n) => e.motion.keyed(() => {
|
|
349
|
+
t.key(e.id, n) && n.preventDefault();
|
|
350
|
+
})), f(c, "focus", () => t.touch(e.id)), f(c, "dblclick", () => t.turn(e.id, 1)), f(c, "pointerleave", () => e.onPointerLeave?.()), f(c, "pointerenter", () => e.onPointerEnter?.()), f(c, "pointerdown", (n) => {
|
|
351
|
+
if (n.button !== 0) return;
|
|
352
|
+
n.preventDefault();
|
|
353
|
+
let r = n.target.closest("[data-part]"), i = n.altKey && r ? Number(r.getAttribute("data-part")) : void 0;
|
|
354
|
+
t.lift(e.id, e.toWorld(n.clientX, n.clientY), i);
|
|
355
|
+
}), w((n) => {
|
|
356
|
+
e.motion.elements.set(e.id, n), r(() => {
|
|
357
|
+
let r = t.carried()?.id === e.id ? t.magnet() : void 0;
|
|
358
|
+
n.style.setProperty("--tx", `${r?.x ?? 0}px`), n.style.setProperty("--ty", `${r?.y ?? 0}px`), n.style.setProperty("--pull", `${e.calm() ? 0 : r?.pull ?? 0}`);
|
|
359
359
|
});
|
|
360
|
-
},
|
|
361
|
-
|
|
362
|
-
}, u),
|
|
360
|
+
}, c), w((t) => {
|
|
361
|
+
t.style.transformOrigin = "0 0", t.style.transformBox = "view-box", e.motion.turners.set(e.id, t);
|
|
362
|
+
}, u), s(d, o(a, {
|
|
363
363
|
get each() {
|
|
364
|
-
return De(
|
|
364
|
+
return De(n());
|
|
365
365
|
},
|
|
366
|
-
children: ({ part: e, index: t }) =>
|
|
366
|
+
children: ({ part: e, index: t }) => o(Ee, {
|
|
367
367
|
part: e,
|
|
368
368
|
index: t
|
|
369
369
|
})
|
|
370
|
-
}), null),
|
|
370
|
+
}), null), s(d, o(Q, {
|
|
371
371
|
get sides() {
|
|
372
|
-
return k(
|
|
372
|
+
return k(n());
|
|
373
373
|
},
|
|
374
374
|
class: "seams"
|
|
375
|
-
}), null),
|
|
375
|
+
}), null), s(d, o(Q, {
|
|
376
376
|
get sides() {
|
|
377
|
-
return le(
|
|
377
|
+
return le(n());
|
|
378
378
|
},
|
|
379
379
|
class: "outline"
|
|
380
|
-
}), null),
|
|
381
|
-
var
|
|
382
|
-
return
|
|
380
|
+
}), null), i((r) => {
|
|
381
|
+
var i = t.carried()?.id === e.id, a = t.refused() === e.id, o = ke(n()), s = `translate(${D(n()).x} ${D(n()).y})`, u = `translate(${-D(n()).x} ${-D(n()).y})`;
|
|
382
|
+
return i !== r.e && c.classList.toggle("carried", r.e = i), a !== r.t && c.classList.toggle("refused", r.t = a), o !== r.a && T(c, "aria-label", r.a = o), s !== r.o && T(l, "transform", r.o = s), u !== r.i && T(d, "transform", r.i = u), r;
|
|
383
383
|
}, {
|
|
384
384
|
e: void 0,
|
|
385
385
|
t: void 0,
|
|
386
386
|
a: void 0,
|
|
387
387
|
o: void 0,
|
|
388
388
|
i: void 0
|
|
389
|
-
}),
|
|
389
|
+
}), c;
|
|
390
390
|
})();
|
|
391
391
|
}
|
|
392
|
-
function je(
|
|
393
|
-
let
|
|
394
|
-
return
|
|
392
|
+
function je(e) {
|
|
393
|
+
let t = e.board;
|
|
394
|
+
return o(C, {
|
|
395
395
|
get when() {
|
|
396
|
-
return
|
|
396
|
+
return S(() => !!t.target())() && !t.overTray();
|
|
397
397
|
},
|
|
398
398
|
get children() {
|
|
399
|
-
var
|
|
400
|
-
return w((e) =>
|
|
399
|
+
var e = xe();
|
|
400
|
+
return w((e) => r(() => e.style.setProperty("--pull", `${t.magnet()?.pull ?? 0}`)), e), s(e, o(a, {
|
|
401
401
|
get each() {
|
|
402
|
-
return
|
|
402
|
+
return t.target()?.parts ?? [];
|
|
403
403
|
},
|
|
404
|
-
children: (
|
|
405
|
-
let
|
|
406
|
-
return
|
|
407
|
-
var
|
|
408
|
-
return T(
|
|
409
|
-
var
|
|
410
|
-
return
|
|
404
|
+
children: (e, n) => {
|
|
405
|
+
let r = () => t.blocked().has(n());
|
|
406
|
+
return e.kind === "cell" ? (() => {
|
|
407
|
+
var t = Y();
|
|
408
|
+
return T(t, "d", P), i((n) => {
|
|
409
|
+
var i = !!r(), a = `translate(${R(e.at).x} ${R(e.at).y})`;
|
|
410
|
+
return i !== n.e && t.classList.toggle("blocked", n.e = i), a !== n.t && T(t, "transform", n.t = a), n;
|
|
411
411
|
}, {
|
|
412
412
|
e: void 0,
|
|
413
413
|
t: void 0
|
|
414
|
-
}),
|
|
414
|
+
}), t;
|
|
415
415
|
})() : (() => {
|
|
416
|
-
var
|
|
417
|
-
return
|
|
418
|
-
var
|
|
419
|
-
return
|
|
416
|
+
var t = Y();
|
|
417
|
+
return i((n) => {
|
|
418
|
+
var i = !!r(), a = p(z(e.at).map(U));
|
|
419
|
+
return i !== n.e && t.classList.toggle("blocked", n.e = i), a !== n.t && T(t, "d", n.t = a), n;
|
|
420
420
|
}, {
|
|
421
421
|
e: void 0,
|
|
422
422
|
t: void 0
|
|
423
|
-
}),
|
|
423
|
+
}), t;
|
|
424
424
|
})();
|
|
425
425
|
}
|
|
426
|
-
})),
|
|
426
|
+
})), i(() => e.classList.toggle("held", t.magnet()?.held !== void 0)), e;
|
|
427
427
|
}
|
|
428
428
|
});
|
|
429
429
|
}
|
|
430
430
|
function Me(e) {
|
|
431
|
-
return
|
|
431
|
+
return o(C, {
|
|
432
432
|
get when() {
|
|
433
433
|
return e.board.glueSides().length > 0;
|
|
434
434
|
},
|
|
435
435
|
get children() {
|
|
436
|
-
return
|
|
436
|
+
return o(Q, {
|
|
437
437
|
get sides() {
|
|
438
438
|
return e.board.glueSides();
|
|
439
439
|
},
|
|
@@ -442,38 +442,38 @@ function Me(e) {
|
|
|
442
442
|
}
|
|
443
443
|
});
|
|
444
444
|
}
|
|
445
|
-
function Ne(
|
|
445
|
+
function Ne(e) {
|
|
446
446
|
return (() => {
|
|
447
|
-
var
|
|
448
|
-
return
|
|
447
|
+
var n = Se();
|
|
448
|
+
return s(n, o(t, {
|
|
449
449
|
get each() {
|
|
450
|
-
return
|
|
450
|
+
return e.cells;
|
|
451
451
|
},
|
|
452
|
-
children: (t,
|
|
453
|
-
let
|
|
452
|
+
children: (t, n) => {
|
|
453
|
+
let r = () => R(t()), c = n === 0 ? "cell" : "tri", l = () => j(c, r().x + Z, r().y + 44, 4, "");
|
|
454
454
|
return (() => {
|
|
455
|
-
var t = Ce(),
|
|
456
|
-
return
|
|
457
|
-
(
|
|
458
|
-
}),
|
|
459
|
-
|
|
460
|
-
}), T(t, "aria-label",
|
|
455
|
+
var t = Ce(), n = t.firstChild, u = n.nextSibling;
|
|
456
|
+
return f(t, "keydown", (t) => {
|
|
457
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), e.motion.keyed(() => e.board.placeFromTray(c)));
|
|
458
|
+
}), f(t, "pointerdown", (t) => {
|
|
459
|
+
t.button === 0 && (t.preventDefault(), e.board.fromTray(c, e.toWorld(t.clientX, t.clientY)));
|
|
460
|
+
}), T(t, "aria-label", c === "cell" ? "A new cell" : "A new triangle"), s(n, o(we, {})), T(u, "transform", c === "tri" ? `translate(${-Z / 2} 22)` : void 0), s(u, o(a, {
|
|
461
461
|
get each() {
|
|
462
462
|
return l().parts;
|
|
463
463
|
},
|
|
464
|
-
children: (e) =>
|
|
464
|
+
children: (e) => o(Ee, {
|
|
465
465
|
part: e,
|
|
466
466
|
index: 0
|
|
467
467
|
})
|
|
468
|
-
})),
|
|
468
|
+
})), i(() => T(n, "transform", `translate(${r().x} ${r().y})`)), t;
|
|
469
469
|
})();
|
|
470
470
|
}
|
|
471
|
-
})),
|
|
471
|
+
})), i(() => n.classList.toggle("discard", !!e.board.overTray())), n;
|
|
472
472
|
})();
|
|
473
473
|
}
|
|
474
474
|
//#endregion
|
|
475
475
|
//#region src/elements/board.css?inline
|
|
476
|
-
var Pe = ":host{min-height:var(--space-tree-4);display:block;position:relative}.board{width:100%;height:100%}.board .fixed{pointer-events:none}", Fe = ".pieces .piece{--lift:var(--space-tree-2);--lift-n:8;transform:translate(var(--tx), var(--ty));cursor:grab;touch-action:none}.pieces .piece .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);transform:translateY(calc(-1 * var(--lift)));transition:transform .16s ease-out}.pieces .piece .side{transform:scaleY(var(--lift-n));transform-box:fill-box;transform-origin:0 0;transition:transform .16s ease-out}.pieces .piece .shade{fill:color-mix(in srgb, var(--wood) 70%, var(--sky))}.pieces .piece .shadow{fill:var(--wood)}.pieces .piece:hover{--lift:var(--space-tree-3);--lift-n:12}.pieces .piece.carried{--lift:calc(var(--space-tree-5) * (1 - var(--pull,0) / 2));--lift-n:calc(24 * (1 - var(--pull,0) / 2));cursor:grabbing;transition:none}.pieces .piece:focus-visible{outline:none}.pieces .piece.refused .top{animation:.3s ease-in-out refuse}@keyframes refuse{25%{translate:calc(-1 * var(--space-tree-1)) 0}75%{translate:var(--space-tree-1) 0}}.pieces .seams line,.pieces .glue-sides line{transform:translateY(calc(-1 * var(--lift)))}.pieces .seams line{stroke:color-mix(in srgb, var(--color-tree-ink) 18%, transparent);stroke-width:var(--tree-rule-width);stroke-linecap:round}.pieces .glue-sides{--lift:var(--space-tree-2)}.pieces .glue-sides line{stroke:var(--color-tree-alert);stroke-width:var(--tree-rule-thick-width);stroke-linecap:round;pointer-events:none}.pieces .piece .outline line{visibility:hidden;stroke:var(--color-tree-ink);stroke-width:var(--tree-rule-thick-width);stroke-linecap:round;transform:translateY(calc(-1 * var(--lift)));transition:transform .16s ease-out}.pieces .piece:focus-visible .outline line{visibility:visible}.pieces .tray .tray-cell .top{fill:color-mix(in srgb, var(--color-tree-ink) 5%, var(--sky));stroke:color-mix(in srgb, var(--color-tree-ink) 18%, var(--sky));stroke-width:var(--tree-rule-width);transform:translateY(calc(-1 * var(--space-tree-2)))}.pieces .tray .tray-cell .shade{fill:color-mix(in srgb, var(--color-tree-earth) 16%, var(--sky))}.pieces .tray .tray-cell .shadow{fill:color-mix(in srgb, var(--color-tree-earth) 30%, var(--sky))}.pieces .tray .tray-unit .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);transform:scale(.55) translateY(calc(-1 * var(--space-tree-3)));transform-box:fill-box;transform-origin:50%}.pieces .tray .tray-unit .shade,.pieces .tray .tray-unit .shadow{display:none}.pieces .tray .source{cursor:grab}.pieces .tray .source:hover .tray-cell .top{fill:color-mix(in srgb, var(--color-tree-ink) 10%, var(--sky))}.pieces .tray .source:focus-visible{outline:none}.pieces .tray .source:focus-visible .tray-cell .top{stroke:var(--color-tree-ink);stroke-width:var(--tree-rule-thick-width)}.pieces .tray.discard .source .tray-cell .top{fill:color-mix(in srgb, var(--color-tree-alert) 18%, var(--sky));stroke:var(--color-tree-alert)}.pieces .landing path{fill:color-mix(in srgb, var(--color-tree-ink) 6%, var(--sky));stroke:color-mix(in srgb, var(--color-tree-ink) 35%, var(--sky));stroke-width:var(--tree-rule-width);stroke-dasharray:4 3}.pieces .landing path:not(.blocked){fill:color-mix(in srgb, var(--color-tree-leaf) calc(var(--pull,0) * 30%), var(--sky));stroke:color-mix(in srgb, var(--color-tree-leaf) calc(var(--pull,0) * 70%), color-mix(in srgb, var(--color-tree-ink) 35%, var(--sky)));stroke-width:calc(var(--tree-rule-width) + var(--pull,0) * var(--space-tree-1) * 2);stroke-linejoin:miter}.pieces .landing.held path:not(.blocked){stroke-dasharray:none}.pieces .landing path.blocked{fill:color-mix(in srgb, var(--color-tree-alert) 10%, var(--sky));stroke:var(--color-tree-alert)}.pieces .piece .part:is([data-tone=\"5\"],[data-tone=\"6\"]) .top{fill:var(--wood)}.pieces .piece .part[data-tone=\"7\"] .top{fill:var(--color-tree-raised)}@media (prefers-reduced-motion:reduce){.pieces .piece,.pieces .piece .top,.pieces .piece .side,.pieces .piece .outline line{transition:none}.pieces .piece.refused .top{animation:none}}", Ie = /*#__PURE__*/
|
|
476
|
+
var Pe = ":host{min-height:var(--space-tree-4);display:block;position:relative}.board{width:100%;height:100%}.board .fixed{pointer-events:none}", Fe = ".pieces .piece{--lift:var(--space-tree-2);--lift-n:8;transform:translate(var(--tx), var(--ty));cursor:grab;touch-action:none}.pieces .piece .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);transform:translateY(calc(-1 * var(--lift)));transition:transform .16s ease-out}.pieces .piece .side{transform:scaleY(var(--lift-n));transform-box:fill-box;transform-origin:0 0;transition:transform .16s ease-out}.pieces .piece .shade{fill:color-mix(in srgb, var(--wood) 70%, var(--sky))}.pieces .piece .shadow{fill:var(--wood)}.pieces .piece:hover{--lift:var(--space-tree-3);--lift-n:12}.pieces .piece.carried{--lift:calc(var(--space-tree-5) * (1 - var(--pull,0) / 2));--lift-n:calc(24 * (1 - var(--pull,0) / 2));cursor:grabbing;transition:none}.pieces .piece:focus-visible{outline:none}.pieces .piece.refused .top{animation:.3s ease-in-out refuse}@keyframes refuse{25%{translate:calc(-1 * var(--space-tree-1)) 0}75%{translate:var(--space-tree-1) 0}}.pieces .seams line,.pieces .glue-sides line{transform:translateY(calc(-1 * var(--lift)))}.pieces .seams line{stroke:color-mix(in srgb, var(--color-tree-ink) 18%, transparent);stroke-width:var(--tree-rule-width);stroke-linecap:round}.pieces .glue-sides{--lift:var(--space-tree-2)}.pieces .glue-sides line{stroke:var(--color-tree-alert);stroke-width:var(--tree-rule-thick-width);stroke-linecap:round;pointer-events:none}.pieces .piece .outline line{visibility:hidden;stroke:var(--color-tree-ink);stroke-width:var(--tree-rule-thick-width);stroke-linecap:round;transform:translateY(calc(-1 * var(--lift)));transition:transform .16s ease-out}.pieces .piece:focus-visible .outline line{visibility:visible}.pieces .tray .tray-cell .top{fill:color-mix(in srgb, var(--color-tree-ink) 5%, var(--sky));stroke:color-mix(in srgb, var(--color-tree-ink) 18%, var(--sky));stroke-width:var(--tree-rule-width);transform:translateY(calc(-1 * var(--space-tree-2)))}.pieces .tray .tray-cell .shade{fill:color-mix(in srgb, var(--color-tree-earth) 16%, var(--sky))}.pieces .tray .tray-cell .shadow{fill:color-mix(in srgb, var(--color-tree-earth) 30%, var(--sky))}.pieces .tray .tray-unit .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);transform:scale(.55) translateY(calc(-1 * var(--space-tree-3)));transform-box:fill-box;transform-origin:50%}.pieces .tray .tray-unit .shade,.pieces .tray .tray-unit .shadow{display:none}.pieces .tray .source{cursor:grab}.pieces .tray .source:hover .tray-cell .top{fill:color-mix(in srgb, var(--color-tree-ink) 10%, var(--sky))}.pieces .tray .source:focus-visible{outline:none}.pieces .tray .source:focus-visible .tray-cell .top{stroke:var(--color-tree-ink);stroke-width:var(--tree-rule-thick-width)}.pieces .tray.discard .source .tray-cell .top{fill:color-mix(in srgb, var(--color-tree-alert) 18%, var(--sky));stroke:var(--color-tree-alert)}.pieces .landing path{fill:color-mix(in srgb, var(--color-tree-ink) 6%, var(--sky));stroke:color-mix(in srgb, var(--color-tree-ink) 35%, var(--sky));stroke-width:var(--tree-rule-width);stroke-dasharray:4 3}.pieces .landing path:not(.blocked){fill:color-mix(in srgb, var(--color-tree-leaf) calc(var(--pull,0) * 30%), var(--sky));stroke:color-mix(in srgb, var(--color-tree-leaf) calc(var(--pull,0) * 70%), color-mix(in srgb, var(--color-tree-ink) 35%, var(--sky)));stroke-width:calc(var(--tree-rule-width) + var(--pull,0) * var(--space-tree-1) * 2);stroke-linejoin:miter}.pieces .landing.held path:not(.blocked){stroke-dasharray:none}.pieces .landing path.blocked{fill:color-mix(in srgb, var(--color-tree-alert) 10%, var(--sky));stroke:var(--color-tree-alert)}.pieces .piece .part:is([data-tone=\"5\"],[data-tone=\"6\"]) .top{fill:var(--wood)}.pieces .piece .part[data-tone=\"7\"] .top{fill:var(--color-tree-raised)}@media (prefers-reduced-motion:reduce){.pieces .piece,.pieces .piece .top,.pieces .piece .side,.pieces .piece .outline line{transition:none}.pieces .piece.refused .top{animation:none}}", Ie = /*#__PURE__*/ c("<svg class=\"board pieces woods\"part=board role=group>"), Le = /*#__PURE__*/ c("<svg><g class=\"shape fixed\"><path class=seams></svg>", !1, !0, !1), Re = /*#__PURE__*/ c("<svg><path></svg>", !1, !0, !1), ze = "lattice-board", Be = y(`${b}\n${l}\n${Fe}\n${Pe}`), Ve = 8;
|
|
477
477
|
function $(e, t) {
|
|
478
478
|
let n = e;
|
|
479
479
|
if (typeof n == "string") try {
|
|
@@ -483,11 +483,11 @@ function $(e, t) {
|
|
|
483
483
|
}
|
|
484
484
|
return Array.isArray(n) ? n.flatMap((e) => {
|
|
485
485
|
if (typeof e != "object" || !e) return [];
|
|
486
|
-
let { id: n, parts: r } = e, i =
|
|
486
|
+
let { id: n, parts: r } = e, i = v(r, 0);
|
|
487
487
|
return i.length === 0 ? [] : [F(typeof n == "string" && n !== "" ? n : t(), i)];
|
|
488
488
|
}) : [];
|
|
489
489
|
}
|
|
490
|
-
var He = class t extends
|
|
490
|
+
var He = class t extends g {
|
|
491
491
|
static observedAttributes = [
|
|
492
492
|
"pieces",
|
|
493
493
|
"tray",
|
|
@@ -519,13 +519,13 @@ var He = class t extends _ {
|
|
|
519
519
|
return this.traySignal[0]();
|
|
520
520
|
}
|
|
521
521
|
set tray(e) {
|
|
522
|
-
this.traySignal[1](
|
|
522
|
+
this.traySignal[1](u(e));
|
|
523
523
|
}
|
|
524
524
|
get scale() {
|
|
525
525
|
return this.scaleSignal[0]();
|
|
526
526
|
}
|
|
527
527
|
set scale(e) {
|
|
528
|
-
let t =
|
|
528
|
+
let t = d(e, 1);
|
|
529
529
|
this.scaleSignal[1](t > 0 ? t : 1);
|
|
530
530
|
}
|
|
531
531
|
get label() {
|
|
@@ -541,23 +541,23 @@ var He = class t extends _ {
|
|
|
541
541
|
return Be();
|
|
542
542
|
}
|
|
543
543
|
draw() {
|
|
544
|
-
let t = this.getBoundingClientRect(), [
|
|
545
|
-
width: t.width ||
|
|
546
|
-
height: t.height ||
|
|
544
|
+
let t = this.getBoundingClientRect(), [c, l] = h({
|
|
545
|
+
width: t.width || d(this.style.width, 0),
|
|
546
|
+
height: t.height || d(this.style.height, 0)
|
|
547
547
|
});
|
|
548
548
|
if (typeof ResizeObserver < "u") {
|
|
549
549
|
let e = new ResizeObserver((e) => {
|
|
550
550
|
let t = e.at(-1)?.contentRect;
|
|
551
|
-
t && t.width > 0 &&
|
|
551
|
+
t && t.width > 0 && l({
|
|
552
552
|
width: t.width,
|
|
553
553
|
height: t.height
|
|
554
554
|
});
|
|
555
555
|
});
|
|
556
|
-
e.observe(this),
|
|
556
|
+
e.observe(this), m(() => e.disconnect());
|
|
557
557
|
}
|
|
558
|
-
let
|
|
558
|
+
let u = n(() => I(c().width / this.scale, c().height / this.scale)), f = n(() => {
|
|
559
559
|
if (!this.tray) return;
|
|
560
|
-
let e = Math.max(0, Math.floor((
|
|
560
|
+
let e = Math.max(0, Math.floor((u().bottom - 88) / 66)), t = Math.ceil(-e / 2);
|
|
561
561
|
return [{
|
|
562
562
|
q: t,
|
|
563
563
|
r: e
|
|
@@ -565,22 +565,22 @@ var He = class t extends _ {
|
|
|
565
565
|
q: t + 1,
|
|
566
566
|
r: e
|
|
567
567
|
}];
|
|
568
|
-
}),
|
|
568
|
+
}), p = n(() => $(this.fixedSignal[0](), this.madeId)), g = n(() => new Set(p().map((e) => e.id))), v = (e, t) => {
|
|
569
569
|
let n = this.getBoundingClientRect();
|
|
570
570
|
return {
|
|
571
571
|
x: (e - n.left) / this.scale,
|
|
572
572
|
y: (t - n.top) / this.scale
|
|
573
573
|
};
|
|
574
|
-
},
|
|
574
|
+
}, y = _(), b, x = Oe(y, () => {
|
|
575
575
|
let e = this.shadowRoot?.activeElement;
|
|
576
|
-
return !!e && !!
|
|
576
|
+
return !!e && !!b?.contains(e);
|
|
577
577
|
}), E = pe({
|
|
578
578
|
initial: [],
|
|
579
|
-
area:
|
|
580
|
-
clear: () =>
|
|
581
|
-
tray:
|
|
582
|
-
fixed:
|
|
583
|
-
calm:
|
|
579
|
+
area: u,
|
|
580
|
+
clear: () => f() ?? [],
|
|
581
|
+
tray: f,
|
|
582
|
+
fixed: g,
|
|
583
|
+
calm: y,
|
|
584
584
|
id: () => {
|
|
585
585
|
let e = this.madeId();
|
|
586
586
|
for (; E.pieceById(e);) e = this.madeId();
|
|
@@ -593,93 +593,93 @@ var He = class t extends _ {
|
|
|
593
593
|
id: n
|
|
594
594
|
}, !0),
|
|
595
595
|
caught: (e) => this.tell("catch", { id: e }),
|
|
596
|
-
landed:
|
|
597
|
-
slid:
|
|
598
|
-
turned:
|
|
599
|
-
focus:
|
|
596
|
+
landed: x.landed,
|
|
597
|
+
slid: x.slid,
|
|
598
|
+
turned: x.turned,
|
|
599
|
+
focus: x.focus
|
|
600
600
|
}
|
|
601
601
|
});
|
|
602
|
-
me(E,
|
|
602
|
+
me(E, v), this.live = () => E.pieces().filter((e) => !g().has(e.id)), m(() => {
|
|
603
603
|
this.live = void 0;
|
|
604
|
-
}),
|
|
604
|
+
}), r(e([() => this.givenSignal[0](), p], ([e, t]) => {
|
|
605
605
|
E.setPieces([...t, ...$(e, this.madeId)]);
|
|
606
|
-
})),
|
|
607
|
-
if (
|
|
608
|
-
let e = E.pieces(), t = e.filter((e) =>
|
|
606
|
+
})), r(e([u, f], () => {
|
|
607
|
+
if (u().right <= 0 || u().bottom <= 0) return;
|
|
608
|
+
let e = E.pieces(), t = e.filter((e) => g().has(e.id)), n = e.filter((e) => !g().has(e.id)), r = L(n, u(), f() ?? [], t);
|
|
609
609
|
r.every((e, t) => e === n[t]) || (E.setPieces([...t, ...r]), this.tell("change", {
|
|
610
610
|
pieces: r,
|
|
611
611
|
action: "move",
|
|
612
612
|
id: ""
|
|
613
613
|
}));
|
|
614
614
|
}));
|
|
615
|
-
let D = () => `0 0 ${
|
|
615
|
+
let D = () => `0 0 ${u().right} ${u().bottom}`, O = this;
|
|
616
616
|
return (() => {
|
|
617
|
-
var
|
|
618
|
-
return typeof
|
|
617
|
+
var e = Ie(), t = b;
|
|
618
|
+
return typeof t == "function" ? w(t, e) : b = e, s(e, o(a, {
|
|
619
619
|
get each() {
|
|
620
|
-
return
|
|
620
|
+
return p();
|
|
621
621
|
},
|
|
622
|
-
children: (
|
|
623
|
-
let
|
|
622
|
+
children: (e) => {
|
|
623
|
+
let t = H(e, Ve);
|
|
624
624
|
return (() => {
|
|
625
|
-
var
|
|
626
|
-
return
|
|
625
|
+
var e = Le(), n = e.firstChild;
|
|
626
|
+
return s(e, o(a, {
|
|
627
627
|
get each() {
|
|
628
|
-
return
|
|
628
|
+
return t.faces;
|
|
629
629
|
},
|
|
630
|
-
children: (
|
|
631
|
-
var
|
|
632
|
-
return
|
|
633
|
-
var r = `flat-${
|
|
634
|
-
return r !==
|
|
630
|
+
children: (e) => (() => {
|
|
631
|
+
var t = Re();
|
|
632
|
+
return i((n) => {
|
|
633
|
+
var r = `flat-${e.kind}`, i = e.tone, a = e.d;
|
|
634
|
+
return r !== n.e && T(t, "class", n.e = r), i !== n.t && T(t, "data-tone", n.t = i), a !== n.a && T(t, "d", n.a = a), n;
|
|
635
635
|
}, {
|
|
636
636
|
e: void 0,
|
|
637
637
|
t: void 0,
|
|
638
638
|
a: void 0
|
|
639
|
-
}),
|
|
639
|
+
}), t;
|
|
640
640
|
})()
|
|
641
|
-
}),
|
|
641
|
+
}), n), i(() => T(n, "d", t.seams)), e;
|
|
642
642
|
})();
|
|
643
643
|
}
|
|
644
|
-
}), null),
|
|
644
|
+
}), null), s(e, o(C, {
|
|
645
645
|
get when() {
|
|
646
|
-
return
|
|
646
|
+
return f();
|
|
647
647
|
},
|
|
648
|
-
children: (e) =>
|
|
648
|
+
children: (e) => o(Ne, {
|
|
649
649
|
board: E,
|
|
650
650
|
get cells() {
|
|
651
651
|
return e();
|
|
652
652
|
},
|
|
653
|
-
motion:
|
|
654
|
-
toWorld:
|
|
653
|
+
motion: x,
|
|
654
|
+
toWorld: v
|
|
655
655
|
})
|
|
656
|
-
}), null),
|
|
656
|
+
}), null), s(e, o(je, { board: E }), null), s(e, o(a, {
|
|
657
657
|
get each() {
|
|
658
658
|
return E.drawn();
|
|
659
659
|
},
|
|
660
|
-
children: (e) =>
|
|
660
|
+
children: (e) => o(C, {
|
|
661
661
|
get when() {
|
|
662
|
-
return
|
|
662
|
+
return S(() => !!E.pieceById(e))() && !g().has(e);
|
|
663
663
|
},
|
|
664
664
|
get children() {
|
|
665
|
-
return
|
|
665
|
+
return o(Ae, {
|
|
666
666
|
board: E,
|
|
667
667
|
id: e,
|
|
668
|
-
motion:
|
|
669
|
-
calm:
|
|
670
|
-
toWorld:
|
|
668
|
+
motion: x,
|
|
669
|
+
calm: y,
|
|
670
|
+
toWorld: v
|
|
671
671
|
});
|
|
672
672
|
}
|
|
673
673
|
})
|
|
674
|
-
}), null),
|
|
674
|
+
}), null), s(e, o(Me, { board: E }), null), i((t) => {
|
|
675
675
|
var n = D(), r = O.label || "A board of lattice pieces";
|
|
676
|
-
return n !==
|
|
676
|
+
return n !== t.e && T(e, "viewBox", t.e = n), r !== t.t && T(e, "aria-label", t.t = r), t;
|
|
677
677
|
}, {
|
|
678
678
|
e: void 0,
|
|
679
679
|
t: void 0
|
|
680
|
-
}),
|
|
680
|
+
}), e;
|
|
681
681
|
})();
|
|
682
682
|
}
|
|
683
|
-
}, Ue = (e) =>
|
|
683
|
+
}, Ue = (e) => x(ze, He, e);
|
|
684
684
|
//#endregion
|
|
685
685
|
export { ze as BOARD_TAG, He as LatticeBoard, Ue as defineLatticeBoard };
|