@pieai/swimmer-ui-kit 1.0.0 → 1.1.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 +113 -0
- package/bin/swimmer-ui-check.mjs +121 -0
- package/dist/fonts/OFL-Baloo2.txt +93 -0
- package/dist/fonts/OFL-Geist.txt +92 -0
- package/dist/fonts/baloo-2-latin-variable.woff2 +0 -0
- package/dist/fonts/geist-sans-latin-variable.woff2 +0 -0
- package/dist/fonts.css +1 -0
- package/dist/index.d.ts +49 -5
- package/dist/index.js +765 -696
- package/dist/preview.css +1 -0
- package/dist/styles.css +1 -1
- package/package.json +9 -3
package/dist/index.js
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { jsx as e, jsxs as o, Fragment as Ge } from "react/jsx-runtime";
|
|
2
|
-
import { useId as
|
|
3
|
-
let
|
|
2
|
+
import { useId as _, isValidElement as aa, cloneElement as ia, useState as M, useEffect as te, forwardRef as Oe, useRef as ta, createContext as na, useContext as la } from "react";
|
|
3
|
+
let Y = null, we = !1;
|
|
4
4
|
function Ne(a) {
|
|
5
5
|
return typeof a != "number" || !Number.isFinite(a) ? 1 : Math.min(1, Math.max(0, a));
|
|
6
6
|
}
|
|
7
|
-
function
|
|
7
|
+
function oa() {
|
|
8
8
|
we || typeof document > "u" || (document.addEventListener("visibilitychange", () => {
|
|
9
|
-
document.visibilityState === "hidden" &&
|
|
9
|
+
document.visibilityState === "hidden" && Y?.state === "running" && Y.suspend();
|
|
10
10
|
}), we = !0);
|
|
11
11
|
}
|
|
12
|
-
function
|
|
13
|
-
return typeof window > "u" || typeof window.AudioContext > "u" ? null : (
|
|
12
|
+
function sa() {
|
|
13
|
+
return typeof window > "u" || typeof window.AudioContext > "u" ? null : (oa(), Y ??= new window.AudioContext(), Y);
|
|
14
14
|
}
|
|
15
|
-
function
|
|
15
|
+
function ra(a) {
|
|
16
16
|
const t = /* @__PURE__ */ new WeakMap();
|
|
17
17
|
return {
|
|
18
18
|
createGain: () => {
|
|
19
|
-
const i = a.createGain(),
|
|
20
|
-
connect: (
|
|
21
|
-
|
|
19
|
+
const i = a.createGain(), n = {
|
|
20
|
+
connect: (l) => {
|
|
21
|
+
l instanceof AudioNode && i.connect(l);
|
|
22
22
|
},
|
|
23
23
|
gain: i.gain
|
|
24
24
|
};
|
|
25
|
-
return t.set(
|
|
25
|
+
return t.set(n, i), n;
|
|
26
26
|
},
|
|
27
27
|
createOscillator: () => {
|
|
28
28
|
const i = a.createOscillator();
|
|
29
29
|
return {
|
|
30
|
-
connect: (
|
|
31
|
-
const
|
|
32
|
-
|
|
30
|
+
connect: (n) => {
|
|
31
|
+
const l = t.get(n);
|
|
32
|
+
l && i.connect(l);
|
|
33
33
|
},
|
|
34
34
|
frequency: i.frequency,
|
|
35
|
-
start: (
|
|
36
|
-
stop: (
|
|
35
|
+
start: (n) => i.start(n),
|
|
36
|
+
stop: (n) => i.stop(n),
|
|
37
37
|
get type() {
|
|
38
38
|
return i.type;
|
|
39
39
|
},
|
|
40
|
-
set type(
|
|
41
|
-
i.type =
|
|
40
|
+
set type(n) {
|
|
41
|
+
i.type = n;
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
},
|
|
@@ -49,41 +49,54 @@ function oa(a) {
|
|
|
49
49
|
suspend: () => a.suspend()
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
|
-
function
|
|
52
|
+
function ca(a, t = {}) {
|
|
53
53
|
if (t.enabled === !1) return !1;
|
|
54
54
|
const i = 0.06 * Ne(t.masterVolume) * Ne(t.sfxVolume);
|
|
55
55
|
if (i <= 0) return !1;
|
|
56
56
|
a.state === "suspended" && a.resume();
|
|
57
|
-
const
|
|
58
|
-
return
|
|
57
|
+
const n = a.currentTime, l = a.createOscillator(), s = a.createGain();
|
|
58
|
+
return l.type = "triangle", l.frequency.setValueAtTime(420, n), l.frequency.exponentialRampToValueAtTime(620, n + 0.045), s.gain.setValueAtTime(1e-4, n), s.gain.exponentialRampToValueAtTime(i, n + 8e-3), s.gain.exponentialRampToValueAtTime(1e-4, n + 0.055), l.connect(s), s.connect(a.destination), l.start(n), l.stop(n + 0.055), !0;
|
|
59
59
|
}
|
|
60
|
-
function
|
|
61
|
-
const t =
|
|
62
|
-
return t ?
|
|
60
|
+
function da(a = {}) {
|
|
61
|
+
const t = sa();
|
|
62
|
+
return t ? ca(ra(t), a) : !1;
|
|
63
63
|
}
|
|
64
64
|
function C({
|
|
65
65
|
children: a,
|
|
66
66
|
className: t,
|
|
67
67
|
onClick: i,
|
|
68
|
-
sound:
|
|
69
|
-
static:
|
|
68
|
+
sound: n = !1,
|
|
69
|
+
static: l = !1,
|
|
70
70
|
type: s = "button",
|
|
71
|
-
variant:
|
|
72
|
-
...
|
|
71
|
+
variant: d = "secondary",
|
|
72
|
+
...r
|
|
73
73
|
}) {
|
|
74
|
-
const u = ["game-ui-button", `game-ui-button--${
|
|
74
|
+
const u = ["game-ui-button", `game-ui-button--${d}`, l && "game-ui-button--static", t].filter(Boolean).join(" ");
|
|
75
75
|
return /* @__PURE__ */ e("button", { className: u, onClick: (b) => {
|
|
76
|
-
|
|
77
|
-
}, type: s, ...
|
|
76
|
+
n && da(n), i?.(b);
|
|
77
|
+
}, type: s, ...r, children: a });
|
|
78
78
|
}
|
|
79
|
-
function
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
function Ai({
|
|
80
|
+
heading: a,
|
|
81
|
+
children: t,
|
|
82
|
+
tone: i = "info",
|
|
83
|
+
className: n,
|
|
84
|
+
...l
|
|
85
|
+
}) {
|
|
86
|
+
const s = ["game-ui-callout", `game-ui-callout--${i}`, n].filter(Boolean).join(" ");
|
|
87
|
+
return /* @__PURE__ */ o("div", { className: s, role: "note", "data-tone": i, ...l, children: [
|
|
88
|
+
a ? /* @__PURE__ */ e("div", { className: "game-ui-callout-title", children: a }) : null,
|
|
89
|
+
/* @__PURE__ */ e("div", { className: "game-ui-callout-body", children: t })
|
|
90
|
+
] });
|
|
91
|
+
}
|
|
92
|
+
function ma({ children: a, className: t, title: i }) {
|
|
93
|
+
const n = _(), l = ["game-ui-dialog", t].filter(Boolean).join(" ");
|
|
94
|
+
return /* @__PURE__ */ o("section", { "aria-labelledby": n, "aria-modal": "true", className: l, role: "dialog", children: [
|
|
95
|
+
/* @__PURE__ */ e("h2", { id: n, children: i }),
|
|
83
96
|
/* @__PURE__ */ e("div", { className: "game-ui-dialog-body", children: a })
|
|
84
97
|
] });
|
|
85
98
|
}
|
|
86
|
-
function
|
|
99
|
+
function ua({ entries: a, label: t }) {
|
|
87
100
|
return /* @__PURE__ */ e("section", { "aria-label": t, className: "game-ui-history", children: a.map((i) => /* @__PURE__ */ o("article", { className: "game-ui-history-entry", "data-entry-kind": i.kind, children: [
|
|
88
101
|
/* @__PURE__ */ o("div", { className: "game-ui-history-entry-header", children: [
|
|
89
102
|
/* @__PURE__ */ e("strong", { children: i.speaker }),
|
|
@@ -92,80 +105,86 @@ function da({ entries: a, label: t }) {
|
|
|
92
105
|
/* @__PURE__ */ e("p", { children: i.text })
|
|
93
106
|
] }, i.id)) });
|
|
94
107
|
}
|
|
95
|
-
function K({ children: a, className: t, label: i, ...
|
|
96
|
-
const
|
|
97
|
-
return /* @__PURE__ */ e("nav", { "aria-label": i, className:
|
|
108
|
+
function K({ children: a, className: t, label: i, ...n }) {
|
|
109
|
+
const l = ["game-ui-hud-actions", t].filter(Boolean).join(" ");
|
|
110
|
+
return /* @__PURE__ */ e("nav", { "aria-label": i, className: l, "data-safe-area": "hud-actions", ...n, children: a });
|
|
98
111
|
}
|
|
99
|
-
function B({ children: a, className: t, title: i, tone:
|
|
112
|
+
function B({ children: a, className: t, title: i, tone: n = "default", ...l }) {
|
|
100
113
|
const s = ["game-ui-panel", t].filter(Boolean).join(" ");
|
|
101
|
-
return /* @__PURE__ */ o("section", { ...
|
|
114
|
+
return /* @__PURE__ */ o("section", { ...l, className: s, "data-panel-tone": n, children: [
|
|
102
115
|
i ? /* @__PURE__ */ e("h3", { children: i }) : null,
|
|
103
116
|
a
|
|
104
117
|
] });
|
|
105
118
|
}
|
|
106
|
-
function O({ children: a, className: t, label: i, type:
|
|
119
|
+
function O({ children: a, className: t, label: i, type: n = "button", ...l }) {
|
|
107
120
|
const s = ["game-ui-icon-button", t].filter(Boolean).join(" ");
|
|
108
|
-
return /* @__PURE__ */ e("button", { "aria-label": i, className: s, type:
|
|
121
|
+
return /* @__PURE__ */ e("button", { "aria-label": i, className: s, type: n, ...l, children: a });
|
|
109
122
|
}
|
|
110
|
-
function
|
|
123
|
+
function ga({ children: a, label: t }) {
|
|
124
|
+
const i = _(), n = aa(a) ? ia(a, {
|
|
125
|
+
"aria-describedby": [a.props["aria-describedby"], i].filter(Boolean).join(" ")
|
|
126
|
+
}) : a;
|
|
111
127
|
return /* @__PURE__ */ o("span", { className: "game-ui-tooltip", children: [
|
|
112
|
-
|
|
113
|
-
/* @__PURE__ */ e("span", { role: "tooltip", children: t })
|
|
128
|
+
n,
|
|
129
|
+
/* @__PURE__ */ e("span", { id: i, role: "tooltip", children: t })
|
|
114
130
|
] });
|
|
115
131
|
}
|
|
116
|
-
function
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
132
|
+
function pa({ activeId: a, id: t, onSelect: i, tabs: n }) {
|
|
133
|
+
const l = _(), s = t ?? l;
|
|
134
|
+
return /* @__PURE__ */ e("div", { className: "game-ui-tabs", onKeyDown: (r) => {
|
|
135
|
+
if (!i || n.length === 0) return;
|
|
136
|
+
const u = Math.max(0, n.findIndex((f) => f.id === a));
|
|
137
|
+
let c;
|
|
138
|
+
switch (r.key) {
|
|
122
139
|
case "ArrowLeft":
|
|
123
|
-
|
|
140
|
+
c = (u - 1 + n.length) % n.length;
|
|
124
141
|
break;
|
|
125
142
|
case "ArrowRight":
|
|
126
|
-
|
|
143
|
+
c = (u + 1) % n.length;
|
|
127
144
|
break;
|
|
128
145
|
case "Home":
|
|
129
|
-
|
|
146
|
+
c = 0;
|
|
130
147
|
break;
|
|
131
148
|
case "End":
|
|
132
|
-
|
|
149
|
+
c = n.length - 1;
|
|
133
150
|
break;
|
|
134
151
|
default:
|
|
135
152
|
return;
|
|
136
153
|
}
|
|
137
|
-
|
|
138
|
-
const
|
|
139
|
-
if (!
|
|
140
|
-
|
|
141
|
-
}, role: "tablist", children:
|
|
154
|
+
r.preventDefault();
|
|
155
|
+
const b = n[c];
|
|
156
|
+
if (!b) return;
|
|
157
|
+
b.id !== a && i(b.id), r.currentTarget.querySelectorAll('[role="tab"]')[c]?.focus();
|
|
158
|
+
}, role: "tablist", children: n.map((r) => /* @__PURE__ */ e(
|
|
142
159
|
"button",
|
|
143
160
|
{
|
|
144
|
-
"aria-
|
|
161
|
+
"aria-controls": r.panelId,
|
|
162
|
+
"aria-selected": r.id === a,
|
|
145
163
|
className: "game-ui-tab",
|
|
146
|
-
|
|
164
|
+
id: `${s}-${r.id}`,
|
|
165
|
+
onClick: i ? () => i(r.id) : void 0,
|
|
147
166
|
role: "tab",
|
|
148
|
-
tabIndex:
|
|
167
|
+
tabIndex: r.id === a ? 0 : -1,
|
|
149
168
|
type: "button",
|
|
150
|
-
children:
|
|
169
|
+
children: r.label
|
|
151
170
|
},
|
|
152
|
-
|
|
171
|
+
r.id
|
|
153
172
|
)) });
|
|
154
173
|
}
|
|
155
|
-
function Pe({ activeId: a, label: t, onSelect: i, options:
|
|
156
|
-
return /* @__PURE__ */ e("div", { "aria-label": t, className: "game-ui-segmented", role: "group", children:
|
|
174
|
+
function Pe({ activeId: a, label: t, onSelect: i, options: n }) {
|
|
175
|
+
return /* @__PURE__ */ e("div", { "aria-label": t, className: "game-ui-segmented", role: "group", children: n.map((l) => /* @__PURE__ */ e(
|
|
157
176
|
"button",
|
|
158
177
|
{
|
|
159
|
-
"aria-pressed":
|
|
178
|
+
"aria-pressed": l.id === a,
|
|
160
179
|
className: "game-ui-segmented-option",
|
|
161
|
-
onClick: i ? () => i(
|
|
180
|
+
onClick: i ? () => i(l.id) : void 0,
|
|
162
181
|
type: "button",
|
|
163
|
-
children:
|
|
182
|
+
children: l.label
|
|
164
183
|
},
|
|
165
|
-
|
|
184
|
+
l.id
|
|
166
185
|
)) });
|
|
167
186
|
}
|
|
168
|
-
function
|
|
187
|
+
function ha({ label: a, max: t, min: i, onChange: n, value: l }) {
|
|
169
188
|
return /* @__PURE__ */ o("label", { className: "game-ui-slider", children: [
|
|
170
189
|
/* @__PURE__ */ e("span", { children: a }),
|
|
171
190
|
/* @__PURE__ */ e(
|
|
@@ -174,27 +193,46 @@ function ga({ label: a, max: t, min: i, onChange: l, value: n }) {
|
|
|
174
193
|
"aria-label": a,
|
|
175
194
|
max: t,
|
|
176
195
|
min: i,
|
|
177
|
-
onChange:
|
|
178
|
-
readOnly: !
|
|
196
|
+
onChange: n ? (s) => n(Number(s.currentTarget.value)) : void 0,
|
|
197
|
+
readOnly: !n,
|
|
179
198
|
type: "range",
|
|
180
|
-
value:
|
|
199
|
+
value: l
|
|
181
200
|
}
|
|
182
201
|
)
|
|
183
202
|
] });
|
|
184
203
|
}
|
|
185
|
-
function
|
|
186
|
-
return /* @__PURE__ */ o("button", { "aria-checked": a, className: "game-ui-toggle", disabled: t, onClick:
|
|
204
|
+
function ba({ checked: a, disabled: t, label: i, onClick: n }) {
|
|
205
|
+
return /* @__PURE__ */ o("button", { "aria-checked": a, className: "game-ui-toggle", disabled: t, onClick: n, role: "switch", type: "button", children: [
|
|
187
206
|
/* @__PURE__ */ e("span", { children: i }),
|
|
188
207
|
/* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-toggle-track" })
|
|
189
208
|
] });
|
|
190
209
|
}
|
|
191
|
-
function
|
|
192
|
-
return /* @__PURE__ */ e(
|
|
210
|
+
function va({ items: a, label: t, onSelect: i }) {
|
|
211
|
+
return /* @__PURE__ */ e(
|
|
212
|
+
"div",
|
|
213
|
+
{
|
|
214
|
+
"aria-label": t,
|
|
215
|
+
className: "game-ui-radial-menu",
|
|
216
|
+
role: "group",
|
|
217
|
+
style: { "--radial-count": a.length },
|
|
218
|
+
children: a.map((n, l) => /* @__PURE__ */ e(
|
|
219
|
+
"button",
|
|
220
|
+
{
|
|
221
|
+
className: "game-ui-radial-item",
|
|
222
|
+
onClick: i ? () => i(n.id) : void 0,
|
|
223
|
+
style: { "--radial-index": l },
|
|
224
|
+
type: "button",
|
|
225
|
+
children: n.label
|
|
226
|
+
},
|
|
227
|
+
n.id
|
|
228
|
+
))
|
|
229
|
+
}
|
|
230
|
+
);
|
|
193
231
|
}
|
|
194
232
|
function ke({ children: a, tone: t = "info" }) {
|
|
195
233
|
return /* @__PURE__ */ e("div", { className: "game-ui-toast", "data-toast-tone": t, role: t === "danger" ? "alert" : "status", children: a });
|
|
196
234
|
}
|
|
197
|
-
function
|
|
235
|
+
function Bi({ actionLabel: a, children: t, title: i }) {
|
|
198
236
|
return /* @__PURE__ */ o("section", { "aria-label": i, className: "game-ui-prompt", children: [
|
|
199
237
|
/* @__PURE__ */ o("div", { children: [
|
|
200
238
|
/* @__PURE__ */ e("h3", { children: i }),
|
|
@@ -205,7 +243,7 @@ function Ti({ actionLabel: a, children: t, title: i }) {
|
|
|
205
243
|
}
|
|
206
244
|
const N = {
|
|
207
245
|
ink: "#3b2d23",
|
|
208
|
-
inkMuted: "#
|
|
246
|
+
inkMuted: "#786250",
|
|
209
247
|
parchment: "#fff8ec",
|
|
210
248
|
parchmentDeep: "#f4e2c6",
|
|
211
249
|
cream: "#f3e8d8",
|
|
@@ -319,7 +357,7 @@ const N = {
|
|
|
319
357
|
terrainToolHitSize: "var(--game-ui-terrain-tool-hit-size)",
|
|
320
358
|
buildRailCardSize: "var(--game-ui-build-rail-card-size)",
|
|
321
359
|
brushNumberWidth: "var(--game-ui-brush-number-width)"
|
|
322
|
-
},
|
|
360
|
+
}, xi = {
|
|
323
361
|
colors: N,
|
|
324
362
|
semantic: ne,
|
|
325
363
|
typography: le,
|
|
@@ -330,7 +368,7 @@ const N = {
|
|
|
330
368
|
layers: de,
|
|
331
369
|
targets: me,
|
|
332
370
|
assetSizing: ue
|
|
333
|
-
},
|
|
371
|
+
}, fa = "/assets/game/ui/clay/phase03-clay-kit", m = (a) => `${fa}/${a}`, ge = {
|
|
334
372
|
ai: { line: m("icons/function/brain-v1.png") },
|
|
335
373
|
alert: { game: m("components/common/alert-v1.png"), line: m("icons/function/warning-v1.png") },
|
|
336
374
|
card: { line: m("icons/function/card-v1.png") },
|
|
@@ -405,7 +443,7 @@ const ze = {
|
|
|
405
443
|
swordB: m("icons/common/sword-b-v1.png"),
|
|
406
444
|
talaria: m("icons/common/talaria-v1.png"),
|
|
407
445
|
treasure: m("icons/common/treasure-v1.png")
|
|
408
|
-
},
|
|
446
|
+
}, ya = Object.keys(ze), H = {
|
|
409
447
|
buttons: {
|
|
410
448
|
primary: m("buttons/button-brown-large-v2.png"),
|
|
411
449
|
blue: m("buttons/button-blue-large-v2.png"),
|
|
@@ -436,7 +474,7 @@ const ze = {
|
|
|
436
474
|
contactSheetComponents: m("catalog/component-candidates-contact-sheet-v1.png"),
|
|
437
475
|
contactSheetFunction: m("catalog/function-icons-contact-sheet-v1.png")
|
|
438
476
|
}
|
|
439
|
-
},
|
|
477
|
+
}, wa = {
|
|
440
478
|
ai: "AI",
|
|
441
479
|
alert: "!",
|
|
442
480
|
card: "▣",
|
|
@@ -472,7 +510,7 @@ const ze = {
|
|
|
472
510
|
timer: "◷",
|
|
473
511
|
trophy: "★",
|
|
474
512
|
vote: "⌾"
|
|
475
|
-
},
|
|
513
|
+
}, Na = {
|
|
476
514
|
ai: N.berry,
|
|
477
515
|
alert: N.red,
|
|
478
516
|
card: N.honey,
|
|
@@ -509,34 +547,34 @@ const ze = {
|
|
|
509
547
|
trophy: N.honey,
|
|
510
548
|
vote: N.red
|
|
511
549
|
};
|
|
512
|
-
function
|
|
513
|
-
const t =
|
|
514
|
-
return `data:image/svg+xml,${encodeURIComponent(
|
|
550
|
+
function ka(a) {
|
|
551
|
+
const t = wa[a], i = Na[a], n = N.parchment, l = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96"><defs><filter id="s" x="-20%" y="-20%" width="140%" height="140%"><feDropShadow dx="0" dy="5" stdDeviation="4" flood-color="#4c341c" flood-opacity=".22"/></filter></defs><rect x="10" y="8" width="76" height="76" rx="25" fill="${n}" filter="url(#s)"/><circle cx="48" cy="46" r="28" fill="${i}" opacity=".88"/><path d="M23 28c10-12 36-16 52 0" stroke="#fff" stroke-width="6" stroke-linecap="round" opacity=".38"/><text x="48" y="58" text-anchor="middle" font-family="system-ui,sans-serif" font-size="28" font-weight="900" fill="${n}">${t}</text></svg>`;
|
|
552
|
+
return `data:image/svg+xml,${encodeURIComponent(l)}`;
|
|
515
553
|
}
|
|
516
554
|
let be = "inline";
|
|
517
|
-
function
|
|
555
|
+
function Ii(a) {
|
|
518
556
|
be = a;
|
|
519
557
|
}
|
|
520
|
-
function
|
|
558
|
+
function Ei() {
|
|
521
559
|
return be;
|
|
522
560
|
}
|
|
523
561
|
function Z(a, t = {}) {
|
|
524
|
-
return t.inline ?? be === "inline" ?
|
|
562
|
+
return t.inline ?? be === "inline" ? ka(a) : he(a, t.style);
|
|
525
563
|
}
|
|
526
|
-
function
|
|
564
|
+
function Ri(a, t) {
|
|
527
565
|
return he(a, t);
|
|
528
566
|
}
|
|
529
567
|
function S({ children: a, className: t, tone: i = "neutral" }) {
|
|
530
|
-
const
|
|
531
|
-
return /* @__PURE__ */ e("span", { className:
|
|
568
|
+
const n = ["game-ui-badge", t].filter(Boolean).join(" ");
|
|
569
|
+
return /* @__PURE__ */ e("span", { className: n, "data-badge-tone": i, children: a });
|
|
532
570
|
}
|
|
533
|
-
function L({ className: a, icon: t, label: i, size:
|
|
534
|
-
const
|
|
535
|
-
return /* @__PURE__ */ e("span", { className:
|
|
571
|
+
function L({ className: a, icon: t, label: i, size: n = "md", style: l, useSourceAsset: s = !1 }) {
|
|
572
|
+
const d = ["game-ui-asset-icon", a].filter(Boolean).join(" "), r = i ? { "aria-label": i } : { "aria-hidden": !0 }, u = Z(t, { ...l ? { style: l } : {}, ...s ? { inline: !1 } : {} });
|
|
573
|
+
return /* @__PURE__ */ e("span", { className: d, "data-icon-size": n, "data-icon-style": l ?? "game", ...r, children: /* @__PURE__ */ e("img", { alt: "", src: u }) });
|
|
536
574
|
}
|
|
537
|
-
function Ve({ actions: a, className: t, items: i, label:
|
|
538
|
-
const
|
|
539
|
-
return /* @__PURE__ */ o("section", { "aria-label":
|
|
575
|
+
function Ve({ actions: a, className: t, items: i, label: n }) {
|
|
576
|
+
const l = ["game-ui-hud", t].filter(Boolean).join(" ");
|
|
577
|
+
return /* @__PURE__ */ o("section", { "aria-label": n, className: l, children: [
|
|
540
578
|
/* @__PURE__ */ e("div", { className: "game-ui-hud-cluster", children: i.map((s) => /* @__PURE__ */ o("article", { className: "game-ui-hud-chip", children: [
|
|
541
579
|
s.icon ? /* @__PURE__ */ e(L, { icon: s.icon, size: "md" }) : null,
|
|
542
580
|
/* @__PURE__ */ o("span", { children: [
|
|
@@ -548,54 +586,54 @@ function Ve({ actions: a, className: t, items: i, label: l }) {
|
|
|
548
586
|
a ? /* @__PURE__ */ e("div", { className: "game-ui-hud-tools", children: a }) : null
|
|
549
587
|
] });
|
|
550
588
|
}
|
|
551
|
-
function
|
|
552
|
-
const
|
|
553
|
-
return /* @__PURE__ */ e("div", { "aria-label": i, className:
|
|
554
|
-
const
|
|
555
|
-
"--game-ui-card-index":
|
|
556
|
-
"--game-ui-card-offset":
|
|
589
|
+
function Sa({ cards: a, className: t, label: i }) {
|
|
590
|
+
const n = ["game-ui-card-fan", t].filter(Boolean).join(" "), l = (a.length - 1) / 2;
|
|
591
|
+
return /* @__PURE__ */ e("div", { "aria-label": i, className: n, role: "list", children: a.map((s, d) => {
|
|
592
|
+
const r = {
|
|
593
|
+
"--game-ui-card-index": d,
|
|
594
|
+
"--game-ui-card-offset": d - l
|
|
557
595
|
};
|
|
558
|
-
return /* @__PURE__ */ o("
|
|
596
|
+
return /* @__PURE__ */ o("li", { className: "game-ui-card-fan-card", style: r, children: [
|
|
559
597
|
s.icon ? /* @__PURE__ */ e(L, { icon: s.icon, size: "lg" }) : null,
|
|
560
598
|
/* @__PURE__ */ e("small", { children: s.kicker }),
|
|
561
599
|
/* @__PURE__ */ e("strong", { children: s.title })
|
|
562
600
|
] }, s.id);
|
|
563
601
|
}) });
|
|
564
602
|
}
|
|
565
|
-
function q({ badge: a, className: t, icon: i, kicker:
|
|
603
|
+
function q({ badge: a, className: t, icon: i, kicker: n, selected: l = !1, summary: s, title: d, tone: r = "daily", type: u = "button", ...c }) {
|
|
566
604
|
const b = ["game-ui-stage-tile", t].filter(Boolean).join(" ");
|
|
567
|
-
return /* @__PURE__ */ o("button", { "aria-pressed":
|
|
605
|
+
return /* @__PURE__ */ o("button", { "aria-pressed": l, className: b, "data-stage-tone": r, type: u, ...c, children: [
|
|
568
606
|
i ? /* @__PURE__ */ e(L, { icon: i, size: "xl" }) : null,
|
|
569
607
|
/* @__PURE__ */ o("span", { className: "game-ui-stage-tile-copy", children: [
|
|
570
|
-
/* @__PURE__ */ e("small", { children:
|
|
571
|
-
/* @__PURE__ */ e("strong", { children:
|
|
608
|
+
/* @__PURE__ */ e("small", { children: n }),
|
|
609
|
+
/* @__PURE__ */ e("strong", { children: d }),
|
|
572
610
|
/* @__PURE__ */ e("span", { children: s })
|
|
573
611
|
] }),
|
|
574
|
-
a ? /* @__PURE__ */ e(S, { tone:
|
|
612
|
+
a ? /* @__PURE__ */ e(S, { tone: l ? "success" : "neutral", children: a }) : null
|
|
575
613
|
] });
|
|
576
614
|
}
|
|
577
615
|
function J() {
|
|
578
616
|
return typeof window > "u" ? !1 : (window.matchMedia?.("(pointer: coarse), (max-width: 899px)").matches ?? window.innerWidth < 900) && window.innerHeight > window.innerWidth;
|
|
579
617
|
}
|
|
580
|
-
function
|
|
581
|
-
const [
|
|
618
|
+
function La({ body: a, cta: t, badgeLabel: i = "Landscape only", manualHint: n = "Rotate manually if this browser blocks automatic landscape lock.", preview: l = !1, title: s }) {
|
|
619
|
+
const [d, r] = M(l || J), [u, c] = M("");
|
|
582
620
|
if (te(() => {
|
|
583
|
-
if (
|
|
621
|
+
if (l) return;
|
|
584
622
|
const g = () => {
|
|
585
|
-
const
|
|
586
|
-
|
|
623
|
+
const f = J();
|
|
624
|
+
r(f), f || c("");
|
|
587
625
|
};
|
|
588
626
|
return g(), window.addEventListener("resize", g), window.addEventListener("orientationchange", g), () => {
|
|
589
627
|
window.removeEventListener("resize", g), window.removeEventListener("orientationchange", g);
|
|
590
628
|
};
|
|
591
|
-
}, [
|
|
629
|
+
}, [l]), !d) return null;
|
|
592
630
|
const b = async () => {
|
|
593
|
-
if (c(""), !
|
|
631
|
+
if (c(""), !l)
|
|
594
632
|
try {
|
|
595
633
|
const g = document.documentElement;
|
|
596
|
-
!document.fullscreenElement && g.requestFullscreen && await g.requestFullscreen(), await screen.orientation.lock?.("landscape-primary"),
|
|
634
|
+
!document.fullscreenElement && g.requestFullscreen && await g.requestFullscreen(), await screen.orientation.lock?.("landscape-primary"), r(J());
|
|
597
635
|
} catch {
|
|
598
|
-
c(
|
|
636
|
+
c(n);
|
|
599
637
|
}
|
|
600
638
|
};
|
|
601
639
|
return /* @__PURE__ */ e("aside", { "aria-label": s, className: "game-ui-orientation-gate", children: /* @__PURE__ */ o("div", { className: "game-ui-orientation-card", children: [
|
|
@@ -609,21 +647,21 @@ function ka({ body: a, cta: t, badgeLabel: i = "Landscape only", manualHint: l =
|
|
|
609
647
|
u ? /* @__PURE__ */ e("small", { children: u }) : null
|
|
610
648
|
] }) });
|
|
611
649
|
}
|
|
612
|
-
function
|
|
613
|
-
const [
|
|
614
|
-
|
|
650
|
+
function Ta({ className: a, currentLabel: t, label: i, options: n, value: l, defaultValue: s, onSelect: d }) {
|
|
651
|
+
const [r, u] = M(!1), [c, b] = M(s ?? n[0]?.id ?? ""), g = _(), f = ["game-ui-language-menu", a].filter(Boolean).join(" "), v = l ?? c, k = n.find((w) => w.id === v), p = t ?? k?.label ?? n[0]?.label ?? "", y = (w) => {
|
|
652
|
+
l === void 0 && b(w), d?.(w), u(!1);
|
|
615
653
|
};
|
|
616
|
-
return /* @__PURE__ */ o("div", { className:
|
|
617
|
-
/* @__PURE__ */ o("button", { "aria-controls": g, "aria-expanded":
|
|
654
|
+
return /* @__PURE__ */ o("div", { className: f, children: [
|
|
655
|
+
/* @__PURE__ */ o("button", { "aria-controls": g, "aria-expanded": r, className: "game-ui-language-trigger", onClick: () => u((w) => !w), type: "button", children: [
|
|
618
656
|
/* @__PURE__ */ e(L, { icon: "globe", size: "sm" }),
|
|
619
657
|
/* @__PURE__ */ e("span", { children: p })
|
|
620
658
|
] }),
|
|
621
|
-
|
|
659
|
+
r ? /* @__PURE__ */ e("div", { "aria-label": i, className: "game-ui-language-popover", id: g, role: "menu", children: n.map((w) => /* @__PURE__ */ e(
|
|
622
660
|
"button",
|
|
623
661
|
{
|
|
624
|
-
"aria-checked": w.id ===
|
|
625
|
-
"data-selected": w.id ===
|
|
626
|
-
onClick: () =>
|
|
662
|
+
"aria-checked": w.id === v,
|
|
663
|
+
"data-selected": w.id === v,
|
|
664
|
+
onClick: () => y(w.id),
|
|
627
665
|
role: "menuitemradio",
|
|
628
666
|
type: "button",
|
|
629
667
|
children: /* @__PURE__ */ o("span", { children: [
|
|
@@ -641,13 +679,13 @@ function Se({ label: a, tone: t = "loading" }) {
|
|
|
641
679
|
/* @__PURE__ */ e("span", { children: a })
|
|
642
680
|
] });
|
|
643
681
|
}
|
|
644
|
-
function
|
|
645
|
-
return
|
|
682
|
+
function Mi() {
|
|
683
|
+
return H.catalog;
|
|
646
684
|
}
|
|
647
|
-
function
|
|
685
|
+
function V({ fallback: a, slot: t }) {
|
|
648
686
|
return t ?? /* @__PURE__ */ e(L, { icon: a, size: "sm" });
|
|
649
687
|
}
|
|
650
|
-
function
|
|
688
|
+
function Ca({ authenticated: a, batteryCount: t, className: i, dailyStreak: n, iconSlots: l, labels: s, onHistory: d, onSettings: r, onWardrobe: u, playerName: c }) {
|
|
651
689
|
const b = ["swimmer-first-session-shell", i].filter(Boolean).join(" "), g = a ? `${t} 🔋` : s.guest ?? "guest";
|
|
652
690
|
return /* @__PURE__ */ o("section", { "aria-label": s.shell, className: b, children: [
|
|
653
691
|
/* @__PURE__ */ e(
|
|
@@ -657,21 +695,21 @@ function La({ authenticated: a, batteryCount: t, className: i, dailyStreak: l, i
|
|
|
657
695
|
items: [
|
|
658
696
|
{ icon: "crown", id: "role", label: s.roleLabel, meta: c, value: s.roleValue },
|
|
659
697
|
{ icon: "portal", id: "room", label: s.roomLabel, meta: g, value: s.roomValue },
|
|
660
|
-
{ icon: "trophy", id: "goal", label: s.goalLabel, meta: `${s.streak ?? "Daily"} ${
|
|
698
|
+
{ icon: "trophy", id: "goal", label: s.goalLabel, meta: `${s.streak ?? "Daily"} ${n}`, value: s.goalValue },
|
|
661
699
|
{ icon: "timer", id: "timer", label: s.timerLabel, value: s.timerValue }
|
|
662
700
|
],
|
|
663
701
|
label: s.hud,
|
|
664
702
|
actions: /* @__PURE__ */ o(K, { className: "swimmer-first-session-hud-actions", label: s.tools, children: [
|
|
665
703
|
/* @__PURE__ */ o(C, { "aria-label": s.wardrobe, onClick: u, variant: "secondary", children: [
|
|
666
|
-
/* @__PURE__ */ e(
|
|
704
|
+
/* @__PURE__ */ e(V, { fallback: "shirt", slot: l?.wardrobe }),
|
|
667
705
|
s.wardrobe
|
|
668
706
|
] }),
|
|
669
|
-
/* @__PURE__ */ o(C, { "aria-label": s.settings, onClick:
|
|
670
|
-
/* @__PURE__ */ e(
|
|
707
|
+
/* @__PURE__ */ o(C, { "aria-label": s.settings, onClick: r, variant: "secondary", children: [
|
|
708
|
+
/* @__PURE__ */ e(V, { fallback: "settings", slot: l?.settings }),
|
|
671
709
|
s.settings
|
|
672
710
|
] }),
|
|
673
|
-
/* @__PURE__ */ o(C, { "aria-label": s.history, onClick:
|
|
674
|
-
/* @__PURE__ */ e(
|
|
711
|
+
/* @__PURE__ */ o(C, { "aria-label": s.history, onClick: d, variant: "secondary", children: [
|
|
712
|
+
/* @__PURE__ */ e(V, { fallback: "history", slot: l?.history }),
|
|
675
713
|
s.history
|
|
676
714
|
] })
|
|
677
715
|
] })
|
|
@@ -684,17 +722,17 @@ function La({ authenticated: a, batteryCount: t, className: i, dailyStreak: l, i
|
|
|
684
722
|
/* @__PURE__ */ e("strong", { children: s.move })
|
|
685
723
|
] }),
|
|
686
724
|
/* @__PURE__ */ o("label", { className: "swimmer-first-session-input", children: [
|
|
687
|
-
/* @__PURE__ */ e(
|
|
725
|
+
/* @__PURE__ */ e(V, { fallback: "chat", slot: l?.input }),
|
|
688
726
|
/* @__PURE__ */ e("span", { children: s.input })
|
|
689
727
|
] }),
|
|
690
728
|
/* @__PURE__ */ o("button", { className: "swimmer-first-session-emote", type: "button", children: [
|
|
691
|
-
/* @__PURE__ */ e(
|
|
729
|
+
/* @__PURE__ */ e(V, { fallback: "smile", slot: l?.emote }),
|
|
692
730
|
s.emote
|
|
693
731
|
] })
|
|
694
732
|
] })
|
|
695
733
|
] });
|
|
696
734
|
}
|
|
697
|
-
function
|
|
735
|
+
function Aa({ labels: a, onDismiss: t, open: i }) {
|
|
698
736
|
return i ? /* @__PURE__ */ o("aside", { "aria-labelledby": "swimmer-first-session-onboarding-title", "aria-modal": "true", className: "swimmer-first-session-onboarding", role: "dialog", children: [
|
|
699
737
|
/* @__PURE__ */ e("div", { className: "swimmer-first-session-onboarding-scrim" }),
|
|
700
738
|
/* @__PURE__ */ o("div", { className: "swimmer-first-session-onboarding-card", children: [
|
|
@@ -702,11 +740,11 @@ function Ta({ labels: a, onDismiss: t, open: i }) {
|
|
|
702
740
|
/* @__PURE__ */ e(S, { tone: "warning", children: a.badge }),
|
|
703
741
|
/* @__PURE__ */ e("h2", { id: "swimmer-first-session-onboarding-title", children: a.title }),
|
|
704
742
|
/* @__PURE__ */ e("p", { children: a.body }),
|
|
705
|
-
/* @__PURE__ */ e("ol", { className: "swimmer-first-session-onboarding-steps", children: a.steps.map((
|
|
706
|
-
/* @__PURE__ */ e("span", { children: String(
|
|
707
|
-
/* @__PURE__ */ e("strong", { children:
|
|
708
|
-
/* @__PURE__ */ e("small", { children:
|
|
709
|
-
] },
|
|
743
|
+
/* @__PURE__ */ e("ol", { className: "swimmer-first-session-onboarding-steps", children: a.steps.map((n, l) => /* @__PURE__ */ o("li", { children: [
|
|
744
|
+
/* @__PURE__ */ e("span", { children: String(l + 1).padStart(2, "0") }),
|
|
745
|
+
/* @__PURE__ */ e("strong", { children: n.title }),
|
|
746
|
+
/* @__PURE__ */ e("small", { children: n.body })
|
|
747
|
+
] }, n.title)) }),
|
|
710
748
|
/* @__PURE__ */ o("div", { className: "swimmer-first-session-onboarding-actions", children: [
|
|
711
749
|
/* @__PURE__ */ e(C, { onClick: t, variant: "primary", children: a.start }),
|
|
712
750
|
/* @__PURE__ */ e(C, { onClick: t, variant: "ghost", children: a.skip })
|
|
@@ -714,73 +752,73 @@ function Ta({ labels: a, onDismiss: t, open: i }) {
|
|
|
714
752
|
] })
|
|
715
753
|
] }) : null;
|
|
716
754
|
}
|
|
717
|
-
const Le = Oe(function({ className: t, invalid: i, type:
|
|
718
|
-
const
|
|
719
|
-
return /* @__PURE__ */ e("input", { className:
|
|
720
|
-
}),
|
|
721
|
-
const
|
|
722
|
-
return /* @__PURE__ */ e("textarea", { className:
|
|
755
|
+
const Le = Oe(function({ className: t, invalid: i, type: n = "text", ...l }, s) {
|
|
756
|
+
const d = ["game-ui-input", t].filter(Boolean).join(" ");
|
|
757
|
+
return /* @__PURE__ */ e("input", { className: d, "data-invalid": i ? "true" : void 0, ref: s, type: n, ...l });
|
|
758
|
+
}), Ba = Oe(function({ className: t, invalid: i, rows: n = 3, ...l }, s) {
|
|
759
|
+
const d = ["game-ui-input", "game-ui-textarea", t].filter(Boolean).join(" ");
|
|
760
|
+
return /* @__PURE__ */ e("textarea", { className: d, "data-invalid": i ? "true" : void 0, ref: s, rows: n, ...l });
|
|
723
761
|
});
|
|
724
|
-
function
|
|
725
|
-
const
|
|
726
|
-
return /* @__PURE__ */ o("label", { className:
|
|
762
|
+
function D({ children: a, className: t, error: i, hint: n, label: l, required: s }) {
|
|
763
|
+
const d = ["game-ui-field", t].filter(Boolean).join(" ");
|
|
764
|
+
return /* @__PURE__ */ o("label", { className: d, "data-invalid": i ? "true" : void 0, children: [
|
|
727
765
|
/* @__PURE__ */ o("span", { className: "game-ui-field-label", children: [
|
|
728
|
-
|
|
766
|
+
l,
|
|
729
767
|
s ? /* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-field-required", children: " *" }) : null
|
|
730
768
|
] }),
|
|
731
769
|
a,
|
|
732
|
-
|
|
770
|
+
n && !i ? /* @__PURE__ */ e("span", { className: "game-ui-field-hint", children: n }) : null,
|
|
733
771
|
i ? /* @__PURE__ */ e("span", { className: "game-ui-field-error", role: "alert", children: i }) : null
|
|
734
772
|
] });
|
|
735
773
|
}
|
|
736
|
-
function
|
|
737
|
-
const
|
|
738
|
-
return /* @__PURE__ */ o("label", { className:
|
|
774
|
+
function xa({ className: a, label: t, ...i }) {
|
|
775
|
+
const n = ["game-ui-checkbox", a].filter(Boolean).join(" ");
|
|
776
|
+
return /* @__PURE__ */ o("label", { className: n, children: [
|
|
739
777
|
/* @__PURE__ */ e("input", { className: "game-ui-checkbox-input", type: "checkbox", ...i }),
|
|
740
778
|
/* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-checkbox-box" }),
|
|
741
779
|
/* @__PURE__ */ e("span", { className: "game-ui-checkbox-label", children: t })
|
|
742
780
|
] });
|
|
743
781
|
}
|
|
744
|
-
function
|
|
782
|
+
function Ia(a) {
|
|
745
783
|
const t = a.trim().split(/\s+/).filter(Boolean);
|
|
746
|
-
return t.length === 0 ? "?" : t.slice(0, 2).map((
|
|
784
|
+
return t.length === 0 ? "?" : t.slice(0, 2).map((n) => n[0] ?? "").join("").toUpperCase();
|
|
747
785
|
}
|
|
748
|
-
function
|
|
786
|
+
function j({ className: a, name: t, size: i = "md", src: n, status: l = "none" }) {
|
|
749
787
|
const s = ["game-ui-avatar", a].filter(Boolean).join(" ");
|
|
750
|
-
return /* @__PURE__ */ o("span", { className: s, "data-avatar-size": i, "data-avatar-status":
|
|
751
|
-
|
|
752
|
-
/* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-avatar-initials", children:
|
|
788
|
+
return /* @__PURE__ */ o("span", { className: s, "data-avatar-size": i, "data-avatar-status": l, children: [
|
|
789
|
+
n ? /* @__PURE__ */ e("img", { alt: t, src: n }) : /* @__PURE__ */ o(Ge, { children: [
|
|
790
|
+
/* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-avatar-initials", children: Ia(t) }),
|
|
753
791
|
/* @__PURE__ */ e("span", { className: "game-ui-sr-only", children: t })
|
|
754
792
|
] }),
|
|
755
|
-
|
|
793
|
+
l !== "none" ? /* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-avatar-status" }) : null
|
|
756
794
|
] });
|
|
757
795
|
}
|
|
758
|
-
function
|
|
759
|
-
const
|
|
760
|
-
return /* @__PURE__ */ o("div", { className: u, "data-progress-tone":
|
|
796
|
+
function U({ className: a, label: t, max: i = 100, showValue: n = !1, tone: l = "accent", value: s }) {
|
|
797
|
+
const d = i <= 0 ? 100 : i, r = Math.max(0, Math.min(100, s / d * 100)), u = ["game-ui-progress", a].filter(Boolean).join(" ");
|
|
798
|
+
return /* @__PURE__ */ o("div", { className: u, "data-progress-tone": l, children: [
|
|
761
799
|
/* @__PURE__ */ e(
|
|
762
800
|
"div",
|
|
763
801
|
{
|
|
764
802
|
"aria-label": t,
|
|
765
|
-
"aria-valuemax":
|
|
803
|
+
"aria-valuemax": d,
|
|
766
804
|
"aria-valuemin": 0,
|
|
767
805
|
"aria-valuenow": s,
|
|
768
806
|
className: "game-ui-progress-track",
|
|
769
807
|
role: "progressbar",
|
|
770
|
-
children: /* @__PURE__ */ e("div", { className: "game-ui-progress-fill", style: { width: `${
|
|
808
|
+
children: /* @__PURE__ */ e("div", { className: "game-ui-progress-fill", style: { width: `${r}%` } })
|
|
771
809
|
}
|
|
772
810
|
),
|
|
773
|
-
|
|
774
|
-
Math.round(
|
|
811
|
+
n ? /* @__PURE__ */ o("span", { className: "game-ui-progress-value", children: [
|
|
812
|
+
Math.round(r),
|
|
775
813
|
"%"
|
|
776
814
|
] }) : null
|
|
777
815
|
] });
|
|
778
816
|
}
|
|
779
|
-
function P({ action: a, className: t, description: i, icon:
|
|
817
|
+
function P({ action: a, className: t, description: i, icon: n, title: l }) {
|
|
780
818
|
const s = ["game-ui-empty-state", t].filter(Boolean).join(" ");
|
|
781
819
|
return /* @__PURE__ */ o("div", { className: s, children: [
|
|
782
|
-
|
|
783
|
-
/* @__PURE__ */ e("strong", { className: "game-ui-empty-state-title", children:
|
|
820
|
+
n ? /* @__PURE__ */ e(L, { icon: n, size: "xl" }) : null,
|
|
821
|
+
/* @__PURE__ */ e("strong", { className: "game-ui-empty-state-title", children: l }),
|
|
784
822
|
i ? /* @__PURE__ */ e("p", { className: "game-ui-empty-state-body", children: i }) : null,
|
|
785
823
|
a ? /* @__PURE__ */ e("div", { className: "game-ui-empty-state-action", children: a }) : null
|
|
786
824
|
] });
|
|
@@ -789,84 +827,84 @@ function He({
|
|
|
789
827
|
assetLibrary: a,
|
|
790
828
|
bottomBar: t,
|
|
791
829
|
children: i,
|
|
792
|
-
className:
|
|
793
|
-
density:
|
|
830
|
+
className: n,
|
|
831
|
+
density: l = "comfortable",
|
|
794
832
|
hud: s,
|
|
795
|
-
layout:
|
|
796
|
-
movementPad:
|
|
833
|
+
layout: d = "auto",
|
|
834
|
+
movementPad: r,
|
|
797
835
|
overlay: u,
|
|
798
836
|
sidePanel: c,
|
|
799
837
|
title: b
|
|
800
838
|
}) {
|
|
801
|
-
const g = ["game-ui-shell",
|
|
802
|
-
return /* @__PURE__ */ o("section", { "aria-label": b, className: g, "data-density":
|
|
839
|
+
const g = ["game-ui-shell", n].filter(Boolean).join(" ");
|
|
840
|
+
return /* @__PURE__ */ o("section", { "aria-label": b, className: g, "data-density": l, "data-layout": d, children: [
|
|
803
841
|
/* @__PURE__ */ e("div", { className: "game-ui-shell-scene", children: i }),
|
|
804
842
|
s ? /* @__PURE__ */ e("div", { className: "game-ui-shell-hud", children: s }) : null,
|
|
805
843
|
a ? /* @__PURE__ */ e("aside", { className: "game-ui-shell-library", children: a }) : null,
|
|
806
844
|
c ? /* @__PURE__ */ e("aside", { className: "game-ui-shell-side-panel", children: c }) : null,
|
|
807
|
-
|
|
845
|
+
r ? /* @__PURE__ */ e("div", { className: "game-ui-shell-movement", children: r }) : null,
|
|
808
846
|
t ? /* @__PURE__ */ e("div", { className: "game-ui-shell-bottom-bar", children: t }) : null,
|
|
809
847
|
u ? /* @__PURE__ */ e("div", { className: "game-ui-shell-overlay", children: u }) : null
|
|
810
848
|
] });
|
|
811
849
|
}
|
|
812
|
-
const
|
|
813
|
-
function ve({ className: a, density: t = "comfortable", facts: i, label:
|
|
850
|
+
const Gi = He;
|
|
851
|
+
function ve({ className: a, density: t = "comfortable", facts: i, label: n, variant: l = "facts" }) {
|
|
814
852
|
const s = ["game-ui-fact-list", a].filter(Boolean).join(" ");
|
|
815
|
-
return /* @__PURE__ */ e("section", { "aria-label":
|
|
816
|
-
|
|
853
|
+
return /* @__PURE__ */ e("section", { "aria-label": n, className: s, "data-density": t, "data-variant": l, children: i.map((d) => /* @__PURE__ */ o("article", { className: "game-ui-fact", children: [
|
|
854
|
+
d.icon ? /* @__PURE__ */ e(L, { icon: d.icon, size: t === "dense" ? "sm" : "md" }) : null,
|
|
817
855
|
/* @__PURE__ */ o("span", { className: "game-ui-fact-copy", children: [
|
|
818
|
-
/* @__PURE__ */ e("small", { children:
|
|
819
|
-
/* @__PURE__ */ e("strong", { children:
|
|
820
|
-
|
|
856
|
+
/* @__PURE__ */ e("small", { children: d.label }),
|
|
857
|
+
/* @__PURE__ */ e("strong", { children: d.value }),
|
|
858
|
+
d.meta ? /* @__PURE__ */ e("em", { children: d.meta }) : null
|
|
821
859
|
] }),
|
|
822
|
-
|
|
823
|
-
] },
|
|
860
|
+
d.tone ? /* @__PURE__ */ e(S, { tone: d.tone, children: l === "stats" ? d.label : d.value }) : null
|
|
861
|
+
] }, d.id)) });
|
|
824
862
|
}
|
|
825
|
-
const
|
|
826
|
-
function
|
|
827
|
-
const
|
|
828
|
-
return /* @__PURE__ */ o(K, { className:
|
|
829
|
-
/* @__PURE__ */ e("span", { className: "game-ui-sr-only", children:
|
|
830
|
-
a.map((
|
|
831
|
-
const u =
|
|
832
|
-
|
|
833
|
-
s === "button" ? /* @__PURE__ */ e("span", { children:
|
|
834
|
-
s === "icon" &&
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
] }), b = () =>
|
|
863
|
+
const Oi = ve;
|
|
864
|
+
function $({ actions: a, className: t, density: i = "comfortable", iconLabelMode: n = "hidden", label: l, style: s = "button" }) {
|
|
865
|
+
const d = ["game-ui-action-grid", t].filter(Boolean).join(" ");
|
|
866
|
+
return /* @__PURE__ */ o(K, { className: d, "data-icon-label-mode": s === "icon" ? n : void 0, label: l, children: [
|
|
867
|
+
/* @__PURE__ */ e("span", { className: "game-ui-sr-only", children: l }),
|
|
868
|
+
a.map((r) => {
|
|
869
|
+
const u = r.compactLabel ?? r.label, c = /* @__PURE__ */ o(Ge, { children: [
|
|
870
|
+
r.icon ? /* @__PURE__ */ e(L, { icon: r.icon, size: i === "dense" ? "sm" : "md", ...s === "icon" ? { style: "line" } : {} }) : null,
|
|
871
|
+
s === "button" ? /* @__PURE__ */ e("span", { children: r.label }) : null,
|
|
872
|
+
s === "icon" && n === "caption" ? /* @__PURE__ */ e("span", { className: "game-ui-action-grid-caption", children: u }) : null,
|
|
873
|
+
r.badge ? /* @__PURE__ */ e(S, { tone: r.selected ? "success" : "neutral", children: r.badge }) : null,
|
|
874
|
+
r.shortcut ? /* @__PURE__ */ e("kbd", { children: r.shortcut }) : null
|
|
875
|
+
] }), b = () => r.onAction?.(r.id);
|
|
838
876
|
return s === "icon" ? /* @__PURE__ */ e(
|
|
839
877
|
O,
|
|
840
878
|
{
|
|
841
|
-
"aria-pressed":
|
|
879
|
+
"aria-pressed": r.selected,
|
|
842
880
|
className: "game-ui-action-grid-button",
|
|
843
|
-
disabled:
|
|
844
|
-
label:
|
|
881
|
+
disabled: r.disabled,
|
|
882
|
+
label: r.ariaLabel ?? r.label,
|
|
845
883
|
onClick: b,
|
|
846
884
|
children: c
|
|
847
885
|
},
|
|
848
|
-
|
|
886
|
+
r.id
|
|
849
887
|
) : /* @__PURE__ */ e(
|
|
850
888
|
C,
|
|
851
889
|
{
|
|
852
|
-
"aria-pressed":
|
|
890
|
+
"aria-pressed": r.selected,
|
|
853
891
|
className: "game-ui-action-grid-button",
|
|
854
|
-
disabled:
|
|
892
|
+
disabled: r.disabled,
|
|
855
893
|
onClick: b,
|
|
856
|
-
variant:
|
|
894
|
+
variant: r.tone ?? "secondary",
|
|
857
895
|
children: c
|
|
858
896
|
},
|
|
859
|
-
|
|
897
|
+
r.id
|
|
860
898
|
);
|
|
861
899
|
})
|
|
862
900
|
] });
|
|
863
901
|
}
|
|
864
|
-
const
|
|
902
|
+
const Ea = [
|
|
865
903
|
{ direction: "forward", label: "Move forward", shortcut: "W / ↑", symbol: "↑" },
|
|
866
904
|
{ direction: "left", label: "Move left", shortcut: "A / ←", symbol: "←" },
|
|
867
905
|
{ direction: "right", label: "Move right", shortcut: "D / →", symbol: "→" },
|
|
868
906
|
{ direction: "backward", label: "Move backward", shortcut: "S / ↓", symbol: "↓" }
|
|
869
|
-
],
|
|
907
|
+
], Ra = {
|
|
870
908
|
ArrowUp: "forward",
|
|
871
909
|
w: "forward",
|
|
872
910
|
W: "forward",
|
|
@@ -881,31 +919,31 @@ const xa = [
|
|
|
881
919
|
S: "backward",
|
|
882
920
|
" ": "reset"
|
|
883
921
|
};
|
|
884
|
-
function
|
|
885
|
-
actions: a =
|
|
922
|
+
function Ma({
|
|
923
|
+
actions: a = Ea,
|
|
886
924
|
className: t,
|
|
887
925
|
density: i = "comfortable",
|
|
888
|
-
disabled:
|
|
889
|
-
helpText:
|
|
926
|
+
disabled: n = !1,
|
|
927
|
+
helpText: l,
|
|
890
928
|
label: s,
|
|
891
|
-
layout:
|
|
892
|
-
onMove:
|
|
929
|
+
layout: d = "dpad",
|
|
930
|
+
onMove: r
|
|
893
931
|
}) {
|
|
894
932
|
const u = ["game-ui-movement-pad", t].filter(Boolean).join(" "), c = (g) => {
|
|
895
|
-
|
|
933
|
+
n || r?.(g);
|
|
896
934
|
};
|
|
897
|
-
return /* @__PURE__ */ o("section", { "aria-label": s, className: u, "data-density": i, "data-layout":
|
|
898
|
-
const
|
|
899
|
-
if (!
|
|
900
|
-
const
|
|
901
|
-
!
|
|
935
|
+
return /* @__PURE__ */ o("section", { "aria-label": s, className: u, "data-density": i, "data-layout": d, onKeyDown: (g) => {
|
|
936
|
+
const f = Ra[g.key];
|
|
937
|
+
if (!f) return;
|
|
938
|
+
const v = a.find((k) => k.direction === f);
|
|
939
|
+
!v || v.disabled || n || (g.preventDefault(), c(f));
|
|
902
940
|
}, tabIndex: 0, children: [
|
|
903
941
|
/* @__PURE__ */ e("div", { className: "game-ui-movement-pad-grid", children: a.map((g) => /* @__PURE__ */ o(
|
|
904
942
|
O,
|
|
905
943
|
{
|
|
906
944
|
className: "game-ui-movement-button",
|
|
907
945
|
"data-direction": g.direction,
|
|
908
|
-
disabled:
|
|
946
|
+
disabled: n || g.disabled,
|
|
909
947
|
label: g.label,
|
|
910
948
|
onClick: () => c(g.direction),
|
|
911
949
|
children: [
|
|
@@ -915,7 +953,7 @@ function Ea({
|
|
|
915
953
|
},
|
|
916
954
|
g.direction
|
|
917
955
|
)) }),
|
|
918
|
-
|
|
956
|
+
l ? /* @__PURE__ */ e("p", { children: l }) : null
|
|
919
957
|
] });
|
|
920
958
|
}
|
|
921
959
|
const X = {
|
|
@@ -926,7 +964,7 @@ const X = {
|
|
|
926
964
|
generated: "ai",
|
|
927
965
|
imported: "warning",
|
|
928
966
|
starter: "neutral"
|
|
929
|
-
},
|
|
967
|
+
}, Ga = {
|
|
930
968
|
error: "danger",
|
|
931
969
|
generating: "ai",
|
|
932
970
|
missing: "danger",
|
|
@@ -934,38 +972,38 @@ const X = {
|
|
|
934
972
|
ready: "neutral",
|
|
935
973
|
selected: "success"
|
|
936
974
|
};
|
|
937
|
-
function
|
|
975
|
+
function Oa({
|
|
938
976
|
assetId: a,
|
|
939
977
|
badges: t = [],
|
|
940
978
|
cardLayout: i = "list",
|
|
941
|
-
className:
|
|
942
|
-
description:
|
|
979
|
+
className: n,
|
|
980
|
+
description: l,
|
|
943
981
|
disabled: s,
|
|
944
|
-
facts:
|
|
945
|
-
icon:
|
|
982
|
+
facts: d = [],
|
|
983
|
+
icon: r = "gem",
|
|
946
984
|
onClick: u,
|
|
947
985
|
onSelect: c,
|
|
948
986
|
selected: b = !1,
|
|
949
987
|
source: g,
|
|
950
|
-
sourceLabel:
|
|
951
|
-
status:
|
|
988
|
+
sourceLabel: f,
|
|
989
|
+
status: v = "ready",
|
|
952
990
|
statusLabel: k,
|
|
953
991
|
thumbnailAlt: p = "",
|
|
954
|
-
thumbnailSrc:
|
|
992
|
+
thumbnailSrc: y,
|
|
955
993
|
title: w,
|
|
956
994
|
type: h = "button",
|
|
957
995
|
...A
|
|
958
996
|
}) {
|
|
959
|
-
const { "aria-label": T, ...G } = A,
|
|
997
|
+
const { "aria-label": T, ...G } = A, z = ["game-ui-asset-card", n].filter(Boolean).join(" "), x = f ?? X[g], E = k ?? v;
|
|
960
998
|
return /* @__PURE__ */ o(
|
|
961
999
|
"button",
|
|
962
1000
|
{
|
|
963
1001
|
"aria-label": T ?? w,
|
|
964
1002
|
"aria-pressed": b,
|
|
965
|
-
className:
|
|
1003
|
+
className: z,
|
|
966
1004
|
"data-asset-card-layout": i,
|
|
967
1005
|
"data-asset-source": g,
|
|
968
|
-
"data-asset-status":
|
|
1006
|
+
"data-asset-status": v,
|
|
969
1007
|
disabled: s,
|
|
970
1008
|
onClick: (I) => {
|
|
971
1009
|
u?.(I), I.defaultPrevented || c?.(a);
|
|
@@ -973,16 +1011,16 @@ function Ma({
|
|
|
973
1011
|
type: h,
|
|
974
1012
|
...G,
|
|
975
1013
|
children: [
|
|
976
|
-
/* @__PURE__ */ e("span", { className: "game-ui-asset-card-preview", children:
|
|
1014
|
+
/* @__PURE__ */ e("span", { className: "game-ui-asset-card-preview", children: y ? /* @__PURE__ */ e("img", { alt: p, src: y }) : /* @__PURE__ */ e(L, { className: "game-ui-asset-card-icon", icon: r, size: "xl" }) }),
|
|
977
1015
|
/* @__PURE__ */ o("span", { className: "game-ui-asset-card-copy", children: [
|
|
978
1016
|
/* @__PURE__ */ o("span", { className: "game-ui-asset-card-badges", children: [
|
|
979
1017
|
/* @__PURE__ */ e(S, { tone: Q[g], children: x }),
|
|
980
|
-
/* @__PURE__ */ e(S, { tone:
|
|
1018
|
+
/* @__PURE__ */ e(S, { tone: Ga[v], children: E }),
|
|
981
1019
|
t.map((I) => /* @__PURE__ */ e(S, { tone: I.tone ?? "neutral", children: I.label }, I.label))
|
|
982
1020
|
] }),
|
|
983
1021
|
/* @__PURE__ */ e("strong", { children: w }),
|
|
984
|
-
|
|
985
|
-
|
|
1022
|
+
l ? /* @__PURE__ */ e("span", { children: l }) : null,
|
|
1023
|
+
d.length > 0 ? /* @__PURE__ */ e("span", { className: "game-ui-asset-card-facts", children: d.map((I) => /* @__PURE__ */ o("span", { children: [
|
|
986
1024
|
/* @__PURE__ */ e("small", { children: I.label }),
|
|
987
1025
|
/* @__PURE__ */ e("b", { children: I.value })
|
|
988
1026
|
] }, I.id)) }) : null
|
|
@@ -995,42 +1033,42 @@ function De({
|
|
|
995
1033
|
cardLayout: a = "auto",
|
|
996
1034
|
className: t,
|
|
997
1035
|
density: i = "comfortable",
|
|
998
|
-
emptyAction:
|
|
999
|
-
emptyDescription:
|
|
1036
|
+
emptyAction: n,
|
|
1037
|
+
emptyDescription: l = "Assets will appear here when they are ready to place.",
|
|
1000
1038
|
emptyTitle: s = "No assets ready",
|
|
1001
|
-
groups:
|
|
1002
|
-
label:
|
|
1039
|
+
groups: d,
|
|
1040
|
+
label: r,
|
|
1003
1041
|
onSelectAsset: u,
|
|
1004
1042
|
selectedAssetId: c,
|
|
1005
1043
|
subtitle: b,
|
|
1006
1044
|
title: g
|
|
1007
1045
|
}) {
|
|
1008
|
-
const
|
|
1046
|
+
const f = ["game-ui-asset-library", t].filter(Boolean).join(" "), v = d.reduce((p, y) => p + y.assets.length, 0), k = d.reduce((p, y) => (y.assets.forEach((w) => {
|
|
1009
1047
|
p[w.source] += 1;
|
|
1010
1048
|
}), p), { generated: 0, imported: 0, starter: 0 });
|
|
1011
|
-
return /* @__PURE__ */ e(B, { className:
|
|
1049
|
+
return /* @__PURE__ */ e(B, { className: f, "data-card-layout": a, title: g, tone: "strong", children: /* @__PURE__ */ o("section", { "aria-label": r, "data-density": i, children: [
|
|
1012
1050
|
b ? /* @__PURE__ */ e("p", { className: "game-ui-asset-library-subtitle", children: b }) : null,
|
|
1013
|
-
/* @__PURE__ */ e("div", { "aria-label": "Asset source counts", className: "game-ui-asset-library-counts", children: Object.entries(k).map(([p,
|
|
1051
|
+
/* @__PURE__ */ e("div", { "aria-label": "Asset source counts", className: "game-ui-asset-library-counts", children: Object.entries(k).map(([p, y]) => /* @__PURE__ */ o(S, { tone: Q[p], children: [
|
|
1014
1052
|
X[p],
|
|
1015
1053
|
" ",
|
|
1016
|
-
|
|
1054
|
+
y
|
|
1017
1055
|
] }, p)) }),
|
|
1018
|
-
|
|
1056
|
+
v === 0 ? /* @__PURE__ */ e(P, { action: n, description: l, icon: "gem", title: s }) : /* @__PURE__ */ e("div", { className: "game-ui-asset-library-groups", children: d.map((p) => /* @__PURE__ */ o("section", { "aria-label": p.label, className: "game-ui-asset-library-group", "data-asset-source": p.source, children: [
|
|
1019
1057
|
/* @__PURE__ */ o("header", { children: [
|
|
1020
1058
|
/* @__PURE__ */ e("strong", { children: p.label }),
|
|
1021
1059
|
p.source ? /* @__PURE__ */ e(S, { tone: Q[p.source], children: X[p.source] }) : null
|
|
1022
1060
|
] }),
|
|
1023
|
-
/* @__PURE__ */ e("div", { className: "game-ui-asset-library-grid", children: p.assets.map((
|
|
1024
|
-
const w = a === "auto" ?
|
|
1061
|
+
/* @__PURE__ */ e("div", { className: "game-ui-asset-library-grid", children: p.assets.map((y) => {
|
|
1062
|
+
const w = a === "auto" ? y.cardLayout : a;
|
|
1025
1063
|
return /* @__PURE__ */ e(
|
|
1026
|
-
|
|
1064
|
+
Oa,
|
|
1027
1065
|
{
|
|
1028
|
-
...
|
|
1066
|
+
...y,
|
|
1029
1067
|
...w ? { cardLayout: w } : {},
|
|
1030
1068
|
...u ? { onSelect: u } : {},
|
|
1031
|
-
selected:
|
|
1069
|
+
selected: y.assetId === c
|
|
1032
1070
|
},
|
|
1033
|
-
|
|
1071
|
+
y.assetId
|
|
1034
1072
|
);
|
|
1035
1073
|
}) })
|
|
1036
1074
|
] }, p.id)) })
|
|
@@ -1040,29 +1078,29 @@ function Ue({
|
|
|
1040
1078
|
actions: a = [],
|
|
1041
1079
|
capacityLabel: t = "Objects",
|
|
1042
1080
|
className: i,
|
|
1043
|
-
density:
|
|
1044
|
-
maxObjects:
|
|
1081
|
+
density: n = "comfortable",
|
|
1082
|
+
maxObjects: l,
|
|
1045
1083
|
objectActions: s = [],
|
|
1046
|
-
placedObjects:
|
|
1047
|
-
selectedLabel:
|
|
1084
|
+
placedObjects: d,
|
|
1085
|
+
selectedLabel: r = "Selected",
|
|
1048
1086
|
selectedTitle: u,
|
|
1049
1087
|
statusLabel: c = "Status",
|
|
1050
1088
|
statusTone: b = "neutral",
|
|
1051
1089
|
statusValue: g = "Idle",
|
|
1052
|
-
title:
|
|
1090
|
+
title: f
|
|
1053
1091
|
}) {
|
|
1054
|
-
const
|
|
1055
|
-
return /* @__PURE__ */ e(B, { className:
|
|
1056
|
-
/* @__PURE__ */ e(ve, { density:
|
|
1057
|
-
{ icon: "gem", id: "selected", label:
|
|
1092
|
+
const v = ["game-ui-placement-toolbar", i].filter(Boolean).join(" "), k = typeof d == "number" && typeof l == "number", p = k && l > 0 ? Math.min(l, d) : 0;
|
|
1093
|
+
return /* @__PURE__ */ e(B, { className: v, title: f, tone: "strong", children: /* @__PURE__ */ o("div", { "data-density": n, children: [
|
|
1094
|
+
/* @__PURE__ */ e(ve, { density: n, facts: [
|
|
1095
|
+
{ icon: "gem", id: "selected", label: r, value: u ?? "None" },
|
|
1058
1096
|
{ icon: "check", id: "status", label: c, tone: b, value: g }
|
|
1059
|
-
], label: `${
|
|
1060
|
-
k ? /* @__PURE__ */ e(
|
|
1061
|
-
a.length > 0 ? /* @__PURE__ */ e(
|
|
1062
|
-
s.length > 0 ? /* @__PURE__ */ e(
|
|
1097
|
+
], label: `${f} facts` }),
|
|
1098
|
+
k ? /* @__PURE__ */ e(U, { label: t, max: l, showValue: !0, tone: p >= l ? "warning" : "success", value: p }) : null,
|
|
1099
|
+
a.length > 0 ? /* @__PURE__ */ e($, { actions: a, density: n, label: `${f} actions` }) : null,
|
|
1100
|
+
s.length > 0 ? /* @__PURE__ */ e($, { actions: s, density: n, label: `${f} object actions`, style: "icon" }) : null
|
|
1063
1101
|
] }) });
|
|
1064
1102
|
}
|
|
1065
|
-
const
|
|
1103
|
+
const Pi = Ue, fe = {
|
|
1066
1104
|
build: "home",
|
|
1067
1105
|
flatten: "card",
|
|
1068
1106
|
inspect: "compass",
|
|
@@ -1072,7 +1110,7 @@ const Mi = Ue, fe = {
|
|
|
1072
1110
|
raise: "energy",
|
|
1073
1111
|
smooth: "lucky",
|
|
1074
1112
|
terrain: "portal"
|
|
1075
|
-
},
|
|
1113
|
+
}, Pa = {
|
|
1076
1114
|
error: "danger",
|
|
1077
1115
|
locked: "warning",
|
|
1078
1116
|
missing: "danger",
|
|
@@ -1080,38 +1118,38 @@ const Mi = Ue, fe = {
|
|
|
1080
1118
|
ready: "neutral",
|
|
1081
1119
|
selected: "success"
|
|
1082
1120
|
};
|
|
1083
|
-
function
|
|
1084
|
-
const
|
|
1085
|
-
disabled: !!(
|
|
1121
|
+
function _a(a, t, i, n) {
|
|
1122
|
+
const l = {
|
|
1123
|
+
disabled: !!(n || a.disabled),
|
|
1086
1124
|
icon: a.icon ?? fe[a.id] ?? "gem",
|
|
1087
1125
|
id: a.id,
|
|
1088
1126
|
label: a.label,
|
|
1089
1127
|
selected: a.id === t,
|
|
1090
1128
|
tone: a.id === t ? "primary" : "secondary"
|
|
1091
1129
|
};
|
|
1092
|
-
return a.ariaLabel && (
|
|
1130
|
+
return a.ariaLabel && (l.ariaLabel = a.ariaLabel), a.compactLabel && (l.compactLabel = a.compactLabel), a.meta && (l.meta = a.meta), a.shortcut && (l.shortcut = a.shortcut), i && (l.onAction = i), l;
|
|
1093
1131
|
}
|
|
1094
1132
|
function F(a, t, i) {
|
|
1095
1133
|
return Number.isNaN(a) ? t : Math.min(i, Math.max(t, a));
|
|
1096
1134
|
}
|
|
1097
|
-
function
|
|
1135
|
+
function za(a, t) {
|
|
1098
1136
|
return a !== "auto" ? a : t === "mobile" || t === "small-mobile" ? "caption" : "hidden";
|
|
1099
1137
|
}
|
|
1100
|
-
function
|
|
1138
|
+
function Va({
|
|
1101
1139
|
activeModeId: a,
|
|
1102
1140
|
className: t,
|
|
1103
1141
|
disabled: i = !1,
|
|
1104
|
-
label:
|
|
1105
|
-
modes:
|
|
1142
|
+
label: n,
|
|
1143
|
+
modes: l,
|
|
1106
1144
|
onModeChange: s,
|
|
1107
|
-
variant:
|
|
1108
|
-
"data-testid":
|
|
1145
|
+
variant: d = "desktop",
|
|
1146
|
+
"data-testid": r
|
|
1109
1147
|
}) {
|
|
1110
1148
|
const u = ["game-ui-terrain-mode-control", t].filter(Boolean).join(" ");
|
|
1111
|
-
return /* @__PURE__ */ o("section", { "aria-label":
|
|
1112
|
-
/* @__PURE__ */ e("span", { className: "game-ui-sr-only", children:
|
|
1113
|
-
/* @__PURE__ */ e("div", { className: "game-ui-terrain-mode-options", role: "group", children:
|
|
1114
|
-
const b = c.id === a, g = i || c.disabled,
|
|
1149
|
+
return /* @__PURE__ */ o("section", { "aria-label": n, className: u, "data-ui-hook": "terrain-mode-control", "data-variant": d, "data-testid": r, children: [
|
|
1150
|
+
/* @__PURE__ */ e("span", { className: "game-ui-sr-only", children: n }),
|
|
1151
|
+
/* @__PURE__ */ e("div", { className: "game-ui-terrain-mode-options", role: "group", children: l.map((c) => {
|
|
1152
|
+
const b = c.id === a, g = i || c.disabled, f = d === "small-mobile" ? c.compactLabel ?? c.label : c.label;
|
|
1115
1153
|
return /* @__PURE__ */ o(
|
|
1116
1154
|
"button",
|
|
1117
1155
|
{
|
|
@@ -1125,8 +1163,8 @@ function _a({
|
|
|
1125
1163
|
onClick: s && !g ? () => s(c.id) : void 0,
|
|
1126
1164
|
type: "button",
|
|
1127
1165
|
children: [
|
|
1128
|
-
/* @__PURE__ */ e(L, { icon: c.icon ?? fe[c.id] ?? "portal", size:
|
|
1129
|
-
/* @__PURE__ */ e("span", { children:
|
|
1166
|
+
/* @__PURE__ */ e(L, { icon: c.icon ?? fe[c.id] ?? "portal", size: d === "small-mobile" ? "sm" : "md", style: "line" }),
|
|
1167
|
+
/* @__PURE__ */ e("span", { children: f }),
|
|
1130
1168
|
c.meta ? /* @__PURE__ */ e("small", { id: `${c.id}-mode-meta`, children: c.meta }) : null
|
|
1131
1169
|
]
|
|
1132
1170
|
},
|
|
@@ -1135,52 +1173,52 @@ function _a({
|
|
|
1135
1173
|
}) })
|
|
1136
1174
|
] });
|
|
1137
1175
|
}
|
|
1138
|
-
function
|
|
1176
|
+
function Ha({
|
|
1139
1177
|
activeToolId: a,
|
|
1140
1178
|
className: t,
|
|
1141
1179
|
compactLabelMode: i = "auto",
|
|
1142
|
-
density:
|
|
1143
|
-
disabled:
|
|
1180
|
+
density: n = "comfortable",
|
|
1181
|
+
disabled: l = !1,
|
|
1144
1182
|
label: s,
|
|
1145
|
-
onToolChange:
|
|
1146
|
-
tools:
|
|
1183
|
+
onToolChange: d,
|
|
1184
|
+
tools: r,
|
|
1147
1185
|
variant: u = "desktop",
|
|
1148
1186
|
"data-testid": c
|
|
1149
1187
|
}) {
|
|
1150
|
-
const b = ["game-ui-terrain-tool-strip", t].filter(Boolean).join(" "), g =
|
|
1188
|
+
const b = ["game-ui-terrain-tool-strip", t].filter(Boolean).join(" "), g = za(i, u);
|
|
1151
1189
|
return /* @__PURE__ */ e("section", { "aria-label": s, className: b, "data-active-tool": a, "data-icon-label-mode": g, "data-ui-hook": "terrain-tool-strip", "data-variant": u, "data-testid": c, children: /* @__PURE__ */ e(
|
|
1152
|
-
|
|
1190
|
+
$,
|
|
1153
1191
|
{
|
|
1154
|
-
actions:
|
|
1155
|
-
density:
|
|
1192
|
+
actions: r.map((f) => _a(f, a, d, l)),
|
|
1193
|
+
density: n,
|
|
1156
1194
|
iconLabelMode: g,
|
|
1157
1195
|
label: s,
|
|
1158
1196
|
style: u === "desktop" ? "button" : "icon"
|
|
1159
1197
|
}
|
|
1160
1198
|
) });
|
|
1161
1199
|
}
|
|
1162
|
-
function
|
|
1200
|
+
function Da({
|
|
1163
1201
|
className: a,
|
|
1164
1202
|
labels: t = {},
|
|
1165
1203
|
onRadiusChange: i,
|
|
1166
|
-
onStrengthChange:
|
|
1167
|
-
state:
|
|
1204
|
+
onStrengthChange: n,
|
|
1205
|
+
state: l,
|
|
1168
1206
|
variant: s = "desktop",
|
|
1169
|
-
"data-testid":
|
|
1207
|
+
"data-testid": d
|
|
1170
1208
|
}) {
|
|
1171
|
-
const
|
|
1209
|
+
const r = ["game-ui-brush-controls", a].filter(Boolean).join(" "), u = l.minRadius ?? 1, c = l.maxRadius ?? 8, b = l.radiusStep ?? 0.25, g = l.minStrength ?? 0, f = l.maxStrength ?? 1, v = l.strengthStep ?? 0.05, k = F(l.radius, u, c), p = F(l.strength, g, f), y = !!l.disabled, w = (A) => {
|
|
1172
1210
|
i?.(F(Number(A.currentTarget.value), u, c));
|
|
1173
1211
|
}, h = (A) => {
|
|
1174
|
-
|
|
1212
|
+
n?.(F(Number(A.currentTarget.value), g, f));
|
|
1175
1213
|
};
|
|
1176
|
-
return /* @__PURE__ */ o("section", { className:
|
|
1177
|
-
/* @__PURE__ */ e(
|
|
1214
|
+
return /* @__PURE__ */ o("section", { className: r, "data-ui-hook": "brush-controls", "data-variant": s, "data-testid": d, children: [
|
|
1215
|
+
/* @__PURE__ */ e(D, { ...t.radiusHint ? { hint: t.radiusHint } : {}, label: t.radius ?? "Brush radius", children: /* @__PURE__ */ o("div", { className: "game-ui-brush-control-row", "data-control": "radius", children: [
|
|
1178
1216
|
/* @__PURE__ */ e(
|
|
1179
1217
|
"input",
|
|
1180
1218
|
{
|
|
1181
1219
|
"aria-label": t.radius ?? "Brush radius",
|
|
1182
1220
|
className: "game-ui-brush-range",
|
|
1183
|
-
disabled:
|
|
1221
|
+
disabled: y,
|
|
1184
1222
|
max: c,
|
|
1185
1223
|
min: u,
|
|
1186
1224
|
onChange: i ? w : void 0,
|
|
@@ -1195,7 +1233,7 @@ function Va({
|
|
|
1195
1233
|
{
|
|
1196
1234
|
"aria-label": `${t.radius ?? "Brush radius"} value`,
|
|
1197
1235
|
className: "game-ui-brush-number",
|
|
1198
|
-
disabled:
|
|
1236
|
+
disabled: y,
|
|
1199
1237
|
max: c,
|
|
1200
1238
|
min: u,
|
|
1201
1239
|
onChange: i ? w : void 0,
|
|
@@ -1206,18 +1244,18 @@ function Va({
|
|
|
1206
1244
|
}
|
|
1207
1245
|
)
|
|
1208
1246
|
] }) }),
|
|
1209
|
-
/* @__PURE__ */ e(
|
|
1247
|
+
/* @__PURE__ */ e(D, { ...t.strengthHint ? { hint: t.strengthHint } : {}, label: t.strength ?? "Brush strength", children: /* @__PURE__ */ o("div", { className: "game-ui-brush-control-row", "data-control": "strength", children: [
|
|
1210
1248
|
/* @__PURE__ */ e(
|
|
1211
1249
|
"input",
|
|
1212
1250
|
{
|
|
1213
1251
|
"aria-label": t.strength ?? "Brush strength",
|
|
1214
1252
|
className: "game-ui-brush-range",
|
|
1215
|
-
disabled:
|
|
1216
|
-
max:
|
|
1253
|
+
disabled: y,
|
|
1254
|
+
max: f,
|
|
1217
1255
|
min: g,
|
|
1218
|
-
onChange:
|
|
1219
|
-
readOnly: !
|
|
1220
|
-
step:
|
|
1256
|
+
onChange: n ? h : void 0,
|
|
1257
|
+
readOnly: !n,
|
|
1258
|
+
step: v,
|
|
1221
1259
|
type: "range",
|
|
1222
1260
|
value: p
|
|
1223
1261
|
}
|
|
@@ -1227,12 +1265,12 @@ function Va({
|
|
|
1227
1265
|
{
|
|
1228
1266
|
"aria-label": `${t.strength ?? "Brush strength"} value`,
|
|
1229
1267
|
className: "game-ui-brush-number",
|
|
1230
|
-
disabled:
|
|
1231
|
-
max:
|
|
1268
|
+
disabled: y,
|
|
1269
|
+
max: f,
|
|
1232
1270
|
min: g,
|
|
1233
|
-
onChange:
|
|
1234
|
-
readOnly: !
|
|
1235
|
-
step:
|
|
1271
|
+
onChange: n ? h : void 0,
|
|
1272
|
+
readOnly: !n,
|
|
1273
|
+
step: v,
|
|
1236
1274
|
type: "number",
|
|
1237
1275
|
value: p
|
|
1238
1276
|
}
|
|
@@ -1240,19 +1278,19 @@ function Va({
|
|
|
1240
1278
|
] }) })
|
|
1241
1279
|
] });
|
|
1242
1280
|
}
|
|
1243
|
-
function
|
|
1281
|
+
function Ua({
|
|
1244
1282
|
activeMaterialId: a,
|
|
1245
1283
|
className: t,
|
|
1246
1284
|
disabled: i = !1,
|
|
1247
|
-
label:
|
|
1248
|
-
materials:
|
|
1285
|
+
label: n,
|
|
1286
|
+
materials: l,
|
|
1249
1287
|
onMaterialChange: s,
|
|
1250
|
-
variant:
|
|
1251
|
-
"data-testid":
|
|
1288
|
+
variant: d = "desktop",
|
|
1289
|
+
"data-testid": r
|
|
1252
1290
|
}) {
|
|
1253
1291
|
const u = ["game-ui-material-swatches", t].filter(Boolean).join(" ");
|
|
1254
|
-
return /* @__PURE__ */ e("section", { "aria-label":
|
|
1255
|
-
const b = c.id === a, g = i || c.disabled,
|
|
1292
|
+
return /* @__PURE__ */ e("section", { "aria-label": n, className: u, "data-ui-hook": "material-swatches", "data-variant": d, "data-testid": r, children: /* @__PURE__ */ e("div", { className: "game-ui-material-swatch-grid", role: "listbox", "aria-label": n, children: l.map((c) => {
|
|
1293
|
+
const b = c.id === a, g = i || c.disabled, f = d === "small-mobile" ? c.compactLabel ?? c.label : c.label, v = {
|
|
1256
1294
|
"--swatch-color": c.color,
|
|
1257
1295
|
"--swatch-secondary-color": c.secondaryColor ?? c.color
|
|
1258
1296
|
};
|
|
@@ -1269,9 +1307,9 @@ function Ha({
|
|
|
1269
1307
|
role: "option",
|
|
1270
1308
|
type: "button",
|
|
1271
1309
|
children: [
|
|
1272
|
-
/* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-material-swatch-chip", "data-swatch-pattern": c.pattern ?? "solid", style:
|
|
1310
|
+
/* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-material-swatch-chip", "data-swatch-pattern": c.pattern ?? "solid", style: v }),
|
|
1273
1311
|
/* @__PURE__ */ o("span", { className: "game-ui-material-swatch-copy", children: [
|
|
1274
|
-
/* @__PURE__ */ e("strong", { children:
|
|
1312
|
+
/* @__PURE__ */ e("strong", { children: f }),
|
|
1275
1313
|
c.meta ? /* @__PURE__ */ e("small", { id: `${c.id}-material-meta`, children: c.meta }) : null
|
|
1276
1314
|
] })
|
|
1277
1315
|
]
|
|
@@ -1280,46 +1318,46 @@ function Ha({
|
|
|
1280
1318
|
);
|
|
1281
1319
|
}) }) });
|
|
1282
1320
|
}
|
|
1283
|
-
function
|
|
1321
|
+
function $a({
|
|
1284
1322
|
canRedo: a = !1,
|
|
1285
1323
|
canUndo: t = !1,
|
|
1286
1324
|
className: i,
|
|
1287
|
-
disabled:
|
|
1288
|
-
label:
|
|
1325
|
+
disabled: n = !1,
|
|
1326
|
+
label: l,
|
|
1289
1327
|
onRedo: s,
|
|
1290
|
-
onUndo:
|
|
1291
|
-
redoLabel:
|
|
1328
|
+
onUndo: d,
|
|
1329
|
+
redoLabel: r = "Redo",
|
|
1292
1330
|
undoLabel: u = "Undo",
|
|
1293
1331
|
variant: c = "desktop",
|
|
1294
1332
|
"data-testid": b
|
|
1295
1333
|
}) {
|
|
1296
1334
|
const g = ["game-ui-undo-redo-actions", i].filter(Boolean).join(" ");
|
|
1297
|
-
return /* @__PURE__ */ e("section", { "aria-label":
|
|
1298
|
-
{ disabled:
|
|
1299
|
-
|
|
1335
|
+
return /* @__PURE__ */ e("section", { "aria-label": l, className: g, "data-ui-hook": "undo-redo-actions", "data-variant": c, "data-testid": b, children: /* @__PURE__ */ e($, { actions: [
|
|
1336
|
+
{ disabled: n || !t, icon: "undo", id: "undo", label: u, onAction: (v) => {
|
|
1337
|
+
d?.();
|
|
1300
1338
|
}, shortcut: "⌘Z" },
|
|
1301
|
-
{ disabled:
|
|
1339
|
+
{ disabled: n || !a, icon: "redo", id: "redo", label: r, onAction: (v) => {
|
|
1302
1340
|
s?.();
|
|
1303
1341
|
}, shortcut: "⇧⌘Z" }
|
|
1304
|
-
], density: "dense", label:
|
|
1342
|
+
], density: "dense", label: l, style: "icon" }) });
|
|
1305
1343
|
}
|
|
1306
|
-
function
|
|
1344
|
+
function ja({
|
|
1307
1345
|
activeCategoryId: a,
|
|
1308
1346
|
categories: t,
|
|
1309
1347
|
className: i,
|
|
1310
|
-
density:
|
|
1311
|
-
emptyDescription:
|
|
1348
|
+
density: n = "comfortable",
|
|
1349
|
+
emptyDescription: l = "Building pieces will appear here when a category is available.",
|
|
1312
1350
|
emptyTitle: s = "No build pieces ready",
|
|
1313
|
-
label:
|
|
1314
|
-
onCategoryChange:
|
|
1351
|
+
label: d,
|
|
1352
|
+
onCategoryChange: r,
|
|
1315
1353
|
onSelectItem: u,
|
|
1316
1354
|
selectedItemId: c,
|
|
1317
1355
|
title: b,
|
|
1318
1356
|
variant: g = "desktop",
|
|
1319
|
-
"data-testid":
|
|
1357
|
+
"data-testid": f
|
|
1320
1358
|
}) {
|
|
1321
|
-
const
|
|
1322
|
-
return /* @__PURE__ */ e(B, { className:
|
|
1359
|
+
const v = ["game-ui-build-library", i].filter(Boolean).join(" "), k = t.filter((h) => !h.disabled), p = t.find((h) => h.id === a) ?? k[0] ?? t[0], y = p?.items ?? [], w = g === "small-mobile";
|
|
1360
|
+
return /* @__PURE__ */ e(B, { className: v, "data-ui-hook": "build-library", "data-variant": g, "data-testid": f, title: b, tone: "strong", children: /* @__PURE__ */ o("section", { "aria-label": d, "data-density": n, children: [
|
|
1323
1361
|
/* @__PURE__ */ e("div", { "aria-label": "Build categories", className: "game-ui-build-categories", role: "tablist", children: t.map((h) => {
|
|
1324
1362
|
const A = h.id === p?.id, T = g === "small-mobile" ? h.compactLabel ?? h.label : h.label;
|
|
1325
1363
|
return /* @__PURE__ */ o(
|
|
@@ -1331,7 +1369,7 @@ function Ua({
|
|
|
1331
1369
|
className: "game-ui-build-category",
|
|
1332
1370
|
"data-build-category-id": h.id,
|
|
1333
1371
|
disabled: h.disabled,
|
|
1334
|
-
onClick:
|
|
1372
|
+
onClick: r && !h.disabled ? () => r(h.id) : void 0,
|
|
1335
1373
|
role: "tab",
|
|
1336
1374
|
type: "button",
|
|
1337
1375
|
children: [
|
|
@@ -1343,8 +1381,8 @@ function Ua({
|
|
|
1343
1381
|
h.id
|
|
1344
1382
|
);
|
|
1345
1383
|
}) }),
|
|
1346
|
-
|
|
1347
|
-
const A = h.id === c || h.status === "selected", T = A ? "selected" : h.status ?? "ready", G = !!(h.disabled || T === "locked" || T === "missing"),
|
|
1384
|
+
y.length === 0 || !p ? /* @__PURE__ */ e(P, { description: l, icon: "home", title: s }) : /* @__PURE__ */ e("div", { "aria-label": `${p.label} pieces`, className: "game-ui-build-items", "data-card-layout": w ? "rail" : "list", id: `${p.id}-build-panel`, role: "tabpanel", children: y.map((h) => {
|
|
1385
|
+
const A = h.id === c || h.status === "selected", T = A ? "selected" : h.status ?? "ready", G = !!(h.disabled || T === "locked" || T === "missing"), z = w ? h.compactLabel ?? h.label : h.label;
|
|
1348
1386
|
return /* @__PURE__ */ o(
|
|
1349
1387
|
"button",
|
|
1350
1388
|
{
|
|
@@ -1361,10 +1399,10 @@ function Ua({
|
|
|
1361
1399
|
/* @__PURE__ */ e("span", { className: "game-ui-build-item-icon", children: h.previewSrc ? /* @__PURE__ */ e("img", { alt: h.previewAlt ?? "", className: "game-ui-build-item-preview", src: h.previewSrc }) : /* @__PURE__ */ e(L, { icon: h.icon ?? p.icon ?? "home", size: w ? "sm" : "md" }) }),
|
|
1362
1400
|
/* @__PURE__ */ o("span", { className: "game-ui-build-item-copy", children: [
|
|
1363
1401
|
/* @__PURE__ */ o("span", { className: "game-ui-build-item-badges", children: [
|
|
1364
|
-
/* @__PURE__ */ e(S, { tone:
|
|
1402
|
+
/* @__PURE__ */ e(S, { tone: Pa[T], children: T }),
|
|
1365
1403
|
h.badges?.map((x) => /* @__PURE__ */ e(S, { tone: x.tone ?? "neutral", children: x.label }, x.label))
|
|
1366
1404
|
] }),
|
|
1367
|
-
/* @__PURE__ */ e("strong", { children:
|
|
1405
|
+
/* @__PURE__ */ e("strong", { children: z }),
|
|
1368
1406
|
h.description ? /* @__PURE__ */ e("span", { children: h.description }) : null,
|
|
1369
1407
|
h.meta ? /* @__PURE__ */ e("small", { children: h.meta }) : null
|
|
1370
1408
|
] })
|
|
@@ -1379,102 +1417,102 @@ function $e({
|
|
|
1379
1417
|
children: a,
|
|
1380
1418
|
className: t,
|
|
1381
1419
|
closeIcon: i = "close",
|
|
1382
|
-
closeLabel:
|
|
1383
|
-
disabled:
|
|
1420
|
+
closeLabel: n = "Close tools",
|
|
1421
|
+
disabled: l = !1,
|
|
1384
1422
|
label: s,
|
|
1385
|
-
onOpenChange:
|
|
1386
|
-
open:
|
|
1423
|
+
onOpenChange: d,
|
|
1424
|
+
open: r,
|
|
1387
1425
|
panelId: u,
|
|
1388
1426
|
title: c,
|
|
1389
1427
|
triggerIcon: b = "settings",
|
|
1390
1428
|
triggerLabel: g = "Tools",
|
|
1391
|
-
variant:
|
|
1392
|
-
"data-testid":
|
|
1429
|
+
variant: f = "mobile",
|
|
1430
|
+
"data-testid": v
|
|
1393
1431
|
}) {
|
|
1394
1432
|
const k = ["game-ui-compact-game-drawer", t].filter(Boolean).join(" "), p = u ?? `${c.toLowerCase().replace(/[^a-z0-9]+/g, "-") || "tools"}-drawer-panel`;
|
|
1395
|
-
return /* @__PURE__ */ o("aside", { "aria-label": s, className: k, "data-open":
|
|
1433
|
+
return /* @__PURE__ */ o("aside", { "aria-label": s, className: k, "data-open": r ? "true" : "false", "data-ui-hook": "compact-game-drawer", "data-variant": f, "data-testid": v, children: [
|
|
1396
1434
|
/* @__PURE__ */ o(
|
|
1397
1435
|
C,
|
|
1398
1436
|
{
|
|
1399
1437
|
"aria-controls": p,
|
|
1400
|
-
"aria-expanded":
|
|
1438
|
+
"aria-expanded": r,
|
|
1401
1439
|
className: "game-ui-compact-game-drawer-trigger",
|
|
1402
|
-
disabled:
|
|
1403
|
-
onClick:
|
|
1440
|
+
disabled: l,
|
|
1441
|
+
onClick: d ? () => d(!r) : void 0,
|
|
1404
1442
|
type: "button",
|
|
1405
1443
|
variant: "secondary",
|
|
1406
1444
|
children: [
|
|
1407
|
-
/* @__PURE__ */ e(L, { icon:
|
|
1408
|
-
|
|
1445
|
+
/* @__PURE__ */ e(L, { icon: r ? i : b, size: "sm", style: "line" }),
|
|
1446
|
+
r ? n : g
|
|
1409
1447
|
]
|
|
1410
1448
|
}
|
|
1411
1449
|
),
|
|
1412
|
-
/* @__PURE__ */ e("div", { "aria-hidden": !
|
|
1450
|
+
/* @__PURE__ */ e("div", { "aria-hidden": !r, className: "game-ui-compact-game-drawer-panel", "data-drawer-panel": "true", id: p, children: /* @__PURE__ */ e(B, { title: c, tone: "strong", children: a }) })
|
|
1413
1451
|
] });
|
|
1414
1452
|
}
|
|
1415
|
-
function
|
|
1453
|
+
function Fa({ status: a }) {
|
|
1416
1454
|
if (!a) return null;
|
|
1417
|
-
const t = typeof a.progressValue == "number" && typeof a.progressMax == "number", i = a.tone === "danger" ? "danger" : a.tone === "warning" ? "warning" : "success",
|
|
1455
|
+
const t = typeof a.progressValue == "number" && typeof a.progressMax == "number", i = a.tone === "danger" ? "danger" : a.tone === "warning" ? "warning" : "success", n = a.progressMax ?? 100, l = a.progressValue ?? 0;
|
|
1418
1456
|
return /* @__PURE__ */ o("div", { className: "game-ui-terrain-status", "data-status-tone": a.tone ?? "neutral", "data-ui-hook": "terrain-status", children: [
|
|
1419
1457
|
/* @__PURE__ */ e(S, { tone: a.tone ?? "neutral", children: a.label }),
|
|
1420
1458
|
a.description ? /* @__PURE__ */ e("p", { children: a.description }) : null,
|
|
1421
1459
|
t ? /* @__PURE__ */ e(
|
|
1422
|
-
|
|
1460
|
+
U,
|
|
1423
1461
|
{
|
|
1424
1462
|
label: a.progressLabel ?? a.label,
|
|
1425
|
-
max:
|
|
1463
|
+
max: n,
|
|
1426
1464
|
showValue: !0,
|
|
1427
1465
|
tone: i,
|
|
1428
|
-
value:
|
|
1466
|
+
value: l
|
|
1429
1467
|
}
|
|
1430
1468
|
) : null
|
|
1431
1469
|
] });
|
|
1432
1470
|
}
|
|
1433
|
-
function
|
|
1471
|
+
function Wa({
|
|
1434
1472
|
activeBuildCategoryId: a,
|
|
1435
1473
|
activeMaterialId: t,
|
|
1436
1474
|
activeModeId: i,
|
|
1437
|
-
activeToolId:
|
|
1438
|
-
brush:
|
|
1475
|
+
activeToolId: n,
|
|
1476
|
+
brush: l,
|
|
1439
1477
|
buildCategories: s = [],
|
|
1440
|
-
density:
|
|
1441
|
-
disabled:
|
|
1478
|
+
density: d = "comfortable",
|
|
1479
|
+
disabled: r = !1,
|
|
1442
1480
|
materials: u = [],
|
|
1443
1481
|
modes: c,
|
|
1444
1482
|
onBrushRadiusChange: b,
|
|
1445
1483
|
onBrushStrengthChange: g,
|
|
1446
|
-
onBuildCategoryChange:
|
|
1447
|
-
onMaterialChange:
|
|
1484
|
+
onBuildCategoryChange: f,
|
|
1485
|
+
onMaterialChange: v,
|
|
1448
1486
|
onModeChange: k,
|
|
1449
1487
|
onRedo: p,
|
|
1450
|
-
onSelectBuildItem:
|
|
1488
|
+
onSelectBuildItem: y,
|
|
1451
1489
|
onToolChange: w,
|
|
1452
1490
|
onUndo: h,
|
|
1453
1491
|
selectedBuildItemId: A,
|
|
1454
1492
|
status: T,
|
|
1455
1493
|
toolCompactLabelMode: G = "auto",
|
|
1456
|
-
tools:
|
|
1494
|
+
tools: z,
|
|
1457
1495
|
undoRedo: x,
|
|
1458
1496
|
variant: E = "desktop"
|
|
1459
1497
|
}) {
|
|
1460
|
-
return /* @__PURE__ */ o("div", { className: "game-ui-terrain-build-toolbox-body", "data-active-mode": i, "data-active-tool":
|
|
1461
|
-
/* @__PURE__ */ e(
|
|
1462
|
-
/* @__PURE__ */ e(
|
|
1498
|
+
return /* @__PURE__ */ o("div", { className: "game-ui-terrain-build-toolbox-body", "data-active-mode": i, "data-active-tool": n, "data-variant": E, children: [
|
|
1499
|
+
/* @__PURE__ */ e(Fa, { status: T }),
|
|
1500
|
+
/* @__PURE__ */ e(Va, { activeModeId: i, disabled: r, label: "Tool mode", modes: c, onModeChange: k, variant: E }),
|
|
1463
1501
|
/* @__PURE__ */ o("div", { className: "game-ui-terrain-build-main-grid", children: [
|
|
1464
|
-
/* @__PURE__ */ e(
|
|
1465
|
-
/* @__PURE__ */ e(
|
|
1466
|
-
/* @__PURE__ */ e(
|
|
1467
|
-
u.length > 0 ? /* @__PURE__ */ e(
|
|
1502
|
+
/* @__PURE__ */ e(Ha, { activeToolId: n, compactLabelMode: G, density: d, disabled: r, label: "Terrain tools", onToolChange: w, tools: z, variant: E }),
|
|
1503
|
+
/* @__PURE__ */ e($a, { canRedo: x?.canRedo, canUndo: x?.canUndo, disabled: r, label: "Terrain history", onRedo: p, onUndo: h, redoLabel: x?.redoLabel, undoLabel: x?.undoLabel, variant: E }),
|
|
1504
|
+
/* @__PURE__ */ e(Da, { onRadiusChange: b, onStrengthChange: g, state: { ...l, disabled: !!(r || l.disabled) }, variant: E }),
|
|
1505
|
+
u.length > 0 ? /* @__PURE__ */ e(Ua, { activeMaterialId: t, disabled: r, label: "Terrain materials", materials: u, onMaterialChange: v, variant: E }) : null
|
|
1468
1506
|
] }),
|
|
1469
1507
|
s.length > 0 ? /* @__PURE__ */ e(
|
|
1470
|
-
|
|
1508
|
+
ja,
|
|
1471
1509
|
{
|
|
1472
1510
|
activeCategoryId: a,
|
|
1473
1511
|
categories: s,
|
|
1474
|
-
density:
|
|
1512
|
+
density: d,
|
|
1475
1513
|
label: "Build library",
|
|
1476
|
-
onCategoryChange:
|
|
1477
|
-
onSelectItem:
|
|
1514
|
+
onCategoryChange: f,
|
|
1515
|
+
onSelectItem: y,
|
|
1478
1516
|
selectedItemId: A,
|
|
1479
1517
|
title: "Build pieces",
|
|
1480
1518
|
variant: E
|
|
@@ -1486,30 +1524,30 @@ function Te({
|
|
|
1486
1524
|
className: a,
|
|
1487
1525
|
drawerOpen: t = !1,
|
|
1488
1526
|
drawerTitle: i = "Terrain and build tools",
|
|
1489
|
-
label:
|
|
1490
|
-
onDrawerOpenChange:
|
|
1527
|
+
label: n,
|
|
1528
|
+
onDrawerOpenChange: l,
|
|
1491
1529
|
title: s,
|
|
1492
|
-
variant:
|
|
1493
|
-
"data-testid":
|
|
1530
|
+
variant: d = "desktop",
|
|
1531
|
+
"data-testid": r,
|
|
1494
1532
|
...u
|
|
1495
1533
|
}) {
|
|
1496
|
-
const c = ["game-ui-terrain-build-toolbox", a].filter(Boolean).join(" "), b = /* @__PURE__ */ e(
|
|
1497
|
-
return
|
|
1534
|
+
const c = ["game-ui-terrain-build-toolbox", a].filter(Boolean).join(" "), b = /* @__PURE__ */ e(Wa, { ...u, variant: d });
|
|
1535
|
+
return d === "mobile" || d === "small-mobile" ? /* @__PURE__ */ e(
|
|
1498
1536
|
$e,
|
|
1499
1537
|
{
|
|
1500
1538
|
className: c,
|
|
1501
|
-
label:
|
|
1502
|
-
onOpenChange:
|
|
1539
|
+
label: n,
|
|
1540
|
+
onOpenChange: l,
|
|
1503
1541
|
open: t,
|
|
1504
1542
|
title: i,
|
|
1505
1543
|
triggerLabel: s,
|
|
1506
|
-
variant:
|
|
1507
|
-
"data-testid":
|
|
1544
|
+
variant: d,
|
|
1545
|
+
"data-testid": r,
|
|
1508
1546
|
children: b
|
|
1509
1547
|
}
|
|
1510
|
-
) : /* @__PURE__ */ e(B, { className: c, "data-ui-hook": "terrain-build-toolbox", "data-variant":
|
|
1548
|
+
) : /* @__PURE__ */ e(B, { className: c, "data-ui-hook": "terrain-build-toolbox", "data-variant": d, "data-testid": r, title: s, tone: "strong", children: /* @__PURE__ */ e("section", { "aria-label": n, children: b }) });
|
|
1511
1549
|
}
|
|
1512
|
-
const
|
|
1550
|
+
const je = {
|
|
1513
1551
|
accepted: "success",
|
|
1514
1552
|
blocked: "danger",
|
|
1515
1553
|
cancelled: "neutral",
|
|
@@ -1518,7 +1556,7 @@ const Fe = {
|
|
|
1518
1556
|
queued: "warning",
|
|
1519
1557
|
readyForReview: "success",
|
|
1520
1558
|
working: "ai"
|
|
1521
|
-
},
|
|
1559
|
+
}, Fe = {
|
|
1522
1560
|
accepted: "check",
|
|
1523
1561
|
blocked: "alert",
|
|
1524
1562
|
cancelled: "close",
|
|
@@ -1527,12 +1565,12 @@ const Fe = {
|
|
|
1527
1565
|
queued: "hourglass",
|
|
1528
1566
|
readyForReview: "vote",
|
|
1529
1567
|
working: "energy"
|
|
1530
|
-
},
|
|
1568
|
+
}, Ya = {
|
|
1531
1569
|
active: "ai",
|
|
1532
1570
|
blocked: "danger",
|
|
1533
1571
|
complete: "success",
|
|
1534
1572
|
pending: "neutral"
|
|
1535
|
-
},
|
|
1573
|
+
}, Ka = {
|
|
1536
1574
|
blocked: "danger",
|
|
1537
1575
|
done: "success",
|
|
1538
1576
|
idle: "neutral",
|
|
@@ -1546,7 +1584,7 @@ const Fe = {
|
|
|
1546
1584
|
"local-only": "success",
|
|
1547
1585
|
mock: "ai",
|
|
1548
1586
|
"paid-disabled": "warning"
|
|
1549
|
-
},
|
|
1587
|
+
}, qa = {
|
|
1550
1588
|
accepted: [{ id: "revert", label: "Revert", icon: "undo", tone: "ghost" }],
|
|
1551
1589
|
blocked: [
|
|
1552
1590
|
{ id: "revise", label: "Revise", icon: "scroll", tone: "primary" },
|
|
@@ -1575,10 +1613,10 @@ const Fe = {
|
|
|
1575
1613
|
function Ke(a, t) {
|
|
1576
1614
|
return t || (a === "readyForReview" ? "Ready for review" : a.replace(/([A-Z])/g, " $1").replace(/^./, (i) => i.toUpperCase()));
|
|
1577
1615
|
}
|
|
1578
|
-
function
|
|
1616
|
+
function Ja(a) {
|
|
1579
1617
|
return a === "blocked" || a === "cancelled" ? "danger" : a === "accepted" || a === "readyForReview" ? "success" : a === "queued" || a === "draft" || a === "preview" ? "warning" : "accent";
|
|
1580
1618
|
}
|
|
1581
|
-
function
|
|
1619
|
+
function Za(a) {
|
|
1582
1620
|
switch (a) {
|
|
1583
1621
|
case "accepted":
|
|
1584
1622
|
return 100;
|
|
@@ -1598,16 +1636,16 @@ function qa(a) {
|
|
|
1598
1636
|
return 64;
|
|
1599
1637
|
}
|
|
1600
1638
|
}
|
|
1601
|
-
function
|
|
1602
|
-
const
|
|
1639
|
+
function Xa(a, t, i) {
|
|
1640
|
+
const n = {
|
|
1603
1641
|
disabled: !!(i || a.disabled),
|
|
1604
1642
|
id: a.id,
|
|
1605
1643
|
label: a.label,
|
|
1606
1644
|
tone: a.tone ?? "secondary"
|
|
1607
1645
|
};
|
|
1608
|
-
return a.icon && (
|
|
1646
|
+
return a.icon && (n.icon = a.icon), a.ariaLabel && (n.ariaLabel = a.ariaLabel), a.meta && (n.meta = a.meta), t && (n.onAction = t), n;
|
|
1609
1647
|
}
|
|
1610
|
-
function
|
|
1648
|
+
function Qa(a) {
|
|
1611
1649
|
return a === "danger" || a === "warning" ? "alert" : "status";
|
|
1612
1650
|
}
|
|
1613
1651
|
function ee(a) {
|
|
@@ -1617,35 +1655,35 @@ function qe({
|
|
|
1617
1655
|
className: a,
|
|
1618
1656
|
label: t,
|
|
1619
1657
|
max: i = 100,
|
|
1620
|
-
progressLabel:
|
|
1621
|
-
showStatusBadge:
|
|
1658
|
+
progressLabel: n = "Construction progress",
|
|
1659
|
+
showStatusBadge: l = !0,
|
|
1622
1660
|
status: s,
|
|
1623
|
-
statusLabel:
|
|
1624
|
-
steps:
|
|
1661
|
+
statusLabel: d,
|
|
1662
|
+
steps: r = [],
|
|
1625
1663
|
validationWarnings: u = [],
|
|
1626
1664
|
value: c,
|
|
1627
1665
|
variant: b = "desktop",
|
|
1628
1666
|
"data-testid": g
|
|
1629
1667
|
}) {
|
|
1630
|
-
const
|
|
1631
|
-
return /* @__PURE__ */ o("section", { "aria-label": t, className:
|
|
1668
|
+
const f = ["game-ui-construction-progress", a].filter(Boolean).join(" "), v = c ?? Za(s), k = Ke(s, d);
|
|
1669
|
+
return /* @__PURE__ */ o("section", { "aria-label": t, className: f, "data-status": s, "data-ui-hook": "construction-progress", "data-variant": b, "data-testid": g, children: [
|
|
1632
1670
|
/* @__PURE__ */ o("header", { className: "game-ui-construction-progress-header", children: [
|
|
1633
1671
|
/* @__PURE__ */ o("span", { children: [
|
|
1634
|
-
/* @__PURE__ */ e(L, { icon:
|
|
1635
|
-
/* @__PURE__ */ e("strong", { children:
|
|
1672
|
+
/* @__PURE__ */ e(L, { icon: Fe[s], size: "sm" }),
|
|
1673
|
+
/* @__PURE__ */ e("strong", { children: n })
|
|
1636
1674
|
] }),
|
|
1637
|
-
|
|
1675
|
+
l ? /* @__PURE__ */ e(S, { tone: je[s], children: k }) : null
|
|
1638
1676
|
] }),
|
|
1639
|
-
/* @__PURE__ */ e(
|
|
1640
|
-
|
|
1677
|
+
/* @__PURE__ */ e(U, { label: n, max: i, showValue: !0, tone: Ja(s), value: v }),
|
|
1678
|
+
r.length > 0 ? /* @__PURE__ */ e("ol", { className: "game-ui-construction-steps", "aria-label": `${n} steps`, children: r.map((p) => /* @__PURE__ */ o("li", { "data-step-status": p.status, children: [
|
|
1641
1679
|
/* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-construction-step-dot" }),
|
|
1642
1680
|
/* @__PURE__ */ o("span", { children: [
|
|
1643
1681
|
/* @__PURE__ */ e("strong", { children: p.label }),
|
|
1644
1682
|
p.caption ? /* @__PURE__ */ e("small", { children: p.caption }) : null
|
|
1645
1683
|
] }),
|
|
1646
|
-
/* @__PURE__ */ e(S, { tone:
|
|
1684
|
+
/* @__PURE__ */ e(S, { tone: Ya[p.status], children: p.status })
|
|
1647
1685
|
] }, p.id)) }) : null,
|
|
1648
|
-
u.length > 0 ? /* @__PURE__ */ e("div", { className: "game-ui-construction-warnings", "data-ui-hook": "construction-validation-warnings", children: u.map((p) => /* @__PURE__ */ o("div", { className: "game-ui-construction-warning", "data-warning-tone": p.tone ?? "warning", role:
|
|
1686
|
+
u.length > 0 ? /* @__PURE__ */ e("div", { className: "game-ui-construction-warnings", "data-ui-hook": "construction-validation-warnings", children: u.map((p) => /* @__PURE__ */ o("div", { className: "game-ui-construction-warning", "data-warning-tone": p.tone ?? "warning", role: Qa(p.tone), children: [
|
|
1649
1687
|
/* @__PURE__ */ e(L, { icon: p.tone === "danger" || p.tone === "warning" ? "alert" : "check", size: "sm" }),
|
|
1650
1688
|
/* @__PURE__ */ o("span", { children: [
|
|
1651
1689
|
/* @__PURE__ */ e("strong", { children: p.label }),
|
|
@@ -1658,49 +1696,49 @@ function Je({
|
|
|
1658
1696
|
actions: a,
|
|
1659
1697
|
className: t,
|
|
1660
1698
|
disabled: i = !1,
|
|
1661
|
-
label:
|
|
1662
|
-
localOnlyLabel:
|
|
1699
|
+
label: n,
|
|
1700
|
+
localOnlyLabel: l = "Local-only construction",
|
|
1663
1701
|
onAction: s,
|
|
1664
|
-
providerMode:
|
|
1665
|
-
status:
|
|
1702
|
+
providerMode: d,
|
|
1703
|
+
status: r,
|
|
1666
1704
|
validationWarnings: u = [],
|
|
1667
1705
|
variant: c = "desktop",
|
|
1668
1706
|
"data-testid": b
|
|
1669
1707
|
}) {
|
|
1670
|
-
const g = ["game-ui-construction-approval-bar", t].filter(Boolean).join(" "),
|
|
1671
|
-
return /* @__PURE__ */ o("section", { "aria-label":
|
|
1708
|
+
const g = ["game-ui-construction-approval-bar", t].filter(Boolean).join(" "), f = a ?? qa[r], v = u.filter((p) => p.tone !== "success").length, k = f.map((p) => Xa(p, s, i));
|
|
1709
|
+
return /* @__PURE__ */ o("section", { "aria-label": n, className: g, "data-status": r, "data-ui-hook": "construction-approval-bar", "data-variant": c, "data-testid": b, children: [
|
|
1672
1710
|
/* @__PURE__ */ o("div", { className: "game-ui-construction-approval-meta", children: [
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1711
|
+
d ? /* @__PURE__ */ e(S, { tone: Ye[d], children: We[d] }) : /* @__PURE__ */ e(S, { tone: "success", children: l }),
|
|
1712
|
+
v > 0 ? /* @__PURE__ */ o(S, { tone: "warning", children: [
|
|
1713
|
+
v,
|
|
1676
1714
|
" validation warning",
|
|
1677
|
-
|
|
1715
|
+
v === 1 ? "" : "s"
|
|
1678
1716
|
] }) : /* @__PURE__ */ e(S, { tone: "success", children: "Validation clear" })
|
|
1679
1717
|
] }),
|
|
1680
|
-
k.length > 0 ? /* @__PURE__ */ e(
|
|
1718
|
+
k.length > 0 ? /* @__PURE__ */ e($, { actions: k, density: c === "small-mobile" ? "dense" : "comfortable", label: `${n} actions` }) : null
|
|
1681
1719
|
] });
|
|
1682
1720
|
}
|
|
1683
1721
|
function Ze({
|
|
1684
1722
|
className: a,
|
|
1685
1723
|
crew: t,
|
|
1686
1724
|
emptyDescription: i = "Robot crew members appear here when a construction job starts.",
|
|
1687
|
-
emptyTitle:
|
|
1688
|
-
label:
|
|
1725
|
+
emptyTitle: n = "No robot crew assigned",
|
|
1726
|
+
label: l,
|
|
1689
1727
|
title: s,
|
|
1690
|
-
variant:
|
|
1691
|
-
"data-testid":
|
|
1728
|
+
variant: d = "desktop",
|
|
1729
|
+
"data-testid": r
|
|
1692
1730
|
}) {
|
|
1693
1731
|
const u = ["game-ui-robot-crew-status", a].filter(Boolean).join(" ");
|
|
1694
|
-
return /* @__PURE__ */ o("section", { "aria-label":
|
|
1732
|
+
return /* @__PURE__ */ o("section", { "aria-label": l, className: u, "data-ui-hook": "robot-crew-status", "data-variant": d, "data-testid": r, children: [
|
|
1695
1733
|
s ? /* @__PURE__ */ e("header", { children: /* @__PURE__ */ e("strong", { children: s }) }) : null,
|
|
1696
|
-
t.length === 0 ? /* @__PURE__ */ e(P, { description: i, icon: "ai", title:
|
|
1697
|
-
/* @__PURE__ */ e(L, { icon: c.icon ?? "ai", size:
|
|
1734
|
+
t.length === 0 ? /* @__PURE__ */ e(P, { description: i, icon: "ai", title: n }) : /* @__PURE__ */ e("div", { className: "game-ui-robot-crew-list", children: t.map((c) => /* @__PURE__ */ o("article", { className: "game-ui-robot-crew-member", "data-crew-status": c.status, children: [
|
|
1735
|
+
/* @__PURE__ */ e(L, { icon: c.icon ?? "ai", size: d === "small-mobile" ? "sm" : "md" }),
|
|
1698
1736
|
/* @__PURE__ */ o("span", { className: "game-ui-robot-crew-copy", children: [
|
|
1699
1737
|
/* @__PURE__ */ e("strong", { children: c.name }),
|
|
1700
1738
|
/* @__PURE__ */ e("small", { children: c.role }),
|
|
1701
1739
|
c.task ? /* @__PURE__ */ e("em", { children: c.task }) : null
|
|
1702
1740
|
] }),
|
|
1703
|
-
/* @__PURE__ */ e(S, { tone:
|
|
1741
|
+
/* @__PURE__ */ e(S, { tone: Ka[c.status], children: c.status })
|
|
1704
1742
|
] }, c.id)) })
|
|
1705
1743
|
] });
|
|
1706
1744
|
}
|
|
@@ -1708,19 +1746,19 @@ function Xe({
|
|
|
1708
1746
|
activeView: a,
|
|
1709
1747
|
after: t,
|
|
1710
1748
|
before: i,
|
|
1711
|
-
className:
|
|
1712
|
-
label:
|
|
1749
|
+
className: n,
|
|
1750
|
+
label: l,
|
|
1713
1751
|
onViewChange: s,
|
|
1714
|
-
variant:
|
|
1715
|
-
"data-testid":
|
|
1752
|
+
variant: d = "desktop",
|
|
1753
|
+
"data-testid": r
|
|
1716
1754
|
}) {
|
|
1717
|
-
const u = ["game-ui-before-after-toggle",
|
|
1718
|
-
return /* @__PURE__ */ o("section", { "aria-label":
|
|
1755
|
+
const u = ["game-ui-before-after-toggle", n].filter(Boolean).join(" "), c = a === "before" ? i : t;
|
|
1756
|
+
return /* @__PURE__ */ o("section", { "aria-label": l, className: u, "data-active-view": a, "data-ui-hook": "before-after-toggle", "data-variant": d, "data-testid": r, children: [
|
|
1719
1757
|
/* @__PURE__ */ e(
|
|
1720
1758
|
Pe,
|
|
1721
1759
|
{
|
|
1722
1760
|
activeId: a,
|
|
1723
|
-
label: `${
|
|
1761
|
+
label: `${l} view`,
|
|
1724
1762
|
...s ? { onSelect: (b) => s(b) } : {},
|
|
1725
1763
|
options: [{ id: "before", label: i.label }, { id: "after", label: t.label }]
|
|
1726
1764
|
}
|
|
@@ -1735,28 +1773,28 @@ function ae({
|
|
|
1735
1773
|
className: a,
|
|
1736
1774
|
density: t = "comfortable",
|
|
1737
1775
|
job: i,
|
|
1738
|
-
onAction:
|
|
1739
|
-
onSelect:
|
|
1776
|
+
onAction: n,
|
|
1777
|
+
onSelect: l,
|
|
1740
1778
|
selected: s = !1,
|
|
1741
|
-
showApprovalBar:
|
|
1742
|
-
showBeforeAfter:
|
|
1779
|
+
showApprovalBar: d = !0,
|
|
1780
|
+
showBeforeAfter: r = !1,
|
|
1743
1781
|
variant: u = "desktop",
|
|
1744
1782
|
"data-testid": c
|
|
1745
1783
|
}) {
|
|
1746
|
-
const b = ["game-ui-construction-job-card", a].filter(Boolean).join(" "), g = Ke(i.status, i.statusLabel),
|
|
1784
|
+
const b = ["game-ui-construction-job-card", a].filter(Boolean).join(" "), g = Ke(i.status, i.statusLabel), f = u === "mobile" || u === "small-mobile", v = i.facts ?? [], k = () => l?.(i.id), p = (y) => n?.(y, i.id);
|
|
1747
1785
|
return /* @__PURE__ */ o("article", { className: b, "data-density": t, "data-job-id": i.id, "data-selected": s ? "true" : "false", "data-status": i.status, "data-ui-hook": "construction-job-card", "data-variant": u, "data-testid": c, children: [
|
|
1748
1786
|
/* @__PURE__ */ o("header", { className: "game-ui-construction-job-header", children: [
|
|
1749
|
-
/* @__PURE__ */ o("button", { "aria-pressed": s, className: "game-ui-construction-job-select", disabled: !
|
|
1750
|
-
/* @__PURE__ */ e(L, { icon:
|
|
1787
|
+
/* @__PURE__ */ o("button", { "aria-pressed": s, className: "game-ui-construction-job-select", disabled: !l, onClick: k, type: "button", children: [
|
|
1788
|
+
/* @__PURE__ */ e(L, { icon: Fe[i.status], size: f ? "sm" : "md" }),
|
|
1751
1789
|
/* @__PURE__ */ o("span", { children: [
|
|
1752
1790
|
/* @__PURE__ */ e("strong", { children: i.title }),
|
|
1753
1791
|
i.description ? /* @__PURE__ */ e("small", { children: i.description }) : null
|
|
1754
1792
|
] })
|
|
1755
1793
|
] }),
|
|
1756
1794
|
/* @__PURE__ */ o("span", { className: "game-ui-construction-job-badges", children: [
|
|
1757
|
-
/* @__PURE__ */ e(S, { tone:
|
|
1795
|
+
/* @__PURE__ */ e(S, { tone: je[i.status], children: g }),
|
|
1758
1796
|
i.providerMode ? /* @__PURE__ */ e(S, { tone: Ye[i.providerMode], children: We[i.providerMode] }) : null,
|
|
1759
|
-
i.badges?.map((
|
|
1797
|
+
i.badges?.map((y) => /* @__PURE__ */ e(S, { tone: y.tone ?? "neutral", children: y.label }, y.label))
|
|
1760
1798
|
] })
|
|
1761
1799
|
] }),
|
|
1762
1800
|
/* @__PURE__ */ o("div", { className: "game-ui-construction-job-facts", "aria-label": `${i.title} facts`, children: [
|
|
@@ -1768,10 +1806,10 @@ function ae({
|
|
|
1768
1806
|
/* @__PURE__ */ e("small", { children: "ETA" }),
|
|
1769
1807
|
/* @__PURE__ */ e("b", { children: i.estimate })
|
|
1770
1808
|
] }) : null,
|
|
1771
|
-
|
|
1772
|
-
/* @__PURE__ */ e("small", { children:
|
|
1773
|
-
/* @__PURE__ */ e("b", { children:
|
|
1774
|
-
] },
|
|
1809
|
+
v.map((y) => /* @__PURE__ */ o("span", { children: [
|
|
1810
|
+
/* @__PURE__ */ e("small", { children: y.label }),
|
|
1811
|
+
/* @__PURE__ */ e("b", { children: y.value })
|
|
1812
|
+
] }, y.id))
|
|
1775
1813
|
] }),
|
|
1776
1814
|
/* @__PURE__ */ e(
|
|
1777
1815
|
qe,
|
|
@@ -1780,16 +1818,16 @@ function ae({
|
|
|
1780
1818
|
progressLabel: i.progressLabel,
|
|
1781
1819
|
status: i.status,
|
|
1782
1820
|
statusLabel: g,
|
|
1783
|
-
steps:
|
|
1821
|
+
steps: f ? [] : i.steps,
|
|
1784
1822
|
validationWarnings: i.validationWarnings,
|
|
1785
1823
|
value: i.progressValue,
|
|
1786
1824
|
max: i.progressMax,
|
|
1787
1825
|
variant: u
|
|
1788
1826
|
}
|
|
1789
1827
|
),
|
|
1790
|
-
|
|
1828
|
+
r && ee(i) ? /* @__PURE__ */ e(Xe, { activeView: "after", after: i.after, before: i.before, label: `${i.title} preview`, variant: u }) : null,
|
|
1791
1829
|
i.crew && i.crew.length > 0 ? /* @__PURE__ */ e(Ze, { crew: i.crew, label: `${i.title} robot crew`, variant: u }) : null,
|
|
1792
|
-
|
|
1830
|
+
d ? /* @__PURE__ */ e(
|
|
1793
1831
|
Je,
|
|
1794
1832
|
{
|
|
1795
1833
|
actions: i.actions,
|
|
@@ -1803,46 +1841,46 @@ function ae({
|
|
|
1803
1841
|
) : null
|
|
1804
1842
|
] });
|
|
1805
1843
|
}
|
|
1806
|
-
function
|
|
1844
|
+
function ei({
|
|
1807
1845
|
children: a,
|
|
1808
1846
|
className: t,
|
|
1809
1847
|
closeLabel: i = "Close jobs",
|
|
1810
|
-
disabled:
|
|
1811
|
-
jobs:
|
|
1848
|
+
disabled: n = !1,
|
|
1849
|
+
jobs: l = [],
|
|
1812
1850
|
label: s,
|
|
1813
|
-
onAction:
|
|
1814
|
-
onOpenChange:
|
|
1851
|
+
onAction: d,
|
|
1852
|
+
onOpenChange: r,
|
|
1815
1853
|
onSelectJob: u,
|
|
1816
1854
|
open: c,
|
|
1817
1855
|
panelId: b = "game-compact-job-drawer-panel",
|
|
1818
1856
|
selectedJobId: g,
|
|
1819
|
-
title:
|
|
1820
|
-
triggerLabel:
|
|
1857
|
+
title: f,
|
|
1858
|
+
triggerLabel: v = "Construction jobs",
|
|
1821
1859
|
variant: k = "mobile",
|
|
1822
1860
|
"data-testid": p
|
|
1823
1861
|
}) {
|
|
1824
|
-
const
|
|
1862
|
+
const y = ["game-ui-compact-job-drawer", t].filter(Boolean).join(" ");
|
|
1825
1863
|
return /* @__PURE__ */ e(
|
|
1826
1864
|
$e,
|
|
1827
1865
|
{
|
|
1828
|
-
className:
|
|
1866
|
+
className: y,
|
|
1829
1867
|
closeLabel: i,
|
|
1830
|
-
disabled:
|
|
1868
|
+
disabled: n,
|
|
1831
1869
|
label: s,
|
|
1832
|
-
onOpenChange:
|
|
1870
|
+
onOpenChange: r,
|
|
1833
1871
|
open: c,
|
|
1834
1872
|
panelId: b,
|
|
1835
|
-
title:
|
|
1873
|
+
title: f,
|
|
1836
1874
|
triggerIcon: "energy",
|
|
1837
|
-
triggerLabel:
|
|
1875
|
+
triggerLabel: v,
|
|
1838
1876
|
variant: k,
|
|
1839
1877
|
"data-testid": p,
|
|
1840
|
-
children: a ?? /* @__PURE__ */ e("div", { className: "game-ui-compact-job-drawer-list", children:
|
|
1878
|
+
children: a ?? /* @__PURE__ */ e("div", { className: "game-ui-compact-job-drawer-list", tabIndex: 0, children: l.map((w) => /* @__PURE__ */ e(
|
|
1841
1879
|
ae,
|
|
1842
1880
|
{
|
|
1843
1881
|
density: "dense",
|
|
1844
1882
|
job: w,
|
|
1845
|
-
onAction:
|
|
1883
|
+
onAction: d,
|
|
1846
1884
|
onSelect: u,
|
|
1847
1885
|
selected: w.id === g,
|
|
1848
1886
|
showApprovalBar: !1,
|
|
@@ -1857,44 +1895,45 @@ function Ce({
|
|
|
1857
1895
|
activePreviewView: a = "after",
|
|
1858
1896
|
className: t,
|
|
1859
1897
|
density: i = "comfortable",
|
|
1860
|
-
drawerOpen:
|
|
1861
|
-
emptyDescription:
|
|
1898
|
+
drawerOpen: n = !1,
|
|
1899
|
+
emptyDescription: l = "Draft construction jobs will appear here before any provider call is allowed.",
|
|
1862
1900
|
emptyTitle: s = "No construction jobs",
|
|
1863
|
-
jobs:
|
|
1864
|
-
label:
|
|
1901
|
+
jobs: d,
|
|
1902
|
+
label: r,
|
|
1865
1903
|
onAction: u,
|
|
1866
1904
|
onDrawerOpenChange: c,
|
|
1867
1905
|
onPreviewViewChange: b,
|
|
1868
1906
|
onSelectJob: g,
|
|
1869
|
-
selectedJobId:
|
|
1870
|
-
subtitle:
|
|
1907
|
+
selectedJobId: f,
|
|
1908
|
+
subtitle: v,
|
|
1871
1909
|
title: k,
|
|
1872
1910
|
variant: p = "desktop",
|
|
1873
|
-
"data-testid":
|
|
1911
|
+
"data-testid": y
|
|
1874
1912
|
}) {
|
|
1875
|
-
const w = ["game-ui-contractor-panel", t].filter(Boolean).join(" "), h =
|
|
1876
|
-
return p === "mobile" || p === "small-mobile" ? /* @__PURE__ */ o("section", { "aria-label":
|
|
1913
|
+
const w = ["game-ui-contractor-panel", t].filter(Boolean).join(" "), h = d.find((T) => T.id === f) ?? d[0];
|
|
1914
|
+
return p === "mobile" || p === "small-mobile" ? /* @__PURE__ */ o("section", { "aria-label": r, className: w, "data-ui-hook": "contractor-panel", "data-variant": p, "data-testid": y, children: [
|
|
1877
1915
|
/* @__PURE__ */ e(
|
|
1878
|
-
|
|
1916
|
+
ei,
|
|
1879
1917
|
{
|
|
1880
|
-
jobs:
|
|
1881
|
-
label: `${
|
|
1918
|
+
jobs: d,
|
|
1919
|
+
label: `${r} drawer`,
|
|
1882
1920
|
onAction: u,
|
|
1883
1921
|
onOpenChange: c,
|
|
1884
1922
|
onSelectJob: g,
|
|
1885
|
-
open:
|
|
1923
|
+
open: n,
|
|
1886
1924
|
selectedJobId: h?.id,
|
|
1887
1925
|
title: k,
|
|
1888
1926
|
triggerLabel: "Contractor",
|
|
1889
1927
|
variant: p
|
|
1890
1928
|
}
|
|
1891
1929
|
),
|
|
1892
|
-
h ? /* @__PURE__ */ e(ae, { density: "dense", job: h, onAction: u, onSelect: g, selected: !0, showBeforeAfter: ee(h), variant: p }) :
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1930
|
+
h && !n ? /* @__PURE__ */ e(ae, { density: "dense", job: h, onAction: u, onSelect: g, selected: !0, showBeforeAfter: ee(h), variant: p }) : null,
|
|
1931
|
+
h ? null : /* @__PURE__ */ e(P, { description: l, icon: "energy", title: s })
|
|
1932
|
+
] }) : /* @__PURE__ */ e(B, { className: w, "data-ui-hook": "contractor-panel", "data-variant": p, "data-testid": y, title: k, tone: "strong", children: /* @__PURE__ */ o("section", { "aria-label": r, "data-density": i, children: [
|
|
1933
|
+
v ? /* @__PURE__ */ e("p", { className: "game-ui-contractor-panel-subtitle", children: v }) : null,
|
|
1934
|
+
d.length === 0 ? /* @__PURE__ */ e(P, { description: l, icon: "energy", title: s }) : null,
|
|
1935
|
+
d.length > 0 ? /* @__PURE__ */ o("div", { className: "game-ui-contractor-panel-grid", children: [
|
|
1936
|
+
/* @__PURE__ */ e("div", { "aria-label": "Construction job queue", className: "game-ui-contractor-job-list", tabIndex: 0, children: d.map((T) => /* @__PURE__ */ e(
|
|
1898
1937
|
ae,
|
|
1899
1938
|
{
|
|
1900
1939
|
density: i,
|
|
@@ -1953,32 +1992,32 @@ function Ce({
|
|
|
1953
1992
|
function ye(...a) {
|
|
1954
1993
|
return a.filter(Boolean).join(" ");
|
|
1955
1994
|
}
|
|
1956
|
-
const
|
|
1995
|
+
const ai = {
|
|
1957
1996
|
collapse: "Collapse",
|
|
1958
1997
|
expand: "Expand"
|
|
1959
1998
|
};
|
|
1960
|
-
function
|
|
1999
|
+
function _i({
|
|
1961
2000
|
actions: a,
|
|
1962
2001
|
children: t,
|
|
1963
2002
|
className: i,
|
|
1964
|
-
defaultOpen:
|
|
1965
|
-
labels:
|
|
2003
|
+
defaultOpen: n = !0,
|
|
2004
|
+
labels: l,
|
|
1966
2005
|
onOpenChange: s,
|
|
1967
|
-
open:
|
|
1968
|
-
title:
|
|
2006
|
+
open: d,
|
|
2007
|
+
title: r,
|
|
1969
2008
|
tone: u = "default",
|
|
1970
2009
|
...c
|
|
1971
2010
|
}) {
|
|
1972
|
-
const b =
|
|
1973
|
-
const
|
|
1974
|
-
|
|
2011
|
+
const b = _(), [g, f] = M(n), v = d ?? g, k = { ...ai, ...l }, p = () => {
|
|
2012
|
+
const y = !v;
|
|
2013
|
+
d === void 0 && f(y), s?.(y);
|
|
1975
2014
|
};
|
|
1976
2015
|
return /* @__PURE__ */ o(
|
|
1977
2016
|
"section",
|
|
1978
2017
|
{
|
|
1979
2018
|
...c,
|
|
1980
2019
|
className: ye("game-ui-collapsible", i),
|
|
1981
|
-
"data-open":
|
|
2020
|
+
"data-open": v,
|
|
1982
2021
|
"data-panel-tone": u,
|
|
1983
2022
|
children: [
|
|
1984
2023
|
/* @__PURE__ */ o("header", { className: "game-ui-collapsible-header", children: [
|
|
@@ -1986,14 +2025,14 @@ function Gi({
|
|
|
1986
2025
|
"button",
|
|
1987
2026
|
{
|
|
1988
2027
|
"aria-controls": b,
|
|
1989
|
-
"aria-expanded":
|
|
2028
|
+
"aria-expanded": v,
|
|
1990
2029
|
className: "game-ui-collapsible-toggle",
|
|
1991
2030
|
onClick: p,
|
|
1992
|
-
title:
|
|
2031
|
+
title: v ? k.collapse : k.expand,
|
|
1993
2032
|
type: "button",
|
|
1994
2033
|
children: [
|
|
1995
2034
|
/* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-collapsible-chevron" }),
|
|
1996
|
-
/* @__PURE__ */ e("span", { className: "game-ui-collapsible-title", children:
|
|
2035
|
+
/* @__PURE__ */ e("span", { className: "game-ui-collapsible-title", children: r })
|
|
1997
2036
|
]
|
|
1998
2037
|
}
|
|
1999
2038
|
) }),
|
|
@@ -2004,13 +2043,13 @@ function Gi({
|
|
|
2004
2043
|
}
|
|
2005
2044
|
);
|
|
2006
2045
|
}
|
|
2007
|
-
const
|
|
2046
|
+
const ii = {
|
|
2008
2047
|
close: "Close",
|
|
2009
2048
|
maximize: "Maximize",
|
|
2010
2049
|
minimize: "Minimize",
|
|
2011
2050
|
restore: "Restore"
|
|
2012
2051
|
};
|
|
2013
|
-
function
|
|
2052
|
+
function W({ kind: a }) {
|
|
2014
2053
|
return /* @__PURE__ */ e("svg", { "aria-hidden": "true", fill: "none", height: "14", viewBox: "0 0 14 14", width: "14", children: /* @__PURE__ */ e("path", { d: {
|
|
2015
2054
|
close: "M3 3l8 8M11 3l-8 8",
|
|
2016
2055
|
maximize: "M3 5V3h2M9 3h2v2M11 9v2H9M5 11H3V9",
|
|
@@ -2018,65 +2057,65 @@ function j({ kind: a }) {
|
|
|
2018
2057
|
restore: "M4 6h6v5H4zM6 6V4h6v5h-2"
|
|
2019
2058
|
}[a], stroke: "currentColor", strokeLinecap: "round", strokeWidth: "2" }) });
|
|
2020
2059
|
}
|
|
2021
|
-
function
|
|
2060
|
+
function zi({
|
|
2022
2061
|
allowMaximize: a = !0,
|
|
2023
2062
|
allowMinimize: t = !0,
|
|
2024
2063
|
children: i,
|
|
2025
|
-
className:
|
|
2026
|
-
defaultState:
|
|
2064
|
+
className: n,
|
|
2065
|
+
defaultState: l = "normal",
|
|
2027
2066
|
footer: s,
|
|
2028
|
-
icon:
|
|
2029
|
-
labels:
|
|
2067
|
+
icon: d,
|
|
2068
|
+
labels: r,
|
|
2030
2069
|
onClose: u,
|
|
2031
2070
|
onStateChange: c,
|
|
2032
2071
|
state: b,
|
|
2033
2072
|
title: g,
|
|
2034
|
-
...
|
|
2073
|
+
...f
|
|
2035
2074
|
}) {
|
|
2036
|
-
const [
|
|
2075
|
+
const [v, k] = M(l), p = b ?? v, y = { ...ii, ...r }, w = (T) => {
|
|
2037
2076
|
b === void 0 && k(T), c?.(T);
|
|
2038
2077
|
}, h = p === "minimized", A = p === "maximized";
|
|
2039
2078
|
return /* @__PURE__ */ o(
|
|
2040
2079
|
"section",
|
|
2041
2080
|
{
|
|
2042
|
-
...
|
|
2081
|
+
...f,
|
|
2043
2082
|
"aria-label": g,
|
|
2044
|
-
className: ye("game-ui-window",
|
|
2083
|
+
className: ye("game-ui-window", n),
|
|
2045
2084
|
"data-window-state": p,
|
|
2046
2085
|
role: "group",
|
|
2047
2086
|
children: [
|
|
2048
2087
|
/* @__PURE__ */ o("header", { className: "game-ui-window-titlebar", children: [
|
|
2049
|
-
|
|
2088
|
+
d ? /* @__PURE__ */ e("span", { "aria-hidden": "true", className: "game-ui-window-icon", children: d }) : null,
|
|
2050
2089
|
/* @__PURE__ */ e("h3", { className: "game-ui-window-title", children: g }),
|
|
2051
2090
|
/* @__PURE__ */ o("span", { className: "game-ui-window-actions", children: [
|
|
2052
2091
|
t ? /* @__PURE__ */ e(
|
|
2053
2092
|
"button",
|
|
2054
2093
|
{
|
|
2055
|
-
"aria-label": h ?
|
|
2094
|
+
"aria-label": h ? y.restore : y.minimize,
|
|
2056
2095
|
className: "game-ui-icon-button game-ui-window-button",
|
|
2057
2096
|
onClick: () => w(h ? "normal" : "minimized"),
|
|
2058
2097
|
type: "button",
|
|
2059
|
-
children: /* @__PURE__ */ e(
|
|
2098
|
+
children: /* @__PURE__ */ e(W, { kind: h ? "restore" : "minimize" })
|
|
2060
2099
|
}
|
|
2061
2100
|
) : null,
|
|
2062
2101
|
a ? /* @__PURE__ */ e(
|
|
2063
2102
|
"button",
|
|
2064
2103
|
{
|
|
2065
|
-
"aria-label": A ?
|
|
2104
|
+
"aria-label": A ? y.restore : y.maximize,
|
|
2066
2105
|
className: "game-ui-icon-button game-ui-window-button",
|
|
2067
2106
|
onClick: () => w(A ? "normal" : "maximized"),
|
|
2068
2107
|
type: "button",
|
|
2069
|
-
children: /* @__PURE__ */ e(
|
|
2108
|
+
children: /* @__PURE__ */ e(W, { kind: A ? "restore" : "maximize" })
|
|
2070
2109
|
}
|
|
2071
2110
|
) : null,
|
|
2072
2111
|
u ? /* @__PURE__ */ e(
|
|
2073
2112
|
"button",
|
|
2074
2113
|
{
|
|
2075
|
-
"aria-label":
|
|
2114
|
+
"aria-label": y.close,
|
|
2076
2115
|
className: "game-ui-icon-button game-ui-window-button",
|
|
2077
2116
|
onClick: u,
|
|
2078
2117
|
type: "button",
|
|
2079
|
-
children: /* @__PURE__ */ e(
|
|
2118
|
+
children: /* @__PURE__ */ e(W, { kind: "close" })
|
|
2080
2119
|
}
|
|
2081
2120
|
) : null
|
|
2082
2121
|
] })
|
|
@@ -2089,39 +2128,41 @@ function Oi({
|
|
|
2089
2128
|
}
|
|
2090
2129
|
);
|
|
2091
2130
|
}
|
|
2092
|
-
function
|
|
2131
|
+
function Vi({
|
|
2093
2132
|
children: a,
|
|
2094
2133
|
className: t,
|
|
2095
2134
|
closeLabel: i = "Close",
|
|
2096
|
-
closeOnBackdrop:
|
|
2097
|
-
footer:
|
|
2135
|
+
closeOnBackdrop: n = !0,
|
|
2136
|
+
footer: l,
|
|
2098
2137
|
onClose: s,
|
|
2099
|
-
open:
|
|
2100
|
-
|
|
2101
|
-
|
|
2138
|
+
open: d,
|
|
2139
|
+
position: r = "center",
|
|
2140
|
+
size: u = "md",
|
|
2141
|
+
title: c
|
|
2102
2142
|
}) {
|
|
2103
|
-
const
|
|
2143
|
+
const b = ta(null), g = _();
|
|
2104
2144
|
te(() => {
|
|
2105
|
-
const v =
|
|
2106
|
-
v && (
|
|
2107
|
-
}, [
|
|
2108
|
-
const
|
|
2109
|
-
|
|
2145
|
+
const v = b.current;
|
|
2146
|
+
v && (d && !v.open && v.showModal(), !d && v.open && v.close());
|
|
2147
|
+
}, [d]);
|
|
2148
|
+
const f = (v) => {
|
|
2149
|
+
n && v.target === b.current && s();
|
|
2110
2150
|
};
|
|
2111
2151
|
return /* @__PURE__ */ e(
|
|
2112
2152
|
"dialog",
|
|
2113
2153
|
{
|
|
2114
|
-
"aria-labelledby":
|
|
2154
|
+
"aria-labelledby": g,
|
|
2115
2155
|
className: ye("game-ui-modal", t),
|
|
2116
|
-
"data-
|
|
2156
|
+
"data-position": r,
|
|
2157
|
+
"data-size": u,
|
|
2117
2158
|
onCancel: (v) => {
|
|
2118
2159
|
v.preventDefault(), s();
|
|
2119
2160
|
},
|
|
2120
|
-
onClick:
|
|
2121
|
-
ref:
|
|
2161
|
+
onClick: f,
|
|
2162
|
+
ref: b,
|
|
2122
2163
|
children: /* @__PURE__ */ o("div", { className: "game-ui-modal-frame", children: [
|
|
2123
2164
|
/* @__PURE__ */ o("header", { className: "game-ui-modal-header", children: [
|
|
2124
|
-
/* @__PURE__ */ e("h2", { className: "game-ui-modal-title", id:
|
|
2165
|
+
/* @__PURE__ */ e("h2", { className: "game-ui-modal-title", id: g, children: c }),
|
|
2125
2166
|
/* @__PURE__ */ e(
|
|
2126
2167
|
"button",
|
|
2127
2168
|
{
|
|
@@ -2129,17 +2170,17 @@ function Pi({
|
|
|
2129
2170
|
className: "game-ui-icon-button game-ui-window-button",
|
|
2130
2171
|
onClick: s,
|
|
2131
2172
|
type: "button",
|
|
2132
|
-
children: /* @__PURE__ */ e(
|
|
2173
|
+
children: /* @__PURE__ */ e(W, { kind: "close" })
|
|
2133
2174
|
}
|
|
2134
2175
|
)
|
|
2135
2176
|
] }),
|
|
2136
|
-
/* @__PURE__ */ e("div", { className: "game-ui-modal-body", children:
|
|
2137
|
-
|
|
2177
|
+
/* @__PURE__ */ e("div", { className: "game-ui-modal-body", children: d ? a : null }),
|
|
2178
|
+
l ? /* @__PURE__ */ e("footer", { className: "game-ui-modal-footer", children: l }) : null
|
|
2138
2179
|
] })
|
|
2139
2180
|
}
|
|
2140
2181
|
);
|
|
2141
2182
|
}
|
|
2142
|
-
const
|
|
2183
|
+
const ti = [
|
|
2143
2184
|
{
|
|
2144
2185
|
id: "history-human-long",
|
|
2145
2186
|
kind: "human",
|
|
@@ -2161,7 +2202,7 @@ const ai = [
|
|
|
2161
2202
|
speaker: "Table",
|
|
2162
2203
|
text: "Three votes are locked. One more read can still change the pact."
|
|
2163
2204
|
}
|
|
2164
|
-
],
|
|
2205
|
+
], ni = [
|
|
2165
2206
|
{ id: "history-human-long", kind: "human", meta: "第 2 局 · 公开桌", speaker: "Mika", text: "这个回答像背稿——把每种可能都点了一遍,却从不押一个真实的偏好。" },
|
|
2166
2207
|
{ id: "history-zh-long", kind: "mystery", meta: "第 2 局 · 桌边发言", speaker: "Noa", text: "这段回答太顺了,像是在把所有安全选项都摆出来,却故意不留下能被追问的破绽。" },
|
|
2167
2208
|
{ id: "history-system", kind: "system", meta: "即将揭晓", speaker: "牌桌", text: "三票已锁定。再读一轮,仍可能改写这份密约。" }
|
|
@@ -2274,7 +2315,7 @@ const ai = [
|
|
|
2274
2315
|
responsive: { desktop: "desktop", mobileLandscape: "mobile landscape" },
|
|
2275
2316
|
orientation: { title: "Please rotate your device", body: "Clay game surfaces are tuned for a landscape table. Rotate before live chat so keyboard, emotes, and vote rail do not crush the playfield.", cta: "Try landscape", badge: "Landscape only", hint: "Rotate manually if this browser blocks automatic landscape lock." },
|
|
2276
2317
|
historyLabel: "Round history",
|
|
2277
|
-
history:
|
|
2318
|
+
history: ti
|
|
2278
2319
|
},
|
|
2279
2320
|
"zh-CN": {
|
|
2280
2321
|
triggerLabel: "中",
|
|
@@ -2384,9 +2425,9 @@ const ai = [
|
|
|
2384
2425
|
responsive: { desktop: "桌面", mobileLandscape: "手机横屏" },
|
|
2385
2426
|
orientation: { title: "请旋转你的设备", body: "黏土游戏界面是为横屏牌桌调校的。开聊前请先横屏,以免键盘、表情与投票栏挤压牌面。", cta: "试试横屏", badge: "仅限横屏", hint: "若浏览器拦截了自动横屏锁定,请手动旋转。" },
|
|
2386
2427
|
historyLabel: "回合历史",
|
|
2387
|
-
history:
|
|
2428
|
+
history: ni
|
|
2388
2429
|
}
|
|
2389
|
-
}, ea =
|
|
2430
|
+
}, ea = na(Qe.en), R = () => la(ea), li = [
|
|
2390
2431
|
{ id: "colors", tokens: N },
|
|
2391
2432
|
{ id: "semantic", tokens: ne },
|
|
2392
2433
|
{ id: "typography", tokens: le },
|
|
@@ -2398,16 +2439,16 @@ const ai = [
|
|
|
2398
2439
|
{ id: "targets", tokens: me },
|
|
2399
2440
|
{ id: "assetSizing", tokens: ue }
|
|
2400
2441
|
];
|
|
2401
|
-
function
|
|
2442
|
+
function oi({ id: a, label: t, tokens: i }) {
|
|
2402
2443
|
return /* @__PURE__ */ o("article", { className: "game-ui-token-card", children: [
|
|
2403
2444
|
/* @__PURE__ */ e("h3", { children: t }),
|
|
2404
|
-
/* @__PURE__ */ e("div", { className: "game-ui-token-grid", children: Object.entries(i).map(([
|
|
2405
|
-
/* @__PURE__ */ e("span", { children:
|
|
2406
|
-
/* @__PURE__ */ e("code", { children: String(
|
|
2407
|
-
] }, `${a}-${
|
|
2445
|
+
/* @__PURE__ */ e("div", { className: "game-ui-token-grid", children: Object.entries(i).map(([n, l]) => /* @__PURE__ */ o("div", { className: "game-ui-token-row", children: [
|
|
2446
|
+
/* @__PURE__ */ e("span", { children: n }),
|
|
2447
|
+
/* @__PURE__ */ e("code", { children: String(l) })
|
|
2448
|
+
] }, `${a}-${n}`)) })
|
|
2408
2449
|
] });
|
|
2409
2450
|
}
|
|
2410
|
-
function
|
|
2451
|
+
function si() {
|
|
2411
2452
|
return /* @__PURE__ */ e("div", { "aria-label": "Clay color swatches", className: "game-ui-swatch-grid", children: Object.entries(N).map(([a, t]) => /* @__PURE__ */ o("figure", { className: "game-ui-swatch", children: [
|
|
2412
2453
|
/* @__PURE__ */ e("span", { style: { background: t } }),
|
|
2413
2454
|
/* @__PURE__ */ o("figcaption", { children: [
|
|
@@ -2416,7 +2457,7 @@ function li() {
|
|
|
2416
2457
|
] })
|
|
2417
2458
|
] }, a)) });
|
|
2418
2459
|
}
|
|
2419
|
-
function
|
|
2460
|
+
function ri() {
|
|
2420
2461
|
const { type: a } = R();
|
|
2421
2462
|
return /* @__PURE__ */ o("div", { className: "game-ui-type-scale", children: [
|
|
2422
2463
|
/* @__PURE__ */ e("p", { className: "game-ui-type-kicker", children: a.kicker }),
|
|
@@ -2426,7 +2467,7 @@ function oi() {
|
|
|
2426
2467
|
/* @__PURE__ */ e("small", { children: a.small })
|
|
2427
2468
|
] });
|
|
2428
2469
|
}
|
|
2429
|
-
function
|
|
2470
|
+
function ci() {
|
|
2430
2471
|
const { buttons: a } = R();
|
|
2431
2472
|
return /* @__PURE__ */ o(B, { title: a.panelTitle, tone: "strong", children: [
|
|
2432
2473
|
/* @__PURE__ */ o("div", { className: "game-ui-component-row", children: [
|
|
@@ -2438,17 +2479,17 @@ function si() {
|
|
|
2438
2479
|
/* @__PURE__ */ e(C, { disabled: !0, variant: "secondary", children: a.waiting })
|
|
2439
2480
|
] }),
|
|
2440
2481
|
/* @__PURE__ */ o("div", { className: "game-ui-component-row", children: [
|
|
2441
|
-
/* @__PURE__ */ e(
|
|
2482
|
+
/* @__PURE__ */ e(ga, { label: a.settingsTip, children: /* @__PURE__ */ e(O, { label: a.settingsTip, children: /* @__PURE__ */ e(L, { icon: "settings", size: "sm" }) }) }),
|
|
2442
2483
|
/* @__PURE__ */ e(O, { label: a.copyInvite, children: /* @__PURE__ */ e(L, { icon: "copy", size: "sm" }) }),
|
|
2443
2484
|
/* @__PURE__ */ e(S, { tone: "ai", children: a.aiBadge }),
|
|
2444
2485
|
/* @__PURE__ */ e(S, { tone: "success", children: a.readyBadge }),
|
|
2445
2486
|
/* @__PURE__ */ e(S, { tone: "warning", children: a.hostGateBadge })
|
|
2446
2487
|
] }),
|
|
2447
2488
|
/* @__PURE__ */ e(Pe, { activeId: "live", label: a.segmentedLabel, options: [{ id: "daily", label: a.segDaily }, { id: "live", label: a.segLive }, { id: "tokens", label: a.segTokens }] }),
|
|
2448
|
-
/* @__PURE__ */ e(
|
|
2449
|
-
/* @__PURE__ */ e(
|
|
2450
|
-
/* @__PURE__ */ e(
|
|
2451
|
-
/* @__PURE__ */ e(
|
|
2489
|
+
/* @__PURE__ */ e(pa, { activeId: "portal", tabs: [{ id: "portal", label: a.tabsPortal }, { id: "vote", label: a.tabsVote }, { id: "history", label: a.tabsHistory }] }),
|
|
2490
|
+
/* @__PURE__ */ e(va, { items: [{ id: "wave", label: a.wave }, { id: "think", label: a.think }, { id: "doubt", label: a.doubt }], label: a.radialLabel }),
|
|
2491
|
+
/* @__PURE__ */ e(ha, { label: a.sliderLabel, max: 100, min: 0, value: 68 }),
|
|
2492
|
+
/* @__PURE__ */ e(ba, { checked: !0, label: a.toggleLabel })
|
|
2452
2493
|
] });
|
|
2453
2494
|
}
|
|
2454
2495
|
function ie() {
|
|
@@ -2485,10 +2526,10 @@ function ie() {
|
|
|
2485
2526
|
] })
|
|
2486
2527
|
] });
|
|
2487
2528
|
}
|
|
2488
|
-
function
|
|
2529
|
+
function di() {
|
|
2489
2530
|
const { modals: a } = R();
|
|
2490
2531
|
return /* @__PURE__ */ o("div", { className: "game-ui-preview-two-up", children: [
|
|
2491
|
-
/* @__PURE__ */ o(
|
|
2532
|
+
/* @__PURE__ */ o(ma, { title: a.dialogTitle, children: [
|
|
2492
2533
|
/* @__PURE__ */ e("p", { children: a.dialogBody }),
|
|
2493
2534
|
/* @__PURE__ */ o(K, { label: a.actionsLabel, children: [
|
|
2494
2535
|
/* @__PURE__ */ e(C, { variant: "primary", children: a.confirm }),
|
|
@@ -2503,17 +2544,17 @@ function ri() {
|
|
|
2503
2544
|
] })
|
|
2504
2545
|
] });
|
|
2505
2546
|
}
|
|
2506
|
-
function
|
|
2547
|
+
function mi() {
|
|
2507
2548
|
const { cards: a } = R();
|
|
2508
2549
|
return /* @__PURE__ */ o("div", { className: "game-ui-preview-two-up", children: [
|
|
2509
|
-
/* @__PURE__ */ e(B, { title: a.fanTitle, tone: "strong", children: /* @__PURE__ */ e(
|
|
2550
|
+
/* @__PURE__ */ e(B, { title: a.fanTitle, tone: "strong", children: /* @__PURE__ */ e(Sa, { label: a.fanLabel, cards: [{ id: "human", icon: "home", kicker: a.human, title: "Mika" }, { id: "ai", icon: "ai", kicker: a.ai, title: "River" }, { id: "sympathizer", icon: "crown", kicker: a.sympathizer, title: "Noa" }] }) }),
|
|
2510
2551
|
/* @__PURE__ */ o(B, { title: a.assetTitle, tone: "strong", children: [
|
|
2511
2552
|
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children: a.assetNote }),
|
|
2512
2553
|
/* @__PURE__ */ o("div", { className: "game-ui-asset-path-grid", children: [
|
|
2513
|
-
/* @__PURE__ */ e("code", { children:
|
|
2514
|
-
/* @__PURE__ */ e("code", { children:
|
|
2515
|
-
/* @__PURE__ */ e("code", { children:
|
|
2516
|
-
/* @__PURE__ */ e("code", { children:
|
|
2554
|
+
/* @__PURE__ */ e("code", { children: H.catalog.manifest }),
|
|
2555
|
+
/* @__PURE__ */ e("code", { children: H.catalog.sourceCatalog }),
|
|
2556
|
+
/* @__PURE__ */ e("code", { children: H.buttons.primary }),
|
|
2557
|
+
/* @__PURE__ */ e("code", { children: H.icons.trophy })
|
|
2517
2558
|
] })
|
|
2518
2559
|
] })
|
|
2519
2560
|
] });
|
|
@@ -2536,7 +2577,7 @@ const Ae = [
|
|
|
2536
2577
|
{ id: "foundation", label: "Foundation", icon: "home", items: [{ id: "floor-2x2", label: "2x2 floor", status: "selected" }] },
|
|
2537
2578
|
{ id: "wall", label: "Walls", icon: "card", items: [{ id: "wall-solid", label: "Solid wall", status: "ready" }] }
|
|
2538
2579
|
];
|
|
2539
|
-
function
|
|
2580
|
+
function ui() {
|
|
2540
2581
|
return /* @__PURE__ */ o("div", { className: "game-ui-preview-two-up", children: [
|
|
2541
2582
|
/* @__PURE__ */ e(
|
|
2542
2583
|
Te,
|
|
@@ -2633,7 +2674,7 @@ const Re = [
|
|
|
2633
2674
|
validationWarnings: [{ id: "collision", label: "Collision risk", description: "Fence crosses an existing chair placement.", tone: "warning" }]
|
|
2634
2675
|
}
|
|
2635
2676
|
];
|
|
2636
|
-
function
|
|
2677
|
+
function gi() {
|
|
2637
2678
|
return /* @__PURE__ */ o("div", { className: "game-ui-preview-two-up", children: [
|
|
2638
2679
|
/* @__PURE__ */ e(
|
|
2639
2680
|
Ce,
|
|
@@ -2659,7 +2700,7 @@ function mi() {
|
|
|
2659
2700
|
)
|
|
2660
2701
|
] });
|
|
2661
2702
|
}
|
|
2662
|
-
function
|
|
2703
|
+
function pi() {
|
|
2663
2704
|
return /* @__PURE__ */ e(
|
|
2664
2705
|
He,
|
|
2665
2706
|
{
|
|
@@ -2675,7 +2716,7 @@ function ui() {
|
|
|
2675
2716
|
]
|
|
2676
2717
|
}
|
|
2677
2718
|
),
|
|
2678
|
-
movementPad: /* @__PURE__ */ e(
|
|
2719
|
+
movementPad: /* @__PURE__ */ e(Ma, { helpText: "WASD or arrows", label: "Move avatar" }),
|
|
2679
2720
|
assetLibrary: /* @__PURE__ */ e(
|
|
2680
2721
|
De,
|
|
2681
2722
|
{
|
|
@@ -2707,7 +2748,7 @@ function ui() {
|
|
|
2707
2748
|
}
|
|
2708
2749
|
);
|
|
2709
2750
|
}
|
|
2710
|
-
const
|
|
2751
|
+
const hi = [
|
|
2711
2752
|
{
|
|
2712
2753
|
id: "starter",
|
|
2713
2754
|
label: "Starter pieces",
|
|
@@ -2719,7 +2760,7 @@ const gi = [
|
|
|
2719
2760
|
]
|
|
2720
2761
|
}
|
|
2721
2762
|
];
|
|
2722
|
-
function
|
|
2763
|
+
function bi() {
|
|
2723
2764
|
return /* @__PURE__ */ e("div", { className: "game-ui-asset-compression-repro", "aria-label": "Asset card compression repro", children: [
|
|
2724
2765
|
{ id: "comfortable", label: "Comfortable library", width: "320px" },
|
|
2725
2766
|
{ id: "narrow", label: "Narrow library", width: "156px" },
|
|
@@ -2730,7 +2771,7 @@ function pi() {
|
|
|
2730
2771
|
De,
|
|
2731
2772
|
{
|
|
2732
2773
|
density: "dense",
|
|
2733
|
-
groups:
|
|
2774
|
+
groups: hi,
|
|
2734
2775
|
label: `${a.label} assets`,
|
|
2735
2776
|
selectedAssetId: "asset-repro-chair",
|
|
2736
2777
|
title: "Build"
|
|
@@ -2738,7 +2779,7 @@ function pi() {
|
|
|
2738
2779
|
)
|
|
2739
2780
|
] }, a.id)) });
|
|
2740
2781
|
}
|
|
2741
|
-
function
|
|
2782
|
+
function vi() {
|
|
2742
2783
|
const { firstSession: a } = R(), t = {
|
|
2743
2784
|
controls: a.controls,
|
|
2744
2785
|
emote: a.emote,
|
|
@@ -2763,12 +2804,12 @@ function hi() {
|
|
|
2763
2804
|
wardrobe: a.wardrobe
|
|
2764
2805
|
};
|
|
2765
2806
|
return /* @__PURE__ */ o("div", { className: "game-ui-first-session-preview", children: [
|
|
2766
|
-
/* @__PURE__ */ e("div", { className: "game-ui-first-session-world", children: /* @__PURE__ */ e(
|
|
2807
|
+
/* @__PURE__ */ e("div", { className: "game-ui-first-session-world", children: /* @__PURE__ */ e(Ca, { authenticated: !0, batteryCount: 5, dailyStreak: 3, labels: t, onHistory: () => {
|
|
2767
2808
|
}, onSettings: () => {
|
|
2768
2809
|
}, onWardrobe: () => {
|
|
2769
2810
|
}, playerName: a.playerName }) }),
|
|
2770
2811
|
/* @__PURE__ */ e("div", { className: "game-ui-first-session-modal-slot", children: /* @__PURE__ */ e(
|
|
2771
|
-
|
|
2812
|
+
Aa,
|
|
2772
2813
|
{
|
|
2773
2814
|
open: !0,
|
|
2774
2815
|
onDismiss: () => {
|
|
@@ -2789,7 +2830,7 @@ function hi() {
|
|
|
2789
2830
|
) })
|
|
2790
2831
|
] });
|
|
2791
2832
|
}
|
|
2792
|
-
function
|
|
2833
|
+
function fi() {
|
|
2793
2834
|
const { responsive: a } = R();
|
|
2794
2835
|
return /* @__PURE__ */ o("div", { className: "game-ui-proof-frames", children: [
|
|
2795
2836
|
/* @__PURE__ */ o("article", { className: "game-ui-proof-frame is-desktop", children: [
|
|
@@ -2808,24 +2849,24 @@ function bi() {
|
|
|
2808
2849
|
] })
|
|
2809
2850
|
] });
|
|
2810
2851
|
}
|
|
2811
|
-
function
|
|
2852
|
+
function yi() {
|
|
2812
2853
|
const { forms: a } = R();
|
|
2813
2854
|
return /* @__PURE__ */ o("div", { className: "game-ui-preview-two-up", children: [
|
|
2814
2855
|
/* @__PURE__ */ o(B, { title: a.formsTitle, tone: "strong", children: [
|
|
2815
|
-
/* @__PURE__ */ e(
|
|
2816
|
-
/* @__PURE__ */ e(
|
|
2817
|
-
/* @__PURE__ */ e(
|
|
2818
|
-
/* @__PURE__ */ e(
|
|
2856
|
+
/* @__PURE__ */ e(D, { hint: a.roomCodeHint, label: a.roomCodeLabel, children: /* @__PURE__ */ e(Le, { placeholder: a.roomCodePlaceholder }) }),
|
|
2857
|
+
/* @__PURE__ */ e(D, { label: a.nameLabel, required: !0, children: /* @__PURE__ */ e(Le, { placeholder: a.namePlaceholder }) }),
|
|
2858
|
+
/* @__PURE__ */ e(D, { error: a.readError, label: a.readLabel, children: /* @__PURE__ */ e(Ba, { invalid: !0, placeholder: a.readPlaceholder }) }),
|
|
2859
|
+
/* @__PURE__ */ e(xa, { defaultChecked: !0, label: a.rememberLabel })
|
|
2819
2860
|
] }),
|
|
2820
2861
|
/* @__PURE__ */ o(B, { title: a.displayTitle, tone: "strong", children: [
|
|
2821
2862
|
/* @__PURE__ */ o("div", { className: "game-ui-component-row", children: [
|
|
2822
|
-
/* @__PURE__ */ e(
|
|
2823
|
-
/* @__PURE__ */ e(
|
|
2824
|
-
/* @__PURE__ */ e(
|
|
2825
|
-
/* @__PURE__ */ e(
|
|
2863
|
+
/* @__PURE__ */ e(j, { name: "Mika Ono", status: "online" }),
|
|
2864
|
+
/* @__PURE__ */ e(j, { name: "River", size: "lg", status: "busy" }),
|
|
2865
|
+
/* @__PURE__ */ e(j, { name: "Noa", status: "away" }),
|
|
2866
|
+
/* @__PURE__ */ e(j, { name: a.guestName, size: "sm" })
|
|
2826
2867
|
] }),
|
|
2827
|
-
/* @__PURE__ */ e(
|
|
2828
|
-
/* @__PURE__ */ e(
|
|
2868
|
+
/* @__PURE__ */ e(U, { label: a.revealLabel, showValue: !0, value: 64 }),
|
|
2869
|
+
/* @__PURE__ */ e(U, { label: a.batteryLabel, max: 20, showValue: !0, tone: "success", value: 14 }),
|
|
2829
2870
|
/* @__PURE__ */ e(
|
|
2830
2871
|
P,
|
|
2831
2872
|
{
|
|
@@ -2838,20 +2879,20 @@ function vi() {
|
|
|
2838
2879
|
] })
|
|
2839
2880
|
] });
|
|
2840
2881
|
}
|
|
2841
|
-
const
|
|
2882
|
+
const wi = pe.filter((a) => _e(a).includes("game")), Ni = pe.filter((a) => _e(a).includes("line"));
|
|
2842
2883
|
function Me({ names: a, style: t }) {
|
|
2843
2884
|
return /* @__PURE__ */ e("div", { className: "game-ui-icon-grid", children: a.map((i) => /* @__PURE__ */ o("figure", { className: "game-ui-icon-cell", children: [
|
|
2844
2885
|
/* @__PURE__ */ e(L, { icon: i, size: "lg", style: t }),
|
|
2845
2886
|
/* @__PURE__ */ e("figcaption", { children: i })
|
|
2846
2887
|
] }, `${t}-${i}`)) });
|
|
2847
2888
|
}
|
|
2848
|
-
function
|
|
2849
|
-
return /* @__PURE__ */ e("div", { className: "game-ui-icon-grid", children:
|
|
2889
|
+
function ki() {
|
|
2890
|
+
return /* @__PURE__ */ e("div", { className: "game-ui-icon-grid", children: ya.map((a) => /* @__PURE__ */ o("figure", { className: "game-ui-icon-cell", children: [
|
|
2850
2891
|
/* @__PURE__ */ e("span", { className: "game-ui-asset-icon", "data-icon-size": "lg", "data-icon-style": "game", "aria-hidden": !0, children: /* @__PURE__ */ e("img", { alt: "", src: ze[a] }) }),
|
|
2851
2892
|
/* @__PURE__ */ e("figcaption", { children: a })
|
|
2852
2893
|
] }, `sprite-${a}`)) });
|
|
2853
2894
|
}
|
|
2854
|
-
function
|
|
2895
|
+
function Si() {
|
|
2855
2896
|
const { gallery: a } = R();
|
|
2856
2897
|
return /* @__PURE__ */ o("div", { className: "game-ui-icon-gallery", children: [
|
|
2857
2898
|
/* @__PURE__ */ o("section", { className: "game-ui-icon-family", children: [
|
|
@@ -2859,104 +2900,104 @@ function Ni() {
|
|
|
2859
2900
|
/* @__PURE__ */ e(S, { tone: "success", children: a.gameLabel }),
|
|
2860
2901
|
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children: a.gameHint })
|
|
2861
2902
|
] }),
|
|
2862
|
-
/* @__PURE__ */ e(Me, { names:
|
|
2903
|
+
/* @__PURE__ */ e(Me, { names: wi, style: "game" })
|
|
2863
2904
|
] }),
|
|
2864
2905
|
/* @__PURE__ */ o("section", { className: "game-ui-icon-family", children: [
|
|
2865
2906
|
/* @__PURE__ */ o("header", { className: "game-ui-icon-family-head", children: [
|
|
2866
2907
|
/* @__PURE__ */ e(S, { children: a.lineLabel }),
|
|
2867
2908
|
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children: a.lineHint })
|
|
2868
2909
|
] }),
|
|
2869
|
-
/* @__PURE__ */ e(Me, { names:
|
|
2910
|
+
/* @__PURE__ */ e(Me, { names: Ni, style: "line" })
|
|
2870
2911
|
] }),
|
|
2871
2912
|
/* @__PURE__ */ o("section", { className: "game-ui-icon-family", children: [
|
|
2872
2913
|
/* @__PURE__ */ o("header", { className: "game-ui-icon-family-head", children: [
|
|
2873
2914
|
/* @__PURE__ */ e(S, { tone: "warning", children: a.spriteLabel }),
|
|
2874
2915
|
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children: a.spriteHint })
|
|
2875
2916
|
] }),
|
|
2876
|
-
/* @__PURE__ */ e(
|
|
2917
|
+
/* @__PURE__ */ e(ki, {})
|
|
2877
2918
|
] })
|
|
2878
2919
|
] });
|
|
2879
2920
|
}
|
|
2880
|
-
function
|
|
2881
|
-
const [i,
|
|
2921
|
+
function Hi({ title: a, body: t }) {
|
|
2922
|
+
const [i, n] = M("en"), l = Qe[i], s = a && i === "en" ? a : l.heroTitle, d = t && i === "en" ? t : l.heroBody;
|
|
2882
2923
|
return te(() => (document.documentElement.dataset.gameUiPreview = "clay", () => {
|
|
2883
2924
|
delete document.documentElement.dataset.gameUiPreview;
|
|
2884
|
-
}), []), /* @__PURE__ */ e(ea.Provider, { value:
|
|
2925
|
+
}), []), /* @__PURE__ */ e(ea.Provider, { value: l, children: /* @__PURE__ */ o("main", { "aria-label": "Swimmer UI Kit clay preview", className: "game-ui-preview game-ui-clay-preview", children: [
|
|
2885
2926
|
/* @__PURE__ */ o("header", { className: "game-ui-preview-hero", children: [
|
|
2886
2927
|
/* @__PURE__ */ e(S, { tone: "ai", children: "@pieai/swimmer-ui-kit" }),
|
|
2887
2928
|
/* @__PURE__ */ e(
|
|
2888
|
-
|
|
2929
|
+
Ta,
|
|
2889
2930
|
{
|
|
2890
|
-
currentLabel:
|
|
2891
|
-
label:
|
|
2892
|
-
onSelect: (
|
|
2931
|
+
currentLabel: l.triggerLabel,
|
|
2932
|
+
label: l.langMenuLabel,
|
|
2933
|
+
onSelect: (r) => n(r),
|
|
2893
2934
|
options: [{ id: "en", label: "English", meta: "DOM UI labels" }, { id: "zh-CN", label: "简体中文", meta: "Host app owned copy" }],
|
|
2894
2935
|
value: i
|
|
2895
2936
|
}
|
|
2896
2937
|
),
|
|
2897
2938
|
/* @__PURE__ */ e("h1", { children: s }),
|
|
2898
|
-
/* @__PURE__ */ e("p", { children:
|
|
2939
|
+
/* @__PURE__ */ e("p", { children: d })
|
|
2899
2940
|
] }),
|
|
2900
2941
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-token-title", className: "game-ui-preview-section", children: [
|
|
2901
|
-
/* @__PURE__ */ e("h2", { id: "game-ui-preview-token-title", children:
|
|
2902
|
-
/* @__PURE__ */ e(
|
|
2903
|
-
/* @__PURE__ */ e("div", { className: "game-ui-token-ledger", children:
|
|
2942
|
+
/* @__PURE__ */ e("h2", { id: "game-ui-preview-token-title", children: l.sections.tokens }),
|
|
2943
|
+
/* @__PURE__ */ e(si, {}),
|
|
2944
|
+
/* @__PURE__ */ e("div", { className: "game-ui-token-ledger", children: li.map((r) => /* @__PURE__ */ e(oi, { id: r.id, label: l.tokenGroups[r.id] ?? r.id, tokens: r.tokens }, r.id)) })
|
|
2904
2945
|
] }),
|
|
2905
2946
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-icons-title", className: "game-ui-preview-section", children: [
|
|
2906
|
-
/* @__PURE__ */ e("h2", { id: "game-ui-preview-icons-title", children:
|
|
2907
|
-
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children:
|
|
2908
|
-
/* @__PURE__ */ e(
|
|
2947
|
+
/* @__PURE__ */ e("h2", { id: "game-ui-preview-icons-title", children: l.sections.icons }),
|
|
2948
|
+
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children: l.iconsIntro }),
|
|
2949
|
+
/* @__PURE__ */ e(Si, {})
|
|
2909
2950
|
] }),
|
|
2910
2951
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-type-title", className: "game-ui-preview-section", children: [
|
|
2911
|
-
/* @__PURE__ */ e("h2", { id: "game-ui-preview-type-title", children:
|
|
2912
|
-
/* @__PURE__ */ e(
|
|
2952
|
+
/* @__PURE__ */ e("h2", { id: "game-ui-preview-type-title", children: l.sections.typography }),
|
|
2953
|
+
/* @__PURE__ */ e(ri, {})
|
|
2913
2954
|
] }),
|
|
2914
2955
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-components-title", className: "game-ui-preview-section", children: [
|
|
2915
|
-
/* @__PURE__ */ e("h2", { id: "game-ui-preview-components-title", children:
|
|
2916
|
-
/* @__PURE__ */ e(si, {}),
|
|
2917
|
-
/* @__PURE__ */ e(ie, {}),
|
|
2918
|
-
/* @__PURE__ */ e(ri, {}),
|
|
2956
|
+
/* @__PURE__ */ e("h2", { id: "game-ui-preview-components-title", children: l.sections.components }),
|
|
2919
2957
|
/* @__PURE__ */ e(ci, {}),
|
|
2920
|
-
/* @__PURE__ */ e(
|
|
2958
|
+
/* @__PURE__ */ e(ie, {}),
|
|
2959
|
+
/* @__PURE__ */ e(di, {}),
|
|
2960
|
+
/* @__PURE__ */ e(mi, {}),
|
|
2961
|
+
/* @__PURE__ */ e(ua, { entries: l.history, label: l.historyLabel })
|
|
2921
2962
|
] }),
|
|
2922
2963
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-forms-title", className: "game-ui-preview-section", children: [
|
|
2923
|
-
/* @__PURE__ */ e("h2", { id: "game-ui-preview-forms-title", children:
|
|
2924
|
-
/* @__PURE__ */ e(
|
|
2964
|
+
/* @__PURE__ */ e("h2", { id: "game-ui-preview-forms-title", children: l.sections.forms }),
|
|
2965
|
+
/* @__PURE__ */ e(yi, {})
|
|
2925
2966
|
] }),
|
|
2926
2967
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-ownmyspace-title", className: "game-ui-preview-section", children: [
|
|
2927
2968
|
/* @__PURE__ */ e("h2", { id: "game-ui-preview-ownmyspace-title", children: "OwnMySpace game surface pack" }),
|
|
2928
|
-
/* @__PURE__ */ e(
|
|
2969
|
+
/* @__PURE__ */ e(pi, {})
|
|
2929
2970
|
] }),
|
|
2930
2971
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-terrain-build-title", className: "game-ui-preview-section", children: [
|
|
2931
2972
|
/* @__PURE__ */ e("h2", { id: "game-ui-preview-terrain-build-title", children: "Terrain/build tooling" }),
|
|
2932
2973
|
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children: "Official terrain controls cover mode, brush, material, undo/redo, build library, status, progress, and compact mobile drawer surfaces." }),
|
|
2933
|
-
/* @__PURE__ */ e(
|
|
2974
|
+
/* @__PURE__ */ e(ui, {})
|
|
2934
2975
|
] }),
|
|
2935
2976
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-contractor-title", className: "game-ui-preview-section", children: [
|
|
2936
2977
|
/* @__PURE__ */ e("h2", { id: "game-ui-preview-contractor-title", children: "AI contractor / construction robot UI" }),
|
|
2937
2978
|
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children: "Official construction surfaces cover job queue states, before/after review, robot crew status, validation warnings, approval actions, and local-only provider badges." }),
|
|
2938
|
-
/* @__PURE__ */ e(
|
|
2979
|
+
/* @__PURE__ */ e(gi, {})
|
|
2939
2980
|
] }),
|
|
2940
2981
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-asset-compression-title", className: "game-ui-preview-section", children: [
|
|
2941
2982
|
/* @__PURE__ */ e("h2", { id: "game-ui-preview-asset-compression-title", children: "Asset card compression proof" }),
|
|
2942
2983
|
/* @__PURE__ */ e("p", { className: "game-ui-small-copy", children: "Official asset cards must stay visually complete when a game shell uses dense, narrow, or rail-style inventory slots." }),
|
|
2943
|
-
/* @__PURE__ */ e(
|
|
2984
|
+
/* @__PURE__ */ e(bi, {})
|
|
2944
2985
|
] }),
|
|
2945
2986
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-first-session-title", className: "game-ui-preview-section", children: [
|
|
2946
|
-
/* @__PURE__ */ e("h2", { id: "game-ui-preview-first-session-title", children:
|
|
2947
|
-
/* @__PURE__ */ e(
|
|
2987
|
+
/* @__PURE__ */ e("h2", { id: "game-ui-preview-first-session-title", children: l.sections.firstSession }),
|
|
2988
|
+
/* @__PURE__ */ e(vi, {})
|
|
2948
2989
|
] }),
|
|
2949
2990
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-orientation-title", className: "game-ui-preview-section", children: [
|
|
2950
|
-
/* @__PURE__ */ e("h2", { id: "game-ui-preview-orientation-title", children:
|
|
2951
|
-
/* @__PURE__ */ e(
|
|
2991
|
+
/* @__PURE__ */ e("h2", { id: "game-ui-preview-orientation-title", children: l.sections.orientation }),
|
|
2992
|
+
/* @__PURE__ */ e(La, { badgeLabel: l.orientation.badge, body: l.orientation.body, cta: l.orientation.cta, manualHint: l.orientation.hint, preview: !0, title: l.orientation.title })
|
|
2952
2993
|
] }),
|
|
2953
2994
|
/* @__PURE__ */ o("section", { "aria-labelledby": "game-ui-preview-responsive-title", className: "game-ui-preview-section", children: [
|
|
2954
|
-
/* @__PURE__ */ e("h2", { id: "game-ui-preview-responsive-title", children:
|
|
2955
|
-
/* @__PURE__ */ e(
|
|
2995
|
+
/* @__PURE__ */ e("h2", { id: "game-ui-preview-responsive-title", children: l.sections.responsive }),
|
|
2996
|
+
/* @__PURE__ */ e(fi, {})
|
|
2956
2997
|
] })
|
|
2957
2998
|
] }) });
|
|
2958
2999
|
}
|
|
2959
|
-
const
|
|
3000
|
+
const Di = {
|
|
2960
3001
|
...ne,
|
|
2961
3002
|
...le,
|
|
2962
3003
|
...oe,
|
|
@@ -2965,15 +3006,41 @@ const zi = {
|
|
|
2965
3006
|
...ce,
|
|
2966
3007
|
...de,
|
|
2967
3008
|
...ue
|
|
2968
|
-
},
|
|
3009
|
+
}, Ui = me, $i = [
|
|
3010
|
+
"--game-ui-bg",
|
|
3011
|
+
"--game-ui-surface",
|
|
3012
|
+
"--game-ui-surface-raised",
|
|
3013
|
+
"--game-ui-panel",
|
|
3014
|
+
"--game-ui-panel-strong",
|
|
3015
|
+
"--game-ui-panel-deep",
|
|
3016
|
+
"--game-ui-text",
|
|
3017
|
+
"--game-ui-text-muted",
|
|
3018
|
+
"--game-ui-accent",
|
|
3019
|
+
"--game-ui-accent-bright",
|
|
3020
|
+
"--game-ui-secondary",
|
|
3021
|
+
"--game-ui-success",
|
|
3022
|
+
"--game-ui-success-bright",
|
|
3023
|
+
"--game-ui-danger",
|
|
3024
|
+
"--game-ui-danger-bright",
|
|
3025
|
+
"--game-ui-warning",
|
|
3026
|
+
"--game-ui-focus-ring",
|
|
3027
|
+
"--game-ui-border-subtle",
|
|
3028
|
+
"--game-ui-border-strong",
|
|
3029
|
+
"--game-ui-disabled",
|
|
3030
|
+
"--game-ui-ink-deep",
|
|
3031
|
+
"--game-ui-border-ink",
|
|
3032
|
+
"--game-ui-wood",
|
|
3033
|
+
"--game-ui-ink-title",
|
|
3034
|
+
"--game-ui-ink-heading"
|
|
3035
|
+
];
|
|
2969
3036
|
export {
|
|
2970
|
-
|
|
2971
|
-
|
|
3037
|
+
H as CLAY_ASSETS,
|
|
3038
|
+
fa as CLAY_ASSET_BASE_PATH,
|
|
2972
3039
|
ue as CLAY_ASSET_SIZE_TOKENS,
|
|
2973
3040
|
N as CLAY_COLOR_TOKENS,
|
|
2974
3041
|
re as CLAY_ELEVATION_TOKENS,
|
|
2975
3042
|
ze as CLAY_GAME_SPRITES,
|
|
2976
|
-
|
|
3043
|
+
ya as CLAY_GAME_SPRITE_NAMES,
|
|
2977
3044
|
pe as CLAY_ICON_NAMES,
|
|
2978
3045
|
ge as CLAY_ICON_VARIANTS,
|
|
2979
3046
|
de as CLAY_LAYER_TOKENS,
|
|
@@ -2983,76 +3050,78 @@ export {
|
|
|
2983
3050
|
oe as CLAY_SPACE_TOKENS,
|
|
2984
3051
|
me as CLAY_TARGET_TOKENS,
|
|
2985
3052
|
le as CLAY_TYPE_TOKENS,
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
3053
|
+
xi as CLAY_UI_TOKENS,
|
|
3054
|
+
Ca as FirstSessionHud,
|
|
3055
|
+
Aa as FirstSessionOnboarding,
|
|
3056
|
+
ti as GAME_UI_PREVIEW_MESSAGES,
|
|
3057
|
+
Ui as GAME_UI_TARGETS,
|
|
3058
|
+
$i as GAME_UI_THEME_CONTRACT,
|
|
3059
|
+
Di as GAME_UI_TOKENS,
|
|
3060
|
+
$ as GameActionGrid,
|
|
3061
|
+
Oa as GameAssetCard,
|
|
2994
3062
|
L as GameAssetIcon,
|
|
2995
3063
|
De as GameAssetLibrary,
|
|
2996
|
-
|
|
3064
|
+
j as GameAvatar,
|
|
2997
3065
|
S as GameBadge,
|
|
2998
3066
|
Xe as GameBeforeAfterToggle,
|
|
2999
|
-
|
|
3000
|
-
|
|
3067
|
+
Da as GameBrushControls,
|
|
3068
|
+
ja as GameBuildLibrary,
|
|
3001
3069
|
C as GameButton,
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3070
|
+
Ai as GameCallout,
|
|
3071
|
+
Sa as GameCardFan,
|
|
3072
|
+
xa as GameCheckbox,
|
|
3073
|
+
_i as GameCollapsiblePanel,
|
|
3005
3074
|
$e as GameCompactGameDrawer,
|
|
3006
|
-
|
|
3075
|
+
ei as GameCompactJobDrawer,
|
|
3007
3076
|
Je as GameConstructionApprovalBar,
|
|
3008
3077
|
ae as GameConstructionJobCard,
|
|
3009
3078
|
qe as GameConstructionProgress,
|
|
3010
3079
|
Ce as GameContractorPanel,
|
|
3011
|
-
|
|
3080
|
+
ma as GameDialog,
|
|
3012
3081
|
P as GameEmptyState,
|
|
3013
3082
|
ve as GameFactList,
|
|
3014
|
-
|
|
3015
|
-
|
|
3083
|
+
D as GameField,
|
|
3084
|
+
ua as GameHistoryPanel,
|
|
3016
3085
|
Ve as GameHud,
|
|
3017
3086
|
K as GameHudActions,
|
|
3018
3087
|
O as GameIconButton,
|
|
3019
3088
|
Le as GameInput,
|
|
3020
|
-
|
|
3089
|
+
Ta as GameLanguageMenu,
|
|
3021
3090
|
Se as GameLoadingState,
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3091
|
+
Ua as GameMaterialSwatches,
|
|
3092
|
+
Vi as GameModal,
|
|
3093
|
+
Ma as GameMovementPad,
|
|
3094
|
+
Pi as GameObjectToolbar,
|
|
3095
|
+
La as GameOrientationGate,
|
|
3027
3096
|
B as GamePanel,
|
|
3028
3097
|
Ue as GamePlacementToolbar,
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3098
|
+
U as GameProgress,
|
|
3099
|
+
Bi as GamePrompt,
|
|
3100
|
+
va as GameRadialMenu,
|
|
3032
3101
|
Ze as GameRobotCrewStatus,
|
|
3033
|
-
|
|
3102
|
+
Gi as GameSceneHudLayout,
|
|
3034
3103
|
Pe as GameSegmentedControl,
|
|
3035
3104
|
He as GameShell,
|
|
3036
|
-
|
|
3105
|
+
ha as GameSlider,
|
|
3037
3106
|
q as GameStageTile,
|
|
3038
|
-
|
|
3039
|
-
|
|
3107
|
+
Oi as GameStatList,
|
|
3108
|
+
pa as GameTabs,
|
|
3040
3109
|
Te as GameTerrainBuildToolbox,
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3110
|
+
Va as GameTerrainModeControl,
|
|
3111
|
+
Ha as GameTerrainToolStrip,
|
|
3112
|
+
Ba as GameTextArea,
|
|
3044
3113
|
ke as GameToast,
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3114
|
+
ba as GameToggle,
|
|
3115
|
+
ga as GameTooltip,
|
|
3116
|
+
Hi as GameUiPreview,
|
|
3117
|
+
$a as GameUndoRedoActions,
|
|
3118
|
+
zi as GameWindowPanel,
|
|
3119
|
+
Ei as getClayAssetMode,
|
|
3120
|
+
Mi as getClayCatalogPaths,
|
|
3052
3121
|
Z as getClayIconPath,
|
|
3053
3122
|
_e as getClayIconStyles,
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3123
|
+
Ri as getClaySourceAssetPath,
|
|
3124
|
+
da as playGameInteractionSound,
|
|
3125
|
+
ca as playGameInteractionSoundForContext,
|
|
3126
|
+
Ii as setClayAssetMode
|
|
3058
3127
|
};
|