@fiestaboard/ui 2.2.4 → 2.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/board/board-display.d.ts +13 -1
- package/dist/components/board/board-display.js +255 -227
- package/dist/components/board/board-display.js.map +1 -1
- package/dist/components/board/board-teaser.js +56 -56
- package/dist/components/board/board-teaser.js.map +1 -1
- package/dist/components/board/static-board-display.d.ts +10 -2
- package/dist/components/board/static-board-display.js +80 -69
- package/dist/components/board/static-board-display.js.map +1 -1
- package/dist/index.js +12 -12
- package/dist/lib/board-characters.d.ts +24 -0
- package/dist/lib/board-characters.js +16 -9
- package/dist/lib/board-characters.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { resolveColorCode as e } from "../../lib/board-colors.js";
|
|
3
|
-
import { BOARD_CHARS as t, EXTRA_CHARS as n, getCharFromToken as r, getCharIndex as i, isColorTile as a, messageToGrid as o,
|
|
4
|
-
import { isNoteArray as
|
|
5
|
-
import { gapClasses as
|
|
6
|
-
import { SEAM_CLASS as h, charLeafBoxShadow as
|
|
7
|
-
import { reducedMotionQuery as
|
|
8
|
-
import { memo as
|
|
9
|
-
import { Fragment as
|
|
3
|
+
import { BOARD_CHARS as t, EXTRA_CHARS as n, getCharFromToken as r, getCharIndex as i, isColorTile as a, messageToGrid as o, messageToText as s, tokensEqual as c } from "../../lib/board-characters.js";
|
|
4
|
+
import { isNoteArray as l, resolveDimensions as u } from "../../lib/board-dimensions.js";
|
|
5
|
+
import { gapClasses as d, paddingClasses as f, radiusClasses as p, sizeClasses as ee, textSizeClasses as m } from "../../lib/board-metrics.js";
|
|
6
|
+
import { SEAM_CLASS as h, charLeafBoxShadow as te, seamStyle as g } from "./board-surfaces.js";
|
|
7
|
+
import { reducedMotionQuery as _, useReducedMotion as v } from "./reduced-motion.js";
|
|
8
|
+
import { memo as y, useCallback as b, useEffect as x, useMemo as S, useRef as C, useState as w } from "react";
|
|
9
|
+
import { Fragment as T, jsx as E, jsxs as D } from "react/jsx-runtime";
|
|
10
10
|
//#region src/components/board/board-display.tsx
|
|
11
|
-
var
|
|
11
|
+
var O = "\n @keyframes flapDown { from { transform: rotateX(0deg); } to { transform: rotateX(-90deg); } }\n @keyframes flapUp { from { transform: rotateX(90deg); } to { transform: rotateX(0deg); } }\n @keyframes flapShadow { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }\n ", k = {
|
|
12
12
|
white: "\n 0 2px 4px rgba(0,0,0,0.2),\n inset 0 1px 2px rgba(0,0,0,0.1),\n inset 0 -1px 2px rgba(255,255,255,0.5),\n inset 1px 0 1px rgba(0,0,0,0.08),\n inset -1px 0 1px rgba(255,255,255,0.4)\n ",
|
|
13
13
|
black: "\n 0 2px 4px rgba(0,0,0,0.5),\n inset 0 1px 2px rgba(0,0,0,0.8),\n inset 0 -1px 1px rgba(255,255,255,0.08),\n inset 1px 0 1px rgba(0,0,0,0.5),\n inset -1px 0 1px rgba(255,255,255,0.05)\n "
|
|
14
|
-
},
|
|
14
|
+
}, A = {
|
|
15
15
|
black: {
|
|
16
16
|
backgroundColor: "var(--color-board-surface-dark)",
|
|
17
|
-
boxShadow:
|
|
17
|
+
boxShadow: k.black,
|
|
18
18
|
contain: "layout style paint"
|
|
19
19
|
},
|
|
20
20
|
white: {
|
|
21
21
|
backgroundColor: "var(--color-board-surface-light)",
|
|
22
|
-
boxShadow:
|
|
22
|
+
boxShadow: k.white,
|
|
23
23
|
contain: "layout style paint"
|
|
24
24
|
}
|
|
25
|
-
},
|
|
25
|
+
}, j = {
|
|
26
26
|
black: {
|
|
27
|
-
...
|
|
27
|
+
...A.black,
|
|
28
28
|
perspective: "800px",
|
|
29
29
|
isolation: "isolate"
|
|
30
30
|
},
|
|
31
31
|
white: {
|
|
32
|
-
...
|
|
32
|
+
...A.white,
|
|
33
33
|
perspective: "800px",
|
|
34
34
|
isolation: "isolate"
|
|
35
35
|
}
|
|
36
|
-
},
|
|
36
|
+
}, M = "\n 0 2px 4px rgba(0,0,0,0.3),\n inset 0 1px 1px rgba(255,255,255,0.15),\n inset 0 -1px 1px rgba(0,0,0,0.25),\n inset 1px 0 1px rgba(255,255,255,0.1),\n inset -1px 0 1px rgba(0,0,0,0.2)\n ", N = {
|
|
37
37
|
hardware: 16,
|
|
38
38
|
quick: 48,
|
|
39
39
|
standard: 80,
|
|
40
40
|
relaxed: 130
|
|
41
|
-
},
|
|
42
|
-
function
|
|
43
|
-
let t = typeof e == "string" ?
|
|
44
|
-
return Number.isFinite(t) ? Math.min(
|
|
41
|
+
}, P = 8, F = 2e3;
|
|
42
|
+
function I(e) {
|
|
43
|
+
let t = typeof e == "string" ? N[e] : e.durationMs;
|
|
44
|
+
return Number.isFinite(t) ? Math.min(F, Math.max(P, Math.round(t))) : N.standard;
|
|
45
45
|
}
|
|
46
|
-
function
|
|
46
|
+
function L(e) {
|
|
47
47
|
let t = Math.round(e / 2);
|
|
48
48
|
return {
|
|
49
49
|
stepMs: e,
|
|
@@ -52,7 +52,7 @@ function R(e) {
|
|
|
52
52
|
bottomDelayMs: t
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
-
var
|
|
55
|
+
var ne = {
|
|
56
56
|
position: "absolute",
|
|
57
57
|
top: 0,
|
|
58
58
|
left: 0,
|
|
@@ -60,7 +60,7 @@ var ee = {
|
|
|
60
60
|
height: "50%",
|
|
61
61
|
overflow: "hidden",
|
|
62
62
|
zIndex: 1
|
|
63
|
-
},
|
|
63
|
+
}, R = {
|
|
64
64
|
position: "absolute",
|
|
65
65
|
top: "50%",
|
|
66
66
|
left: 0,
|
|
@@ -68,7 +68,7 @@ var ee = {
|
|
|
68
68
|
height: "50%",
|
|
69
69
|
overflow: "hidden",
|
|
70
70
|
zIndex: 1
|
|
71
|
-
},
|
|
71
|
+
}, z = {
|
|
72
72
|
position: "absolute",
|
|
73
73
|
bottom: 0,
|
|
74
74
|
left: 0,
|
|
@@ -76,7 +76,7 @@ var ee = {
|
|
|
76
76
|
height: "30%",
|
|
77
77
|
background: "linear-gradient(to bottom, transparent, rgba(0,0,0,0.12))",
|
|
78
78
|
pointerEvents: "none"
|
|
79
|
-
},
|
|
79
|
+
}, B = {
|
|
80
80
|
white: {
|
|
81
81
|
position: "absolute",
|
|
82
82
|
top: 0,
|
|
@@ -95,14 +95,14 @@ var ee = {
|
|
|
95
95
|
background: "linear-gradient(to bottom, rgba(0,0,0,0.15), transparent)",
|
|
96
96
|
pointerEvents: "none"
|
|
97
97
|
}
|
|
98
|
-
},
|
|
98
|
+
}, V = {
|
|
99
99
|
white: "linear-gradient(to bottom, rgba(0,0,0,0.06), transparent)",
|
|
100
100
|
black: "linear-gradient(to bottom, rgba(0,0,0,0.3), transparent)"
|
|
101
|
-
},
|
|
102
|
-
function
|
|
103
|
-
let t =
|
|
101
|
+
}, H = /* @__PURE__ */ new Map();
|
|
102
|
+
function re(e) {
|
|
103
|
+
let t = H.get(e);
|
|
104
104
|
if (t) return t;
|
|
105
|
-
let n =
|
|
105
|
+
let n = L(e), r = {
|
|
106
106
|
topFlap: {
|
|
107
107
|
position: "absolute",
|
|
108
108
|
top: 0,
|
|
@@ -137,7 +137,7 @@ function ie(e) {
|
|
|
137
137
|
left: 0,
|
|
138
138
|
right: 0,
|
|
139
139
|
height: "50%",
|
|
140
|
-
background:
|
|
140
|
+
background: V.white,
|
|
141
141
|
zIndex: 4,
|
|
142
142
|
pointerEvents: "none",
|
|
143
143
|
opacity: 0,
|
|
@@ -149,7 +149,7 @@ function ie(e) {
|
|
|
149
149
|
left: 0,
|
|
150
150
|
right: 0,
|
|
151
151
|
height: "50%",
|
|
152
|
-
background:
|
|
152
|
+
background: V.black,
|
|
153
153
|
zIndex: 4,
|
|
154
154
|
pointerEvents: "none",
|
|
155
155
|
opacity: 0,
|
|
@@ -157,53 +157,53 @@ function ie(e) {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
};
|
|
160
|
-
return
|
|
160
|
+
return H.set(e, r), r;
|
|
161
161
|
}
|
|
162
|
-
var
|
|
162
|
+
var U = {
|
|
163
163
|
white: "\n 0 8px 32px rgba(0,0,0,0.12),\n 0 4px 16px rgba(0,0,0,0.08),\n inset 0 1px 2px rgba(255,255,255,0.9),\n inset 0 0 0 1px rgba(255,255,255,0.5)\n ",
|
|
164
164
|
black: "\n 0 8px 32px rgba(0,0,0,0.6),\n 0 4px 16px rgba(0,0,0,0.4),\n inset 0 1px 1px rgba(255,255,255,0.08),\n inset 0 0 0 1px rgba(255,255,255,0.03)\n "
|
|
165
|
-
},
|
|
166
|
-
let s = o === "white", c = s ? "var(--color-board-surface-light)" : "var(--color-board-surface-dark)", l = s ? "var(--color-board-text-on-light)" : "var(--color-board-text-on-dark)", u =
|
|
165
|
+
}, W = y(function({ token: r, size: a, boardType: o }) {
|
|
166
|
+
let s = o === "white", c = s ? "var(--color-board-surface-light)" : "var(--color-board-surface-dark)", l = s ? "var(--color-board-text-on-light)" : "var(--color-board-text-on-dark)", u = ee[a], d = m[a], f = p[a], _ = /* @__PURE__ */ E("div", {
|
|
167
167
|
className: h,
|
|
168
|
-
style:
|
|
168
|
+
style: g[o]
|
|
169
169
|
});
|
|
170
170
|
if (r.type === "color") {
|
|
171
171
|
let t = e(r.code, s), n = a === "sm" ? "3px 1px 4px" : a === "md" ? "4px 2px 5px" : "5px 2px 6px";
|
|
172
|
-
return /* @__PURE__ */
|
|
173
|
-
className: `${u} relative ${
|
|
172
|
+
return /* @__PURE__ */ D("div", {
|
|
173
|
+
className: `${u} relative ${f} overflow-hidden`,
|
|
174
174
|
style: { backgroundColor: c },
|
|
175
|
-
children: [/* @__PURE__ */
|
|
176
|
-
className: `absolute ${
|
|
175
|
+
children: [/* @__PURE__ */ E("div", {
|
|
176
|
+
className: `absolute ${f}`,
|
|
177
177
|
style: {
|
|
178
178
|
inset: n,
|
|
179
179
|
backgroundColor: t,
|
|
180
|
-
boxShadow:
|
|
180
|
+
boxShadow: M
|
|
181
181
|
}
|
|
182
|
-
}),
|
|
182
|
+
}), _]
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
|
-
let
|
|
186
|
-
return /* @__PURE__ */
|
|
187
|
-
className: `${u} relative ${
|
|
185
|
+
let v = n[r.value] ? r.value : t[i(r.value)], y = v === " ";
|
|
186
|
+
return /* @__PURE__ */ D("div", {
|
|
187
|
+
className: `${u} relative ${f} overflow-hidden flex items-center justify-center`,
|
|
188
188
|
style: {
|
|
189
189
|
backgroundColor: c,
|
|
190
|
-
boxShadow:
|
|
190
|
+
boxShadow: te[o]
|
|
191
191
|
},
|
|
192
|
-
children: [!
|
|
192
|
+
children: [!y && /* @__PURE__ */ E("span", {
|
|
193
193
|
className: `${d} font-mono font-semibold select-none leading-none`,
|
|
194
194
|
style: { color: r.value === "♥" ? "#eb4034" : l },
|
|
195
|
-
children:
|
|
196
|
-
}),
|
|
195
|
+
children: v
|
|
196
|
+
}), _]
|
|
197
197
|
});
|
|
198
|
-
}),
|
|
199
|
-
return /* @__PURE__ */
|
|
198
|
+
}), G = y(function({ row: e, rowIdx: t, size: n, gapClass: i, boardType: a, showSeams: o = !1, isRowSeam: s = !1, seamGap: c = "6px", emitCellMetadata: l = !1 }) {
|
|
199
|
+
return /* @__PURE__ */ E("div", {
|
|
200
200
|
"data-note-row": "",
|
|
201
201
|
...s ? { "data-note-row-seam": "true" } : {},
|
|
202
202
|
className: `flex ${i} justify-center`,
|
|
203
203
|
style: s ? { marginTop: c } : void 0,
|
|
204
204
|
children: e.map((e, i) => {
|
|
205
205
|
let s = o && i > 0 && i % 15 == 0;
|
|
206
|
-
return /* @__PURE__ */
|
|
206
|
+
return /* @__PURE__ */ E("div", {
|
|
207
207
|
"data-note-tile": "",
|
|
208
208
|
...l ? {
|
|
209
209
|
"data-row": t,
|
|
@@ -212,7 +212,7 @@ var V = {
|
|
|
212
212
|
} : {},
|
|
213
213
|
...s ? { "data-note-col-seam": "true" } : {},
|
|
214
214
|
style: s ? { marginLeft: c } : void 0,
|
|
215
|
-
children: /* @__PURE__ */
|
|
215
|
+
children: /* @__PURE__ */ E(W, {
|
|
216
216
|
token: e,
|
|
217
217
|
size: n,
|
|
218
218
|
boardType: a
|
|
@@ -220,15 +220,15 @@ var V = {
|
|
|
220
220
|
}, `col-${t}-${i}`);
|
|
221
221
|
})
|
|
222
222
|
});
|
|
223
|
-
}),
|
|
224
|
-
return /* @__PURE__ */
|
|
223
|
+
}), K = y(function({ row: e, rowIdx: t, size: n, gapClass: r, boardType: i = "black", isAnimating: a = !1, animationsEnabled: o = !0, flapStepMs: s, showSeams: c = !1, isRowSeam: l = !1, seamGap: u = "6px", emitCellMetadata: d = !1 }) {
|
|
224
|
+
return /* @__PURE__ */ E("div", {
|
|
225
225
|
"data-note-row": "",
|
|
226
226
|
...l ? { "data-note-row-seam": "true" } : {},
|
|
227
227
|
className: `flex ${r} justify-center`,
|
|
228
228
|
style: l ? { marginTop: u } : void 0,
|
|
229
229
|
children: e.map((e, r) => {
|
|
230
230
|
let l = c && r > 0 && r % 15 == 0;
|
|
231
|
-
return /* @__PURE__ */
|
|
231
|
+
return /* @__PURE__ */ E("div", {
|
|
232
232
|
"data-note-tile": "",
|
|
233
233
|
...d ? {
|
|
234
234
|
"data-row": t,
|
|
@@ -236,7 +236,7 @@ var V = {
|
|
|
236
236
|
} : {},
|
|
237
237
|
...l ? { "data-note-col-seam": "true" } : {},
|
|
238
238
|
style: l ? { marginLeft: u } : void 0,
|
|
239
|
-
children: /* @__PURE__ */
|
|
239
|
+
children: /* @__PURE__ */ E(X, {
|
|
240
240
|
token: e,
|
|
241
241
|
size: n,
|
|
242
242
|
boardType: i,
|
|
@@ -251,144 +251,144 @@ var V = {
|
|
|
251
251
|
});
|
|
252
252
|
}, (e, t) => {
|
|
253
253
|
if (e.row.length !== t.row.length || e.size !== t.size || e.gapClass !== t.gapClass || e.boardType !== t.boardType || e.isAnimating !== t.isAnimating || e.animationsEnabled !== t.animationsEnabled || e.flapStepMs !== t.flapStepMs || e.showSeams !== t.showSeams || e.isRowSeam !== t.isRowSeam || e.seamGap !== t.seamGap || e.emitCellMetadata !== t.emitCellMetadata) return !1;
|
|
254
|
-
for (let n = 0; n < e.row.length; n++) if (!
|
|
254
|
+
for (let n = 0; n < e.row.length; n++) if (!c(e.row[n], t.row[n])) return !1;
|
|
255
255
|
return !0;
|
|
256
|
-
}),
|
|
257
|
-
function
|
|
256
|
+
}), q = /* @__PURE__ */ new Map();
|
|
257
|
+
function J(e, t) {
|
|
258
258
|
t.intervalId === null && (t.intervalId = setInterval(() => {
|
|
259
259
|
for (let e of [...t.subscribers]) e();
|
|
260
260
|
}, e));
|
|
261
261
|
}
|
|
262
|
-
function
|
|
262
|
+
function Y(e) {
|
|
263
263
|
e.intervalId !== null && (clearInterval(e.intervalId), e.intervalId = null);
|
|
264
264
|
}
|
|
265
|
-
|
|
266
|
-
for (let [t, n] of
|
|
265
|
+
_?.addEventListener("change", (e) => {
|
|
266
|
+
for (let [t, n] of q) e.matches ? Y(n) : n.subscribers.size > 0 && J(t, n);
|
|
267
267
|
});
|
|
268
|
-
function
|
|
269
|
-
let n =
|
|
268
|
+
function ie(e, t) {
|
|
269
|
+
let n = q.get(e);
|
|
270
270
|
n || (n = {
|
|
271
271
|
subscribers: /* @__PURE__ */ new Set(),
|
|
272
272
|
intervalId: null
|
|
273
|
-
},
|
|
273
|
+
}, q.set(e, n));
|
|
274
274
|
let r = n;
|
|
275
|
-
return r.subscribers.add(t),
|
|
276
|
-
r.subscribers.delete(t), r.subscribers.size === 0 && (
|
|
275
|
+
return r.subscribers.add(t), _?.matches || J(e, r), () => {
|
|
276
|
+
r.subscribers.delete(t), r.subscribers.size === 0 && (Y(r), q.delete(e));
|
|
277
277
|
};
|
|
278
278
|
}
|
|
279
|
-
var
|
|
280
|
-
let
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
}, [
|
|
284
|
-
let
|
|
285
|
-
|
|
286
|
-
}, []),
|
|
287
|
-
|
|
288
|
-
}, []),
|
|
289
|
-
|
|
290
|
-
}, []), Q =
|
|
291
|
-
let e =
|
|
292
|
-
Z(),
|
|
279
|
+
var X = y(function({ token: o, size: s = "md", boardType: c = "black", isAnimating: l = !1, animationsEnabled: u = !0, flapStepMs: d, rowIdx: f = 0, colIdx: h = 0 }) {
|
|
280
|
+
let _ = u && l, v = c === "white", y = v ? "var(--color-board-surface-light)" : "var(--color-board-surface-dark)", S = v ? "var(--color-board-text-on-light)" : "var(--color-board-text-on-dark)", O = r(o), k = i(O), N = d, P = re(N), [F, I] = w(() => k), [L, V] = w(!1), H = C(F), U = C(!1), W = C(k), G = C(_), K = C(!1), q = C(k);
|
|
281
|
+
x(() => {
|
|
282
|
+
q.current = k;
|
|
283
|
+
}, [k]);
|
|
284
|
+
let J = b((e) => {
|
|
285
|
+
H.current = e, I(e);
|
|
286
|
+
}, []), Y = b((e) => {
|
|
287
|
+
U.current = e, V(e);
|
|
288
|
+
}, []), X = C(null), ae = C(0), Z = b(() => {
|
|
289
|
+
X.current !== null && (clearInterval(X.current), X.current = null);
|
|
290
|
+
}, []), Q = b(() => {
|
|
291
|
+
let e = W.current, n = H.current, r = () => {
|
|
292
|
+
Z(), Y(!1), K.current = !1;
|
|
293
293
|
};
|
|
294
294
|
if (n === e) {
|
|
295
295
|
r();
|
|
296
296
|
return;
|
|
297
297
|
}
|
|
298
298
|
let i = (n + 1) % t.length;
|
|
299
|
-
|
|
299
|
+
J(i), i === e && r();
|
|
300
300
|
}, [
|
|
301
|
-
q,
|
|
302
301
|
J,
|
|
302
|
+
Y,
|
|
303
303
|
Z
|
|
304
|
-
]), $ =
|
|
305
|
-
(
|
|
304
|
+
]), $ = b((e) => {
|
|
305
|
+
(X.current === null || ae.current !== e) && (Z(), ae.current = e, X.current = setInterval(Q, e));
|
|
306
306
|
}, [Q, Z]);
|
|
307
|
-
|
|
308
|
-
let e =
|
|
309
|
-
|
|
310
|
-
let n =
|
|
307
|
+
x(() => Z, [Z]), x(() => {
|
|
308
|
+
let e = G.current;
|
|
309
|
+
G.current = _;
|
|
310
|
+
let n = q.current;
|
|
311
311
|
if (!u) {
|
|
312
|
-
Z(),
|
|
312
|
+
Z(), Y(!1), J(n), W.current = n, K.current = !1;
|
|
313
313
|
return;
|
|
314
314
|
}
|
|
315
|
-
if (
|
|
316
|
-
|
|
317
|
-
let r =
|
|
318
|
-
|
|
315
|
+
if (_) {
|
|
316
|
+
Y(!1), Z(), e || J(n);
|
|
317
|
+
let r = ie(N, () => {
|
|
318
|
+
J((H.current + 1) % t.length);
|
|
319
319
|
});
|
|
320
320
|
return () => {
|
|
321
321
|
r();
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
324
|
if (e) {
|
|
325
|
-
|
|
326
|
-
let e =
|
|
327
|
-
if (
|
|
328
|
-
|
|
325
|
+
K.current = !0, Z();
|
|
326
|
+
let e = W.current;
|
|
327
|
+
if (W.current = n, H.current === n || e === n) {
|
|
328
|
+
Y(!1), J(n), K.current = !1;
|
|
329
329
|
return;
|
|
330
330
|
}
|
|
331
|
-
|
|
331
|
+
Y(!0), Q(), U.current && $(N);
|
|
332
332
|
return;
|
|
333
333
|
}
|
|
334
|
-
|
|
334
|
+
U.current || (Z(), H.current !== n && J(n));
|
|
335
335
|
}, [
|
|
336
|
-
|
|
337
|
-
|
|
336
|
+
_,
|
|
337
|
+
N,
|
|
338
338
|
u,
|
|
339
|
-
q,
|
|
340
339
|
J,
|
|
340
|
+
Y,
|
|
341
341
|
$,
|
|
342
342
|
Q,
|
|
343
343
|
Z
|
|
344
|
-
]),
|
|
344
|
+
]), x(() => {
|
|
345
345
|
if (!u) {
|
|
346
|
-
|
|
346
|
+
W.current = k, Z(), Y(!1), J(k);
|
|
347
347
|
return;
|
|
348
348
|
}
|
|
349
|
-
if (
|
|
350
|
-
|
|
349
|
+
if (_ || K.current) {
|
|
350
|
+
W.current = k;
|
|
351
351
|
return;
|
|
352
352
|
}
|
|
353
|
-
if (
|
|
354
|
-
|
|
353
|
+
if (U.current) {
|
|
354
|
+
W.current = k, $(N);
|
|
355
355
|
return;
|
|
356
356
|
}
|
|
357
|
-
let e =
|
|
358
|
-
if (
|
|
359
|
-
Z(),
|
|
357
|
+
let e = W.current;
|
|
358
|
+
if (W.current = k, e === k || H.current === k) {
|
|
359
|
+
Z(), Y(!1), H.current !== k && J(k);
|
|
360
360
|
return;
|
|
361
361
|
}
|
|
362
|
-
|
|
362
|
+
Y(!0), Q(), U.current && $(N);
|
|
363
363
|
}, [
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
364
|
+
k,
|
|
365
|
+
_,
|
|
366
|
+
N,
|
|
367
367
|
u,
|
|
368
|
-
q,
|
|
369
368
|
J,
|
|
369
|
+
Y,
|
|
370
370
|
$,
|
|
371
371
|
Q,
|
|
372
372
|
Z
|
|
373
373
|
]);
|
|
374
|
-
let oe = t[
|
|
375
|
-
return /* @__PURE__ */
|
|
376
|
-
className: `relative ${
|
|
377
|
-
"data-testid": `char-tile-${
|
|
374
|
+
let oe = t[F], se = (F - 1 + t.length) % t.length, ce = t[se];
|
|
375
|
+
return /* @__PURE__ */ E(T, { children: /* @__PURE__ */ D("div", {
|
|
376
|
+
className: `relative ${ee[s]} ${p[s]} overflow-hidden`,
|
|
377
|
+
"data-testid": `char-tile-${f}-${h}`,
|
|
378
378
|
"data-current-char": oe,
|
|
379
|
-
"data-target-char":
|
|
380
|
-
"data-is-animating":
|
|
381
|
-
"data-is-transitioning":
|
|
382
|
-
style:
|
|
379
|
+
"data-target-char": O,
|
|
380
|
+
"data-is-animating": _,
|
|
381
|
+
"data-is-transitioning": L,
|
|
382
|
+
style: _ || L ? j[c] : A[c],
|
|
383
383
|
children: [
|
|
384
|
-
!
|
|
384
|
+
!_ && !L && (() => {
|
|
385
385
|
if (o.type === "color") {
|
|
386
|
-
let t = e(o.code,
|
|
387
|
-
return /* @__PURE__ */
|
|
386
|
+
let t = e(o.code, v);
|
|
387
|
+
return /* @__PURE__ */ E("div", {
|
|
388
388
|
className: `absolute inset-0 ${s === "sm" ? "[--color-margin-top:3px] [--color-margin-bottom:4px] [--color-margin-h:1px]" : s === "md" ? "[--color-margin-top:3px] sm:[--color-margin-top:4px] md:[--color-margin-top:5px] lg:[--color-margin-top:6px] [--color-margin-bottom:4px] sm:[--color-margin-bottom:6px] md:[--color-margin-bottom:7px] lg:[--color-margin-bottom:8px] [--color-margin-h:1px] sm:[--color-margin-h:2px]" : "[--color-margin-top:4px] sm:[--color-margin-top:5px] md:[--color-margin-top:6px] lg:[--color-margin-top:8px] [--color-margin-bottom:5px] sm:[--color-margin-bottom:7px] md:[--color-margin-bottom:8px] lg:[--color-margin-bottom:10px] [--color-margin-h:2px] md:[--color-margin-h:3px]"} flex items-center justify-center`,
|
|
389
389
|
style: { zIndex: 2 },
|
|
390
|
-
children: /* @__PURE__ */
|
|
391
|
-
className: `relative ${
|
|
390
|
+
children: /* @__PURE__ */ E("div", {
|
|
391
|
+
className: `relative ${p[s]} overflow-hidden`,
|
|
392
392
|
style: {
|
|
393
393
|
marginTop: "var(--color-margin-top)",
|
|
394
394
|
marginBottom: "var(--color-margin-bottom)",
|
|
@@ -397,50 +397,50 @@ var J = b(function({ token: o, size: s = "md", boardType: c = "black", isAnimati
|
|
|
397
397
|
width: "calc(100% - (var(--color-margin-h) * 2))",
|
|
398
398
|
height: "calc(100% - (var(--color-margin-top) + var(--color-margin-bottom)))",
|
|
399
399
|
backgroundColor: t,
|
|
400
|
-
boxShadow:
|
|
400
|
+
boxShadow: M
|
|
401
401
|
}
|
|
402
402
|
})
|
|
403
403
|
}, `static-color-${o.code}`);
|
|
404
404
|
}
|
|
405
|
-
let i = r(o), l = n[i] ? i : t[
|
|
406
|
-
return /* @__PURE__ */
|
|
405
|
+
let i = r(o), l = n[i] ? i : t[k], u = a(l), d = u ? e(l, v) : y, f = l === "♥" ? "#eb4034" : S;
|
|
406
|
+
return /* @__PURE__ */ D("div", {
|
|
407
407
|
className: "absolute inset-0 flex items-center justify-center overflow-hidden",
|
|
408
408
|
style: {
|
|
409
409
|
zIndex: 2,
|
|
410
410
|
backgroundColor: d,
|
|
411
411
|
marginLeft: u ? "-4px" : 0,
|
|
412
412
|
marginRight: u ? "-4px" : 0,
|
|
413
|
-
boxShadow: u ? void 0 :
|
|
413
|
+
boxShadow: u ? void 0 : te[c]
|
|
414
414
|
},
|
|
415
415
|
children: [
|
|
416
|
-
!u && l !== " " && /* @__PURE__ */
|
|
416
|
+
!u && l !== " " && /* @__PURE__ */ E("span", {
|
|
417
417
|
className: `${m[s]} font-mono font-semibold select-none leading-none relative z-10`,
|
|
418
|
-
style: { color:
|
|
418
|
+
style: { color: f },
|
|
419
419
|
children: l
|
|
420
420
|
}),
|
|
421
|
-
!u && l === " " && /* @__PURE__ */
|
|
421
|
+
!u && l === " " && /* @__PURE__ */ E("span", {
|
|
422
422
|
className: `${m[s]} font-mono font-semibold select-none leading-none relative z-10`,
|
|
423
423
|
style: {
|
|
424
|
-
color:
|
|
424
|
+
color: S,
|
|
425
425
|
visibility: "hidden"
|
|
426
426
|
},
|
|
427
427
|
"aria-hidden": "true",
|
|
428
428
|
children: " "
|
|
429
429
|
}),
|
|
430
|
-
u && /* @__PURE__ */
|
|
431
|
-
className: `absolute inset-0 ${
|
|
430
|
+
u && /* @__PURE__ */ E("div", {
|
|
431
|
+
className: `absolute inset-0 ${p[s]}`,
|
|
432
432
|
style: {
|
|
433
433
|
backgroundColor: d,
|
|
434
|
-
boxShadow:
|
|
434
|
+
boxShadow: M
|
|
435
435
|
}
|
|
436
436
|
})
|
|
437
437
|
]
|
|
438
|
-
}, `static-char-${
|
|
438
|
+
}, `static-char-${k}`);
|
|
439
439
|
})(),
|
|
440
|
-
(
|
|
440
|
+
(_ || L) && (() => {
|
|
441
441
|
let t = oe, n = (t, n) => {
|
|
442
|
-
let r = a(t), i = r ? e(t,
|
|
443
|
-
return /* @__PURE__ */
|
|
442
|
+
let r = a(t), i = r ? e(t, v) : y, o = t === "♥";
|
|
443
|
+
return /* @__PURE__ */ E("div", {
|
|
444
444
|
style: {
|
|
445
445
|
position: "absolute",
|
|
446
446
|
...n ? { top: 0 } : { bottom: 0 },
|
|
@@ -452,119 +452,147 @@ var J = b(function({ token: o, size: s = "md", boardType: c = "black", isAnimati
|
|
|
452
452
|
justifyContent: "center",
|
|
453
453
|
backgroundColor: i
|
|
454
454
|
},
|
|
455
|
-
children: !r && t !== " " && /* @__PURE__ */
|
|
455
|
+
children: !r && t !== " " && /* @__PURE__ */ E("span", {
|
|
456
456
|
className: `${m[s]} font-mono font-semibold select-none leading-none`,
|
|
457
|
-
style: { color: o ? "#eb4034" :
|
|
457
|
+
style: { color: o ? "#eb4034" : S },
|
|
458
458
|
children: t
|
|
459
459
|
})
|
|
460
460
|
});
|
|
461
461
|
};
|
|
462
|
-
return /* @__PURE__ */
|
|
463
|
-
/* @__PURE__ */
|
|
464
|
-
style:
|
|
462
|
+
return /* @__PURE__ */ D(T, { children: [
|
|
463
|
+
/* @__PURE__ */ E("div", {
|
|
464
|
+
style: ne,
|
|
465
465
|
children: n(t, !0)
|
|
466
466
|
}),
|
|
467
|
-
/* @__PURE__ */
|
|
468
|
-
style:
|
|
467
|
+
/* @__PURE__ */ E("div", {
|
|
468
|
+
style: R,
|
|
469
469
|
children: n(ce, !1)
|
|
470
470
|
}),
|
|
471
|
-
/* @__PURE__ */ O("div", {
|
|
472
|
-
style: I.topFlap,
|
|
473
|
-
children: [n(ce, !0), /* @__PURE__ */ D("div", { style: ne })]
|
|
474
|
-
}, `ft-${L}`),
|
|
475
|
-
/* @__PURE__ */ O("div", {
|
|
476
|
-
style: I.bottomFlap,
|
|
477
|
-
children: [n(t, !1), /* @__PURE__ */ D("div", { style: re[c] })]
|
|
478
|
-
}, `fb-${L}`),
|
|
479
|
-
/* @__PURE__ */ D("div", { style: I.castShadow[c] }, `fs-${L}`),
|
|
480
471
|
/* @__PURE__ */ D("div", {
|
|
472
|
+
style: P.topFlap,
|
|
473
|
+
children: [n(ce, !0), /* @__PURE__ */ E("div", { style: z })]
|
|
474
|
+
}, `ft-${F}`),
|
|
475
|
+
/* @__PURE__ */ D("div", {
|
|
476
|
+
style: P.bottomFlap,
|
|
477
|
+
children: [n(t, !1), /* @__PURE__ */ E("div", { style: B[c] })]
|
|
478
|
+
}, `fb-${F}`),
|
|
479
|
+
/* @__PURE__ */ E("div", { style: P.castShadow[c] }, `fs-${F}`),
|
|
480
|
+
/* @__PURE__ */ E("div", {
|
|
481
481
|
className: "absolute top-1/2 left-0 right-0 h-[2px] pointer-events-none",
|
|
482
|
-
style:
|
|
482
|
+
style: g[c]
|
|
483
483
|
})
|
|
484
484
|
] });
|
|
485
485
|
})(),
|
|
486
|
-
!
|
|
486
|
+
!_ && !L && F === k && /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E("div", {
|
|
487
487
|
className: "absolute top-1/2 left-0 right-0 h-[2px] pointer-events-none",
|
|
488
|
-
style:
|
|
489
|
-
}), /* @__PURE__ */
|
|
488
|
+
style: g[c]
|
|
489
|
+
}), /* @__PURE__ */ E("div", {
|
|
490
490
|
className: "absolute inset-0 pointer-events-none",
|
|
491
491
|
style: {
|
|
492
492
|
zIndex: 1,
|
|
493
|
-
background:
|
|
493
|
+
background: v ? "linear-gradient(180deg, rgba(255,255,255,0.3) 0%, transparent 50%, rgba(0,0,0,0.05) 100%)" : "linear-gradient(180deg, rgba(255,255,255,0.05) 0%, transparent 50%, rgba(0,0,0,0.2) 100%)"
|
|
494
494
|
}
|
|
495
495
|
})] })
|
|
496
496
|
]
|
|
497
497
|
}) });
|
|
498
|
-
}, (e, t) =>
|
|
499
|
-
let x =
|
|
498
|
+
}, (e, t) => c(e.token, t.token) && e.size === t.size && e.boardType === t.boardType && e.isAnimating === t.isAnimating && e.animationsEnabled === t.animationsEnabled && e.flapStepMs === t.flapStepMs), ae = (e) => `Board display: ${e}`, Z = "Board display", Q = y(function({ message: e, isLoading: t = !1, size: n = "md", className: r = "", boardType: i = "black", deviceType: a = "flagship", isStatic: c = !1, notesWide: p = 1, notesTall: ee = 1, emitCellMetadata: m = !1, animationsEnabled: h = !0, flapSpeed: te = "standard", loadingLabel: g = "Loading board display", emptyLabel: _ = "Empty board display", messageLabel: y = ae, announceUpdates: b = !1 }) {
|
|
499
|
+
let x = v(), C = h && !x, T = I(te), k = u(a, p, ee), A = l(a), j = n === "sm" ? "6px" : n === "md" ? "8px" : "10px", M = S(() => o(e ?? "", k.rows, k.cols, a), [
|
|
500
500
|
e,
|
|
501
|
-
|
|
502
|
-
|
|
501
|
+
k.rows,
|
|
502
|
+
k.cols,
|
|
503
503
|
a
|
|
504
|
-
]),
|
|
504
|
+
]), N = i === "white", P = N ? "var(--color-board-bezel-light)" : "var(--color-board-bezel-dark)", F = N ? "var(--color-board-bezel-border-light)" : "var(--color-board-bezel-border-dark)", L = U[i], ne = n === "sm" ? "rounded-lg border-[3px]" : "rounded-lg sm:rounded-xl border-[3px] sm:border-[4px] lg:border-[5px]", R = S(() => {
|
|
505
|
+
if (t) return g;
|
|
506
|
+
if (!e) return _;
|
|
507
|
+
let n = s(e, a);
|
|
508
|
+
return n ? y(n) : Z;
|
|
509
|
+
}, [
|
|
505
510
|
e,
|
|
511
|
+
a,
|
|
506
512
|
t,
|
|
513
|
+
g,
|
|
507
514
|
_,
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
515
|
+
y
|
|
516
|
+
]), [z, B] = w(() => ({
|
|
517
|
+
text: "",
|
|
518
|
+
of: R,
|
|
519
|
+
armed: b
|
|
520
|
+
}));
|
|
521
|
+
return b && !z.armed ? B({
|
|
522
|
+
text: "",
|
|
523
|
+
of: R,
|
|
524
|
+
armed: !0
|
|
525
|
+
}) : b && !t && z.of !== R && B({
|
|
526
|
+
text: R,
|
|
527
|
+
of: R,
|
|
528
|
+
armed: !0
|
|
529
|
+
}), /* @__PURE__ */ D("div", {
|
|
512
530
|
className: "w-full flex justify-center",
|
|
513
|
-
children: [
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
"
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
style: {
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
531
|
+
children: [
|
|
532
|
+
!c && /* @__PURE__ */ E("style", {
|
|
533
|
+
href: "board-flap-keyframes",
|
|
534
|
+
precedence: "default",
|
|
535
|
+
children: O
|
|
536
|
+
}),
|
|
537
|
+
b && /* @__PURE__ */ E("div", {
|
|
538
|
+
className: "sr-only",
|
|
539
|
+
"aria-live": "polite",
|
|
540
|
+
"aria-atomic": "true",
|
|
541
|
+
"data-slot": "board-display-announcer",
|
|
542
|
+
children: z.text
|
|
543
|
+
}),
|
|
544
|
+
/* @__PURE__ */ E("div", {
|
|
545
|
+
role: "img",
|
|
546
|
+
"aria-label": R,
|
|
547
|
+
"data-slot": "board-display",
|
|
548
|
+
"data-board-preview": "",
|
|
549
|
+
className: `${ne} ${r}`,
|
|
550
|
+
style: {
|
|
551
|
+
backgroundColor: P,
|
|
552
|
+
borderColor: F,
|
|
553
|
+
boxShadow: L,
|
|
554
|
+
width: "fit-content"
|
|
555
|
+
},
|
|
556
|
+
children: /* @__PURE__ */ E("div", {
|
|
557
|
+
className: `${f[n]} relative`,
|
|
558
|
+
"aria-hidden": "true",
|
|
559
|
+
style: { background: N ? "linear-gradient(135deg, var(--color-board-surface-light) 0%, var(--color-board-bezel-border-light) 100%)" : "linear-gradient(135deg, var(--color-board-surface-dark) 0%, var(--color-board-black) 100%)" },
|
|
560
|
+
children: /* @__PURE__ */ E("div", {
|
|
561
|
+
className: `flex flex-col ${d[n]}`,
|
|
562
|
+
children: M.map((e, r) => {
|
|
563
|
+
let a = A && r > 0 && r % 3 == 0;
|
|
564
|
+
return c ? /* @__PURE__ */ E(G, {
|
|
565
|
+
row: e,
|
|
566
|
+
rowIdx: r,
|
|
567
|
+
size: n,
|
|
568
|
+
gapClass: d[n],
|
|
569
|
+
boardType: i,
|
|
570
|
+
showSeams: A,
|
|
571
|
+
isRowSeam: a,
|
|
572
|
+
seamGap: j,
|
|
573
|
+
emitCellMetadata: m
|
|
574
|
+
}, `row-${r}`) : /* @__PURE__ */ E(K, {
|
|
575
|
+
row: e,
|
|
576
|
+
rowIdx: r,
|
|
577
|
+
size: n,
|
|
578
|
+
gapClass: d[n],
|
|
579
|
+
boardType: i,
|
|
580
|
+
isAnimating: t,
|
|
581
|
+
animationsEnabled: C,
|
|
582
|
+
flapStepMs: T,
|
|
583
|
+
showSeams: A,
|
|
584
|
+
isRowSeam: a,
|
|
585
|
+
seamGap: j,
|
|
586
|
+
emitCellMetadata: m
|
|
587
|
+
}, `row-${r}`);
|
|
588
|
+
})
|
|
561
589
|
})
|
|
562
590
|
})
|
|
563
591
|
})
|
|
564
|
-
|
|
592
|
+
]
|
|
565
593
|
});
|
|
566
|
-
}, (e, t) => e.message === t.message && e.isLoading === t.isLoading && e.size === t.size && e.className === t.className && e.boardType === t.boardType && e.deviceType === t.deviceType && e.notesWide === t.notesWide && e.notesTall === t.notesTall && e.isStatic === t.isStatic && e.emitCellMetadata === t.emitCellMetadata && e.animationsEnabled === t.animationsEnabled &&
|
|
594
|
+
}, (e, t) => e.message === t.message && e.isLoading === t.isLoading && e.size === t.size && e.className === t.className && e.boardType === t.boardType && e.deviceType === t.deviceType && e.notesWide === t.notesWide && e.notesTall === t.notesTall && e.isStatic === t.isStatic && e.emitCellMetadata === t.emitCellMetadata && e.animationsEnabled === t.animationsEnabled && I(e.flapSpeed ?? "standard") === I(t.flapSpeed ?? "standard") && e.loadingLabel === t.loadingLabel && e.emptyLabel === t.emptyLabel && e.messageLabel === t.messageLabel && e.announceUpdates === t.announceUpdates);
|
|
567
595
|
//#endregion
|
|
568
|
-
export {
|
|
596
|
+
export { Q as BoardDisplay, N as FLAP_SPEED_PRESETS, L as deriveFlapTiming, I as resolveFlapSpeed };
|
|
569
597
|
|
|
570
598
|
//# sourceMappingURL=board-display.js.map
|