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