@pieai/swimmer-ui-kit 1.8.1 → 1.9.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 +18 -0
- package/NOTICE +42 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.js +1382 -669
- package/dist/preview.css +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { Fragment as e, jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
|
-
import { cloneElement as r, createContext as i, forwardRef as a, isValidElement as o,
|
|
2
|
+
import { cloneElement as r, createContext as i, forwardRef as a, isValidElement as o, useCallback as s, useContext as c, useEffect as l, useId as u, useLayoutEffect as d, useMemo as f, useRef as p, useState as m } from "react";
|
|
3
|
+
import { createPortal as h } from "react-dom";
|
|
3
4
|
//#region src/interactionSound.ts
|
|
4
|
-
var
|
|
5
|
-
function
|
|
5
|
+
var g = null, _ = !1;
|
|
6
|
+
function v(e) {
|
|
6
7
|
return typeof e != "number" || !Number.isFinite(e) ? 1 : Math.min(1, Math.max(0, e));
|
|
7
8
|
}
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
document.visibilityState === "hidden" &&
|
|
11
|
-
}),
|
|
9
|
+
function y() {
|
|
10
|
+
_ || typeof document > "u" || (document.addEventListener("visibilitychange", () => {
|
|
11
|
+
document.visibilityState === "hidden" && g?.state === "running" && g.suspend();
|
|
12
|
+
}), _ = !0);
|
|
12
13
|
}
|
|
13
|
-
function
|
|
14
|
-
return typeof window > "u" || window.AudioContext === void 0 ? null : (
|
|
14
|
+
function b() {
|
|
15
|
+
return typeof window > "u" || window.AudioContext === void 0 ? null : (y(), g ??= new window.AudioContext(), g);
|
|
15
16
|
}
|
|
16
|
-
function
|
|
17
|
+
function x(e) {
|
|
17
18
|
let t = /* @__PURE__ */ new WeakMap();
|
|
18
19
|
return {
|
|
19
20
|
createGain: () => {
|
|
@@ -50,21 +51,21 @@ function _(e) {
|
|
|
50
51
|
suspend: () => e.suspend()
|
|
51
52
|
};
|
|
52
53
|
}
|
|
53
|
-
function
|
|
54
|
+
function S(e, t = {}) {
|
|
54
55
|
if (t.enabled === !1) return !1;
|
|
55
|
-
let n = .06 *
|
|
56
|
+
let n = .06 * v(t.masterVolume) * v(t.sfxVolume);
|
|
56
57
|
if (n <= 0) return !1;
|
|
57
58
|
e.state === "suspended" && e.resume();
|
|
58
59
|
let r = e.currentTime, i = e.createOscillator(), a = e.createGain();
|
|
59
60
|
return i.type = "triangle", i.frequency.setValueAtTime(420, r), i.frequency.exponentialRampToValueAtTime(620, r + .045), a.gain.setValueAtTime(1e-4, r), a.gain.exponentialRampToValueAtTime(n, r + .008), a.gain.exponentialRampToValueAtTime(1e-4, r + .055), i.connect(a), a.connect(e.destination), i.start(r), i.stop(r + .055), !0;
|
|
60
61
|
}
|
|
61
|
-
function
|
|
62
|
-
let t =
|
|
63
|
-
return t ?
|
|
62
|
+
function C(e = {}) {
|
|
63
|
+
let t = b();
|
|
64
|
+
return t ? S(x(t), e) : !1;
|
|
64
65
|
}
|
|
65
66
|
//#endregion
|
|
66
67
|
//#region src/GameButton.tsx
|
|
67
|
-
function
|
|
68
|
+
function w({ children: e, className: n, onClick: r, sound: i = !1, static: a = !1, type: o = "button", variant: s = "secondary", ...c }) {
|
|
68
69
|
return /* @__PURE__ */ t("button", {
|
|
69
70
|
className: [
|
|
70
71
|
"game-ui-button",
|
|
@@ -73,7 +74,7 @@ function b({ children: e, className: n, onClick: r, sound: i = !1, static: a = !
|
|
|
73
74
|
n
|
|
74
75
|
].filter(Boolean).join(" "),
|
|
75
76
|
onClick: (e) => {
|
|
76
|
-
i &&
|
|
77
|
+
i && C(i), r?.(e);
|
|
77
78
|
},
|
|
78
79
|
type: o,
|
|
79
80
|
...c,
|
|
@@ -82,28 +83,28 @@ function b({ children: e, className: n, onClick: r, sound: i = !1, static: a = !
|
|
|
82
83
|
}
|
|
83
84
|
//#endregion
|
|
84
85
|
//#region src/liquidMetalBudget.ts
|
|
85
|
-
var
|
|
86
|
-
function
|
|
86
|
+
var T = 2, E = 2, D = 0;
|
|
87
|
+
function O() {
|
|
87
88
|
return {
|
|
88
|
-
limit:
|
|
89
|
-
used:
|
|
89
|
+
limit: E,
|
|
90
|
+
used: D
|
|
90
91
|
};
|
|
91
92
|
}
|
|
92
|
-
function
|
|
93
|
-
|
|
93
|
+
function ee(e) {
|
|
94
|
+
E = Number.isFinite(e) ? Math.max(0, Math.floor(e)) : 0;
|
|
94
95
|
}
|
|
95
|
-
function
|
|
96
|
-
return
|
|
96
|
+
function k() {
|
|
97
|
+
return D >= E ? !1 : (D += 1, !0);
|
|
97
98
|
}
|
|
98
99
|
function te() {
|
|
99
|
-
|
|
100
|
+
D > 0 && --D;
|
|
100
101
|
}
|
|
101
|
-
function
|
|
102
|
+
function ne(e) {
|
|
102
103
|
return !(e.renderer === "css" || !e.hasWebGL2 || e.prefersReducedMotion || !e.isInViewport);
|
|
103
104
|
}
|
|
104
105
|
//#endregion
|
|
105
106
|
//#region src/liquidMetalWebGL.ts
|
|
106
|
-
var
|
|
107
|
+
var A = "#version 300 es\nin vec2 position; void main(){ gl_Position = vec4(position,0.,1.); }", j = "#version 300 es\nprecision highp float;\nout vec4 o;\n\nuniform vec2 uC; // pill centre, device px\nuniform vec2 uHalf; // pill half-extent, device px\nuniform float uT; // seconds\nuniform float uHover; // 0..1\nuniform float uPress; // 0..1, eased\nuniform vec4 uRip[3]; // xy centre (button heights, +y down), z start, w live\nuniform vec4 uRipK; // speed, ring width, decay, amplitude\nuniform vec4 uRipK2; // facet depth, facet count, crest sharpness, emission\nuniform vec4 uPtr; // xy trailing cursor, z strength, w normalised speed\nuniform vec4 uPtrK; // radius, base amplitude, speed amplitude, rim lift\nuniform vec3 uAccent; // brand tint from computed --game-ui-liquid-metal-accent\n\n#define PI 3.14159265\n\nfloat sdPill(vec2 p, vec2 b, float r){\n vec2 q = abs(p) - b + r;\n return min(max(q.x,q.y),0.) + length(max(q,0.)) - r;\n}\n\n/* Expanding ring from each press, in button-height units. Three slots so a\n quick double-tap overlaps instead of cutting the first one off.\n\n Two things keep it from reading as a water ripple: the wavefront is\n faceted rather than circular — its radius is modulated by angle, and the\n facets rotate as it travels — and the crest profile is a cusp rather than\n a gaussian, so it lands as a crease in sheet metal instead of a soft swell. */\nfloat ripple(vec2 p, float t){\n float sum = 0.;\n for(int i = 0; i < 3; i++){\n if(uRip[i].w < 0.5) continue;\n float age = t - uRip[i].z;\n if(age < 0. || age > 4.) continue;\n vec2 rp = p - uRip[i].xy;\n float facet = 1. + uRipK2.x * cos(uRipK2.y * atan(rp.y, rp.x) + age * 2.1 + float(i) * 2.4);\n float x = (length(rp) - age * uRipK.x * facet) / uRipK.y;\n sum += exp(-pow(abs(x) + 1e-4, uRipK2.z)) * exp(-age * uRipK.z);\n }\n return sum;\n}\n\n/* A soft well under the cursor. It lags behind the real pointer and swells\n with speed, so moving across the button drags the metal rather than sliding\n a static blob over it. */\nfloat pointerW(vec2 p){\n if(uPtr.z < 0.001) return 0.;\n float d = length(p - uPtr.xy) / uPtrK.x;\n return exp(-d*d) * uPtr.z;\n}\n/* Displacing the sample point, not the field value, is what makes this read as\n liquid: the bands bulge and stretch around the cursor like a lens instead of\n just getting brighter under it. */\nvec2 pointerWarp(vec2 p){\n float w = pointerW(p);\n if(w <= 0.) return vec2(0.);\n return normalize(p - uPtr.xy + vec2(1e-5)) * w * (uPtrK.y + uPtrK.z * uPtr.w);\n}\n", M = `${j}
|
|
107
108
|
uniform float uBw; // stroke half-width, device px
|
|
108
109
|
uniform float uE[8]; // base, hot, chroma-across, chroma-along, speed,
|
|
109
110
|
// topBias, press lift, ripple lift
|
|
@@ -173,7 +174,7 @@ void main(){
|
|
|
173
174
|
// what make it metal, and replacing them with a flat accent would turn
|
|
174
175
|
// the rim into a neon sticker.
|
|
175
176
|
o.rgb *= mix(vec3(1.0), uAccent, 0.40);
|
|
176
|
-
}`,
|
|
177
|
+
}`, re = `${j}
|
|
177
178
|
uniform float uP[21]; // tunables
|
|
178
179
|
|
|
179
180
|
float h21(vec2 p){
|
|
@@ -295,7 +296,7 @@ void main(){
|
|
|
295
296
|
col = col * (1. + rip * 1.15 + well * 0.60);
|
|
296
297
|
|
|
297
298
|
o = vec4(col * pill * uHover, pill);
|
|
298
|
-
}`,
|
|
299
|
+
}`, ie = "#version 300 es\nprecision highp float;\nout vec4 o;\nuniform sampler2D uTex, uTex2;\nuniform vec2 uDstTexel; // 1 / destination size (maps dest fragCoord -> uv)\nuniform vec2 uSrcTexel; // 1 / source size (tap spacing)\nuniform float uAdd; // 1 to include uTex2\nvoid main(){\n vec2 uv = gl_FragCoord.xy * uDstTexel;\n // Taps sit a quarter of a *destination* texel out, so for a 2x reduction\n // they land exactly on the four source texel centres. Spacing them by a\n // whole source texel instead — as this did originally — skips every other\n // pixel, and any fine detail in the field folds down into low-frequency\n // moiré that no amount of subsequent blurring can remove.\n vec2 e = uDstTexel * 0.25;\n vec4 s = texture(uTex, uv + vec2(-e.x,-e.y)) + texture(uTex, uv + vec2( e.x,-e.y))\n + texture(uTex, uv + vec2(-e.x, e.y)) + texture(uTex, uv + vec2( e.x, e.y));\n s *= 0.25;\n if(uAdd > 0.5){\n vec4 r = texture(uTex2, uv + vec2(-e.x,-e.y)) + texture(uTex2, uv + vec2( e.x,-e.y))\n + texture(uTex2, uv + vec2(-e.x, e.y)) + texture(uTex2, uv + vec2( e.x, e.y));\n s.rgb += r.rgb * 0.25;\n }\n o = s;\n}", ae = "#version 300 es\nprecision highp float;\nout vec4 o;\nuniform sampler2D uTex; uniform vec2 uTexel; uniform vec2 uDir; uniform float uR;\nvoid main(){\n vec2 uv = gl_FragCoord.xy * uTexel;\n vec2 st = uTexel * uDir * uR;\n vec4 s = texture(uTex, uv) * 0.1964;\n s += (texture(uTex, uv + st*1.4118) + texture(uTex, uv - st*1.4118)) * 0.2969;\n s += (texture(uTex, uv + st*3.2941) + texture(uTex, uv - st*3.2941)) * 0.0944;\n s += (texture(uTex, uv + st*5.1765) + texture(uTex, uv - st*5.1765)) * 0.0104;\n o = s;\n}", N = `${j}
|
|
299
300
|
uniform sampler2D uSoft, uRim, uGlow;
|
|
300
301
|
uniform vec2 uRes;
|
|
301
302
|
uniform float uGlowGain, uGlowIn, uOccl, uDim, uPunch;
|
|
@@ -344,7 +345,7 @@ void main(){
|
|
|
344
345
|
// CSS underneath, and this layer adds light on top of them
|
|
345
346
|
float a = clamp(max(rgb.r, max(rgb.g, rgb.b)), 0., 1.);
|
|
346
347
|
o = vec4(min(rgb, vec3(1.)), a);
|
|
347
|
-
}`,
|
|
348
|
+
}`, P = {
|
|
348
349
|
valFreq: .5,
|
|
349
350
|
valAmp: .55,
|
|
350
351
|
dens: 2.4,
|
|
@@ -366,7 +367,7 @@ void main(){
|
|
|
366
367
|
litLo: -.26,
|
|
367
368
|
litHi: .1,
|
|
368
369
|
dim: .44
|
|
369
|
-
},
|
|
370
|
+
}, oe = Object.keys(P), se = {
|
|
370
371
|
base: .2,
|
|
371
372
|
hot: .82,
|
|
372
373
|
chromA: .42,
|
|
@@ -375,14 +376,14 @@ void main(){
|
|
|
375
376
|
top: .35,
|
|
376
377
|
press: .85,
|
|
377
378
|
ripple: 1.6
|
|
378
|
-
},
|
|
379
|
+
}, ce = Object.keys(se), le = {
|
|
379
380
|
glow: 1.95,
|
|
380
381
|
glowR: 1.3,
|
|
381
382
|
glowIn: .3,
|
|
382
383
|
occl: .62,
|
|
383
384
|
soften: .24,
|
|
384
385
|
punch: 1.5
|
|
385
|
-
},
|
|
386
|
+
}, F = {
|
|
386
387
|
speed: 1.85,
|
|
387
388
|
width: .2,
|
|
388
389
|
decay: 1.35,
|
|
@@ -398,7 +399,7 @@ void main(){
|
|
|
398
399
|
ptrLag: .0016,
|
|
399
400
|
ptrVref: 4.5
|
|
400
401
|
};
|
|
401
|
-
function
|
|
402
|
+
function ue(e) {
|
|
402
403
|
let t = e.trim(), n = /^#([0-9a-f]{3,8})$/i.exec(t);
|
|
403
404
|
if (n?.[1]) {
|
|
404
405
|
let e = n[1];
|
|
@@ -423,11 +424,11 @@ function de(e) {
|
|
|
423
424
|
1
|
|
424
425
|
];
|
|
425
426
|
}
|
|
426
|
-
function
|
|
427
|
+
function de(e, t, n) {
|
|
427
428
|
let r = Number.parseFloat(e.getPropertyValue(t).trim());
|
|
428
429
|
return Number.isFinite(r) ? r : n;
|
|
429
430
|
}
|
|
430
|
-
function
|
|
431
|
+
function fe(e, t) {
|
|
431
432
|
let n = (e) => t[e] ?? null;
|
|
432
433
|
return {
|
|
433
434
|
f1: (t, r) => e.uniform1f(n(t), r),
|
|
@@ -439,7 +440,7 @@ function pe(e, t) {
|
|
|
439
440
|
i1: (t, r) => e.uniform1i(n(t), r)
|
|
440
441
|
};
|
|
441
442
|
}
|
|
442
|
-
function
|
|
443
|
+
function pe(e, t, n) {
|
|
443
444
|
if (typeof e.getContext != "function") return null;
|
|
444
445
|
let r = null;
|
|
445
446
|
try {
|
|
@@ -455,21 +456,21 @@ function me(e, t, n) {
|
|
|
455
456
|
if (!r) return null;
|
|
456
457
|
let i = r;
|
|
457
458
|
try {
|
|
458
|
-
return
|
|
459
|
+
return he(i, e, t, n);
|
|
459
460
|
} catch {
|
|
460
461
|
return i.getExtension("WEBGL_lose_context")?.loseContext(), null;
|
|
461
462
|
}
|
|
462
463
|
}
|
|
463
|
-
function
|
|
464
|
+
function me(e, t, n) {
|
|
464
465
|
let r = e.createShader(t);
|
|
465
466
|
if (!r) throw Error("liquid-metal: createShader returned null");
|
|
466
467
|
if (e.shaderSource(r, n), e.compileShader(r), !e.getShaderParameter(r, e.COMPILE_STATUS)) throw Error(e.getShaderInfoLog(r) ?? "liquid-metal: shader compile failed");
|
|
467
468
|
return r;
|
|
468
469
|
}
|
|
469
|
-
function
|
|
470
|
+
function I(e, t) {
|
|
470
471
|
let n = e.createProgram();
|
|
471
472
|
if (!n) throw Error("liquid-metal: createProgram returned null");
|
|
472
|
-
if (e.attachShader(n,
|
|
473
|
+
if (e.attachShader(n, me(e, e.VERTEX_SHADER, A)), e.attachShader(n, me(e, e.FRAGMENT_SHADER, t)), e.bindAttribLocation(n, 0, "position"), e.linkProgram(n), !e.getProgramParameter(n, e.LINK_STATUS)) throw Error(e.getProgramInfoLog(n) ?? "liquid-metal: program link failed");
|
|
473
474
|
let r = {}, i = e.getProgramParameter(n, e.ACTIVE_UNIFORMS);
|
|
474
475
|
for (let t = 0; t < i; t += 1) {
|
|
475
476
|
let i = e.getActiveUniform(n, t);
|
|
@@ -480,8 +481,8 @@ function j(e, t) {
|
|
|
480
481
|
u: r
|
|
481
482
|
};
|
|
482
483
|
}
|
|
483
|
-
function
|
|
484
|
-
let i =
|
|
484
|
+
function he(e, t, n, r) {
|
|
485
|
+
let i = I(e, re), a = I(e, M), o = I(e, ie), s = I(e, ae), c = I(e, N), l = e.createVertexArray(), u = e.createBuffer();
|
|
485
486
|
if (!l || !u) throw Error("liquid-metal: VAO/VBO unavailable");
|
|
486
487
|
e.bindVertexArray(l), e.bindBuffer(e.ARRAY_BUFFER, u), e.bufferData(e.ARRAY_BUFFER, new Float32Array([
|
|
487
488
|
-1,
|
|
@@ -505,22 +506,22 @@ function M(e, t, n, r) {
|
|
|
505
506
|
function p(t, n, r) {
|
|
506
507
|
t.w === n && t.h === r || (t.w = n, t.h = r, e.bindTexture(e.TEXTURE_2D, t.tex), d ? e.texImage2D(e.TEXTURE_2D, 0, e.RGBA16F, n, r, 0, e.RGBA, e.HALF_FLOAT, null) : e.texImage2D(e.TEXTURE_2D, 0, e.RGBA8, n, r, 0, e.RGBA, e.UNSIGNED_BYTE, null), e.bindFramebuffer(e.FRAMEBUFFER, t.fbo), e.checkFramebufferStatus(e.FRAMEBUFFER) !== e.FRAMEBUFFER_COMPLETE && (e.bindTexture(e.TEXTURE_2D, t.tex), e.texImage2D(e.TEXTURE_2D, 0, e.RGBA8, n, r, 0, e.RGBA, e.UNSIGNED_BYTE, null)));
|
|
507
508
|
}
|
|
508
|
-
let m = f(), h = f(), g = f(), _ = f(), v = f(), y = f(), b = 0, x = 0, S = 0, C = 0,
|
|
509
|
-
|
|
510
|
-
function
|
|
509
|
+
let m = f(), h = f(), g = f(), _ = f(), v = f(), y = f(), b = 0, x = 0, S = 0, C = 0, w = 0, T = 0, E = 4, D = !0, O = document.createElement("span");
|
|
510
|
+
O.setAttribute("aria-hidden", "true"), O.style.cssText = "position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;color:var(--game-ui-liquid-metal-accent)", r.appendChild(O);
|
|
511
|
+
function ee() {
|
|
511
512
|
let e = n.getBoundingClientRect(), r = Math.min(window.devicePixelRatio || 1, 2), i = 900 / 516 * Math.max(e.height, 1), a = e.width + i * 2, o = e.height + i * 2;
|
|
512
513
|
t.style.width = `${a}px`, t.style.height = `${o}px`;
|
|
513
514
|
let s = Math.max(2, Math.round(a * r)), c = Math.max(2, Math.round(o * r));
|
|
514
|
-
(s !== b || c !== x) && (b = s, x = c, t.width = b, t.height = x), S = e.width * r, C = e.height * r,
|
|
515
|
+
(s !== b || c !== x) && (b = s, x = c, t.width = b, t.height = x), S = e.width * r, C = e.height * r, w = b / 2, T = x / 2, p(m, b, x), p(h, b, x);
|
|
515
516
|
let l = Math.max(2, Math.ceil(b / 2)), u = Math.max(2, Math.ceil(x / 2));
|
|
516
|
-
p(g, l, u), p(_, l, u),
|
|
517
|
-
let d = Math.max(2, Math.ceil(b /
|
|
518
|
-
p(v, d, f), p(y, d, f),
|
|
517
|
+
p(g, l, u), p(_, l, u), E = Math.max(1, Math.min(4, Math.round(Math.max(C, 110) / 129)));
|
|
518
|
+
let d = Math.max(2, Math.ceil(b / E)), f = Math.max(2, Math.ceil(x / E));
|
|
519
|
+
p(v, d, f), p(y, d, f), D = !1;
|
|
519
520
|
}
|
|
520
|
-
function
|
|
521
|
+
function k(t) {
|
|
521
522
|
e.bindFramebuffer(e.FRAMEBUFFER, t ? t.fbo : null), e.viewport(0, 0, t ? t.w : b, t ? t.h : x), e.drawArrays(e.TRIANGLES, 0, 3);
|
|
522
523
|
}
|
|
523
|
-
let
|
|
524
|
+
let te = new Float32Array(oe.length), ne = new Float32Array(ce.length), A = 0, j = 0, pe = 0, me = performance.now(), he = [
|
|
524
525
|
0,
|
|
525
526
|
1,
|
|
526
527
|
2
|
|
@@ -529,153 +530,153 @@ function M(e, t, n, r) {
|
|
|
529
530
|
y: 0,
|
|
530
531
|
t: -99,
|
|
531
532
|
on: 0
|
|
532
|
-
})),
|
|
533
|
+
})), L = /* @__PURE__ */ new Float32Array(12), R = 0, ge = 0, _e = 0, z = {
|
|
533
534
|
x: 0,
|
|
534
535
|
y: 0
|
|
535
|
-
},
|
|
536
|
+
}, B = {
|
|
536
537
|
x: 0,
|
|
537
538
|
y: 0
|
|
538
|
-
},
|
|
539
|
+
}, ve = 0, ye = 0, V = {
|
|
539
540
|
over: !1,
|
|
540
541
|
press: !1,
|
|
541
542
|
focus: !1
|
|
542
543
|
};
|
|
543
544
|
function H(e, t) {
|
|
544
|
-
let n =
|
|
545
|
-
n && (
|
|
545
|
+
let n = he[R];
|
|
546
|
+
n && (R = (R + 1) % he.length, n.x = e, n.y = t, n.t = pe, n.on = 1);
|
|
546
547
|
}
|
|
547
548
|
function U(e) {
|
|
548
549
|
let t = n.getBoundingClientRect(), r = t.height || 1;
|
|
549
550
|
return [(e.clientX - (t.left + t.width / 2)) / r, (e.clientY - (t.top + t.height / 2)) / r];
|
|
550
551
|
}
|
|
551
552
|
function W() {
|
|
552
|
-
|
|
553
|
+
j = V.over || V.press || V.focus ? 1 : 0, _e = +!!V.press;
|
|
553
554
|
}
|
|
554
|
-
let be = window.matchMedia("(prefers-reduced-motion: reduce)"), xe = null, G = 0,
|
|
555
|
-
function
|
|
555
|
+
let be = window.matchMedia("(prefers-reduced-motion: reduce)"), xe = null, G = 0, Se = !1, Ce = !1;
|
|
556
|
+
function we() {
|
|
556
557
|
let e = getComputedStyle(n);
|
|
557
|
-
return
|
|
558
|
+
return se.base = de(e, "--game-ui-liquid-metal-rest", se.base), se.speed = de(e, "--game-ui-liquid-metal-sweep-speed", se.speed), P.disp = de(e, "--game-ui-liquid-metal-dispersion", P.disp), le.glow = de(e, "--game-ui-liquid-metal-bloom", le.glow), { accent: ue(getComputedStyle(O).color) };
|
|
558
559
|
}
|
|
559
|
-
function
|
|
560
|
-
if (G = 0,
|
|
561
|
-
let r = (t -
|
|
562
|
-
|
|
560
|
+
function Te(t) {
|
|
561
|
+
if (G = 0, Se || Ce) return;
|
|
562
|
+
let r = (t - me) / 1e3;
|
|
563
|
+
me = t;
|
|
563
564
|
let l = Math.min(r, 1 / 20);
|
|
564
|
-
be.matches || (
|
|
565
|
-
let u =
|
|
566
|
-
|
|
567
|
-
let d =
|
|
568
|
-
|
|
565
|
+
be.matches || (pe += l);
|
|
566
|
+
let u = j > A ? 1 - .0012 ** l : 1 - 12e-5 ** l;
|
|
567
|
+
A += (j - A) * u, Math.abs(j - A) < 8e-4 && (A = j);
|
|
568
|
+
let d = _e > ge ? 1 - 1e-9 ** l : 1 - .004 ** l;
|
|
569
|
+
ge += (_e - ge) * d, Math.abs(_e - ge) < .002 && (ge = _e);
|
|
569
570
|
let f = !1;
|
|
570
|
-
for (let e = 0; e <
|
|
571
|
-
let t =
|
|
572
|
-
t && (t.on &&
|
|
571
|
+
for (let e = 0; e < he.length; e += 1) {
|
|
572
|
+
let t = he[e];
|
|
573
|
+
t && (t.on && pe - t.t > 4 && (t.on = 0), t.on && (f = !0), L[e * 4] = t.x, L[e * 4 + 1] = t.y, L[e * 4 + 2] = t.t, L[e * 4 + 3] = t.on);
|
|
573
574
|
}
|
|
574
|
-
let p = 1 -
|
|
575
|
-
|
|
576
|
-
let
|
|
577
|
-
|
|
578
|
-
let
|
|
579
|
-
|
|
580
|
-
let
|
|
581
|
-
if (
|
|
582
|
-
G = requestAnimationFrame(
|
|
575
|
+
let p = 1 - F.ptrLag ** +l, O = (z.x - B.x) * p, M = (z.y - B.y) * p;
|
|
576
|
+
B.x += O, B.y += M;
|
|
577
|
+
let re = Math.min(Math.hypot(O, M) / Math.max(l, .001) / F.ptrVref, 1);
|
|
578
|
+
ye += (re - ye) * (1 - (re > ye ? .001 : .02) ** l);
|
|
579
|
+
let ie = V.over || V.press ? 1 : 0;
|
|
580
|
+
ve += (ie - ve) * (1 - .004 ** l), Math.abs(ie - ve) < .002 && (ve = ie), V.over = n.matches(":hover"), V.focus = n.matches(":focus-visible"), W(), D && ee();
|
|
581
|
+
let ae = be.matches && !f && ve < .002 ? `${A}|${ge}|${b}|${x}` : null;
|
|
582
|
+
if (ae !== null && ae === xe) {
|
|
583
|
+
G = requestAnimationFrame(Te);
|
|
583
584
|
return;
|
|
584
585
|
}
|
|
585
|
-
xe =
|
|
586
|
-
let { accent:
|
|
587
|
-
for (let e = 0; e <
|
|
588
|
-
let t =
|
|
589
|
-
t && (
|
|
586
|
+
xe = ae;
|
|
587
|
+
let { accent: N } = we();
|
|
588
|
+
for (let e = 0; e < te.length; e += 1) {
|
|
589
|
+
let t = oe[e];
|
|
590
|
+
t && (te[e] = P[t]);
|
|
590
591
|
}
|
|
591
|
-
for (let e = 0; e <
|
|
592
|
-
let t =
|
|
593
|
-
t && (
|
|
592
|
+
for (let e = 0; e < ne.length; e += 1) {
|
|
593
|
+
let t = ce[e];
|
|
594
|
+
t && (ne[e] = se[t]);
|
|
594
595
|
}
|
|
595
|
-
let
|
|
596
|
-
e.useProgram(i.p),
|
|
597
|
-
let
|
|
598
|
-
if (
|
|
599
|
-
let t = Math.min(4, Math.max(1, Math.ceil(
|
|
600
|
-
U.f1("uR",
|
|
601
|
-
for (let n = 0; n < t; n += 1) e.bindTexture(e.TEXTURE_2D, g.tex), U.f2("uDir", 1, 0),
|
|
596
|
+
let ue = Math.max(C, 110), de = Math.max(2.4, ue / 516 * 3.2), I = fe(e, i.u), R = fe(e, a.u), H = fe(e, o.u), U = fe(e, s.u), K = fe(e, c.u);
|
|
597
|
+
e.useProgram(i.p), I.f2("uC", w, T), I.f2("uHalf", S / 2, C / 2), I.f1("uT", pe), I.f1("uHover", A), I.f1("uPress", ge), I.fv4("uRip", L), I.f4("uRipK", F.speed, F.width, F.decay, F.amp), I.f4("uRipK2", F.facet, F.lobes, F.sharp, F.emit), I.f4("uPtr", B.x, B.y, ve, ye), I.f4("uPtrK", F.ptrRad, F.ptrAmp, F.ptrFast, F.ptrRim), I.f3("uAccent", N[0], N[1], N[2]), I.fv1("uP", te), k(m), e.useProgram(a.p), R.f2("uC", w, T), R.f2("uHalf", S / 2, C / 2), R.f1("uT", pe), R.f1("uBw", de), R.f1("uPress", ge), R.fv4("uRip", L), R.f4("uRipK", F.speed, F.width, F.decay, F.amp), R.f4("uRipK2", F.facet, F.lobes, F.sharp, F.emit), R.f4("uPtr", B.x, B.y, ve, ye), R.f4("uPtrK", F.ptrRad, F.ptrAmp, F.ptrFast, F.ptrRim), R.f3("uAccent", N[0], N[1], N[2]), R.fv1("uE", ne), k(h), e.useProgram(o.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, m.tex), H.i1("uTex", 0), H.f1("uAdd", 0), H.f2("uDstTexel", 1 / g.w, 1 / g.h), H.f2("uSrcTexel", 1 / b, 1 / x), k(g), e.useProgram(s.p), U.i1("uTex", 0), U.f2("uTexel", 1 / g.w, 1 / g.h);
|
|
598
|
+
let Ee = le.soften * (ue * .5) * .95;
|
|
599
|
+
if (Ee > .1) {
|
|
600
|
+
let t = Math.min(4, Math.max(1, Math.ceil(Ee / 3)));
|
|
601
|
+
U.f1("uR", Ee / Math.sqrt(t) / 1.95);
|
|
602
|
+
for (let n = 0; n < t; n += 1) e.bindTexture(e.TEXTURE_2D, g.tex), U.f2("uDir", 1, 0), k(_), e.bindTexture(e.TEXTURE_2D, _.tex), U.f2("uDir", 0, 1), k(g);
|
|
602
603
|
}
|
|
603
|
-
e.useProgram(o.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, g.tex), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, h.tex), H.i1("uTex", 0), H.i1("uTex2", 1), H.f1("uAdd", 1), H.f2("uDstTexel", 1 / v.w, 1 / v.h), H.f2("uSrcTexel", 1 / g.w, 1 / g.h),
|
|
604
|
-
let
|
|
604
|
+
e.useProgram(o.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, g.tex), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, h.tex), H.i1("uTex", 0), H.i1("uTex2", 1), H.f1("uAdd", 1), H.f2("uDstTexel", 1 / v.w, 1 / v.h), H.f2("uSrcTexel", 1 / g.w, 1 / g.h), k(v), e.useProgram(s.p), e.activeTexture(e.TEXTURE0), U.i1("uTex", 0), U.f2("uTexel", 1 / v.w, 1 / v.h);
|
|
605
|
+
let De = le.glowR * (ue / E) / 129;
|
|
605
606
|
for (let t of [
|
|
606
607
|
1,
|
|
607
608
|
2.3,
|
|
608
609
|
5.2,
|
|
609
610
|
9
|
|
610
|
-
].map((e) => e *
|
|
611
|
-
e.useProgram(c.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, g.tex),
|
|
611
|
+
].map((e) => e * De)) U.f1("uR", t), e.bindTexture(e.TEXTURE_2D, v.tex), U.f2("uDir", 1, 0), k(y), e.bindTexture(e.TEXTURE_2D, y.tex), U.f2("uDir", 0, 1), k(v);
|
|
612
|
+
e.useProgram(c.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, g.tex), K.i1("uSoft", 0), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, h.tex), K.i1("uRim", 1), e.activeTexture(e.TEXTURE2), e.bindTexture(e.TEXTURE_2D, v.tex), K.i1("uGlow", 2), K.f2("uRes", b, x), K.f2("uC", w, T), K.f2("uHalf", S / 2, C / 2), K.f1("uT", pe), K.fv4("uRip", L), K.f4("uRipK", F.speed, F.width, F.decay, F.amp), K.f4("uRipK2", F.facet, F.lobes, F.sharp, F.emit), K.f3("uAccent", N[0], N[1], N[2]), K.f1("uGlowGain", le.glow), K.f1("uGlowIn", le.glowIn), K.f1("uOccl", le.occl), K.f1("uDim", P.dim), K.f1("uPunch", le.punch), k(null), G = requestAnimationFrame(Te);
|
|
612
613
|
}
|
|
613
|
-
let
|
|
614
|
+
let K = (e) => {
|
|
614
615
|
if (e.pointerType !== "mouse") return;
|
|
615
616
|
let [t, n] = U(e);
|
|
616
|
-
|
|
617
|
-
},
|
|
617
|
+
z.x = t, z.y = n, B.x = t, B.y = n, ye = 0, V.over = !0, W();
|
|
618
|
+
}, Ee = (e) => {
|
|
618
619
|
e.pointerType === "mouse" && (V.over = !1, W());
|
|
619
|
-
},
|
|
620
|
+
}, De = (e) => {
|
|
620
621
|
if (!V.over && !V.press) return;
|
|
621
622
|
let [t, n] = U(e);
|
|
622
|
-
|
|
623
|
-
},
|
|
623
|
+
z.x = t, z.y = n;
|
|
624
|
+
}, Oe = (e) => {
|
|
624
625
|
let [t, n] = U(e);
|
|
625
|
-
|
|
626
|
-
},
|
|
626
|
+
z.x = t, z.y = n, V.press = !0, W(), H(t, n);
|
|
627
|
+
}, ke = () => {
|
|
627
628
|
V.press = !1, W();
|
|
628
|
-
},
|
|
629
|
+
}, Ae = () => {
|
|
629
630
|
V.focus = n.matches(":focus-visible"), W();
|
|
630
|
-
},
|
|
631
|
+
}, je = () => {
|
|
631
632
|
V.focus = !1, W();
|
|
632
|
-
},
|
|
633
|
+
}, Me = (e) => {
|
|
633
634
|
e.key !== "Enter" && e.key !== " " || e.repeat || (V.press = !0, W(), H(0, 0));
|
|
634
|
-
},
|
|
635
|
+
}, Ne = (e) => {
|
|
635
636
|
e.key !== "Enter" && e.key !== " " || (V.press = !1, W());
|
|
636
637
|
};
|
|
637
|
-
n.addEventListener("pointerenter",
|
|
638
|
-
let
|
|
639
|
-
|
|
638
|
+
n.addEventListener("pointerenter", K), n.addEventListener("pointerleave", Ee), window.addEventListener("pointermove", De, { passive: !0 }), n.addEventListener("pointerdown", Oe), window.addEventListener("pointerup", ke), window.addEventListener("pointercancel", ke), n.addEventListener("focus", Ae), n.addEventListener("blur", je), n.addEventListener("keydown", Me), n.addEventListener("keyup", Ne);
|
|
639
|
+
let Pe = new ResizeObserver(() => {
|
|
640
|
+
D = !0;
|
|
640
641
|
});
|
|
641
|
-
return
|
|
642
|
+
return Pe.observe(r), Pe.observe(n), ee(), G = requestAnimationFrame(Te), {
|
|
642
643
|
pause: () => {
|
|
643
|
-
|
|
644
|
+
Se = !0, G && cancelAnimationFrame(G), G = 0;
|
|
644
645
|
},
|
|
645
646
|
resume: () => {
|
|
646
|
-
|
|
647
|
+
Ce || (Se = !1, me = performance.now(), xe = null, G ||= requestAnimationFrame(Te));
|
|
647
648
|
},
|
|
648
649
|
dispose: () => {
|
|
649
|
-
|
|
650
|
+
Ce || (Ce = !0, Se = !0, G && cancelAnimationFrame(G), G = 0, Pe.disconnect(), n.removeEventListener("pointerenter", K), n.removeEventListener("pointerleave", Ee), window.removeEventListener("pointermove", De), n.removeEventListener("pointerdown", Oe), window.removeEventListener("pointerup", ke), window.removeEventListener("pointercancel", ke), n.removeEventListener("focus", Ae), n.removeEventListener("blur", je), n.removeEventListener("keydown", Me), n.removeEventListener("keyup", Ne), O.remove(), e.getExtension("WEBGL_lose_context")?.loseContext());
|
|
650
651
|
}
|
|
651
652
|
};
|
|
652
653
|
}
|
|
653
654
|
//#endregion
|
|
654
655
|
//#region src/LiquidMetalButton.tsx
|
|
655
|
-
function
|
|
656
|
-
let
|
|
657
|
-
|
|
658
|
-
let e =
|
|
656
|
+
function L({ children: e, className: r, onClick: i, sound: a = !1, type: o = "button", renderer: s = "auto", ...c }) {
|
|
657
|
+
let u = p(null), d = p(null), f = p(null), [h, g] = m("css");
|
|
658
|
+
l(() => {
|
|
659
|
+
let e = u.current, t = d.current, n = f.current;
|
|
659
660
|
if (!e || !t || !n) return;
|
|
660
661
|
let r = window.matchMedia("(prefers-reduced-motion: reduce)"), i = !1, a = !1, o = null, c = !1, l = () => {
|
|
661
662
|
o?.dispose(), o = null, a &&= (te(), !1), c || g("css");
|
|
662
|
-
},
|
|
663
|
-
if (!(c || o) &&
|
|
663
|
+
}, p = () => {
|
|
664
|
+
if (!(c || o) && ne({
|
|
664
665
|
renderer: s,
|
|
665
666
|
hasWebGL2: typeof WebGL2RenderingContext < "u",
|
|
666
667
|
prefersReducedMotion: r.matches,
|
|
667
668
|
isInViewport: i
|
|
668
|
-
}) &&
|
|
669
|
-
if (a = !0, o =
|
|
669
|
+
}) && k()) {
|
|
670
|
+
if (a = !0, o = pe(n, t, e), !o) {
|
|
670
671
|
te(), a = !1;
|
|
671
672
|
return;
|
|
672
673
|
}
|
|
673
674
|
g("webgl");
|
|
674
675
|
}
|
|
675
|
-
},
|
|
676
|
-
i = !!e[0]?.isIntersecting, o ? i && document.visibilityState !== "hidden" ? o.resume() : o.pause() :
|
|
676
|
+
}, m = new IntersectionObserver((e) => {
|
|
677
|
+
i = !!e[0]?.isIntersecting, o ? i && document.visibilityState !== "hidden" ? o.resume() : o.pause() : p();
|
|
677
678
|
}, { rootMargin: "80px" });
|
|
678
|
-
|
|
679
|
+
m.observe(e);
|
|
679
680
|
let h = () => {
|
|
680
681
|
o && (document.visibilityState === "hidden" || !i ? o.pause() : o.resume());
|
|
681
682
|
};
|
|
@@ -685,17 +686,17 @@ function N({ children: e, className: r, onClick: i, sound: a = !1, type: o = "bu
|
|
|
685
686
|
l();
|
|
686
687
|
return;
|
|
687
688
|
}
|
|
688
|
-
|
|
689
|
+
p();
|
|
689
690
|
};
|
|
690
|
-
return r.addEventListener("change", _),
|
|
691
|
-
c = !0,
|
|
691
|
+
return r.addEventListener("change", _), p(), () => {
|
|
692
|
+
c = !0, m.disconnect(), document.removeEventListener("visibilitychange", h), r.removeEventListener("change", _), l();
|
|
692
693
|
};
|
|
693
694
|
}, [s]);
|
|
694
695
|
let _ = (e) => {
|
|
695
|
-
a &&
|
|
696
|
+
a && C(a), i?.(e);
|
|
696
697
|
}, v = ["game-ui-liquid-metal", r].filter(Boolean).join(" ");
|
|
697
698
|
return /* @__PURE__ */ n("span", {
|
|
698
|
-
ref:
|
|
699
|
+
ref: u,
|
|
699
700
|
className: "game-ui-liquid-metal-host",
|
|
700
701
|
"data-renderer": h,
|
|
701
702
|
children: [
|
|
@@ -704,16 +705,16 @@ function N({ children: e, className: r, onClick: i, sound: a = !1, type: o = "bu
|
|
|
704
705
|
className: "game-ui-liquid-metal-plate"
|
|
705
706
|
}),
|
|
706
707
|
/* @__PURE__ */ t("canvas", {
|
|
707
|
-
ref:
|
|
708
|
+
ref: f,
|
|
708
709
|
"aria-hidden": "true",
|
|
709
710
|
className: "game-ui-liquid-metal-canvas"
|
|
710
711
|
}),
|
|
711
712
|
/* @__PURE__ */ t("button", {
|
|
712
713
|
className: v,
|
|
713
714
|
onClick: _,
|
|
714
|
-
ref:
|
|
715
|
+
ref: d,
|
|
715
716
|
type: o,
|
|
716
|
-
...
|
|
717
|
+
...c,
|
|
717
718
|
children: /* @__PURE__ */ t("span", {
|
|
718
719
|
className: "game-ui-liquid-metal-label",
|
|
719
720
|
children: e
|
|
@@ -723,8 +724,720 @@ function N({ children: e, className: r, onClick: i, sound: a = !1, type: o = "bu
|
|
|
723
724
|
});
|
|
724
725
|
}
|
|
725
726
|
//#endregion
|
|
727
|
+
//#region src/liquidGooeyFilter.tsx
|
|
728
|
+
var R = "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 60 -29.5";
|
|
729
|
+
function ge({ index: n, shadow: r }) {
|
|
730
|
+
let i = [], a = "bin";
|
|
731
|
+
return r.spread !== 0 && (i.push(/* @__PURE__ */ t("feMorphology", {
|
|
732
|
+
in: a,
|
|
733
|
+
operator: r.spread > 0 ? "erode" : "dilate",
|
|
734
|
+
radius: Math.abs(r.spread),
|
|
735
|
+
result: `shadow-${n}-erode`
|
|
736
|
+
}, "erode")), a = `shadow-${n}-erode`), (r.x !== 0 || r.y !== 0) && (i.push(/* @__PURE__ */ t("feOffset", {
|
|
737
|
+
in: a,
|
|
738
|
+
dx: r.x,
|
|
739
|
+
dy: r.y,
|
|
740
|
+
result: `shadow-${n}-offset`
|
|
741
|
+
}, "offset")), a = `shadow-${n}-offset`), r.blur > 0 && (i.push(/* @__PURE__ */ t("feGaussianBlur", {
|
|
742
|
+
in: a,
|
|
743
|
+
stdDeviation: r.blur / 2,
|
|
744
|
+
result: `shadow-${n}-blur`
|
|
745
|
+
}, "blur")), a = `shadow-${n}-blur`), i.push(/* @__PURE__ */ t("feComposite", {
|
|
746
|
+
in: "bin",
|
|
747
|
+
in2: a,
|
|
748
|
+
operator: "out",
|
|
749
|
+
result: `shadow-${n}-band`
|
|
750
|
+
}, "band"), /* @__PURE__ */ t("feFlood", {
|
|
751
|
+
floodColor: r.color,
|
|
752
|
+
result: `shadow-${n}-color`
|
|
753
|
+
}, "color"), /* @__PURE__ */ t("feComposite", {
|
|
754
|
+
in: `shadow-${n}-color`,
|
|
755
|
+
in2: `shadow-${n}-band`,
|
|
756
|
+
operator: "in",
|
|
757
|
+
result: `shadow-${n}`
|
|
758
|
+
}, "fill")), /* @__PURE__ */ t(e, { children: i });
|
|
759
|
+
}
|
|
760
|
+
function _e({ index: n, shadow: r }) {
|
|
761
|
+
let i = [], a = "shape";
|
|
762
|
+
return r.spread !== 0 && (i.push(/* @__PURE__ */ t("feMorphology", {
|
|
763
|
+
in: "bin",
|
|
764
|
+
operator: r.spread > 0 ? "dilate" : "erode",
|
|
765
|
+
radius: Math.abs(r.spread),
|
|
766
|
+
result: `shadow-${n}-spread`
|
|
767
|
+
}, "spread")), a = `shadow-${n}-spread`), r.blur > 0 && (i.push(/* @__PURE__ */ t("feGaussianBlur", {
|
|
768
|
+
in: a,
|
|
769
|
+
stdDeviation: r.blur / 2,
|
|
770
|
+
result: `shadow-${n}-blur`
|
|
771
|
+
}, "blur")), a = `shadow-${n}-blur`), (r.x !== 0 || r.y !== 0) && (i.push(/* @__PURE__ */ t("feOffset", {
|
|
772
|
+
in: a,
|
|
773
|
+
dx: r.x,
|
|
774
|
+
dy: r.y,
|
|
775
|
+
result: `shadow-${n}-offset`
|
|
776
|
+
}, "offset")), a = `shadow-${n}-offset`), i.push(/* @__PURE__ */ t("feFlood", {
|
|
777
|
+
floodColor: r.color,
|
|
778
|
+
result: `shadow-${n}-color`
|
|
779
|
+
}, "color"), /* @__PURE__ */ t("feComposite", {
|
|
780
|
+
in: `shadow-${n}-color`,
|
|
781
|
+
in2: a,
|
|
782
|
+
operator: "in",
|
|
783
|
+
result: `shadow-${n}`
|
|
784
|
+
}, "fill")), /* @__PURE__ */ t(e, { children: i });
|
|
785
|
+
}
|
|
786
|
+
function z({ stroke: n }) {
|
|
787
|
+
let r = [];
|
|
788
|
+
return r.push(/* @__PURE__ */ t("feMorphology", {
|
|
789
|
+
in: "bin",
|
|
790
|
+
operator: "erode",
|
|
791
|
+
radius: n.width,
|
|
792
|
+
result: "stroke-erode"
|
|
793
|
+
}, "erode"), /* @__PURE__ */ t("feComposite", {
|
|
794
|
+
in: "bin",
|
|
795
|
+
in2: "stroke-erode",
|
|
796
|
+
operator: "out",
|
|
797
|
+
result: "stroke-band"
|
|
798
|
+
}, "band"), /* @__PURE__ */ t("feFlood", {
|
|
799
|
+
floodColor: n.color,
|
|
800
|
+
result: "stroke-color"
|
|
801
|
+
}, "color"), /* @__PURE__ */ t("feComposite", {
|
|
802
|
+
in: "stroke-color",
|
|
803
|
+
in2: "stroke-band",
|
|
804
|
+
operator: "in",
|
|
805
|
+
result: "stroke-out"
|
|
806
|
+
}, "fill")), /* @__PURE__ */ t(e, { children: r });
|
|
807
|
+
}
|
|
808
|
+
function B({ blur: r, contrast: i, shadows: a, stroke: o }) {
|
|
809
|
+
let s = Math.round((.5 - 5 / 12 * i) * 100) / 100;
|
|
810
|
+
return /* @__PURE__ */ n(e, { children: [
|
|
811
|
+
/* @__PURE__ */ t("feGaussianBlur", {
|
|
812
|
+
in: "SourceGraphic",
|
|
813
|
+
stdDeviation: r,
|
|
814
|
+
result: "blur"
|
|
815
|
+
}),
|
|
816
|
+
/* @__PURE__ */ t("feColorMatrix", {
|
|
817
|
+
in: "blur",
|
|
818
|
+
type: "matrix",
|
|
819
|
+
values: `1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 ${i} ${s}`,
|
|
820
|
+
result: "goo"
|
|
821
|
+
}),
|
|
822
|
+
/* @__PURE__ */ t("feComposite", {
|
|
823
|
+
in: "SourceGraphic",
|
|
824
|
+
in2: "goo",
|
|
825
|
+
operator: "atop",
|
|
826
|
+
result: "shape"
|
|
827
|
+
}),
|
|
828
|
+
o !== null || a.some((e) => e.inset || e.spread !== 0) ? /* @__PURE__ */ t("feColorMatrix", {
|
|
829
|
+
in: "shape",
|
|
830
|
+
type: "matrix",
|
|
831
|
+
values: R,
|
|
832
|
+
result: "bin"
|
|
833
|
+
}) : null,
|
|
834
|
+
a.map((e, n) => e.inset ? /* @__PURE__ */ t(ge, {
|
|
835
|
+
index: n,
|
|
836
|
+
shadow: e
|
|
837
|
+
}, n) : /* @__PURE__ */ t(_e, {
|
|
838
|
+
index: n,
|
|
839
|
+
shadow: e
|
|
840
|
+
}, n)),
|
|
841
|
+
o ? /* @__PURE__ */ t(z, { stroke: o }) : null,
|
|
842
|
+
a.length > 0 || o ? /* @__PURE__ */ n("feMerge", { children: [
|
|
843
|
+
a.map((e, t) => e.inset ? -1 : t).filter((e) => e >= 0).reverse().map((e) => /* @__PURE__ */ t("feMergeNode", { in: `shadow-${e}` }, e)),
|
|
844
|
+
/* @__PURE__ */ t("feMergeNode", { in: "shape" }),
|
|
845
|
+
o ? /* @__PURE__ */ t("feMergeNode", { in: "stroke-out" }) : null,
|
|
846
|
+
a.map((e, n) => e.inset ? /* @__PURE__ */ t("feMergeNode", { in: `shadow-${n}` }, n) : null)
|
|
847
|
+
] }) : null
|
|
848
|
+
] });
|
|
849
|
+
}
|
|
850
|
+
//#endregion
|
|
851
|
+
//#region src/liquidGooeyGeometry.ts
|
|
852
|
+
function ve(e, t) {
|
|
853
|
+
let n = 0, r = 0, i = e;
|
|
854
|
+
for (; i && i !== t && t.contains(i);) n += i.offsetLeft, r += i.offsetTop, i = i.offsetParent;
|
|
855
|
+
return {
|
|
856
|
+
x: n,
|
|
857
|
+
y: r
|
|
858
|
+
};
|
|
859
|
+
}
|
|
860
|
+
function ye(e, t, n) {
|
|
861
|
+
let r = getComputedStyle(e), i = (e) => {
|
|
862
|
+
let r = e.split(" ")[0] ?? "";
|
|
863
|
+
return r.endsWith("%") ? (parseFloat(r) || 0) / 100 * Math.min(t, n) : parseFloat(r) || 0;
|
|
864
|
+
};
|
|
865
|
+
return [
|
|
866
|
+
i(r.borderTopLeftRadius),
|
|
867
|
+
i(r.borderTopRightRadius),
|
|
868
|
+
i(r.borderBottomRightRadius),
|
|
869
|
+
i(r.borderBottomLeftRadius)
|
|
870
|
+
];
|
|
871
|
+
}
|
|
872
|
+
function V(e) {
|
|
873
|
+
return typeof e == "number" ? [
|
|
874
|
+
e,
|
|
875
|
+
e,
|
|
876
|
+
e,
|
|
877
|
+
e
|
|
878
|
+
] : e;
|
|
879
|
+
}
|
|
880
|
+
function H(e, t, n, r, i) {
|
|
881
|
+
let [a, o, s, c] = i.map((e) => Math.max(0, e)), l = Math.min(1, n / Math.max(1e-6, a + o), n / Math.max(1e-6, c + s), r / Math.max(1e-6, a + c), r / Math.max(1e-6, o + s));
|
|
882
|
+
return a *= l, o *= l, s *= l, c *= l, `M ${e + a} ${t} H ${e + n - o} A ${o} ${o} 0 0 1 ${e + n} ${t + o} V ${t + r - s} A ${s} ${s} 0 0 1 ${e + n - s} ${t + r} H ${e + c} A ${c} ${c} 0 0 1 ${e} ${t + r - c} V ${t + a} A ${a} ${a} 0 0 1 ${e + a} ${t} Z`;
|
|
883
|
+
}
|
|
884
|
+
//#endregion
|
|
885
|
+
//#region src/liquidGooeyBudget.ts
|
|
886
|
+
var U = 2, W = 48e4, be = 2, xe = W, G = 0;
|
|
887
|
+
function Se(e, t) {
|
|
888
|
+
return Number.isFinite(e) ? Math.max(0, Math.floor(e)) : t;
|
|
889
|
+
}
|
|
890
|
+
function Ce() {
|
|
891
|
+
return {
|
|
892
|
+
maxAnimatedGroups: be,
|
|
893
|
+
maxFilterArea: xe,
|
|
894
|
+
activeGroups: G
|
|
895
|
+
};
|
|
896
|
+
}
|
|
897
|
+
function we(e) {
|
|
898
|
+
if (typeof e == "number") {
|
|
899
|
+
be = Se(e, 0);
|
|
900
|
+
return;
|
|
901
|
+
}
|
|
902
|
+
e.maxAnimatedGroups !== void 0 && (be = Se(e.maxAnimatedGroups, 0)), e.maxFilterArea !== void 0 && (xe = Se(e.maxFilterArea, 0));
|
|
903
|
+
}
|
|
904
|
+
function Te(e) {
|
|
905
|
+
return G >= be || (Number.isFinite(e) ? Math.max(0, e) : Infinity) > xe ? !1 : (G += 1, !0);
|
|
906
|
+
}
|
|
907
|
+
function K() {
|
|
908
|
+
G > 0 && --G;
|
|
909
|
+
}
|
|
910
|
+
//#endregion
|
|
911
|
+
//#region src/liquidGooeySpring.ts
|
|
912
|
+
var Ee = {
|
|
913
|
+
snappy: {
|
|
914
|
+
stiffness: 480,
|
|
915
|
+
damping: 34,
|
|
916
|
+
mass: 1
|
|
917
|
+
},
|
|
918
|
+
smooth: {
|
|
919
|
+
stiffness: 190,
|
|
920
|
+
damping: 26,
|
|
921
|
+
mass: 1
|
|
922
|
+
},
|
|
923
|
+
bouncy: {
|
|
924
|
+
stiffness: 320,
|
|
925
|
+
damping: 17,
|
|
926
|
+
mass: 1
|
|
927
|
+
}
|
|
928
|
+
}, De = 1 / 240;
|
|
929
|
+
function Oe(e) {
|
|
930
|
+
let t = 0, n = 0, r = 0, i = -1, a = 0, o = [0];
|
|
931
|
+
for (; r < 10;) {
|
|
932
|
+
let s = (-e.stiffness * (t - 1) - e.damping * n) / e.mass;
|
|
933
|
+
if (n += s * De, t += n * De, r += De, o.push(t), t > a && (a = t), Math.abs(t - 1) < .001 && Math.abs(n) < .02) {
|
|
934
|
+
if (i < 0 && (i = r), r - i >= .064) break;
|
|
935
|
+
} else i = -1;
|
|
936
|
+
}
|
|
937
|
+
let s = i > 0 ? i : r, c = Math.round(Math.min(120, Math.max(24, s * 90))), l = Math.min(o.length - 1, s / De), u = [];
|
|
938
|
+
for (let e = 0; e <= c; e += 1) {
|
|
939
|
+
let t = Math.min(o.length - 1, Math.round(e / c * l));
|
|
940
|
+
u.push(Math.round((o[t] ?? 1) * 1e4) / 1e4);
|
|
941
|
+
}
|
|
942
|
+
return u[u.length - 1] = 1, {
|
|
943
|
+
duration: s,
|
|
944
|
+
values: u,
|
|
945
|
+
overshoots: a > 1.001
|
|
946
|
+
};
|
|
947
|
+
}
|
|
948
|
+
var ke = null;
|
|
949
|
+
function Ae() {
|
|
950
|
+
return ke === null && (ke = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("transition-timing-function", "linear(0, 1)")), ke;
|
|
951
|
+
}
|
|
952
|
+
var je = /* @__PURE__ */ new Map(), Me = /* @__PURE__ */ new Map();
|
|
953
|
+
function Ne(e) {
|
|
954
|
+
let t = Me.get(e);
|
|
955
|
+
if (t) return t;
|
|
956
|
+
let n = /^linear\(([^)]+)\)$/.exec(e.trim()), r = /^cubic-bezier\(([^)]+)\)$/.exec(e.trim()), i;
|
|
957
|
+
if (n) {
|
|
958
|
+
let e = (n[1] ?? "").split(",").map(Number);
|
|
959
|
+
i = (t) => {
|
|
960
|
+
if (t <= 0) return e[0] ?? 0;
|
|
961
|
+
if (t >= 1) return e[e.length - 1] ?? 1;
|
|
962
|
+
let n = t * (e.length - 1), r = Math.floor(n), i = e[r] ?? 0;
|
|
963
|
+
return i + ((e[r + 1] ?? i) - i) * (n - r);
|
|
964
|
+
};
|
|
965
|
+
} else if (r) {
|
|
966
|
+
let [e = 0, t = 0, n = 1, a = 1] = (r[1] ?? "").split(",").map(Number);
|
|
967
|
+
i = (r) => {
|
|
968
|
+
if (r <= 0) return 0;
|
|
969
|
+
if (r >= 1) return 1;
|
|
970
|
+
let i = 0, o = 1;
|
|
971
|
+
for (let t = 0; t < 24; t += 1) {
|
|
972
|
+
let t = (i + o) / 2;
|
|
973
|
+
3 * t * (1 - t) * (1 - t) * e + 3 * t * t * (1 - t) * n + t ** 3 < r ? i = t : o = t;
|
|
974
|
+
}
|
|
975
|
+
let s = (i + o) / 2;
|
|
976
|
+
return 3 * s * (1 - s) * (1 - s) * t + 3 * s * s * (1 - s) * a + s ** 3;
|
|
977
|
+
};
|
|
978
|
+
} else i = e === "ease" ? Ne("cubic-bezier(0.25, 0.1, 0.25, 1)") : e === "ease-in" ? Ne("cubic-bezier(0.42, 0, 1, 1)") : e === "ease-out" ? Ne("cubic-bezier(0, 0, 0.58, 1)") : e === "ease-in-out" ? Ne("cubic-bezier(0.42, 0, 0.58, 1)") : (e) => Math.min(1, Math.max(0, e));
|
|
979
|
+
return Me.set(e, i), i;
|
|
980
|
+
}
|
|
981
|
+
function Pe(e, t = !1) {
|
|
982
|
+
if (t) return {
|
|
983
|
+
duration: 0,
|
|
984
|
+
easing: "linear"
|
|
985
|
+
};
|
|
986
|
+
let n = e ?? "smooth";
|
|
987
|
+
if (typeof n == "object" && "duration" in n) return {
|
|
988
|
+
duration: Math.max(0, n.duration),
|
|
989
|
+
easing: n.ease ?? "cubic-bezier(0.22, 1, 0.36, 1)"
|
|
990
|
+
};
|
|
991
|
+
let r = typeof n == "string" ? Ee[n] : {
|
|
992
|
+
stiffness: 300,
|
|
993
|
+
damping: 24,
|
|
994
|
+
mass: 1,
|
|
995
|
+
...n
|
|
996
|
+
}, i = `${r.stiffness}/${r.damping}/${r.mass}/${Ae()}`, a = je.get(i);
|
|
997
|
+
if (!a) {
|
|
998
|
+
let e = Oe(r);
|
|
999
|
+
a = {
|
|
1000
|
+
duration: Math.round(e.duration * 1e3),
|
|
1001
|
+
easing: Ae() ? `linear(${e.values.join(", ")})` : e.overshoots ? "cubic-bezier(0.34, 1.56, 0.64, 1)" : "cubic-bezier(0.22, 1, 0.36, 1)"
|
|
1002
|
+
}, je.set(i, a);
|
|
1003
|
+
}
|
|
1004
|
+
return a;
|
|
1005
|
+
}
|
|
1006
|
+
//#endregion
|
|
1007
|
+
//#region src/liquidGooeyEngine.ts
|
|
1008
|
+
function Fe(e, t) {
|
|
1009
|
+
return e !== void 0 && Number.isFinite(e) ? e : t;
|
|
1010
|
+
}
|
|
1011
|
+
function Ie(e) {
|
|
1012
|
+
let t = {
|
|
1013
|
+
x: Fe(e.x, 0),
|
|
1014
|
+
y: Fe(e.y, 0),
|
|
1015
|
+
scale: Math.max(.01, Fe(e.scale, 1))
|
|
1016
|
+
};
|
|
1017
|
+
return e.transition !== void 0 && (t.transition = e.transition), e.delay !== void 0 && (t.delay = Math.max(0, Fe(e.delay, 0))), e.radius !== void 0 && (t.radius = e.radius), t;
|
|
1018
|
+
}
|
|
1019
|
+
function Le(e) {
|
|
1020
|
+
return {
|
|
1021
|
+
x: e.x,
|
|
1022
|
+
y: e.y,
|
|
1023
|
+
scale: e.scale
|
|
1024
|
+
};
|
|
1025
|
+
}
|
|
1026
|
+
function Re(e, t) {
|
|
1027
|
+
return e.x === t.x && e.y === t.y && e.scale === t.scale;
|
|
1028
|
+
}
|
|
1029
|
+
function ze(e) {
|
|
1030
|
+
return e === void 0 ? "" : JSON.stringify(e);
|
|
1031
|
+
}
|
|
1032
|
+
function Be(e, t) {
|
|
1033
|
+
return !!(e && Math.abs(e.x - t.x) < .01 && Math.abs(e.y - t.y) < .01 && Math.abs(e.w - t.w) < .01 && Math.abs(e.h - t.h) < .01 && e.r.every((e, n) => Math.abs(e - (t.r[n] ?? 0)) < .01));
|
|
1034
|
+
}
|
|
1035
|
+
function Ve(e) {
|
|
1036
|
+
return String(Math.round(e * 1e3) / 1e3);
|
|
1037
|
+
}
|
|
1038
|
+
var He = class {
|
|
1039
|
+
getGroup;
|
|
1040
|
+
getFilterArea;
|
|
1041
|
+
onModeChange;
|
|
1042
|
+
nowFn;
|
|
1043
|
+
requestFrame;
|
|
1044
|
+
cancelFrame;
|
|
1045
|
+
items = /* @__PURE__ */ new Map();
|
|
1046
|
+
removeListeners = [];
|
|
1047
|
+
mutationObserver = null;
|
|
1048
|
+
awake = !1;
|
|
1049
|
+
raf = 0;
|
|
1050
|
+
needsPaint = !1;
|
|
1051
|
+
lastActivity = 0;
|
|
1052
|
+
claimed = !1;
|
|
1053
|
+
reducedMotion;
|
|
1054
|
+
filterArea = 0;
|
|
1055
|
+
mode = "static";
|
|
1056
|
+
disposed = !1;
|
|
1057
|
+
constructor(e) {
|
|
1058
|
+
this.getGroup = e.getGroup, this.getFilterArea = e.getFilterArea, this.reducedMotion = e.reducedMotion ?? !1, this.onModeChange = e.onModeChange, this.nowFn = e.now ?? (() => performance.now()), this.requestFrame = e.requestFrame ?? ((e) => requestAnimationFrame(e)), this.cancelFrame = e.cancelFrame ?? ((e) => cancelAnimationFrame(e));
|
|
1059
|
+
}
|
|
1060
|
+
register(e) {
|
|
1061
|
+
this.unregister(e.id);
|
|
1062
|
+
let t = Ie(e.config), n = {
|
|
1063
|
+
...e,
|
|
1064
|
+
config: t,
|
|
1065
|
+
target: Le(t),
|
|
1066
|
+
current: Le(t),
|
|
1067
|
+
motion: null,
|
|
1068
|
+
lastBox: null,
|
|
1069
|
+
lastPaint: null,
|
|
1070
|
+
ownTransform: "",
|
|
1071
|
+
resizeObserver: null
|
|
1072
|
+
};
|
|
1073
|
+
return n.host.style.transformOrigin = "center", this.applyHost(n), typeof ResizeObserver < "u" && (n.resizeObserver = new ResizeObserver(() => {
|
|
1074
|
+
this.touch(), this.wake();
|
|
1075
|
+
}), n.resizeObserver.observe(n.host)), this.items.set(n.id, n), this.ensureSources(), this.touch(), this.wake(), () => this.unregister(n.id);
|
|
1076
|
+
}
|
|
1077
|
+
update(e, t) {
|
|
1078
|
+
let n = this.items.get(e);
|
|
1079
|
+
if (!n) return;
|
|
1080
|
+
let r = Ie(t), i = Le(r), a = !Re(n.target, i), o = ze(n.config.radius) !== ze(r.radius);
|
|
1081
|
+
if (n.config = r, !a) {
|
|
1082
|
+
o && (n.lastPaint = null, this.touch(), this.wake());
|
|
1083
|
+
return;
|
|
1084
|
+
}
|
|
1085
|
+
let s = this.now();
|
|
1086
|
+
if (this.advanceEntry(n, s), n.target = i, this.reducedMotion) this.snapEntry(n), this.setMode("reduced");
|
|
1087
|
+
else {
|
|
1088
|
+
let e = Pe(r.transition);
|
|
1089
|
+
e.duration <= 0 || !this.ensureClaim() ? (this.snapEntry(n), this.setMode("static")) : (n.motion = {
|
|
1090
|
+
from: { ...n.current },
|
|
1091
|
+
to: { ...i },
|
|
1092
|
+
start: s + (r.delay ?? 0),
|
|
1093
|
+
duration: e.duration,
|
|
1094
|
+
ease: Ne(e.easing)
|
|
1095
|
+
}, n.host.style.willChange = "transform", this.setMode("animated"));
|
|
1096
|
+
}
|
|
1097
|
+
this.touch(s), this.needsPaint = !0, this.wake();
|
|
1098
|
+
}
|
|
1099
|
+
setReducedMotion(e) {
|
|
1100
|
+
if (this.reducedMotion !== e) {
|
|
1101
|
+
if (this.reducedMotion = e, e) {
|
|
1102
|
+
let e = this.now();
|
|
1103
|
+
for (let t of this.items.values()) this.advanceEntry(t, e), this.snapEntry(t);
|
|
1104
|
+
this.releaseClaim(), this.setMode("reduced");
|
|
1105
|
+
} else this.claimed || this.setMode("static");
|
|
1106
|
+
this.touch(), this.needsPaint = !0, this.wake();
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
setFilterArea(e) {
|
|
1110
|
+
let t = Number.isFinite(e) ? Math.max(0, e) : Infinity;
|
|
1111
|
+
if (!(Math.abs(t - this.filterArea) < .5)) {
|
|
1112
|
+
if (this.filterArea = t, this.claimed && t > Ce().maxFilterArea) {
|
|
1113
|
+
for (let e of this.items.values()) this.snapEntry(e);
|
|
1114
|
+
this.releaseClaim(), this.setMode(this.reducedMotion ? "reduced" : "static");
|
|
1115
|
+
}
|
|
1116
|
+
this.needsPaint = !0, this.wake();
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
wake() {
|
|
1120
|
+
this.disposed || this.items.size === 0 || (this.needsPaint = !0, !this.awake && (this.awake = !0, this.raf = this.requestFrame(this.loop)));
|
|
1121
|
+
}
|
|
1122
|
+
dispose() {
|
|
1123
|
+
if (!this.disposed) {
|
|
1124
|
+
this.disposed = !0, this.raf && this.cancelFrame(this.raf), this.mutationObserver?.disconnect(), this.removeListeners.forEach((e) => e());
|
|
1125
|
+
for (let e of this.items.values()) e.resizeObserver?.disconnect(), e.host.style.willChange = "";
|
|
1126
|
+
this.items.clear(), this.releaseClaim(), this.awake = !1;
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1129
|
+
getDebugState() {
|
|
1130
|
+
return {
|
|
1131
|
+
awake: this.awake,
|
|
1132
|
+
mode: this.mode,
|
|
1133
|
+
itemCount: this.items.size,
|
|
1134
|
+
claimed: this.claimed
|
|
1135
|
+
};
|
|
1136
|
+
}
|
|
1137
|
+
now() {
|
|
1138
|
+
return this.nowFn();
|
|
1139
|
+
}
|
|
1140
|
+
touch(e = this.now()) {
|
|
1141
|
+
this.lastActivity = e;
|
|
1142
|
+
}
|
|
1143
|
+
setMode(e) {
|
|
1144
|
+
this.mode !== e && (this.mode = e, this.onModeChange?.(e));
|
|
1145
|
+
}
|
|
1146
|
+
ensureClaim() {
|
|
1147
|
+
if (this.claimed) return !0;
|
|
1148
|
+
let e = this.getFilterArea();
|
|
1149
|
+
return Number.isFinite(e) && (this.filterArea = Math.max(0, e)), Te(this.filterArea) ? (this.claimed = !0, !0) : !1;
|
|
1150
|
+
}
|
|
1151
|
+
releaseClaim() {
|
|
1152
|
+
this.claimed &&= (K(), !1);
|
|
1153
|
+
}
|
|
1154
|
+
snapEntry(e) {
|
|
1155
|
+
e.current = { ...e.target }, e.motion = null, e.host.style.willChange = "", this.applyHost(e);
|
|
1156
|
+
}
|
|
1157
|
+
advanceEntry(e, t) {
|
|
1158
|
+
let n = e.motion;
|
|
1159
|
+
if (!n) return !1;
|
|
1160
|
+
let r = Math.min(1, Math.max(0, (t - n.start) / n.duration)), i = n.ease(r);
|
|
1161
|
+
return e.current = {
|
|
1162
|
+
x: n.from.x + (n.to.x - n.from.x) * i,
|
|
1163
|
+
y: n.from.y + (n.to.y - n.from.y) * i,
|
|
1164
|
+
scale: n.from.scale + (n.to.scale - n.from.scale) * i
|
|
1165
|
+
}, this.applyHost(e), r >= 1 ? (e.current = { ...n.to }, e.motion = null, e.host.style.willChange = "", this.applyHost(e), !1) : !0;
|
|
1166
|
+
}
|
|
1167
|
+
applyHost(e) {
|
|
1168
|
+
let t = `translate(${Ve(e.current.x)}px, ${Ve(e.current.y)}px) scale(${Ve(e.current.scale)})`;
|
|
1169
|
+
e.ownTransform !== t && (e.ownTransform = t, e.host.style.transform = t);
|
|
1170
|
+
}
|
|
1171
|
+
readBox(e, t) {
|
|
1172
|
+
let n = ve(e.host, t), r = e.host.offsetWidth, i = e.host.offsetHeight, a = e.host.firstElementChild ?? e.host, o = e.config.radius === void 0 ? ye(a, r, i) : V(e.config.radius);
|
|
1173
|
+
return {
|
|
1174
|
+
x: n.x,
|
|
1175
|
+
y: n.y,
|
|
1176
|
+
w: r,
|
|
1177
|
+
h: i,
|
|
1178
|
+
r: o
|
|
1179
|
+
};
|
|
1180
|
+
}
|
|
1181
|
+
paintEntry(e, t) {
|
|
1182
|
+
let n = t.x + e.current.x + t.w * (1 - e.current.scale) / 2, r = t.y + e.current.y + t.h * (1 - e.current.scale) / 2, i = `translate(${Ve(n)} ${Ve(r)}) scale(${Ve(e.current.scale)})`, a = H(0, 0, t.w, t.h, t.r), o = `${a}|${i}`;
|
|
1183
|
+
return e.lastPaint === o ? !1 : (e.lastPaint = o, e.blob.setAttribute("d", a), e.blob.setAttribute("transform", i), !0);
|
|
1184
|
+
}
|
|
1185
|
+
loop = (e) => {
|
|
1186
|
+
if (this.raf = 0, this.disposed || this.items.size === 0) {
|
|
1187
|
+
this.awake = !1;
|
|
1188
|
+
return;
|
|
1189
|
+
}
|
|
1190
|
+
let t = !1;
|
|
1191
|
+
for (let n of this.items.values()) this.advanceEntry(n, e) && (t = !0);
|
|
1192
|
+
let n = this.getGroup(), r = !1;
|
|
1193
|
+
if (n) {
|
|
1194
|
+
let e = /* @__PURE__ */ new Map();
|
|
1195
|
+
for (let t of this.items.values()) e.set(t.id, this.readBox(t, n));
|
|
1196
|
+
for (let t of this.items.values()) {
|
|
1197
|
+
let n = e.get(t.id);
|
|
1198
|
+
n && (Be(t.lastBox, n) || (t.lastBox = n, t.lastPaint = null, r = !0), this.paintEntry(t, n) && (r = !0));
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
this.needsPaint = !1, (t || r) && this.touch(e);
|
|
1202
|
+
let i = e - this.lastActivity < 500;
|
|
1203
|
+
if (t || this.needsPaint || i) {
|
|
1204
|
+
this.raf = this.requestFrame(this.loop);
|
|
1205
|
+
return;
|
|
1206
|
+
}
|
|
1207
|
+
this.awake = !1, this.releaseClaim(), this.setMode(this.reducedMotion ? "reduced" : "static");
|
|
1208
|
+
};
|
|
1209
|
+
ensureSources() {
|
|
1210
|
+
if (this.mutationObserver) return;
|
|
1211
|
+
let e = this.getGroup();
|
|
1212
|
+
if (!e || typeof MutationObserver > "u") return;
|
|
1213
|
+
this.mutationObserver = new MutationObserver((e) => {
|
|
1214
|
+
let t = !1;
|
|
1215
|
+
for (let n of e) {
|
|
1216
|
+
let e = n.target;
|
|
1217
|
+
if (!(e instanceof Element && e.closest("[data-liquid-gooey-silhouette]"))) {
|
|
1218
|
+
if (n.type === "attributes" && n.attributeName === "style") {
|
|
1219
|
+
let t = [...this.items.values()].find((t) => t.host === e);
|
|
1220
|
+
if (t && t.ownTransform === t.host.style.transform) continue;
|
|
1221
|
+
}
|
|
1222
|
+
t = !0;
|
|
1223
|
+
break;
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
t && (this.touch(), this.wake());
|
|
1227
|
+
}), this.mutationObserver.observe(e, {
|
|
1228
|
+
attributes: !0,
|
|
1229
|
+
attributeFilter: ["class", "style"],
|
|
1230
|
+
childList: !0,
|
|
1231
|
+
subtree: !0
|
|
1232
|
+
});
|
|
1233
|
+
let t = () => {
|
|
1234
|
+
this.touch(), this.wake();
|
|
1235
|
+
};
|
|
1236
|
+
for (let n of [
|
|
1237
|
+
"transitionrun",
|
|
1238
|
+
"animationstart",
|
|
1239
|
+
"pointerdown"
|
|
1240
|
+
]) e.addEventListener(n, t, !0), this.removeListeners.push(() => e.removeEventListener(n, t, !0));
|
|
1241
|
+
window.addEventListener("scroll", t, {
|
|
1242
|
+
capture: !0,
|
|
1243
|
+
passive: !0
|
|
1244
|
+
}), this.removeListeners.push(() => window.removeEventListener("scroll", t, !0));
|
|
1245
|
+
}
|
|
1246
|
+
unregister(e) {
|
|
1247
|
+
let t = this.items.get(e);
|
|
1248
|
+
t && (t.resizeObserver?.disconnect(), t.host.style.willChange = "", this.items.delete(e), this.items.size === 0 && (this.raf && this.cancelFrame(this.raf), this.raf = 0, this.awake = !1, this.releaseClaim()));
|
|
1249
|
+
}
|
|
1250
|
+
};
|
|
1251
|
+
//#endregion
|
|
1252
|
+
//#region src/liquidGooeyShadow.ts
|
|
1253
|
+
function Ue(e, t) {
|
|
1254
|
+
let n = [], r = 0, i = "";
|
|
1255
|
+
for (let a of e) a === "(" ? r += 1 : a === ")" && --r, r === 0 && (t === "," ? a === "," : /\s/.test(a)) ? (i.trim() && n.push(i.trim()), i = "") : i += a;
|
|
1256
|
+
return i.trim() && n.push(i.trim()), n;
|
|
1257
|
+
}
|
|
1258
|
+
var We = /^[+-]?(\d+\.?\d*|\.\d+)(px)?$/;
|
|
1259
|
+
function Ge(e) {
|
|
1260
|
+
if (!e || e.trim() === "" || e.trim() === "none") return [];
|
|
1261
|
+
let t = [];
|
|
1262
|
+
for (let n of Ue(e, ",")) {
|
|
1263
|
+
let e = Ue(n, " "), r = e.includes("inset"), i = [], a = [];
|
|
1264
|
+
for (let t of e) t !== "inset" && (i.length < 4 && We.test(t) ? i.push(parseFloat(t)) : a.push(t));
|
|
1265
|
+
let [o = 0, s = 0, c = 0, l = 0] = i;
|
|
1266
|
+
t.push({
|
|
1267
|
+
x: o,
|
|
1268
|
+
y: s,
|
|
1269
|
+
blur: c,
|
|
1270
|
+
spread: l,
|
|
1271
|
+
color: a.join(" ") || "var(--game-ui-shadow-color, transparent)",
|
|
1272
|
+
inset: r
|
|
1273
|
+
});
|
|
1274
|
+
}
|
|
1275
|
+
return t;
|
|
1276
|
+
}
|
|
1277
|
+
function Ke(e) {
|
|
1278
|
+
if (!e || e.trim() === "" || e.trim() === "none") return null;
|
|
1279
|
+
let t = Ue(e, " "), n = 0, r = [];
|
|
1280
|
+
for (let e of t) e !== "solid" && (n === 0 && We.test(e) ? n = parseFloat(e) : r.push(e));
|
|
1281
|
+
return {
|
|
1282
|
+
width: n,
|
|
1283
|
+
color: r.join(" ") || "var(--game-ui-stroke, transparent)"
|
|
1284
|
+
};
|
|
1285
|
+
}
|
|
1286
|
+
//#endregion
|
|
1287
|
+
//#region src/LiquidGroup.tsx
|
|
1288
|
+
var qe = i(null);
|
|
1289
|
+
function Je() {
|
|
1290
|
+
let e = c(qe);
|
|
1291
|
+
if (!e) throw Error("<LiquidGroup.Item> must be rendered inside <LiquidGroup>.");
|
|
1292
|
+
return e;
|
|
1293
|
+
}
|
|
1294
|
+
function Ye(e) {
|
|
1295
|
+
return e.replace(/[^a-zA-Z0-9_-]/g, "");
|
|
1296
|
+
}
|
|
1297
|
+
function Xe(e, t) {
|
|
1298
|
+
return Number.isFinite(e) ? e : t;
|
|
1299
|
+
}
|
|
1300
|
+
function Ze(...e) {
|
|
1301
|
+
return e.filter(Boolean).join(" ") || void 0;
|
|
1302
|
+
}
|
|
1303
|
+
function Qe() {
|
|
1304
|
+
let [e, t] = m(() => typeof window > "u" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches);
|
|
1305
|
+
return l(() => {
|
|
1306
|
+
let e = window.matchMedia("(prefers-reduced-motion: reduce)"), n = (e) => t(e.matches);
|
|
1307
|
+
return t(e.matches), e.addEventListener("change", n), () => e.removeEventListener("change", n);
|
|
1308
|
+
}, []), e;
|
|
1309
|
+
}
|
|
1310
|
+
function $e(e) {
|
|
1311
|
+
return e.reduce((e, t) => Math.max(e, Math.max(Math.abs(t.x), Math.abs(t.y)) + t.blur * 1.5 + Math.max(0, t.spread)), 0);
|
|
1312
|
+
}
|
|
1313
|
+
var et = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-surface, var(--game-ui-panel-strong))", filterPadding: a = 24, shadow: o, stroke: c, motion: h = "auto", className: g, style: _, children: v, ...y }, b) {
|
|
1314
|
+
let x = p(null), [S, C] = m(null), [w, T] = m({
|
|
1315
|
+
w: 0,
|
|
1316
|
+
h: 0
|
|
1317
|
+
}), E = Qe(), D = h === "reduced" || E, [O, ee] = m(D ? "reduced" : "static"), k = Math.max(0, Xe(e, 6)), te = Math.max(1, Xe(r, 18)), ne = Math.max(0, Xe(a, 24)), A = f(() => Ge(o), [o]), j = f(() => Ke(c), [c]), M = Math.ceil(k * 3 + ne + $e(A) + (j ? j.width : 0)), re = p(M);
|
|
1318
|
+
re.current = M;
|
|
1319
|
+
let ie = `liquid-gooey-${Ye(u())}`, ae = s((e) => {
|
|
1320
|
+
x.current = e, typeof b == "function" ? b(e) : b && (b.current = e);
|
|
1321
|
+
}, [b]), N = s((e) => C(e), []), P = f(() => new He({
|
|
1322
|
+
getGroup: () => x.current,
|
|
1323
|
+
getFilterArea: () => {
|
|
1324
|
+
let e = x.current;
|
|
1325
|
+
return e ? (e.offsetWidth + re.current * 2) * (e.offsetHeight + re.current * 2) : 0;
|
|
1326
|
+
},
|
|
1327
|
+
onModeChange: ee
|
|
1328
|
+
}), []);
|
|
1329
|
+
d(() => {
|
|
1330
|
+
let e = x.current;
|
|
1331
|
+
if (!e) return;
|
|
1332
|
+
let t = () => {
|
|
1333
|
+
let t = {
|
|
1334
|
+
w: e.offsetWidth,
|
|
1335
|
+
h: e.offsetHeight
|
|
1336
|
+
};
|
|
1337
|
+
T((e) => e.w === t.w && e.h === t.h ? e : t), P.setFilterArea((t.w + M * 2) * (t.h + M * 2));
|
|
1338
|
+
};
|
|
1339
|
+
if (t(), typeof ResizeObserver > "u") return;
|
|
1340
|
+
let n = new ResizeObserver(t);
|
|
1341
|
+
return n.observe(e), () => n.disconnect();
|
|
1342
|
+
}, [P, M]), l(() => {
|
|
1343
|
+
P.setReducedMotion(D);
|
|
1344
|
+
}, [P, D]), l(() => () => P.dispose(), [P]);
|
|
1345
|
+
let oe = Math.max(1, w.w), se = Math.max(1, w.h), ce = Ze("game-ui-liquid-group", g);
|
|
1346
|
+
return /* @__PURE__ */ n("div", {
|
|
1347
|
+
...y,
|
|
1348
|
+
ref: ae,
|
|
1349
|
+
className: ce,
|
|
1350
|
+
"data-liquid-motion": O,
|
|
1351
|
+
style: _,
|
|
1352
|
+
children: [/* @__PURE__ */ n("svg", {
|
|
1353
|
+
"aria-hidden": "true",
|
|
1354
|
+
className: "game-ui-liquid-silhouette",
|
|
1355
|
+
"data-liquid-gooey-silhouette": "",
|
|
1356
|
+
focusable: "false",
|
|
1357
|
+
viewBox: `0 0 ${oe} ${se}`,
|
|
1358
|
+
children: [/* @__PURE__ */ t("defs", { children: /* @__PURE__ */ t("filter", {
|
|
1359
|
+
colorInterpolationFilters: "sRGB",
|
|
1360
|
+
filterUnits: "userSpaceOnUse",
|
|
1361
|
+
height: se + M * 2,
|
|
1362
|
+
id: ie,
|
|
1363
|
+
width: oe + M * 2,
|
|
1364
|
+
x: -M,
|
|
1365
|
+
y: -M,
|
|
1366
|
+
children: /* @__PURE__ */ t(B, {
|
|
1367
|
+
blur: k,
|
|
1368
|
+
contrast: te,
|
|
1369
|
+
shadows: A,
|
|
1370
|
+
stroke: j
|
|
1371
|
+
})
|
|
1372
|
+
}) }), /* @__PURE__ */ t("g", {
|
|
1373
|
+
ref: N,
|
|
1374
|
+
fill: i,
|
|
1375
|
+
filter: `url(#${ie})`
|
|
1376
|
+
})]
|
|
1377
|
+
}), /* @__PURE__ */ t(qe.Provider, {
|
|
1378
|
+
value: {
|
|
1379
|
+
portal: S,
|
|
1380
|
+
engine: P
|
|
1381
|
+
},
|
|
1382
|
+
children: /* @__PURE__ */ t("div", {
|
|
1383
|
+
className: "game-ui-liquid-content",
|
|
1384
|
+
children: v
|
|
1385
|
+
})
|
|
1386
|
+
})]
|
|
1387
|
+
});
|
|
1388
|
+
}), tt = a(function({ x: r = 0, y: i = 0, scale: a = 1, transition: o, delay: c, radius: l, className: m, style: g, children: _, ...v }, y) {
|
|
1389
|
+
let { portal: b, engine: x } = Je(), S = `liquid-item-${Ye(u())}`, C = p(null), w = p(null), T = p(null), E = f(() => {
|
|
1390
|
+
let e = {
|
|
1391
|
+
x: Xe(r, 0),
|
|
1392
|
+
y: Xe(i, 0),
|
|
1393
|
+
scale: Xe(a, 1)
|
|
1394
|
+
};
|
|
1395
|
+
return o !== void 0 && (e.transition = o), c !== void 0 && (e.delay = c), l !== void 0 && (e.radius = l), e;
|
|
1396
|
+
}, [
|
|
1397
|
+
c,
|
|
1398
|
+
l,
|
|
1399
|
+
a,
|
|
1400
|
+
o,
|
|
1401
|
+
r,
|
|
1402
|
+
i
|
|
1403
|
+
]);
|
|
1404
|
+
T.current === null && (T.current = E);
|
|
1405
|
+
let D = s((e) => {
|
|
1406
|
+
C.current = e, typeof y == "function" ? y(e) : y && (y.current = e);
|
|
1407
|
+
}, [y]);
|
|
1408
|
+
return d(() => {
|
|
1409
|
+
let e = C.current, t = w.current;
|
|
1410
|
+
if (!(!b || !e || !t || !T.current)) return x.register({
|
|
1411
|
+
id: S,
|
|
1412
|
+
host: e,
|
|
1413
|
+
blob: t,
|
|
1414
|
+
config: T.current
|
|
1415
|
+
});
|
|
1416
|
+
}, [
|
|
1417
|
+
x,
|
|
1418
|
+
S,
|
|
1419
|
+
b
|
|
1420
|
+
]), d(() => {
|
|
1421
|
+
x.update(S, E);
|
|
1422
|
+
}, [
|
|
1423
|
+
E,
|
|
1424
|
+
x,
|
|
1425
|
+
S
|
|
1426
|
+
]), d(() => {}, []), /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("div", {
|
|
1427
|
+
...v,
|
|
1428
|
+
ref: D,
|
|
1429
|
+
className: Ze("game-ui-liquid-item", m),
|
|
1430
|
+
style: g,
|
|
1431
|
+
children: _
|
|
1432
|
+
}), b ? h(/* @__PURE__ */ t("path", {
|
|
1433
|
+
ref: w,
|
|
1434
|
+
d: "",
|
|
1435
|
+
"data-liquid-gooey-blob": ""
|
|
1436
|
+
}), b) : null] });
|
|
1437
|
+
}), nt = Object.assign(et, { Item: tt });
|
|
1438
|
+
//#endregion
|
|
726
1439
|
//#region src/GameCallout.tsx
|
|
727
|
-
function
|
|
1440
|
+
function rt({ heading: e, children: r, tone: i = "info", className: a, ...o }) {
|
|
728
1441
|
return /* @__PURE__ */ n("div", {
|
|
729
1442
|
className: [
|
|
730
1443
|
"game-ui-callout",
|
|
@@ -745,8 +1458,8 @@ function ge({ heading: e, children: r, tone: i = "info", className: a, ...o }) {
|
|
|
745
1458
|
}
|
|
746
1459
|
//#endregion
|
|
747
1460
|
//#region src/GameDialog.tsx
|
|
748
|
-
function
|
|
749
|
-
let a =
|
|
1461
|
+
function it({ children: e, className: r, title: i }) {
|
|
1462
|
+
let a = u();
|
|
750
1463
|
return /* @__PURE__ */ n("section", {
|
|
751
1464
|
"aria-labelledby": a,
|
|
752
1465
|
"aria-modal": "true",
|
|
@@ -763,7 +1476,7 @@ function _e({ children: e, className: r, title: i }) {
|
|
|
763
1476
|
}
|
|
764
1477
|
//#endregion
|
|
765
1478
|
//#region src/GameHistoryPanel.tsx
|
|
766
|
-
function
|
|
1479
|
+
function at({ entries: e, label: r }) {
|
|
767
1480
|
return /* @__PURE__ */ t("section", {
|
|
768
1481
|
"aria-label": r,
|
|
769
1482
|
className: "game-ui-history",
|
|
@@ -779,7 +1492,7 @@ function ve({ entries: e, label: r }) {
|
|
|
779
1492
|
}
|
|
780
1493
|
//#endregion
|
|
781
1494
|
//#region src/GameHudActions.tsx
|
|
782
|
-
function
|
|
1495
|
+
function ot({ children: e, className: n, label: r, ...i }) {
|
|
783
1496
|
return /* @__PURE__ */ t("nav", {
|
|
784
1497
|
"aria-label": r,
|
|
785
1498
|
className: ["game-ui-hud-actions", n].filter(Boolean).join(" "),
|
|
@@ -790,7 +1503,7 @@ function P({ children: e, className: n, label: r, ...i }) {
|
|
|
790
1503
|
}
|
|
791
1504
|
//#endregion
|
|
792
1505
|
//#region src/GameSurfaces.tsx
|
|
793
|
-
function
|
|
1506
|
+
function q({ children: e, className: r, title: i, tone: a = "default", ...o }) {
|
|
794
1507
|
let s = ["game-ui-panel", r].filter(Boolean).join(" ");
|
|
795
1508
|
return /* @__PURE__ */ n("section", {
|
|
796
1509
|
...o,
|
|
@@ -799,7 +1512,7 @@ function F({ children: e, className: r, title: i, tone: a = "default", ...o }) {
|
|
|
799
1512
|
children: [i ? /* @__PURE__ */ t("h3", { children: i }) : null, e]
|
|
800
1513
|
});
|
|
801
1514
|
}
|
|
802
|
-
function
|
|
1515
|
+
function st({ children: e, className: n, label: r, type: i = "button", ...a }) {
|
|
803
1516
|
return /* @__PURE__ */ t("button", {
|
|
804
1517
|
"aria-label": r,
|
|
805
1518
|
className: ["game-ui-icon-button", n].filter(Boolean).join(" "),
|
|
@@ -808,8 +1521,8 @@ function I({ children: e, className: n, label: r, type: i = "button", ...a }) {
|
|
|
808
1521
|
children: e
|
|
809
1522
|
});
|
|
810
1523
|
}
|
|
811
|
-
function
|
|
812
|
-
let a =
|
|
1524
|
+
function ct({ children: e, label: i }) {
|
|
1525
|
+
let a = u();
|
|
813
1526
|
return /* @__PURE__ */ n("span", {
|
|
814
1527
|
className: "game-ui-tooltip",
|
|
815
1528
|
children: [o(e) ? r(e, { "aria-describedby": [e.props["aria-describedby"], a].filter(Boolean).join(" ") }) : e, /* @__PURE__ */ t("span", {
|
|
@@ -819,8 +1532,8 @@ function ye({ children: e, label: i }) {
|
|
|
819
1532
|
})]
|
|
820
1533
|
});
|
|
821
1534
|
}
|
|
822
|
-
function
|
|
823
|
-
let a =
|
|
1535
|
+
function lt({ activeId: e, id: n, onSelect: r, tabs: i }) {
|
|
1536
|
+
let a = u(), o = n ?? a;
|
|
824
1537
|
return /* @__PURE__ */ t("div", {
|
|
825
1538
|
className: "game-ui-tabs",
|
|
826
1539
|
onKeyDown: (t) => {
|
|
@@ -859,7 +1572,7 @@ function L({ activeId: e, id: n, onSelect: r, tabs: i }) {
|
|
|
859
1572
|
}, n.id))
|
|
860
1573
|
});
|
|
861
1574
|
}
|
|
862
|
-
function
|
|
1575
|
+
function ut({ activeId: e, label: n, onSelect: r, options: i }) {
|
|
863
1576
|
return /* @__PURE__ */ t("div", {
|
|
864
1577
|
"aria-label": n,
|
|
865
1578
|
className: "game-ui-segmented",
|
|
@@ -873,7 +1586,7 @@ function R({ activeId: e, label: n, onSelect: r, options: i }) {
|
|
|
873
1586
|
}, n.id))
|
|
874
1587
|
});
|
|
875
1588
|
}
|
|
876
|
-
function
|
|
1589
|
+
function dt({ label: e, max: r, min: i, onChange: a, value: o }) {
|
|
877
1590
|
return /* @__PURE__ */ n("label", {
|
|
878
1591
|
className: "game-ui-slider",
|
|
879
1592
|
children: [/* @__PURE__ */ t("span", { children: e }), /* @__PURE__ */ t("input", {
|
|
@@ -887,7 +1600,7 @@ function z({ label: e, max: r, min: i, onChange: a, value: o }) {
|
|
|
887
1600
|
})]
|
|
888
1601
|
});
|
|
889
1602
|
}
|
|
890
|
-
function
|
|
1603
|
+
function ft({ checked: e, disabled: r, label: i, onClick: a }) {
|
|
891
1604
|
return /* @__PURE__ */ n("button", {
|
|
892
1605
|
"aria-checked": e,
|
|
893
1606
|
className: "game-ui-toggle",
|
|
@@ -901,7 +1614,7 @@ function B({ checked: e, disabled: r, label: i, onClick: a }) {
|
|
|
901
1614
|
})]
|
|
902
1615
|
});
|
|
903
1616
|
}
|
|
904
|
-
function
|
|
1617
|
+
function pt({ items: e, label: n, onSelect: r }) {
|
|
905
1618
|
return /* @__PURE__ */ t("div", {
|
|
906
1619
|
"aria-label": n,
|
|
907
1620
|
className: "game-ui-radial-menu",
|
|
@@ -916,7 +1629,7 @@ function V({ items: e, label: n, onSelect: r }) {
|
|
|
916
1629
|
}, e.id))
|
|
917
1630
|
});
|
|
918
1631
|
}
|
|
919
|
-
function
|
|
1632
|
+
function mt({ children: e, tone: n = "info" }) {
|
|
920
1633
|
return /* @__PURE__ */ t("div", {
|
|
921
1634
|
className: "game-ui-toast",
|
|
922
1635
|
"data-toast-tone": n,
|
|
@@ -924,11 +1637,11 @@ function H({ children: e, tone: n = "info" }) {
|
|
|
924
1637
|
children: e
|
|
925
1638
|
});
|
|
926
1639
|
}
|
|
927
|
-
function
|
|
1640
|
+
function ht({ actionLabel: e, children: r, title: i }) {
|
|
928
1641
|
return /* @__PURE__ */ n("section", {
|
|
929
1642
|
"aria-label": i,
|
|
930
1643
|
className: "game-ui-prompt",
|
|
931
|
-
children: [/* @__PURE__ */ n("div", { children: [/* @__PURE__ */ t("h3", { children: i }), /* @__PURE__ */ t("p", { children: r })] }), e ? /* @__PURE__ */ t(
|
|
1644
|
+
children: [/* @__PURE__ */ n("div", { children: [/* @__PURE__ */ t("h3", { children: i }), /* @__PURE__ */ t("p", { children: r })] }), e ? /* @__PURE__ */ t(w, {
|
|
932
1645
|
variant: "primary",
|
|
933
1646
|
children: e
|
|
934
1647
|
}) : null]
|
|
@@ -936,7 +1649,7 @@ function U({ actionLabel: e, children: r, title: i }) {
|
|
|
936
1649
|
}
|
|
937
1650
|
//#endregion
|
|
938
1651
|
//#region src/clay/tokens.ts
|
|
939
|
-
var
|
|
1652
|
+
var J = {
|
|
940
1653
|
ink: "#3b2d23",
|
|
941
1654
|
inkMuted: "#786250",
|
|
942
1655
|
parchment: "#fff8ec",
|
|
@@ -959,7 +1672,7 @@ var W = {
|
|
|
959
1672
|
overlayGlassText: "#fff6ee",
|
|
960
1673
|
liquidMetalFace: "#3a2518",
|
|
961
1674
|
liquidMetalInk: "#fff8ec"
|
|
962
|
-
},
|
|
1675
|
+
}, gt = {
|
|
963
1676
|
face: "var(--game-ui-liquid-metal-face)",
|
|
964
1677
|
ink: "var(--game-ui-liquid-metal-ink)",
|
|
965
1678
|
accent: "var(--game-ui-liquid-metal-accent)",
|
|
@@ -967,7 +1680,7 @@ var W = {
|
|
|
967
1680
|
sweepSpeed: "var(--game-ui-liquid-metal-sweep-speed)",
|
|
968
1681
|
rest: "var(--game-ui-liquid-metal-rest)",
|
|
969
1682
|
bloom: "var(--game-ui-liquid-metal-bloom)"
|
|
970
|
-
},
|
|
1683
|
+
}, _t = {
|
|
971
1684
|
bg: "var(--game-ui-overlay-glass-bg)",
|
|
972
1685
|
bgHover: "var(--game-ui-overlay-glass-bg-hover)",
|
|
973
1686
|
bgStrong: "var(--game-ui-overlay-glass-bg-strong)",
|
|
@@ -979,7 +1692,7 @@ var W = {
|
|
|
979
1692
|
blur: "var(--game-ui-overlay-glass-blur)",
|
|
980
1693
|
focusRing: "var(--game-ui-overlay-glass-focus-ring)",
|
|
981
1694
|
primaryFill: "var(--game-ui-overlay-glass-primary-fill)"
|
|
982
|
-
},
|
|
1695
|
+
}, vt = {
|
|
983
1696
|
background: "var(--game-ui-bg)",
|
|
984
1697
|
playfieldScrim: "var(--game-ui-playfield-scrim)",
|
|
985
1698
|
surface: "var(--game-ui-surface)",
|
|
@@ -998,7 +1711,7 @@ var W = {
|
|
|
998
1711
|
borderSubtle: "var(--game-ui-border-subtle)",
|
|
999
1712
|
borderStrong: "var(--game-ui-border-strong)",
|
|
1000
1713
|
disabled: "var(--game-ui-disabled)"
|
|
1001
|
-
},
|
|
1714
|
+
}, yt = {
|
|
1002
1715
|
familyDisplay: "var(--game-ui-font-display)",
|
|
1003
1716
|
familyBody: "var(--game-ui-font-body)",
|
|
1004
1717
|
familyMono: "var(--game-ui-font-mono)",
|
|
@@ -1016,7 +1729,7 @@ var W = {
|
|
|
1016
1729
|
weightBody: "var(--game-ui-weight-body)",
|
|
1017
1730
|
weightStrong: "var(--game-ui-weight-strong)",
|
|
1018
1731
|
weightTitle: "var(--game-ui-weight-title)"
|
|
1019
|
-
},
|
|
1732
|
+
}, bt = {
|
|
1020
1733
|
px2: "var(--game-ui-space-2)",
|
|
1021
1734
|
px4: "var(--game-ui-space-4)",
|
|
1022
1735
|
px6: "var(--game-ui-space-6)",
|
|
@@ -1031,33 +1744,33 @@ var W = {
|
|
|
1031
1744
|
safeRight: "var(--game-ui-safe-right)",
|
|
1032
1745
|
safeBottom: "var(--game-ui-safe-bottom)",
|
|
1033
1746
|
safeLeft: "var(--game-ui-safe-left)"
|
|
1034
|
-
},
|
|
1747
|
+
}, xt = {
|
|
1035
1748
|
bead: "var(--game-ui-radius-bead)",
|
|
1036
1749
|
control: "var(--game-ui-radius-control)",
|
|
1037
1750
|
card: "var(--game-ui-radius-card)",
|
|
1038
1751
|
panel: "var(--game-ui-radius-panel)",
|
|
1039
1752
|
modal: "var(--game-ui-radius-modal)"
|
|
1040
|
-
},
|
|
1753
|
+
}, St = {
|
|
1041
1754
|
button: "var(--game-ui-shadow-button)",
|
|
1042
1755
|
panel: "var(--game-ui-shadow-panel)",
|
|
1043
1756
|
modal: "var(--game-ui-shadow-modal)",
|
|
1044
1757
|
inset: "var(--game-ui-shadow-inset)",
|
|
1045
1758
|
stroke: "var(--game-ui-stroke)"
|
|
1046
|
-
},
|
|
1759
|
+
}, Ct = {
|
|
1047
1760
|
fast: "var(--game-ui-motion-fast)",
|
|
1048
1761
|
base: "var(--game-ui-motion-base)",
|
|
1049
1762
|
slow: "var(--game-ui-motion-slow)",
|
|
1050
1763
|
easingPop: "var(--game-ui-ease-pop)",
|
|
1051
1764
|
easingSoft: "var(--game-ui-ease-soft)",
|
|
1052
1765
|
reducedMotion: "var(--game-ui-reduced-motion-policy)"
|
|
1053
|
-
},
|
|
1766
|
+
}, wt = {
|
|
1054
1767
|
playfield: "var(--game-ui-z-playfield)",
|
|
1055
1768
|
hud: "var(--game-ui-z-hud)",
|
|
1056
1769
|
sidebar: "var(--game-ui-z-sidebar)",
|
|
1057
1770
|
overlay: "var(--game-ui-z-overlay)",
|
|
1058
1771
|
modal: "var(--game-ui-z-modal)",
|
|
1059
1772
|
toast: "var(--game-ui-z-toast)"
|
|
1060
|
-
},
|
|
1773
|
+
}, Tt = {
|
|
1061
1774
|
touchMinimumPx: 44,
|
|
1062
1775
|
touchPrimaryPx: 52,
|
|
1063
1776
|
touchIconPx: 48,
|
|
@@ -1068,7 +1781,7 @@ var W = {
|
|
|
1068
1781
|
desktopProofHeightPx: 900,
|
|
1069
1782
|
mobileLandscapeProofWidthPx: 844,
|
|
1070
1783
|
mobileLandscapeProofHeightPx: 390
|
|
1071
|
-
},
|
|
1784
|
+
}, Et = {
|
|
1072
1785
|
iconSm: "var(--game-ui-asset-icon-sm)",
|
|
1073
1786
|
iconMd: "var(--game-ui-asset-icon-md)",
|
|
1074
1787
|
iconLg: "var(--game-ui-asset-icon-lg)",
|
|
@@ -1080,20 +1793,20 @@ var W = {
|
|
|
1080
1793
|
terrainToolHitSize: "var(--game-ui-terrain-tool-hit-size)",
|
|
1081
1794
|
buildRailCardSize: "var(--game-ui-build-rail-card-size)",
|
|
1082
1795
|
brushNumberWidth: "var(--game-ui-brush-number-width)"
|
|
1083
|
-
},
|
|
1084
|
-
colors:
|
|
1085
|
-
semantic:
|
|
1086
|
-
typography:
|
|
1087
|
-
spacing:
|
|
1088
|
-
radius:
|
|
1089
|
-
elevation:
|
|
1090
|
-
motion:
|
|
1091
|
-
layers:
|
|
1092
|
-
targets:
|
|
1093
|
-
assetSizing:
|
|
1094
|
-
overlayGlass:
|
|
1095
|
-
liquidMetal:
|
|
1096
|
-
},
|
|
1796
|
+
}, Dt = {
|
|
1797
|
+
colors: J,
|
|
1798
|
+
semantic: vt,
|
|
1799
|
+
typography: yt,
|
|
1800
|
+
spacing: bt,
|
|
1801
|
+
radius: xt,
|
|
1802
|
+
elevation: St,
|
|
1803
|
+
motion: Ct,
|
|
1804
|
+
layers: wt,
|
|
1805
|
+
targets: Tt,
|
|
1806
|
+
assetSizing: Et,
|
|
1807
|
+
overlayGlass: _t,
|
|
1808
|
+
liquidMetal: gt
|
|
1809
|
+
}, Ot = "/assets/game/ui/clay/phase03-clay-kit", Y = (e) => `${Ot}/${e}`, kt = {
|
|
1097
1810
|
ai: { line: Y("icons/function/brain-v1.png") },
|
|
1098
1811
|
alert: {
|
|
1099
1812
|
game: Y("components/common/alert-v1.png"),
|
|
@@ -1183,20 +1896,20 @@ var W = {
|
|
|
1183
1896
|
game: Y("icons/common/target-v1.png"),
|
|
1184
1897
|
line: Y("icons/function/target-v1.png")
|
|
1185
1898
|
}
|
|
1186
|
-
},
|
|
1187
|
-
function
|
|
1188
|
-
let t =
|
|
1899
|
+
}, At = Object.keys(kt), jt = Ot;
|
|
1900
|
+
function Mt(e) {
|
|
1901
|
+
let t = jt;
|
|
1189
1902
|
return !e || t === "/assets/game/ui/clay/phase03-clay-kit" ? e : e.startsWith("/assets/game/ui/clay/phase03-clay-kit") ? `${t}${e.slice(37)}` : e;
|
|
1190
1903
|
}
|
|
1191
|
-
function
|
|
1192
|
-
let n =
|
|
1193
|
-
return
|
|
1904
|
+
function Nt(e, t) {
|
|
1905
|
+
let n = kt[e];
|
|
1906
|
+
return Mt(t === "line" ? n.line ?? n.game ?? "" : n.game ?? n.line ?? "");
|
|
1194
1907
|
}
|
|
1195
|
-
function
|
|
1196
|
-
let t =
|
|
1908
|
+
function Pt(e) {
|
|
1909
|
+
let t = kt[e], n = [];
|
|
1197
1910
|
return t.game && n.push("game"), t.line && n.push("line"), n;
|
|
1198
1911
|
}
|
|
1199
|
-
var
|
|
1912
|
+
var Ft = {
|
|
1200
1913
|
anvil: Y("icons/common/anvil-v1.png"),
|
|
1201
1914
|
arrow: Y("icons/common/arrow-v1.png"),
|
|
1202
1915
|
bomb: Y("icons/common/bomb-v1.png"),
|
|
@@ -1223,7 +1936,7 @@ var Fe = {
|
|
|
1223
1936
|
swordB: Y("icons/common/sword-b-v1.png"),
|
|
1224
1937
|
talaria: Y("icons/common/talaria-v1.png"),
|
|
1225
1938
|
treasure: Y("icons/common/treasure-v1.png")
|
|
1226
|
-
},
|
|
1939
|
+
}, It = Object.keys(Ft), Lt = {
|
|
1227
1940
|
buttons: {
|
|
1228
1941
|
primary: Y("buttons/button-brown-large-v2.png"),
|
|
1229
1942
|
blue: Y("buttons/button-blue-large-v2.png"),
|
|
@@ -1244,7 +1957,7 @@ var Fe = {
|
|
|
1244
1957
|
tabSelected: Y("components/common/tab-s-v1.png"),
|
|
1245
1958
|
tabNormal: Y("components/common/tab-n-v1.png")
|
|
1246
1959
|
},
|
|
1247
|
-
icons: Object.fromEntries(
|
|
1960
|
+
icons: Object.fromEntries(At.map((e) => [e, Nt(e)])),
|
|
1248
1961
|
catalog: {
|
|
1249
1962
|
manifest: "/assets/game/ui/clay/asset-manifest.json",
|
|
1250
1963
|
sourceCatalog: Y("catalog/phase03-clay-ui-catalog.json"),
|
|
@@ -1252,7 +1965,7 @@ var Fe = {
|
|
|
1252
1965
|
contactSheetComponents: Y("catalog/component-candidates-contact-sheet-v1.png"),
|
|
1253
1966
|
contactSheetFunction: Y("catalog/function-icons-contact-sheet-v1.png")
|
|
1254
1967
|
}
|
|
1255
|
-
},
|
|
1968
|
+
}, Rt = {
|
|
1256
1969
|
ai: "AI",
|
|
1257
1970
|
alert: "!",
|
|
1258
1971
|
card: "▣",
|
|
@@ -1288,72 +2001,72 @@ var Fe = {
|
|
|
1288
2001
|
timer: "◷",
|
|
1289
2002
|
trophy: "★",
|
|
1290
2003
|
vote: "⌾"
|
|
1291
|
-
},
|
|
1292
|
-
ai:
|
|
1293
|
-
alert:
|
|
1294
|
-
card:
|
|
1295
|
-
chat:
|
|
1296
|
-
check:
|
|
1297
|
-
close:
|
|
1298
|
-
coin:
|
|
1299
|
-
compass:
|
|
1300
|
-
copy:
|
|
1301
|
-
crown:
|
|
1302
|
-
energy:
|
|
1303
|
-
gem:
|
|
1304
|
-
gift:
|
|
1305
|
-
globe:
|
|
1306
|
-
history:
|
|
1307
|
-
redo:
|
|
1308
|
-
undo:
|
|
1309
|
-
home:
|
|
1310
|
-
hourglass:
|
|
1311
|
-
laurel:
|
|
1312
|
-
lock:
|
|
1313
|
-
lucky:
|
|
1314
|
-
mail:
|
|
1315
|
-
medal:
|
|
1316
|
-
mission:
|
|
1317
|
-
mobile:
|
|
1318
|
-
portal:
|
|
1319
|
-
scroll:
|
|
1320
|
-
settings:
|
|
1321
|
-
shirt:
|
|
1322
|
-
shop:
|
|
1323
|
-
smile:
|
|
1324
|
-
timer:
|
|
1325
|
-
trophy:
|
|
1326
|
-
vote:
|
|
2004
|
+
}, zt = {
|
|
2005
|
+
ai: J.berry,
|
|
2006
|
+
alert: J.red,
|
|
2007
|
+
card: J.honey,
|
|
2008
|
+
chat: J.sky,
|
|
2009
|
+
check: J.green,
|
|
2010
|
+
close: J.red,
|
|
2011
|
+
coin: J.honey,
|
|
2012
|
+
compass: J.teal,
|
|
2013
|
+
copy: J.wood,
|
|
2014
|
+
crown: J.honey,
|
|
2015
|
+
energy: J.orange,
|
|
2016
|
+
gem: J.sky,
|
|
2017
|
+
gift: J.red,
|
|
2018
|
+
globe: J.teal,
|
|
2019
|
+
history: J.inkMuted,
|
|
2020
|
+
redo: J.wood,
|
|
2021
|
+
undo: J.wood,
|
|
2022
|
+
home: J.wood,
|
|
2023
|
+
hourglass: J.orange,
|
|
2024
|
+
laurel: J.green,
|
|
2025
|
+
lock: J.ink,
|
|
2026
|
+
lucky: J.green,
|
|
2027
|
+
mail: J.sky,
|
|
2028
|
+
medal: J.honey,
|
|
2029
|
+
mission: J.berry,
|
|
2030
|
+
mobile: J.sky,
|
|
2031
|
+
portal: J.teal,
|
|
2032
|
+
scroll: J.berry,
|
|
2033
|
+
settings: J.inkMuted,
|
|
2034
|
+
shirt: J.sky,
|
|
2035
|
+
shop: J.inkMuted,
|
|
2036
|
+
smile: J.honey,
|
|
2037
|
+
timer: J.orange,
|
|
2038
|
+
trophy: J.honey,
|
|
2039
|
+
vote: J.red
|
|
1327
2040
|
};
|
|
1328
|
-
function
|
|
1329
|
-
let t =
|
|
2041
|
+
function Bt(e) {
|
|
2042
|
+
let t = Rt[e], n = zt[e], r = J.parchment, i = `<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="${r}" filter="url(#s)"/><circle cx="48" cy="46" r="28" fill="${n}" 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="${r}">${t}</text></svg>`;
|
|
1330
2043
|
return `data:image/svg+xml,${encodeURIComponent(i)}`;
|
|
1331
2044
|
}
|
|
1332
|
-
var
|
|
1333
|
-
function
|
|
1334
|
-
|
|
2045
|
+
var Vt = "inline";
|
|
2046
|
+
function Ht(e) {
|
|
2047
|
+
Vt = e;
|
|
1335
2048
|
}
|
|
1336
|
-
function
|
|
1337
|
-
return
|
|
2049
|
+
function Ut() {
|
|
2050
|
+
return Vt;
|
|
1338
2051
|
}
|
|
1339
|
-
function
|
|
1340
|
-
|
|
2052
|
+
function Wt(e) {
|
|
2053
|
+
jt = e.replace(/\/+$/, "");
|
|
1341
2054
|
}
|
|
1342
|
-
function
|
|
1343
|
-
return
|
|
2055
|
+
function Gt() {
|
|
2056
|
+
return jt;
|
|
1344
2057
|
}
|
|
1345
|
-
var
|
|
1346
|
-
function
|
|
1347
|
-
|
|
2058
|
+
var Kt = !1;
|
|
2059
|
+
function qt() {
|
|
2060
|
+
Kt || (Kt = !0, !(typeof console > "u") && console.warn("[SwimmerUIKit] Clay icons are rendering placeholders, not the icon set. The sculpted PNGs ship inside this package but must be served by your app:\n npx swimmer-ui-assets public\n setClayAssetMode('source') // once, at your entry\nCall setClayAssetMode('inline') explicitly to keep placeholders and silence this."));
|
|
1348
2061
|
}
|
|
1349
|
-
function
|
|
1350
|
-
|
|
2062
|
+
function Jt() {
|
|
2063
|
+
Kt = !0;
|
|
1351
2064
|
}
|
|
1352
|
-
function
|
|
1353
|
-
return t.inline ??
|
|
2065
|
+
function Yt(e, t = {}) {
|
|
2066
|
+
return t.inline ?? Vt === "inline" ? (qt(), Bt(e)) : Nt(e, t.style);
|
|
1354
2067
|
}
|
|
1355
|
-
function
|
|
1356
|
-
return
|
|
2068
|
+
function Xt(e, t) {
|
|
2069
|
+
return Nt(e, t);
|
|
1357
2070
|
}
|
|
1358
2071
|
//#endregion
|
|
1359
2072
|
//#region src/ClayComponents.tsx
|
|
@@ -1365,7 +2078,7 @@ function X({ children: e, className: n, tone: r = "neutral" }) {
|
|
|
1365
2078
|
});
|
|
1366
2079
|
}
|
|
1367
2080
|
function Z({ className: e, icon: n, label: r, size: i = "md", style: a, useSourceAsset: o = !1 }) {
|
|
1368
|
-
let s = ["game-ui-asset-icon", e].filter(Boolean).join(" "), c = r ? { "aria-label": r } : { "aria-hidden": !0 }, l =
|
|
2081
|
+
let s = ["game-ui-asset-icon", e].filter(Boolean).join(" "), c = r ? { "aria-label": r } : { "aria-hidden": !0 }, l = Yt(n, {
|
|
1369
2082
|
...a ? { style: a } : {},
|
|
1370
2083
|
...o ? { inline: !1 } : {}
|
|
1371
2084
|
});
|
|
@@ -1380,7 +2093,7 @@ function Z({ className: e, icon: n, label: r, size: i = "md", style: a, useSourc
|
|
|
1380
2093
|
})
|
|
1381
2094
|
});
|
|
1382
2095
|
}
|
|
1383
|
-
function
|
|
2096
|
+
function Zt({ actions: e, className: r, items: i, label: a }) {
|
|
1384
2097
|
return /* @__PURE__ */ n("section", {
|
|
1385
2098
|
"aria-label": a,
|
|
1386
2099
|
className: ["game-ui-hud", r].filter(Boolean).join(" "),
|
|
@@ -1403,7 +2116,7 @@ function Ze({ actions: e, className: r, items: i, label: a }) {
|
|
|
1403
2116
|
}) : null]
|
|
1404
2117
|
});
|
|
1405
2118
|
}
|
|
1406
|
-
function
|
|
2119
|
+
function Qt({ cards: e, className: r, label: i }) {
|
|
1407
2120
|
let a = ["game-ui-card-fan", r].filter(Boolean).join(" "), o = (e.length - 1) / 2;
|
|
1408
2121
|
return /* @__PURE__ */ t("div", {
|
|
1409
2122
|
"aria-label": i,
|
|
@@ -1426,7 +2139,7 @@ function Qe({ cards: e, className: r, label: i }) {
|
|
|
1426
2139
|
}, e.id))
|
|
1427
2140
|
});
|
|
1428
2141
|
}
|
|
1429
|
-
function $
|
|
2142
|
+
function $t({ badge: e, className: r, icon: i, kicker: a, selected: o = !1, summary: s, title: c, tone: l = "daily", type: u = "button", ...d }) {
|
|
1430
2143
|
return /* @__PURE__ */ n("button", {
|
|
1431
2144
|
"aria-pressed": o,
|
|
1432
2145
|
className: ["game-ui-stage-tile", r].filter(Boolean).join(" "),
|
|
@@ -1453,27 +2166,27 @@ function $e({ badge: e, className: r, icon: i, kicker: a, selected: o = !1, summ
|
|
|
1453
2166
|
]
|
|
1454
2167
|
});
|
|
1455
2168
|
}
|
|
1456
|
-
function
|
|
2169
|
+
function en() {
|
|
1457
2170
|
return typeof window > "u" ? !1 : (window.matchMedia?.("(pointer: coarse), (max-width: 899px)").matches ?? window.innerWidth < 900) && window.innerHeight > window.innerWidth;
|
|
1458
2171
|
}
|
|
1459
|
-
function
|
|
1460
|
-
let [
|
|
1461
|
-
if (
|
|
2172
|
+
function tn({ body: e, cta: r, badgeLabel: i = "Landscape only", manualHint: a = "Rotate manually if this browser blocks automatic landscape lock.", preview: o = !1, title: s }) {
|
|
2173
|
+
let [c, u] = m(o || en), [d, f] = m("");
|
|
2174
|
+
if (l(() => {
|
|
1462
2175
|
if (o) return;
|
|
1463
2176
|
let e = () => {
|
|
1464
|
-
let e =
|
|
1465
|
-
u(e), e ||
|
|
2177
|
+
let e = en();
|
|
2178
|
+
u(e), e || f("");
|
|
1466
2179
|
};
|
|
1467
2180
|
return e(), window.addEventListener("resize", e), window.addEventListener("orientationchange", e), () => {
|
|
1468
2181
|
window.removeEventListener("resize", e), window.removeEventListener("orientationchange", e);
|
|
1469
2182
|
};
|
|
1470
|
-
}, [o]), !
|
|
1471
|
-
let
|
|
1472
|
-
if (
|
|
2183
|
+
}, [o]), !c) return null;
|
|
2184
|
+
let p = async () => {
|
|
2185
|
+
if (f(""), !o) try {
|
|
1473
2186
|
let e = document.documentElement;
|
|
1474
|
-
!document.fullscreenElement && e.requestFullscreen && await e.requestFullscreen(), await screen.orientation.lock?.("landscape-primary"), u(
|
|
2187
|
+
!document.fullscreenElement && e.requestFullscreen && await e.requestFullscreen(), await screen.orientation.lock?.("landscape-primary"), u(en());
|
|
1475
2188
|
} catch {
|
|
1476
|
-
|
|
2189
|
+
f(a);
|
|
1477
2190
|
}
|
|
1478
2191
|
};
|
|
1479
2192
|
return /* @__PURE__ */ t("aside", {
|
|
@@ -1493,32 +2206,32 @@ function tt({ body: e, cta: r, badgeLabel: i = "Landscape only", manualHint: a =
|
|
|
1493
2206
|
/* @__PURE__ */ t("h2", { children: s }),
|
|
1494
2207
|
/* @__PURE__ */ t("p", { children: e }),
|
|
1495
2208
|
/* @__PURE__ */ t("button", {
|
|
1496
|
-
onClick: () => void
|
|
2209
|
+
onClick: () => void p(),
|
|
1497
2210
|
type: "button",
|
|
1498
2211
|
children: r
|
|
1499
2212
|
}),
|
|
1500
|
-
|
|
2213
|
+
d ? /* @__PURE__ */ t("small", { children: d }) : null
|
|
1501
2214
|
]
|
|
1502
2215
|
})
|
|
1503
2216
|
});
|
|
1504
2217
|
}
|
|
1505
|
-
function
|
|
1506
|
-
let [
|
|
1507
|
-
o === void 0 &&
|
|
2218
|
+
function nn({ className: e, currentLabel: r, label: i, options: a, value: o, defaultValue: s, onSelect: c }) {
|
|
2219
|
+
let [l, d] = m(!1), [f, p] = m(s ?? a[0]?.id ?? ""), h = u(), g = ["game-ui-language-menu", e].filter(Boolean).join(" "), _ = o ?? f, v = a.find((e) => e.id === _), y = r ?? v?.label ?? a[0]?.label ?? "", b = (e) => {
|
|
2220
|
+
o === void 0 && p(e), c?.(e), d(!1);
|
|
1508
2221
|
};
|
|
1509
2222
|
return /* @__PURE__ */ n("div", {
|
|
1510
2223
|
className: g,
|
|
1511
2224
|
children: [/* @__PURE__ */ n("button", {
|
|
1512
2225
|
"aria-controls": h,
|
|
1513
|
-
"aria-expanded":
|
|
2226
|
+
"aria-expanded": l,
|
|
1514
2227
|
className: "game-ui-language-trigger",
|
|
1515
|
-
onClick: () =>
|
|
2228
|
+
onClick: () => d((e) => !e),
|
|
1516
2229
|
type: "button",
|
|
1517
2230
|
children: [/* @__PURE__ */ t(Z, {
|
|
1518
2231
|
icon: "globe",
|
|
1519
2232
|
size: "sm"
|
|
1520
2233
|
}), /* @__PURE__ */ t("span", { children: y })]
|
|
1521
|
-
}),
|
|
2234
|
+
}), l ? /* @__PURE__ */ t("div", {
|
|
1522
2235
|
"aria-label": i,
|
|
1523
2236
|
className: "game-ui-language-popover",
|
|
1524
2237
|
id: h,
|
|
@@ -1534,34 +2247,34 @@ function nt({ className: e, currentLabel: r, label: i, options: a, value: o, def
|
|
|
1534
2247
|
}) : null]
|
|
1535
2248
|
});
|
|
1536
2249
|
}
|
|
1537
|
-
function
|
|
2250
|
+
function rn({ label: e, tone: r = "loading" }) {
|
|
1538
2251
|
return /* @__PURE__ */ n("div", {
|
|
1539
2252
|
className: "game-ui-loading-state",
|
|
1540
2253
|
"data-loading-tone": r,
|
|
1541
2254
|
role: r === "error" ? "alert" : "status",
|
|
1542
2255
|
children: [/* @__PURE__ */ t("img", {
|
|
1543
2256
|
alt: "",
|
|
1544
|
-
src:
|
|
2257
|
+
src: Yt(r === "error" ? "alert" : "timer")
|
|
1545
2258
|
}), /* @__PURE__ */ t("span", { children: e })]
|
|
1546
2259
|
});
|
|
1547
2260
|
}
|
|
1548
|
-
function
|
|
1549
|
-
return
|
|
2261
|
+
function an() {
|
|
2262
|
+
return Lt.catalog;
|
|
1550
2263
|
}
|
|
1551
2264
|
//#endregion
|
|
1552
2265
|
//#region src/FirstSessionGameShell.tsx
|
|
1553
|
-
function
|
|
2266
|
+
function on({ fallback: e, slot: n }) {
|
|
1554
2267
|
return n ?? /* @__PURE__ */ t(Z, {
|
|
1555
2268
|
icon: e,
|
|
1556
2269
|
size: "sm"
|
|
1557
2270
|
});
|
|
1558
2271
|
}
|
|
1559
|
-
function
|
|
2272
|
+
function sn({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, iconSlots: o, labels: s, onHistory: c, onSettings: l, onWardrobe: u, playerName: d }) {
|
|
1560
2273
|
let f = ["swimmer-first-session-shell", i].filter(Boolean).join(" "), p = e ? `${r} 🔋` : s.guest ?? "guest";
|
|
1561
2274
|
return /* @__PURE__ */ n("section", {
|
|
1562
2275
|
"aria-label": s.shell,
|
|
1563
2276
|
className: f,
|
|
1564
|
-
children: [/* @__PURE__ */ t(
|
|
2277
|
+
children: [/* @__PURE__ */ t(Zt, {
|
|
1565
2278
|
className: "swimmer-first-session-hud",
|
|
1566
2279
|
items: [
|
|
1567
2280
|
{
|
|
@@ -1593,33 +2306,33 @@ function ot({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
|
|
|
1593
2306
|
}
|
|
1594
2307
|
],
|
|
1595
2308
|
label: s.hud,
|
|
1596
|
-
actions: /* @__PURE__ */ n(
|
|
2309
|
+
actions: /* @__PURE__ */ n(ot, {
|
|
1597
2310
|
className: "swimmer-first-session-hud-actions",
|
|
1598
2311
|
label: s.tools,
|
|
1599
2312
|
children: [
|
|
1600
|
-
/* @__PURE__ */ n(
|
|
2313
|
+
/* @__PURE__ */ n(w, {
|
|
1601
2314
|
"aria-label": s.wardrobe,
|
|
1602
2315
|
onClick: u,
|
|
1603
2316
|
variant: "secondary",
|
|
1604
|
-
children: [/* @__PURE__ */ t(
|
|
2317
|
+
children: [/* @__PURE__ */ t(on, {
|
|
1605
2318
|
fallback: "shirt",
|
|
1606
2319
|
slot: o?.wardrobe
|
|
1607
2320
|
}), s.wardrobe]
|
|
1608
2321
|
}),
|
|
1609
|
-
/* @__PURE__ */ n(
|
|
2322
|
+
/* @__PURE__ */ n(w, {
|
|
1610
2323
|
"aria-label": s.settings,
|
|
1611
2324
|
onClick: l,
|
|
1612
2325
|
variant: "secondary",
|
|
1613
|
-
children: [/* @__PURE__ */ t(
|
|
2326
|
+
children: [/* @__PURE__ */ t(on, {
|
|
1614
2327
|
fallback: "settings",
|
|
1615
2328
|
slot: o?.settings
|
|
1616
2329
|
}), s.settings]
|
|
1617
2330
|
}),
|
|
1618
|
-
/* @__PURE__ */ n(
|
|
2331
|
+
/* @__PURE__ */ n(w, {
|
|
1619
2332
|
"aria-label": s.history,
|
|
1620
2333
|
onClick: c,
|
|
1621
2334
|
variant: "secondary",
|
|
1622
|
-
children: [/* @__PURE__ */ t(
|
|
2335
|
+
children: [/* @__PURE__ */ t(on, {
|
|
1623
2336
|
fallback: "history",
|
|
1624
2337
|
slot: o?.history
|
|
1625
2338
|
}), s.history]
|
|
@@ -1644,7 +2357,7 @@ function ot({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
|
|
|
1644
2357
|
}),
|
|
1645
2358
|
/* @__PURE__ */ n("label", {
|
|
1646
2359
|
className: "swimmer-first-session-input",
|
|
1647
|
-
children: [/* @__PURE__ */ t(
|
|
2360
|
+
children: [/* @__PURE__ */ t(on, {
|
|
1648
2361
|
fallback: "chat",
|
|
1649
2362
|
slot: o?.input
|
|
1650
2363
|
}), /* @__PURE__ */ t("span", { children: s.input })]
|
|
@@ -1652,7 +2365,7 @@ function ot({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
|
|
|
1652
2365
|
/* @__PURE__ */ n("button", {
|
|
1653
2366
|
className: "swimmer-first-session-emote",
|
|
1654
2367
|
type: "button",
|
|
1655
|
-
children: [/* @__PURE__ */ t(
|
|
2368
|
+
children: [/* @__PURE__ */ t(on, {
|
|
1656
2369
|
fallback: "smile",
|
|
1657
2370
|
slot: o?.emote
|
|
1658
2371
|
}), s.emote]
|
|
@@ -1661,7 +2374,7 @@ function ot({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
|
|
|
1661
2374
|
})]
|
|
1662
2375
|
});
|
|
1663
2376
|
}
|
|
1664
|
-
function
|
|
2377
|
+
function cn({ labels: e, onDismiss: r, open: i }) {
|
|
1665
2378
|
return i ? /* @__PURE__ */ n("aside", {
|
|
1666
2379
|
"aria-labelledby": "swimmer-first-session-onboarding-title",
|
|
1667
2380
|
"aria-modal": "true",
|
|
@@ -1693,11 +2406,11 @@ function st({ labels: e, onDismiss: r, open: i }) {
|
|
|
1693
2406
|
}),
|
|
1694
2407
|
/* @__PURE__ */ n("div", {
|
|
1695
2408
|
className: "swimmer-first-session-onboarding-actions",
|
|
1696
|
-
children: [/* @__PURE__ */ t(
|
|
2409
|
+
children: [/* @__PURE__ */ t(w, {
|
|
1697
2410
|
onClick: r,
|
|
1698
2411
|
variant: "primary",
|
|
1699
2412
|
children: e.start
|
|
1700
|
-
}), /* @__PURE__ */ t(
|
|
2413
|
+
}), /* @__PURE__ */ t(w, {
|
|
1701
2414
|
onClick: r,
|
|
1702
2415
|
variant: "ghost",
|
|
1703
2416
|
children: e.skip
|
|
@@ -1709,7 +2422,7 @@ function st({ labels: e, onDismiss: r, open: i }) {
|
|
|
1709
2422
|
}
|
|
1710
2423
|
//#endregion
|
|
1711
2424
|
//#region src/GameForms.tsx
|
|
1712
|
-
var
|
|
2425
|
+
var ln = a(function({ className: e, invalid: n, type: r = "text", ...i }, a) {
|
|
1713
2426
|
return /* @__PURE__ */ t("input", {
|
|
1714
2427
|
className: ["game-ui-input", e].filter(Boolean).join(" "),
|
|
1715
2428
|
"data-invalid": n ? "true" : void 0,
|
|
@@ -1717,7 +2430,7 @@ var ct = a(function({ className: e, invalid: n, type: r = "text", ...i }, a) {
|
|
|
1717
2430
|
type: r,
|
|
1718
2431
|
...i
|
|
1719
2432
|
});
|
|
1720
|
-
}),
|
|
2433
|
+
}), un = a(function({ className: e, invalid: n, rows: r = 3, ...i }, a) {
|
|
1721
2434
|
return /* @__PURE__ */ t("textarea", {
|
|
1722
2435
|
className: [
|
|
1723
2436
|
"game-ui-input",
|
|
@@ -1730,7 +2443,7 @@ var ct = a(function({ className: e, invalid: n, type: r = "text", ...i }, a) {
|
|
|
1730
2443
|
...i
|
|
1731
2444
|
});
|
|
1732
2445
|
});
|
|
1733
|
-
function
|
|
2446
|
+
function dn({ children: e, className: r, error: i, hint: a, label: o, required: s }) {
|
|
1734
2447
|
return /* @__PURE__ */ n("label", {
|
|
1735
2448
|
className: ["game-ui-field", r].filter(Boolean).join(" "),
|
|
1736
2449
|
"data-invalid": i ? "true" : void 0,
|
|
@@ -1756,7 +2469,7 @@ function ut({ children: e, className: r, error: i, hint: a, label: o, required:
|
|
|
1756
2469
|
]
|
|
1757
2470
|
});
|
|
1758
2471
|
}
|
|
1759
|
-
function
|
|
2472
|
+
function fn({ className: e, label: r, ...i }) {
|
|
1760
2473
|
return /* @__PURE__ */ n("label", {
|
|
1761
2474
|
className: ["game-ui-checkbox", e].filter(Boolean).join(" "),
|
|
1762
2475
|
children: [
|
|
@@ -1778,11 +2491,11 @@ function dt({ className: e, label: r, ...i }) {
|
|
|
1778
2491
|
}
|
|
1779
2492
|
//#endregion
|
|
1780
2493
|
//#region src/GameDisplay.tsx
|
|
1781
|
-
function
|
|
2494
|
+
function pn(e) {
|
|
1782
2495
|
let t = e.trim().split(/\s+/).filter(Boolean);
|
|
1783
2496
|
return t.length === 0 ? "?" : t.slice(0, 2).map((e) => e[0] ?? "").join("").toUpperCase();
|
|
1784
2497
|
}
|
|
1785
|
-
function
|
|
2498
|
+
function mn({ className: r, name: i, size: a = "md", src: o, status: s = "none" }) {
|
|
1786
2499
|
return /* @__PURE__ */ n("span", {
|
|
1787
2500
|
className: ["game-ui-avatar", r].filter(Boolean).join(" "),
|
|
1788
2501
|
"data-avatar-size": a,
|
|
@@ -1793,7 +2506,7 @@ function pt({ className: r, name: i, size: a = "md", src: o, status: s = "none"
|
|
|
1793
2506
|
}) : /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("span", {
|
|
1794
2507
|
"aria-hidden": "true",
|
|
1795
2508
|
className: "game-ui-avatar-initials",
|
|
1796
|
-
children:
|
|
2509
|
+
children: pn(i)
|
|
1797
2510
|
}), /* @__PURE__ */ t("span", {
|
|
1798
2511
|
className: "game-ui-sr-only",
|
|
1799
2512
|
children: i
|
|
@@ -1803,7 +2516,7 @@ function pt({ className: r, name: i, size: a = "md", src: o, status: s = "none"
|
|
|
1803
2516
|
})]
|
|
1804
2517
|
});
|
|
1805
2518
|
}
|
|
1806
|
-
function
|
|
2519
|
+
function hn({ className: e, label: r, max: i = 100, showValue: a = !1, tone: o = "accent", value: s, valueLabel: c }) {
|
|
1807
2520
|
let l = i <= 0 ? 100 : i, u = Math.max(0, Math.min(100, s / l * 100)), d = ["game-ui-progress", e].filter(Boolean).join(" "), f = !!c;
|
|
1808
2521
|
return /* @__PURE__ */ n("div", {
|
|
1809
2522
|
className: d,
|
|
@@ -1829,7 +2542,7 @@ function mt({ className: e, label: r, max: i = 100, showValue: a = !1, tone: o =
|
|
|
1829
2542
|
}) : null]
|
|
1830
2543
|
});
|
|
1831
2544
|
}
|
|
1832
|
-
function
|
|
2545
|
+
function gn({ action: e, className: r, description: i, icon: a, title: o }) {
|
|
1833
2546
|
return /* @__PURE__ */ n("div", {
|
|
1834
2547
|
className: ["game-ui-empty-state", r].filter(Boolean).join(" "),
|
|
1835
2548
|
children: [
|
|
@@ -1854,7 +2567,7 @@ function ht({ action: e, className: r, description: i, icon: a, title: o }) {
|
|
|
1854
2567
|
}
|
|
1855
2568
|
//#endregion
|
|
1856
2569
|
//#region src/GameSurfacePack.tsx
|
|
1857
|
-
function
|
|
2570
|
+
function _n({ assetLibrary: e, bottomBar: r, children: i, className: a, density: o = "comfortable", hud: s, layout: c = "auto", movementPad: l, overlay: u, sidePanel: d, title: f }) {
|
|
1858
2571
|
return /* @__PURE__ */ n("section", {
|
|
1859
2572
|
"aria-label": f,
|
|
1860
2573
|
className: ["game-ui-shell", a].filter(Boolean).join(" "),
|
|
@@ -1892,8 +2605,8 @@ function gt({ assetLibrary: e, bottomBar: r, children: i, className: a, density:
|
|
|
1892
2605
|
]
|
|
1893
2606
|
});
|
|
1894
2607
|
}
|
|
1895
|
-
var
|
|
1896
|
-
function
|
|
2608
|
+
var vn = _n;
|
|
2609
|
+
function yn({ className: e, density: r = "comfortable", facts: i, label: a, variant: o = "facts" }) {
|
|
1897
2610
|
return /* @__PURE__ */ t("section", {
|
|
1898
2611
|
"aria-label": a,
|
|
1899
2612
|
className: ["game-ui-fact-list", e].filter(Boolean).join(" "),
|
|
@@ -1922,9 +2635,9 @@ function vt({ className: e, density: r = "comfortable", facts: i, label: a, vari
|
|
|
1922
2635
|
}, e.id))
|
|
1923
2636
|
});
|
|
1924
2637
|
}
|
|
1925
|
-
var
|
|
1926
|
-
function
|
|
1927
|
-
return /* @__PURE__ */ n(
|
|
2638
|
+
var bn = yn;
|
|
2639
|
+
function xn({ actions: r, className: i, density: a = "comfortable", iconLabelMode: o = "hidden", label: s, style: c = "button" }) {
|
|
2640
|
+
return /* @__PURE__ */ n(ot, {
|
|
1928
2641
|
className: ["game-ui-action-grid", i].filter(Boolean).join(" "),
|
|
1929
2642
|
"data-icon-label-mode": c === "icon" ? o : void 0,
|
|
1930
2643
|
label: s,
|
|
@@ -1949,14 +2662,14 @@ function bt({ actions: r, className: i, density: a = "comfortable", iconLabelMod
|
|
|
1949
2662
|
}) : null,
|
|
1950
2663
|
r.shortcut ? /* @__PURE__ */ t("kbd", { children: r.shortcut }) : null
|
|
1951
2664
|
] }), l = () => r.onAction?.(r.id);
|
|
1952
|
-
return c === "icon" ? /* @__PURE__ */ t(
|
|
2665
|
+
return c === "icon" ? /* @__PURE__ */ t(st, {
|
|
1953
2666
|
"aria-pressed": r.selected,
|
|
1954
2667
|
className: "game-ui-action-grid-button",
|
|
1955
2668
|
disabled: r.disabled,
|
|
1956
2669
|
label: r.ariaLabel ?? r.label,
|
|
1957
2670
|
onClick: l,
|
|
1958
2671
|
children: s
|
|
1959
|
-
}, r.id) : /* @__PURE__ */ t(
|
|
2672
|
+
}, r.id) : /* @__PURE__ */ t(w, {
|
|
1960
2673
|
"aria-pressed": r.selected,
|
|
1961
2674
|
className: "game-ui-action-grid-button",
|
|
1962
2675
|
disabled: r.disabled,
|
|
@@ -1967,7 +2680,7 @@ function bt({ actions: r, className: i, density: a = "comfortable", iconLabelMod
|
|
|
1967
2680
|
})]
|
|
1968
2681
|
});
|
|
1969
2682
|
}
|
|
1970
|
-
var
|
|
2683
|
+
var Sn = [
|
|
1971
2684
|
{
|
|
1972
2685
|
direction: "forward",
|
|
1973
2686
|
label: "Move forward",
|
|
@@ -1992,7 +2705,7 @@ var xt = [
|
|
|
1992
2705
|
shortcut: "S / ↓",
|
|
1993
2706
|
symbol: "↓"
|
|
1994
2707
|
}
|
|
1995
|
-
],
|
|
2708
|
+
], Cn = {
|
|
1996
2709
|
ArrowUp: "forward",
|
|
1997
2710
|
w: "forward",
|
|
1998
2711
|
W: "forward",
|
|
@@ -2007,7 +2720,7 @@ var xt = [
|
|
|
2007
2720
|
S: "backward",
|
|
2008
2721
|
" ": "reset"
|
|
2009
2722
|
};
|
|
2010
|
-
function
|
|
2723
|
+
function wn({ actions: e = Sn, className: r, density: i = "comfortable", disabled: a = !1, helpText: o, label: s, layout: c = "dpad", onMove: l }) {
|
|
2011
2724
|
let u = ["game-ui-movement-pad", r].filter(Boolean).join(" "), d = (e) => {
|
|
2012
2725
|
a || l?.(e);
|
|
2013
2726
|
};
|
|
@@ -2017,7 +2730,7 @@ function Ct({ actions: e = xt, className: r, density: i = "comfortable", disable
|
|
|
2017
2730
|
"data-density": i,
|
|
2018
2731
|
"data-layout": c,
|
|
2019
2732
|
onKeyDown: (t) => {
|
|
2020
|
-
let n =
|
|
2733
|
+
let n = Cn[t.key];
|
|
2021
2734
|
if (!n) return;
|
|
2022
2735
|
let r = e.find((e) => e.direction === n);
|
|
2023
2736
|
!r || r.disabled || a || (t.preventDefault(), d(n));
|
|
@@ -2025,7 +2738,7 @@ function Ct({ actions: e = xt, className: r, density: i = "comfortable", disable
|
|
|
2025
2738
|
tabIndex: 0,
|
|
2026
2739
|
children: [/* @__PURE__ */ t("div", {
|
|
2027
2740
|
className: "game-ui-movement-pad-grid",
|
|
2028
|
-
children: e.map((e) => /* @__PURE__ */ n(
|
|
2741
|
+
children: e.map((e) => /* @__PURE__ */ n(st, {
|
|
2029
2742
|
className: "game-ui-movement-button",
|
|
2030
2743
|
"data-direction": e.direction,
|
|
2031
2744
|
disabled: a || e.disabled,
|
|
@@ -2043,15 +2756,15 @@ function Ct({ actions: e = xt, className: r, density: i = "comfortable", disable
|
|
|
2043
2756
|
}), o ? /* @__PURE__ */ t("p", { children: o }) : null]
|
|
2044
2757
|
});
|
|
2045
2758
|
}
|
|
2046
|
-
var
|
|
2759
|
+
var Tn = {
|
|
2047
2760
|
generated: "Generated",
|
|
2048
2761
|
imported: "Imported",
|
|
2049
2762
|
starter: "Starter"
|
|
2050
|
-
},
|
|
2763
|
+
}, En = {
|
|
2051
2764
|
generated: "ai",
|
|
2052
2765
|
imported: "warning",
|
|
2053
2766
|
starter: "neutral"
|
|
2054
|
-
},
|
|
2767
|
+
}, Dn = {
|
|
2055
2768
|
error: "danger",
|
|
2056
2769
|
generating: "ai",
|
|
2057
2770
|
missing: "danger",
|
|
@@ -2059,12 +2772,12 @@ var wt = {
|
|
|
2059
2772
|
ready: "neutral",
|
|
2060
2773
|
selected: "success"
|
|
2061
2774
|
};
|
|
2062
|
-
function
|
|
2063
|
-
let { "aria-label": S, ...C } = x,
|
|
2775
|
+
function On({ assetId: e, badges: r = [], cardLayout: i = "list", className: a, description: o, disabled: s, facts: c = [], icon: l = "gem", onClick: u, onSelect: d, selected: f = !1, source: p, sourceLabel: m, status: h = "ready", statusLabel: g, thumbnailAlt: _ = "", thumbnailSrc: v, title: y, type: b = "button", ...x }) {
|
|
2776
|
+
let { "aria-label": S, ...C } = x, w = ["game-ui-asset-card", a].filter(Boolean).join(" "), T = m ?? Tn[p], E = g ?? h;
|
|
2064
2777
|
return /* @__PURE__ */ n("button", {
|
|
2065
2778
|
"aria-label": S ?? y,
|
|
2066
2779
|
"aria-pressed": f,
|
|
2067
|
-
className:
|
|
2780
|
+
className: w,
|
|
2068
2781
|
"data-asset-card-layout": i,
|
|
2069
2782
|
"data-asset-source": p,
|
|
2070
2783
|
"data-asset-status": h,
|
|
@@ -2091,12 +2804,12 @@ function Dt({ assetId: e, badges: r = [], cardLayout: i = "list", className: a,
|
|
|
2091
2804
|
className: "game-ui-asset-card-badges",
|
|
2092
2805
|
children: [
|
|
2093
2806
|
/* @__PURE__ */ t(X, {
|
|
2094
|
-
tone:
|
|
2095
|
-
children:
|
|
2807
|
+
tone: En[p],
|
|
2808
|
+
children: T
|
|
2096
2809
|
}),
|
|
2097
2810
|
/* @__PURE__ */ t(X, {
|
|
2098
|
-
tone:
|
|
2099
|
-
children:
|
|
2811
|
+
tone: Dn[h],
|
|
2812
|
+
children: E
|
|
2100
2813
|
}),
|
|
2101
2814
|
r.map((e) => /* @__PURE__ */ t(X, {
|
|
2102
2815
|
tone: e.tone ?? "neutral",
|
|
@@ -2114,7 +2827,7 @@ function Dt({ assetId: e, badges: r = [], cardLayout: i = "list", className: a,
|
|
|
2114
2827
|
})]
|
|
2115
2828
|
});
|
|
2116
2829
|
}
|
|
2117
|
-
function
|
|
2830
|
+
function kn({ cardLayout: e = "auto", className: r, density: i = "comfortable", emptyAction: a, emptyDescription: o = "Assets will appear here when they are ready to place.", emptyTitle: s = "No assets ready", groups: c, label: l, onSelectAsset: u, selectedAssetId: d, subtitle: f, title: p }) {
|
|
2118
2831
|
let m = ["game-ui-asset-library", r].filter(Boolean).join(" "), h = c.reduce((e, t) => e + t.assets.length, 0), g = c.reduce((e, t) => (t.assets.forEach((t) => {
|
|
2119
2832
|
e[t.source] += 1;
|
|
2120
2833
|
}), e), {
|
|
@@ -2122,7 +2835,7 @@ function Ot({ cardLayout: e = "auto", className: r, density: i = "comfortable",
|
|
|
2122
2835
|
imported: 0,
|
|
2123
2836
|
starter: 0
|
|
2124
2837
|
});
|
|
2125
|
-
return /* @__PURE__ */ t(
|
|
2838
|
+
return /* @__PURE__ */ t(q, {
|
|
2126
2839
|
className: m,
|
|
2127
2840
|
"data-card-layout": e,
|
|
2128
2841
|
title: p,
|
|
@@ -2139,15 +2852,15 @@ function Ot({ cardLayout: e = "auto", className: r, density: i = "comfortable",
|
|
|
2139
2852
|
"aria-label": "Asset source counts",
|
|
2140
2853
|
className: "game-ui-asset-library-counts",
|
|
2141
2854
|
children: Object.entries(g).map(([e, t]) => /* @__PURE__ */ n(X, {
|
|
2142
|
-
tone:
|
|
2855
|
+
tone: En[e],
|
|
2143
2856
|
children: [
|
|
2144
|
-
|
|
2857
|
+
Tn[e],
|
|
2145
2858
|
" ",
|
|
2146
2859
|
t
|
|
2147
2860
|
]
|
|
2148
2861
|
}, e))
|
|
2149
2862
|
}),
|
|
2150
|
-
h === 0 ? /* @__PURE__ */ t(
|
|
2863
|
+
h === 0 ? /* @__PURE__ */ t(gn, {
|
|
2151
2864
|
action: a,
|
|
2152
2865
|
description: o,
|
|
2153
2866
|
icon: "gem",
|
|
@@ -2159,13 +2872,13 @@ function Ot({ cardLayout: e = "auto", className: r, density: i = "comfortable",
|
|
|
2159
2872
|
className: "game-ui-asset-library-group",
|
|
2160
2873
|
"data-asset-source": r.source,
|
|
2161
2874
|
children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t("strong", { children: r.label }), r.source ? /* @__PURE__ */ t(X, {
|
|
2162
|
-
tone:
|
|
2163
|
-
children:
|
|
2875
|
+
tone: En[r.source],
|
|
2876
|
+
children: Tn[r.source]
|
|
2164
2877
|
}) : null] }), /* @__PURE__ */ t("div", {
|
|
2165
2878
|
className: "game-ui-asset-library-grid",
|
|
2166
2879
|
children: r.assets.map((n) => {
|
|
2167
2880
|
let r = e === "auto" ? n.cardLayout : e;
|
|
2168
|
-
return /* @__PURE__ */ t(
|
|
2881
|
+
return /* @__PURE__ */ t(On, {
|
|
2169
2882
|
...n,
|
|
2170
2883
|
...r ? { cardLayout: r } : {},
|
|
2171
2884
|
...u ? { onSelect: u } : {},
|
|
@@ -2179,16 +2892,16 @@ function Ot({ cardLayout: e = "auto", className: r, density: i = "comfortable",
|
|
|
2179
2892
|
})
|
|
2180
2893
|
});
|
|
2181
2894
|
}
|
|
2182
|
-
function
|
|
2895
|
+
function An({ actions: e = [], capacityLabel: r = "Objects", className: i, density: a = "comfortable", maxObjects: o, objectActions: s = [], placedObjects: c, selectedLabel: l = "Selected", selectedTitle: u, statusLabel: d = "Status", statusTone: f = "neutral", statusValue: p = "Idle", title: m }) {
|
|
2183
2896
|
let h = ["game-ui-placement-toolbar", i].filter(Boolean).join(" "), g = typeof c == "number" && typeof o == "number", _ = g && o > 0 ? Math.min(o, c) : 0;
|
|
2184
|
-
return /* @__PURE__ */ t(
|
|
2897
|
+
return /* @__PURE__ */ t(q, {
|
|
2185
2898
|
className: h,
|
|
2186
2899
|
title: m,
|
|
2187
2900
|
tone: "strong",
|
|
2188
2901
|
children: /* @__PURE__ */ n("div", {
|
|
2189
2902
|
"data-density": a,
|
|
2190
2903
|
children: [
|
|
2191
|
-
/* @__PURE__ */ t(
|
|
2904
|
+
/* @__PURE__ */ t(yn, {
|
|
2192
2905
|
density: a,
|
|
2193
2906
|
facts: [{
|
|
2194
2907
|
icon: "gem",
|
|
@@ -2204,19 +2917,19 @@ function kt({ actions: e = [], capacityLabel: r = "Objects", className: i, densi
|
|
|
2204
2917
|
}],
|
|
2205
2918
|
label: `${m} facts`
|
|
2206
2919
|
}),
|
|
2207
|
-
g ? /* @__PURE__ */ t(
|
|
2920
|
+
g ? /* @__PURE__ */ t(hn, {
|
|
2208
2921
|
label: r,
|
|
2209
2922
|
max: o,
|
|
2210
2923
|
showValue: !0,
|
|
2211
2924
|
tone: _ >= o ? "warning" : "success",
|
|
2212
2925
|
value: _
|
|
2213
2926
|
}) : null,
|
|
2214
|
-
e.length > 0 ? /* @__PURE__ */ t(
|
|
2927
|
+
e.length > 0 ? /* @__PURE__ */ t(xn, {
|
|
2215
2928
|
actions: e,
|
|
2216
2929
|
density: a,
|
|
2217
2930
|
label: `${m} actions`
|
|
2218
2931
|
}) : null,
|
|
2219
|
-
s.length > 0 ? /* @__PURE__ */ t(
|
|
2932
|
+
s.length > 0 ? /* @__PURE__ */ t(xn, {
|
|
2220
2933
|
actions: s,
|
|
2221
2934
|
density: a,
|
|
2222
2935
|
label: `${m} object actions`,
|
|
@@ -2226,7 +2939,7 @@ function kt({ actions: e = [], capacityLabel: r = "Objects", className: i, densi
|
|
|
2226
2939
|
})
|
|
2227
2940
|
});
|
|
2228
2941
|
}
|
|
2229
|
-
var
|
|
2942
|
+
var jn = An, Mn = {
|
|
2230
2943
|
build: "home",
|
|
2231
2944
|
flatten: "card",
|
|
2232
2945
|
inspect: "compass",
|
|
@@ -2236,7 +2949,7 @@ var At = kt, jt = {
|
|
|
2236
2949
|
raise: "energy",
|
|
2237
2950
|
smooth: "lucky",
|
|
2238
2951
|
terrain: "portal"
|
|
2239
|
-
},
|
|
2952
|
+
}, Nn = {
|
|
2240
2953
|
error: "danger",
|
|
2241
2954
|
locked: "warning",
|
|
2242
2955
|
missing: "danger",
|
|
@@ -2244,10 +2957,10 @@ var At = kt, jt = {
|
|
|
2244
2957
|
ready: "neutral",
|
|
2245
2958
|
selected: "success"
|
|
2246
2959
|
};
|
|
2247
|
-
function
|
|
2960
|
+
function Pn(e, t, n, r) {
|
|
2248
2961
|
let i = {
|
|
2249
2962
|
disabled: !!(r || e.disabled),
|
|
2250
|
-
icon: e.icon ??
|
|
2963
|
+
icon: e.icon ?? Mn[e.id] ?? "gem",
|
|
2251
2964
|
id: e.id,
|
|
2252
2965
|
label: e.label,
|
|
2253
2966
|
selected: e.id === t,
|
|
@@ -2255,21 +2968,21 @@ function Nt(e, t, n, r) {
|
|
|
2255
2968
|
};
|
|
2256
2969
|
return e.ariaLabel && (i.ariaLabel = e.ariaLabel), e.compactLabel && (i.compactLabel = e.compactLabel), e.meta && (i.meta = e.meta), e.shortcut && (i.shortcut = e.shortcut), n && (i.onAction = n), i;
|
|
2257
2970
|
}
|
|
2258
|
-
function
|
|
2971
|
+
function Fn(e, t, n) {
|
|
2259
2972
|
return Number.isNaN(e) ? t : Math.min(n, Math.max(t, e));
|
|
2260
2973
|
}
|
|
2261
|
-
function
|
|
2974
|
+
function In(e) {
|
|
2262
2975
|
return e;
|
|
2263
2976
|
}
|
|
2264
|
-
function
|
|
2977
|
+
function Ln(e, t) {
|
|
2265
2978
|
return e === "auto" ? t === "mobile" || t === "small-mobile" ? "caption" : "hidden" : e;
|
|
2266
2979
|
}
|
|
2267
|
-
function
|
|
2980
|
+
function Rn({ activeModeId: e, className: r, disabled: i = !1, label: a, modes: o, onModeChange: s, variant: c = "desktop", "data-testid": l }) {
|
|
2268
2981
|
return /* @__PURE__ */ n("section", {
|
|
2269
2982
|
"aria-label": a,
|
|
2270
2983
|
className: ["game-ui-terrain-mode-control", r].filter(Boolean).join(" "),
|
|
2271
2984
|
"data-ui-hook": "terrain-mode-control",
|
|
2272
|
-
"data-variant":
|
|
2985
|
+
"data-variant": In(c),
|
|
2273
2986
|
"data-testid": l,
|
|
2274
2987
|
children: [/* @__PURE__ */ t("span", {
|
|
2275
2988
|
className: "game-ui-sr-only",
|
|
@@ -2291,7 +3004,7 @@ function Lt({ activeModeId: e, className: r, disabled: i = !1, label: a, modes:
|
|
|
2291
3004
|
type: "button",
|
|
2292
3005
|
children: [
|
|
2293
3006
|
/* @__PURE__ */ t(Z, {
|
|
2294
|
-
icon: r.icon ??
|
|
3007
|
+
icon: r.icon ?? Mn[r.id] ?? "portal",
|
|
2295
3008
|
size: c === "small-mobile" ? "sm" : "md",
|
|
2296
3009
|
style: "line"
|
|
2297
3010
|
}),
|
|
@@ -2306,8 +3019,8 @@ function Lt({ activeModeId: e, className: r, disabled: i = !1, label: a, modes:
|
|
|
2306
3019
|
})]
|
|
2307
3020
|
});
|
|
2308
3021
|
}
|
|
2309
|
-
function
|
|
2310
|
-
let d = ["game-ui-terrain-tool-strip", n].filter(Boolean).join(" "), f =
|
|
3022
|
+
function zn({ activeToolId: e, className: n, compactLabelMode: r = "auto", density: i = "comfortable", disabled: a = !1, label: o, onToolChange: s, tools: c, variant: l = "desktop", "data-testid": u }) {
|
|
3023
|
+
let d = ["game-ui-terrain-tool-strip", n].filter(Boolean).join(" "), f = Ln(r, l);
|
|
2311
3024
|
return /* @__PURE__ */ t("section", {
|
|
2312
3025
|
"aria-label": o,
|
|
2313
3026
|
className: d,
|
|
@@ -2316,8 +3029,8 @@ function Rt({ activeToolId: e, className: n, compactLabelMode: r = "auto", densi
|
|
|
2316
3029
|
"data-ui-hook": "terrain-tool-strip",
|
|
2317
3030
|
"data-variant": l,
|
|
2318
3031
|
"data-testid": u,
|
|
2319
|
-
children: /* @__PURE__ */ t(
|
|
2320
|
-
actions: c.map((t) =>
|
|
3032
|
+
children: /* @__PURE__ */ t(xn, {
|
|
3033
|
+
actions: c.map((t) => Pn(t, e, s, a)),
|
|
2321
3034
|
density: i,
|
|
2322
3035
|
iconLabelMode: f,
|
|
2323
3036
|
label: o,
|
|
@@ -2325,18 +3038,18 @@ function Rt({ activeToolId: e, className: n, compactLabelMode: r = "auto", densi
|
|
|
2325
3038
|
})
|
|
2326
3039
|
});
|
|
2327
3040
|
}
|
|
2328
|
-
function
|
|
2329
|
-
let l = ["game-ui-brush-controls", e].filter(Boolean).join(" "), u = o.minRadius ?? 1, d = o.maxRadius ?? 8, f = o.radiusStep ?? .25, p = o.minStrength ?? 0, m = o.maxStrength ?? 1, h = o.strengthStep ?? .05, g =
|
|
2330
|
-
i?.(
|
|
3041
|
+
function Bn({ className: e, labels: r = {}, onRadiusChange: i, onStrengthChange: a, state: o, variant: s = "desktop", "data-testid": c }) {
|
|
3042
|
+
let l = ["game-ui-brush-controls", e].filter(Boolean).join(" "), u = o.minRadius ?? 1, d = o.maxRadius ?? 8, f = o.radiusStep ?? .25, p = o.minStrength ?? 0, m = o.maxStrength ?? 1, h = o.strengthStep ?? .05, g = Fn(o.radius, u, d), _ = Fn(o.strength, p, m), v = !!o.disabled, y = (e) => {
|
|
3043
|
+
i?.(Fn(Number(e.currentTarget.value), u, d));
|
|
2331
3044
|
}, b = (e) => {
|
|
2332
|
-
a?.(
|
|
3045
|
+
a?.(Fn(Number(e.currentTarget.value), p, m));
|
|
2333
3046
|
};
|
|
2334
3047
|
return /* @__PURE__ */ n("section", {
|
|
2335
3048
|
className: l,
|
|
2336
3049
|
"data-ui-hook": "brush-controls",
|
|
2337
3050
|
"data-variant": s,
|
|
2338
3051
|
"data-testid": c,
|
|
2339
|
-
children: [/* @__PURE__ */ t(
|
|
3052
|
+
children: [/* @__PURE__ */ t(dn, {
|
|
2340
3053
|
...r.radiusHint ? { hint: r.radiusHint } : {},
|
|
2341
3054
|
label: r.radius ?? "Brush radius",
|
|
2342
3055
|
children: /* @__PURE__ */ n("div", {
|
|
@@ -2366,7 +3079,7 @@ function zt({ className: e, labels: r = {}, onRadiusChange: i, onStrengthChange:
|
|
|
2366
3079
|
value: g
|
|
2367
3080
|
})]
|
|
2368
3081
|
})
|
|
2369
|
-
}), /* @__PURE__ */ t(
|
|
3082
|
+
}), /* @__PURE__ */ t(dn, {
|
|
2370
3083
|
...r.strengthHint ? { hint: r.strengthHint } : {},
|
|
2371
3084
|
label: r.strength ?? "Brush strength",
|
|
2372
3085
|
children: /* @__PURE__ */ n("div", {
|
|
@@ -2399,7 +3112,7 @@ function zt({ className: e, labels: r = {}, onRadiusChange: i, onStrengthChange:
|
|
|
2399
3112
|
})]
|
|
2400
3113
|
});
|
|
2401
3114
|
}
|
|
2402
|
-
function
|
|
3115
|
+
function Vn({ activeMaterialId: e, className: r, disabled: i = !1, label: a, materials: o, onMaterialChange: s, variant: c = "desktop", "data-testid": l }) {
|
|
2403
3116
|
return /* @__PURE__ */ t("section", {
|
|
2404
3117
|
"aria-label": a,
|
|
2405
3118
|
className: ["game-ui-material-swatches", r].filter(Boolean).join(" "),
|
|
@@ -2442,14 +3155,14 @@ function Bt({ activeMaterialId: e, className: r, disabled: i = !1, label: a, mat
|
|
|
2442
3155
|
})
|
|
2443
3156
|
});
|
|
2444
3157
|
}
|
|
2445
|
-
function
|
|
3158
|
+
function Hn({ canRedo: e = !1, canUndo: n = !1, className: r, disabled: i = !1, label: a, onRedo: o, onUndo: s, redoLabel: c = "Redo", undoLabel: l = "Undo", variant: u = "desktop", "data-testid": d }) {
|
|
2446
3159
|
return /* @__PURE__ */ t("section", {
|
|
2447
3160
|
"aria-label": a,
|
|
2448
3161
|
className: ["game-ui-undo-redo-actions", r].filter(Boolean).join(" "),
|
|
2449
3162
|
"data-ui-hook": "undo-redo-actions",
|
|
2450
3163
|
"data-variant": u,
|
|
2451
3164
|
"data-testid": d,
|
|
2452
|
-
children: /* @__PURE__ */ t(
|
|
3165
|
+
children: /* @__PURE__ */ t(xn, {
|
|
2453
3166
|
actions: [{
|
|
2454
3167
|
disabled: i || !n,
|
|
2455
3168
|
icon: "undo",
|
|
@@ -2475,9 +3188,9 @@ function Vt({ canRedo: e = !1, canUndo: n = !1, className: r, disabled: i = !1,
|
|
|
2475
3188
|
})
|
|
2476
3189
|
});
|
|
2477
3190
|
}
|
|
2478
|
-
function
|
|
3191
|
+
function Un({ activeCategoryId: e, categories: r, className: i, density: a = "comfortable", emptyDescription: o = "Building pieces will appear here when a category is available.", emptyTitle: s = "No build pieces ready", label: c, onCategoryChange: l, onSelectItem: u, selectedItemId: d, title: f, variant: p = "desktop", "data-testid": m }) {
|
|
2479
3192
|
let h = ["game-ui-build-library", i].filter(Boolean).join(" "), g = r.filter((e) => !e.disabled), _ = r.find((t) => t.id === e) ?? g[0] ?? r[0], v = _?.items ?? [], y = p === "small-mobile";
|
|
2480
|
-
return /* @__PURE__ */ t(
|
|
3193
|
+
return /* @__PURE__ */ t(q, {
|
|
2481
3194
|
className: h,
|
|
2482
3195
|
"data-ui-hook": "build-library",
|
|
2483
3196
|
"data-variant": p,
|
|
@@ -2505,7 +3218,7 @@ function Ht({ activeCategoryId: e, categories: r, className: i, density: a = "co
|
|
|
2505
3218
|
type: "button",
|
|
2506
3219
|
children: [
|
|
2507
3220
|
/* @__PURE__ */ t(Z, {
|
|
2508
|
-
icon: e.icon ??
|
|
3221
|
+
icon: e.icon ?? Mn[e.id] ?? "home",
|
|
2509
3222
|
size: "sm",
|
|
2510
3223
|
style: "line"
|
|
2511
3224
|
}),
|
|
@@ -2514,7 +3227,7 @@ function Ht({ activeCategoryId: e, categories: r, className: i, density: a = "co
|
|
|
2514
3227
|
]
|
|
2515
3228
|
}, e.id);
|
|
2516
3229
|
})
|
|
2517
|
-
}), v.length === 0 || !_ ? /* @__PURE__ */ t(
|
|
3230
|
+
}), v.length === 0 || !_ ? /* @__PURE__ */ t(gn, {
|
|
2518
3231
|
description: o,
|
|
2519
3232
|
icon: "home",
|
|
2520
3233
|
title: s
|
|
@@ -2552,7 +3265,7 @@ function Ht({ activeCategoryId: e, categories: r, className: i, density: a = "co
|
|
|
2552
3265
|
/* @__PURE__ */ n("span", {
|
|
2553
3266
|
className: "game-ui-build-item-badges",
|
|
2554
3267
|
children: [/* @__PURE__ */ t(X, {
|
|
2555
|
-
tone:
|
|
3268
|
+
tone: Nn[i],
|
|
2556
3269
|
children: i
|
|
2557
3270
|
}), e.badges?.map((e) => /* @__PURE__ */ t(X, {
|
|
2558
3271
|
tone: e.tone ?? "neutral",
|
|
@@ -2570,7 +3283,7 @@ function Ht({ activeCategoryId: e, categories: r, className: i, density: a = "co
|
|
|
2570
3283
|
})
|
|
2571
3284
|
});
|
|
2572
3285
|
}
|
|
2573
|
-
function
|
|
3286
|
+
function Wn({ children: e, className: r, closeIcon: i = "close", closeLabel: a = "Close tools", disabled: o = !1, label: s, onOpenChange: c, open: l, panelId: u, title: d, triggerIcon: f = "settings", triggerLabel: p = "Tools", variant: m = "mobile", "data-testid": h }) {
|
|
2574
3287
|
let g = ["game-ui-compact-game-drawer", r].filter(Boolean).join(" "), _ = u ?? `${d.toLowerCase().replace(/[^a-z0-9]+/g, "-") || "tools"}-drawer-panel`;
|
|
2575
3288
|
return /* @__PURE__ */ n("aside", {
|
|
2576
3289
|
"aria-label": s,
|
|
@@ -2579,7 +3292,7 @@ function Ut({ children: e, className: r, closeIcon: i = "close", closeLabel: a =
|
|
|
2579
3292
|
"data-ui-hook": "compact-game-drawer",
|
|
2580
3293
|
"data-variant": m,
|
|
2581
3294
|
"data-testid": h,
|
|
2582
|
-
children: [/* @__PURE__ */ n(
|
|
3295
|
+
children: [/* @__PURE__ */ n(w, {
|
|
2583
3296
|
"aria-controls": _,
|
|
2584
3297
|
"aria-expanded": l,
|
|
2585
3298
|
className: "game-ui-compact-game-drawer-trigger",
|
|
@@ -2597,7 +3310,7 @@ function Ut({ children: e, className: r, closeIcon: i = "close", closeLabel: a =
|
|
|
2597
3310
|
className: "game-ui-compact-game-drawer-panel",
|
|
2598
3311
|
"data-drawer-panel": "true",
|
|
2599
3312
|
id: _,
|
|
2600
|
-
children: /* @__PURE__ */ t(
|
|
3313
|
+
children: /* @__PURE__ */ t(q, {
|
|
2601
3314
|
title: d,
|
|
2602
3315
|
tone: "strong",
|
|
2603
3316
|
children: e
|
|
@@ -2605,7 +3318,7 @@ function Ut({ children: e, className: r, closeIcon: i = "close", closeLabel: a =
|
|
|
2605
3318
|
})]
|
|
2606
3319
|
});
|
|
2607
3320
|
}
|
|
2608
|
-
function
|
|
3321
|
+
function Gn({ status: e }) {
|
|
2609
3322
|
if (!e) return null;
|
|
2610
3323
|
let r = typeof e.progressValue == "number" && typeof e.progressMax == "number", i = e.tone === "danger" ? "danger" : e.tone === "warning" ? "warning" : "success", a = e.progressMax ?? 100, o = e.progressValue ?? 0;
|
|
2611
3324
|
return /* @__PURE__ */ n("div", {
|
|
@@ -2618,7 +3331,7 @@ function Wt({ status: e }) {
|
|
|
2618
3331
|
children: e.label
|
|
2619
3332
|
}),
|
|
2620
3333
|
e.description ? /* @__PURE__ */ t("p", { children: e.description }) : null,
|
|
2621
|
-
r ? /* @__PURE__ */ t(
|
|
3334
|
+
r ? /* @__PURE__ */ t(hn, {
|
|
2622
3335
|
label: e.progressLabel ?? e.label,
|
|
2623
3336
|
max: a,
|
|
2624
3337
|
showValue: !0,
|
|
@@ -2628,66 +3341,66 @@ function Wt({ status: e }) {
|
|
|
2628
3341
|
]
|
|
2629
3342
|
});
|
|
2630
3343
|
}
|
|
2631
|
-
function
|
|
3344
|
+
function Kn({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, activeToolId: a, brush: o, buildCategories: s = [], density: c = "comfortable", disabled: l = !1, materials: u = [], modes: d, onBrushRadiusChange: f, onBrushStrengthChange: p, onBuildCategoryChange: m, onMaterialChange: h, onModeChange: g, onRedo: _, onSelectBuildItem: v, onToolChange: y, onUndo: b, selectedBuildItemId: x, status: S, toolCompactLabelMode: C = "auto", tools: w, undoRedo: T, variant: E = "desktop" }) {
|
|
2632
3345
|
return /* @__PURE__ */ n("div", {
|
|
2633
3346
|
className: "game-ui-terrain-build-toolbox-body",
|
|
2634
3347
|
"data-active-mode": i,
|
|
2635
3348
|
"data-active-tool": a,
|
|
2636
|
-
"data-variant":
|
|
3349
|
+
"data-variant": E,
|
|
2637
3350
|
children: [
|
|
2638
|
-
/* @__PURE__ */ t(
|
|
2639
|
-
/* @__PURE__ */ t(
|
|
3351
|
+
/* @__PURE__ */ t(Gn, { status: S }),
|
|
3352
|
+
/* @__PURE__ */ t(Rn, {
|
|
2640
3353
|
activeModeId: i,
|
|
2641
3354
|
disabled: l,
|
|
2642
3355
|
label: "Tool mode",
|
|
2643
3356
|
modes: d,
|
|
2644
3357
|
onModeChange: g,
|
|
2645
|
-
variant:
|
|
3358
|
+
variant: E
|
|
2646
3359
|
}),
|
|
2647
3360
|
/* @__PURE__ */ n("div", {
|
|
2648
3361
|
className: "game-ui-terrain-build-main-grid",
|
|
2649
3362
|
children: [
|
|
2650
|
-
/* @__PURE__ */ t(
|
|
3363
|
+
/* @__PURE__ */ t(zn, {
|
|
2651
3364
|
activeToolId: a,
|
|
2652
3365
|
compactLabelMode: C,
|
|
2653
3366
|
density: c,
|
|
2654
3367
|
disabled: l,
|
|
2655
3368
|
label: "Terrain tools",
|
|
2656
3369
|
onToolChange: y,
|
|
2657
|
-
tools:
|
|
2658
|
-
variant:
|
|
3370
|
+
tools: w,
|
|
3371
|
+
variant: E
|
|
2659
3372
|
}),
|
|
2660
|
-
/* @__PURE__ */ t(
|
|
2661
|
-
canRedo:
|
|
2662
|
-
canUndo:
|
|
3373
|
+
/* @__PURE__ */ t(Hn, {
|
|
3374
|
+
canRedo: T?.canRedo,
|
|
3375
|
+
canUndo: T?.canUndo,
|
|
2663
3376
|
disabled: l,
|
|
2664
3377
|
label: "Terrain history",
|
|
2665
3378
|
onRedo: _,
|
|
2666
3379
|
onUndo: b,
|
|
2667
|
-
redoLabel:
|
|
2668
|
-
undoLabel:
|
|
2669
|
-
variant:
|
|
3380
|
+
redoLabel: T?.redoLabel,
|
|
3381
|
+
undoLabel: T?.undoLabel,
|
|
3382
|
+
variant: E
|
|
2670
3383
|
}),
|
|
2671
|
-
/* @__PURE__ */ t(
|
|
3384
|
+
/* @__PURE__ */ t(Bn, {
|
|
2672
3385
|
onRadiusChange: f,
|
|
2673
3386
|
onStrengthChange: p,
|
|
2674
3387
|
state: {
|
|
2675
3388
|
...o,
|
|
2676
3389
|
disabled: !!(l || o.disabled)
|
|
2677
3390
|
},
|
|
2678
|
-
variant:
|
|
3391
|
+
variant: E
|
|
2679
3392
|
}),
|
|
2680
|
-
u.length > 0 ? /* @__PURE__ */ t(
|
|
3393
|
+
u.length > 0 ? /* @__PURE__ */ t(Vn, {
|
|
2681
3394
|
activeMaterialId: r,
|
|
2682
3395
|
disabled: l,
|
|
2683
3396
|
label: "Terrain materials",
|
|
2684
3397
|
materials: u,
|
|
2685
3398
|
onMaterialChange: h,
|
|
2686
|
-
variant:
|
|
3399
|
+
variant: E
|
|
2687
3400
|
}) : null
|
|
2688
3401
|
]
|
|
2689
3402
|
}),
|
|
2690
|
-
s.length > 0 ? /* @__PURE__ */ t(
|
|
3403
|
+
s.length > 0 ? /* @__PURE__ */ t(Un, {
|
|
2691
3404
|
activeCategoryId: e,
|
|
2692
3405
|
categories: s,
|
|
2693
3406
|
density: c,
|
|
@@ -2696,17 +3409,17 @@ function Gt({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, ac
|
|
|
2696
3409
|
onSelectItem: v,
|
|
2697
3410
|
selectedItemId: x,
|
|
2698
3411
|
title: "Build pieces",
|
|
2699
|
-
variant:
|
|
3412
|
+
variant: E
|
|
2700
3413
|
}) : null
|
|
2701
3414
|
]
|
|
2702
3415
|
});
|
|
2703
3416
|
}
|
|
2704
|
-
function
|
|
2705
|
-
let u = ["game-ui-terrain-build-toolbox", e].filter(Boolean).join(" "), d = /* @__PURE__ */ t(
|
|
3417
|
+
function qn({ className: e, drawerOpen: n = !1, drawerTitle: r = "Terrain and build tools", label: i, onDrawerOpenChange: a, title: o, variant: s = "desktop", "data-testid": c, ...l }) {
|
|
3418
|
+
let u = ["game-ui-terrain-build-toolbox", e].filter(Boolean).join(" "), d = /* @__PURE__ */ t(Kn, {
|
|
2706
3419
|
...l,
|
|
2707
3420
|
variant: s
|
|
2708
3421
|
});
|
|
2709
|
-
return s === "mobile" || s === "small-mobile" ? /* @__PURE__ */ t(
|
|
3422
|
+
return s === "mobile" || s === "small-mobile" ? /* @__PURE__ */ t(Wn, {
|
|
2710
3423
|
className: u,
|
|
2711
3424
|
label: i,
|
|
2712
3425
|
onOpenChange: a,
|
|
@@ -2716,7 +3429,7 @@ function Kt({ className: e, drawerOpen: n = !1, drawerTitle: r = "Terrain and bu
|
|
|
2716
3429
|
variant: s,
|
|
2717
3430
|
"data-testid": c,
|
|
2718
3431
|
children: d
|
|
2719
|
-
}) : /* @__PURE__ */ t(
|
|
3432
|
+
}) : /* @__PURE__ */ t(q, {
|
|
2720
3433
|
className: u,
|
|
2721
3434
|
"data-ui-hook": "terrain-build-toolbox",
|
|
2722
3435
|
"data-variant": s,
|
|
@@ -2731,7 +3444,7 @@ function Kt({ className: e, drawerOpen: n = !1, drawerTitle: r = "Terrain and bu
|
|
|
2731
3444
|
}
|
|
2732
3445
|
//#endregion
|
|
2733
3446
|
//#region src/GameContractorTools.tsx
|
|
2734
|
-
var
|
|
3447
|
+
var Jn = {
|
|
2735
3448
|
accepted: "success",
|
|
2736
3449
|
blocked: "danger",
|
|
2737
3450
|
cancelled: "neutral",
|
|
@@ -2740,7 +3453,7 @@ var qt = {
|
|
|
2740
3453
|
queued: "warning",
|
|
2741
3454
|
readyForReview: "success",
|
|
2742
3455
|
working: "ai"
|
|
2743
|
-
},
|
|
3456
|
+
}, Yn = {
|
|
2744
3457
|
accepted: "check",
|
|
2745
3458
|
blocked: "alert",
|
|
2746
3459
|
cancelled: "close",
|
|
@@ -2749,26 +3462,26 @@ var qt = {
|
|
|
2749
3462
|
queued: "hourglass",
|
|
2750
3463
|
readyForReview: "vote",
|
|
2751
3464
|
working: "energy"
|
|
2752
|
-
},
|
|
3465
|
+
}, Xn = {
|
|
2753
3466
|
active: "ai",
|
|
2754
3467
|
blocked: "danger",
|
|
2755
3468
|
complete: "success",
|
|
2756
3469
|
pending: "neutral"
|
|
2757
|
-
},
|
|
3470
|
+
}, Zn = {
|
|
2758
3471
|
blocked: "danger",
|
|
2759
3472
|
done: "success",
|
|
2760
3473
|
idle: "neutral",
|
|
2761
3474
|
queued: "warning",
|
|
2762
3475
|
working: "ai"
|
|
2763
|
-
},
|
|
3476
|
+
}, Qn = {
|
|
2764
3477
|
"local-only": "Local only",
|
|
2765
3478
|
mock: "Mock run",
|
|
2766
3479
|
"paid-disabled": "Paid provider off"
|
|
2767
|
-
},
|
|
3480
|
+
}, $n = {
|
|
2768
3481
|
"local-only": "success",
|
|
2769
3482
|
mock: "ai",
|
|
2770
3483
|
"paid-disabled": "warning"
|
|
2771
|
-
},
|
|
3484
|
+
}, er = {
|
|
2772
3485
|
accepted: [{
|
|
2773
3486
|
id: "revert",
|
|
2774
3487
|
label: "Revert",
|
|
@@ -2874,17 +3587,17 @@ var qt = {
|
|
|
2874
3587
|
tone: "danger"
|
|
2875
3588
|
}]
|
|
2876
3589
|
};
|
|
2877
|
-
function
|
|
3590
|
+
function tr(e, t) {
|
|
2878
3591
|
if (t) return t;
|
|
2879
3592
|
switch (e) {
|
|
2880
3593
|
case "readyForReview": return "Ready for review";
|
|
2881
3594
|
default: return e.replace(/([A-Z])/g, " $1").replace(/^./, (e) => e.toUpperCase());
|
|
2882
3595
|
}
|
|
2883
3596
|
}
|
|
2884
|
-
function
|
|
3597
|
+
function nr(e) {
|
|
2885
3598
|
return e === "blocked" || e === "cancelled" ? "danger" : e === "accepted" || e === "readyForReview" ? "success" : e === "queued" || e === "draft" || e === "preview" ? "warning" : "accent";
|
|
2886
3599
|
}
|
|
2887
|
-
function
|
|
3600
|
+
function rr(e) {
|
|
2888
3601
|
switch (e) {
|
|
2889
3602
|
case "accepted": return 100;
|
|
2890
3603
|
case "blocked": return 42;
|
|
@@ -2896,7 +3609,7 @@ function nn(e) {
|
|
|
2896
3609
|
case "working": return 64;
|
|
2897
3610
|
}
|
|
2898
3611
|
}
|
|
2899
|
-
function
|
|
3612
|
+
function ir(e, t, n) {
|
|
2900
3613
|
let r = {
|
|
2901
3614
|
disabled: !!(n || e.disabled),
|
|
2902
3615
|
id: e.id,
|
|
@@ -2905,14 +3618,14 @@ function rn(e, t, n) {
|
|
|
2905
3618
|
};
|
|
2906
3619
|
return e.icon && (r.icon = e.icon), e.ariaLabel && (r.ariaLabel = e.ariaLabel), e.meta && (r.meta = e.meta), t && (r.onAction = t), r;
|
|
2907
3620
|
}
|
|
2908
|
-
function
|
|
3621
|
+
function ar(e) {
|
|
2909
3622
|
return e === "danger" || e === "warning" ? "alert" : "status";
|
|
2910
3623
|
}
|
|
2911
|
-
function
|
|
3624
|
+
function or(e) {
|
|
2912
3625
|
return !!(e.before && e.after);
|
|
2913
3626
|
}
|
|
2914
|
-
function
|
|
2915
|
-
let m = ["game-ui-construction-progress", e].filter(Boolean).join(" "), h = d ??
|
|
3627
|
+
function sr({ className: e, label: r, max: i = 100, progressLabel: a = "Construction progress", showStatusBadge: o = !0, status: s, statusLabel: c, steps: l = [], validationWarnings: u = [], value: d, variant: f = "desktop", "data-testid": p }) {
|
|
3628
|
+
let m = ["game-ui-construction-progress", e].filter(Boolean).join(" "), h = d ?? rr(s), g = tr(s, c);
|
|
2916
3629
|
return /* @__PURE__ */ n("section", {
|
|
2917
3630
|
"aria-label": r,
|
|
2918
3631
|
className: m,
|
|
@@ -2924,18 +3637,18 @@ function sn({ className: e, label: r, max: i = 100, progressLabel: a = "Construc
|
|
|
2924
3637
|
/* @__PURE__ */ n("header", {
|
|
2925
3638
|
className: "game-ui-construction-progress-header",
|
|
2926
3639
|
children: [/* @__PURE__ */ n("span", { children: [/* @__PURE__ */ t(Z, {
|
|
2927
|
-
icon:
|
|
3640
|
+
icon: Yn[s],
|
|
2928
3641
|
size: "sm"
|
|
2929
3642
|
}), /* @__PURE__ */ t("strong", { children: a })] }), o ? /* @__PURE__ */ t(X, {
|
|
2930
|
-
tone:
|
|
3643
|
+
tone: Jn[s],
|
|
2931
3644
|
children: g
|
|
2932
3645
|
}) : null]
|
|
2933
3646
|
}),
|
|
2934
|
-
/* @__PURE__ */ t(
|
|
3647
|
+
/* @__PURE__ */ t(hn, {
|
|
2935
3648
|
label: a,
|
|
2936
3649
|
max: i,
|
|
2937
3650
|
showValue: !0,
|
|
2938
|
-
tone:
|
|
3651
|
+
tone: nr(s),
|
|
2939
3652
|
value: h
|
|
2940
3653
|
}),
|
|
2941
3654
|
l.length > 0 ? /* @__PURE__ */ t("ol", {
|
|
@@ -2950,7 +3663,7 @@ function sn({ className: e, label: r, max: i = 100, progressLabel: a = "Construc
|
|
|
2950
3663
|
}),
|
|
2951
3664
|
/* @__PURE__ */ n("span", { children: [/* @__PURE__ */ t("strong", { children: e.label }), e.caption ? /* @__PURE__ */ t("small", { children: e.caption }) : null] }),
|
|
2952
3665
|
/* @__PURE__ */ t(X, {
|
|
2953
|
-
tone:
|
|
3666
|
+
tone: Xn[e.status],
|
|
2954
3667
|
children: e.status
|
|
2955
3668
|
})
|
|
2956
3669
|
]
|
|
@@ -2962,7 +3675,7 @@ function sn({ className: e, label: r, max: i = 100, progressLabel: a = "Construc
|
|
|
2962
3675
|
children: u.map((e) => /* @__PURE__ */ n("div", {
|
|
2963
3676
|
className: "game-ui-construction-warning",
|
|
2964
3677
|
"data-warning-tone": e.tone ?? "warning",
|
|
2965
|
-
role:
|
|
3678
|
+
role: ar(e.tone),
|
|
2966
3679
|
children: [/* @__PURE__ */ t(Z, {
|
|
2967
3680
|
icon: e.tone === "danger" || e.tone === "warning" ? "alert" : "check",
|
|
2968
3681
|
size: "sm"
|
|
@@ -2972,8 +3685,8 @@ function sn({ className: e, label: r, max: i = 100, progressLabel: a = "Construc
|
|
|
2972
3685
|
]
|
|
2973
3686
|
});
|
|
2974
3687
|
}
|
|
2975
|
-
function
|
|
2976
|
-
let p = ["game-ui-construction-approval-bar", r].filter(Boolean).join(" "), m = e ??
|
|
3688
|
+
function cr({ actions: e, className: r, disabled: i = !1, label: a, localOnlyLabel: o = "Local-only construction", onAction: s, providerMode: c, status: l, validationWarnings: u = [], variant: d = "desktop", "data-testid": f }) {
|
|
3689
|
+
let p = ["game-ui-construction-approval-bar", r].filter(Boolean).join(" "), m = e ?? er[l], h = u.filter((e) => e.tone !== "success").length, g = m.map((e) => ir(e, s, i));
|
|
2977
3690
|
return /* @__PURE__ */ n("section", {
|
|
2978
3691
|
"aria-label": a,
|
|
2979
3692
|
className: p,
|
|
@@ -2984,8 +3697,8 @@ function cn({ actions: e, className: r, disabled: i = !1, label: a, localOnlyLab
|
|
|
2984
3697
|
children: [/* @__PURE__ */ n("div", {
|
|
2985
3698
|
className: "game-ui-construction-approval-meta",
|
|
2986
3699
|
children: [c ? /* @__PURE__ */ t(X, {
|
|
2987
|
-
tone:
|
|
2988
|
-
children:
|
|
3700
|
+
tone: $n[c],
|
|
3701
|
+
children: Qn[c]
|
|
2989
3702
|
}) : /* @__PURE__ */ t(X, {
|
|
2990
3703
|
tone: "success",
|
|
2991
3704
|
children: o
|
|
@@ -3000,21 +3713,21 @@ function cn({ actions: e, className: r, disabled: i = !1, label: a, localOnlyLab
|
|
|
3000
3713
|
tone: "success",
|
|
3001
3714
|
children: "Validation clear"
|
|
3002
3715
|
})]
|
|
3003
|
-
}), g.length > 0 ? /* @__PURE__ */ t(
|
|
3716
|
+
}), g.length > 0 ? /* @__PURE__ */ t(xn, {
|
|
3004
3717
|
actions: g,
|
|
3005
3718
|
density: d === "small-mobile" ? "dense" : "comfortable",
|
|
3006
3719
|
label: `${a} actions`
|
|
3007
3720
|
}) : null]
|
|
3008
3721
|
});
|
|
3009
3722
|
}
|
|
3010
|
-
function
|
|
3723
|
+
function lr({ className: e, crew: r, emptyDescription: i = "Robot crew members appear here when a construction job starts.", emptyTitle: a = "No robot crew assigned", label: o, title: s, variant: c = "desktop", "data-testid": l }) {
|
|
3011
3724
|
return /* @__PURE__ */ n("section", {
|
|
3012
3725
|
"aria-label": o,
|
|
3013
3726
|
className: ["game-ui-robot-crew-status", e].filter(Boolean).join(" "),
|
|
3014
3727
|
"data-ui-hook": "robot-crew-status",
|
|
3015
3728
|
"data-variant": c,
|
|
3016
3729
|
"data-testid": l,
|
|
3017
|
-
children: [s ? /* @__PURE__ */ t("header", { children: /* @__PURE__ */ t("strong", { children: s }) }) : null, r.length === 0 ? /* @__PURE__ */ t(
|
|
3730
|
+
children: [s ? /* @__PURE__ */ t("header", { children: /* @__PURE__ */ t("strong", { children: s }) }) : null, r.length === 0 ? /* @__PURE__ */ t(gn, {
|
|
3018
3731
|
description: i,
|
|
3019
3732
|
icon: "ai",
|
|
3020
3733
|
title: a
|
|
@@ -3037,7 +3750,7 @@ function ln({ className: e, crew: r, emptyDescription: i = "Robot crew members a
|
|
|
3037
3750
|
]
|
|
3038
3751
|
}),
|
|
3039
3752
|
/* @__PURE__ */ t(X, {
|
|
3040
|
-
tone:
|
|
3753
|
+
tone: Zn[e.status],
|
|
3041
3754
|
children: e.status
|
|
3042
3755
|
})
|
|
3043
3756
|
]
|
|
@@ -3045,7 +3758,7 @@ function ln({ className: e, crew: r, emptyDescription: i = "Robot crew members a
|
|
|
3045
3758
|
})]
|
|
3046
3759
|
});
|
|
3047
3760
|
}
|
|
3048
|
-
function
|
|
3761
|
+
function ur({ activeView: e, after: r, before: i, className: a, label: o, onViewChange: s, variant: c = "desktop", "data-testid": l }) {
|
|
3049
3762
|
let u = ["game-ui-before-after-toggle", a].filter(Boolean).join(" "), d = e === "before" ? i : r;
|
|
3050
3763
|
return /* @__PURE__ */ n("section", {
|
|
3051
3764
|
"aria-label": o,
|
|
@@ -3054,7 +3767,7 @@ function un({ activeView: e, after: r, before: i, className: a, label: o, onView
|
|
|
3054
3767
|
"data-ui-hook": "before-after-toggle",
|
|
3055
3768
|
"data-variant": c,
|
|
3056
3769
|
"data-testid": l,
|
|
3057
|
-
children: [/* @__PURE__ */ t(
|
|
3770
|
+
children: [/* @__PURE__ */ t(ut, {
|
|
3058
3771
|
activeId: e,
|
|
3059
3772
|
label: `${o} view`,
|
|
3060
3773
|
...s ? { onSelect: (e) => s(e) } : {},
|
|
@@ -3081,8 +3794,8 @@ function un({ activeView: e, after: r, before: i, className: a, label: o, onView
|
|
|
3081
3794
|
})]
|
|
3082
3795
|
});
|
|
3083
3796
|
}
|
|
3084
|
-
function
|
|
3085
|
-
let f = ["game-ui-construction-job-card", e].filter(Boolean).join(" "), p =
|
|
3797
|
+
function dr({ className: e, density: r = "comfortable", job: i, onAction: a, onSelect: o, selected: s = !1, showApprovalBar: c = !0, showBeforeAfter: l = !1, variant: u = "desktop", "data-testid": d }) {
|
|
3798
|
+
let f = ["game-ui-construction-job-card", e].filter(Boolean).join(" "), p = tr(i.status, i.statusLabel), m = u === "mobile" || u === "small-mobile", h = i.facts ?? [];
|
|
3086
3799
|
return /* @__PURE__ */ n("article", {
|
|
3087
3800
|
className: f,
|
|
3088
3801
|
"data-density": r,
|
|
@@ -3102,19 +3815,19 @@ function dn({ className: e, density: r = "comfortable", job: i, onAction: a, onS
|
|
|
3102
3815
|
onClick: () => o?.(i.id),
|
|
3103
3816
|
type: "button",
|
|
3104
3817
|
children: [/* @__PURE__ */ t(Z, {
|
|
3105
|
-
icon:
|
|
3818
|
+
icon: Yn[i.status],
|
|
3106
3819
|
size: m ? "sm" : "md"
|
|
3107
3820
|
}), /* @__PURE__ */ n("span", { children: [/* @__PURE__ */ t("strong", { children: i.title }), i.description ? /* @__PURE__ */ t("small", { children: i.description }) : null] })]
|
|
3108
3821
|
}), /* @__PURE__ */ n("span", {
|
|
3109
3822
|
className: "game-ui-construction-job-badges",
|
|
3110
3823
|
children: [
|
|
3111
3824
|
/* @__PURE__ */ t(X, {
|
|
3112
|
-
tone:
|
|
3825
|
+
tone: Jn[i.status],
|
|
3113
3826
|
children: p
|
|
3114
3827
|
}),
|
|
3115
3828
|
i.providerMode ? /* @__PURE__ */ t(X, {
|
|
3116
|
-
tone:
|
|
3117
|
-
children:
|
|
3829
|
+
tone: $n[i.providerMode],
|
|
3830
|
+
children: Qn[i.providerMode]
|
|
3118
3831
|
}) : null,
|
|
3119
3832
|
i.badges?.map((e) => /* @__PURE__ */ t(X, {
|
|
3120
3833
|
tone: e.tone ?? "neutral",
|
|
@@ -3132,7 +3845,7 @@ function dn({ className: e, density: r = "comfortable", job: i, onAction: a, onS
|
|
|
3132
3845
|
h.map((e) => /* @__PURE__ */ n("span", { children: [/* @__PURE__ */ t("small", { children: e.label }), /* @__PURE__ */ t("b", { children: e.value })] }, e.id))
|
|
3133
3846
|
]
|
|
3134
3847
|
}),
|
|
3135
|
-
/* @__PURE__ */ t(
|
|
3848
|
+
/* @__PURE__ */ t(sr, {
|
|
3136
3849
|
label: `${i.title} progress`,
|
|
3137
3850
|
progressLabel: i.progressLabel,
|
|
3138
3851
|
status: i.status,
|
|
@@ -3143,19 +3856,19 @@ function dn({ className: e, density: r = "comfortable", job: i, onAction: a, onS
|
|
|
3143
3856
|
max: i.progressMax,
|
|
3144
3857
|
variant: u
|
|
3145
3858
|
}),
|
|
3146
|
-
l &&
|
|
3859
|
+
l && or(i) ? /* @__PURE__ */ t(ur, {
|
|
3147
3860
|
activeView: "after",
|
|
3148
3861
|
after: i.after,
|
|
3149
3862
|
before: i.before,
|
|
3150
3863
|
label: `${i.title} preview`,
|
|
3151
3864
|
variant: u
|
|
3152
3865
|
}) : null,
|
|
3153
|
-
i.crew && i.crew.length > 0 ? /* @__PURE__ */ t(
|
|
3866
|
+
i.crew && i.crew.length > 0 ? /* @__PURE__ */ t(lr, {
|
|
3154
3867
|
crew: i.crew,
|
|
3155
3868
|
label: `${i.title} robot crew`,
|
|
3156
3869
|
variant: u
|
|
3157
3870
|
}) : null,
|
|
3158
|
-
c ? /* @__PURE__ */ t(
|
|
3871
|
+
c ? /* @__PURE__ */ t(cr, {
|
|
3159
3872
|
actions: i.actions,
|
|
3160
3873
|
label: `${i.title} approval`,
|
|
3161
3874
|
onAction: (e) => a?.(e, i.id),
|
|
@@ -3167,8 +3880,8 @@ function dn({ className: e, density: r = "comfortable", job: i, onAction: a, onS
|
|
|
3167
3880
|
]
|
|
3168
3881
|
});
|
|
3169
3882
|
}
|
|
3170
|
-
function
|
|
3171
|
-
return /* @__PURE__ */ t(
|
|
3883
|
+
function fr({ children: e, className: n, closeLabel: r = "Close jobs", disabled: i = !1, jobs: a = [], label: o, onAction: s, onOpenChange: c, onSelectJob: l, open: u, panelId: d = "game-compact-job-drawer-panel", selectedJobId: f, title: p, triggerLabel: m = "Construction jobs", variant: h = "mobile", "data-testid": g }) {
|
|
3884
|
+
return /* @__PURE__ */ t(Wn, {
|
|
3172
3885
|
className: ["game-ui-compact-job-drawer", n].filter(Boolean).join(" "),
|
|
3173
3886
|
closeLabel: r,
|
|
3174
3887
|
disabled: i,
|
|
@@ -3184,7 +3897,7 @@ function fn({ children: e, className: n, closeLabel: r = "Close jobs", disabled:
|
|
|
3184
3897
|
children: e ?? /* @__PURE__ */ t("div", {
|
|
3185
3898
|
className: "game-ui-compact-job-drawer-list",
|
|
3186
3899
|
tabIndex: 0,
|
|
3187
|
-
children: a.map((e) => /* @__PURE__ */ t(
|
|
3900
|
+
children: a.map((e) => /* @__PURE__ */ t(dr, {
|
|
3188
3901
|
density: "dense",
|
|
3189
3902
|
job: e,
|
|
3190
3903
|
onAction: s,
|
|
@@ -3196,7 +3909,7 @@ function fn({ children: e, className: n, closeLabel: r = "Close jobs", disabled:
|
|
|
3196
3909
|
})
|
|
3197
3910
|
});
|
|
3198
3911
|
}
|
|
3199
|
-
function
|
|
3912
|
+
function pr({ activePreviewView: e = "after", className: r, density: i = "comfortable", drawerOpen: a = !1, emptyDescription: o = "Draft construction jobs will appear here before any provider call is allowed.", emptyTitle: s = "No construction jobs", jobs: c, label: l, onAction: u, onDrawerOpenChange: d, onPreviewViewChange: f, onSelectJob: p, selectedJobId: m, subtitle: h, title: g, variant: _ = "desktop", "data-testid": v }) {
|
|
3200
3913
|
let y = ["game-ui-contractor-panel", r].filter(Boolean).join(" "), b = c.find((e) => e.id === m) ?? c[0];
|
|
3201
3914
|
return _ === "mobile" || _ === "small-mobile" ? /* @__PURE__ */ n("section", {
|
|
3202
3915
|
"aria-label": l,
|
|
@@ -3205,7 +3918,7 @@ function pn({ activePreviewView: e = "after", className: r, density: i = "comfor
|
|
|
3205
3918
|
"data-variant": _,
|
|
3206
3919
|
"data-testid": v,
|
|
3207
3920
|
children: [
|
|
3208
|
-
/* @__PURE__ */ t(
|
|
3921
|
+
/* @__PURE__ */ t(fr, {
|
|
3209
3922
|
jobs: c,
|
|
3210
3923
|
label: `${l} drawer`,
|
|
3211
3924
|
onAction: u,
|
|
@@ -3217,22 +3930,22 @@ function pn({ activePreviewView: e = "after", className: r, density: i = "comfor
|
|
|
3217
3930
|
triggerLabel: "Contractor",
|
|
3218
3931
|
variant: _
|
|
3219
3932
|
}),
|
|
3220
|
-
b && !a ? /* @__PURE__ */ t(
|
|
3933
|
+
b && !a ? /* @__PURE__ */ t(dr, {
|
|
3221
3934
|
density: "dense",
|
|
3222
3935
|
job: b,
|
|
3223
3936
|
onAction: u,
|
|
3224
3937
|
onSelect: p,
|
|
3225
3938
|
selected: !0,
|
|
3226
|
-
showBeforeAfter:
|
|
3939
|
+
showBeforeAfter: or(b),
|
|
3227
3940
|
variant: _
|
|
3228
3941
|
}) : null,
|
|
3229
|
-
b ? null : /* @__PURE__ */ t(
|
|
3942
|
+
b ? null : /* @__PURE__ */ t(gn, {
|
|
3230
3943
|
description: o,
|
|
3231
3944
|
icon: "energy",
|
|
3232
3945
|
title: s
|
|
3233
3946
|
})
|
|
3234
3947
|
]
|
|
3235
|
-
}) : /* @__PURE__ */ t(
|
|
3948
|
+
}) : /* @__PURE__ */ t(q, {
|
|
3236
3949
|
className: y,
|
|
3237
3950
|
"data-ui-hook": "contractor-panel",
|
|
3238
3951
|
"data-variant": _,
|
|
@@ -3247,7 +3960,7 @@ function pn({ activePreviewView: e = "after", className: r, density: i = "comfor
|
|
|
3247
3960
|
className: "game-ui-contractor-panel-subtitle",
|
|
3248
3961
|
children: h
|
|
3249
3962
|
}) : null,
|
|
3250
|
-
c.length === 0 ? /* @__PURE__ */ t(
|
|
3963
|
+
c.length === 0 ? /* @__PURE__ */ t(gn, {
|
|
3251
3964
|
description: o,
|
|
3252
3965
|
icon: "energy",
|
|
3253
3966
|
title: s
|
|
@@ -3258,7 +3971,7 @@ function pn({ activePreviewView: e = "after", className: r, density: i = "comfor
|
|
|
3258
3971
|
"aria-label": "Construction job queue",
|
|
3259
3972
|
className: "game-ui-contractor-job-list",
|
|
3260
3973
|
tabIndex: 0,
|
|
3261
|
-
children: c.map((e) => /* @__PURE__ */ t(
|
|
3974
|
+
children: c.map((e) => /* @__PURE__ */ t(dr, {
|
|
3262
3975
|
density: i,
|
|
3263
3976
|
job: e,
|
|
3264
3977
|
onAction: u,
|
|
@@ -3271,7 +3984,7 @@ function pn({ activePreviewView: e = "after", className: r, density: i = "comfor
|
|
|
3271
3984
|
className: "game-ui-contractor-detail",
|
|
3272
3985
|
"aria-label": `${b.title} detail`,
|
|
3273
3986
|
children: [
|
|
3274
|
-
/* @__PURE__ */ t(
|
|
3987
|
+
/* @__PURE__ */ t(sr, {
|
|
3275
3988
|
label: `${b.title} progress detail`,
|
|
3276
3989
|
progressLabel: b.progressLabel,
|
|
3277
3990
|
status: b.status,
|
|
@@ -3282,7 +3995,7 @@ function pn({ activePreviewView: e = "after", className: r, density: i = "comfor
|
|
|
3282
3995
|
max: b.progressMax,
|
|
3283
3996
|
variant: _
|
|
3284
3997
|
}),
|
|
3285
|
-
|
|
3998
|
+
or(b) ? /* @__PURE__ */ t(ur, {
|
|
3286
3999
|
activeView: e,
|
|
3287
4000
|
after: b.after,
|
|
3288
4001
|
before: b.before,
|
|
@@ -3290,13 +4003,13 @@ function pn({ activePreviewView: e = "after", className: r, density: i = "comfor
|
|
|
3290
4003
|
onViewChange: f,
|
|
3291
4004
|
variant: _
|
|
3292
4005
|
}) : null,
|
|
3293
|
-
/* @__PURE__ */ t(
|
|
4006
|
+
/* @__PURE__ */ t(lr, {
|
|
3294
4007
|
crew: b.crew ?? [],
|
|
3295
4008
|
label: `${b.title} robot crew`,
|
|
3296
4009
|
title: "Robot crew",
|
|
3297
4010
|
variant: _
|
|
3298
4011
|
}),
|
|
3299
|
-
/* @__PURE__ */ t(
|
|
4012
|
+
/* @__PURE__ */ t(cr, {
|
|
3300
4013
|
actions: b.actions,
|
|
3301
4014
|
label: `${b.title} approval`,
|
|
3302
4015
|
onAction: u ? (e) => u(e, b.id) : void 0,
|
|
@@ -3314,32 +4027,32 @@ function pn({ activePreviewView: e = "after", className: r, density: i = "comfor
|
|
|
3314
4027
|
}
|
|
3315
4028
|
//#endregion
|
|
3316
4029
|
//#region src/GamePanelSystem.tsx
|
|
3317
|
-
function
|
|
4030
|
+
function mr(...e) {
|
|
3318
4031
|
return e.filter(Boolean).join(" ");
|
|
3319
4032
|
}
|
|
3320
|
-
var
|
|
4033
|
+
var hr = {
|
|
3321
4034
|
collapse: "Collapse",
|
|
3322
4035
|
expand: "Expand"
|
|
3323
4036
|
};
|
|
3324
|
-
function
|
|
3325
|
-
let
|
|
3326
|
-
...
|
|
4037
|
+
function gr({ actions: e, children: r, className: i, defaultOpen: a = !0, labels: o, onOpenChange: s, open: c, title: l, tone: d = "default", ...f }) {
|
|
4038
|
+
let p = u(), [h, g] = m(a), _ = c ?? h, v = {
|
|
4039
|
+
...hr,
|
|
3327
4040
|
...o
|
|
3328
4041
|
}, y = () => {
|
|
3329
4042
|
let e = !_;
|
|
3330
4043
|
c === void 0 && g(e), s?.(e);
|
|
3331
4044
|
};
|
|
3332
4045
|
return /* @__PURE__ */ n("section", {
|
|
3333
|
-
...
|
|
3334
|
-
className:
|
|
4046
|
+
...f,
|
|
4047
|
+
className: mr("game-ui-collapsible", i),
|
|
3335
4048
|
"data-open": _,
|
|
3336
|
-
"data-panel-tone":
|
|
4049
|
+
"data-panel-tone": d,
|
|
3337
4050
|
children: [/* @__PURE__ */ n("header", {
|
|
3338
4051
|
className: "game-ui-collapsible-header",
|
|
3339
4052
|
children: [/* @__PURE__ */ t("h3", {
|
|
3340
4053
|
className: "game-ui-collapsible-heading",
|
|
3341
4054
|
children: /* @__PURE__ */ n("button", {
|
|
3342
|
-
"aria-controls":
|
|
4055
|
+
"aria-controls": p,
|
|
3343
4056
|
"aria-expanded": _,
|
|
3344
4057
|
className: "game-ui-collapsible-toggle",
|
|
3345
4058
|
onClick: y,
|
|
@@ -3350,7 +4063,7 @@ function gn({ actions: e, children: r, className: i, defaultOpen: a = !0, labels
|
|
|
3350
4063
|
className: "game-ui-collapsible-chevron"
|
|
3351
4064
|
}), /* @__PURE__ */ t("span", {
|
|
3352
4065
|
className: "game-ui-collapsible-title",
|
|
3353
|
-
children:
|
|
4066
|
+
children: l
|
|
3354
4067
|
})]
|
|
3355
4068
|
})
|
|
3356
4069
|
}), e ? /* @__PURE__ */ t("span", {
|
|
@@ -3359,7 +4072,7 @@ function gn({ actions: e, children: r, className: i, defaultOpen: a = !0, labels
|
|
|
3359
4072
|
}) : null]
|
|
3360
4073
|
}), /* @__PURE__ */ t("div", {
|
|
3361
4074
|
className: "game-ui-collapsible-region",
|
|
3362
|
-
id:
|
|
4075
|
+
id: p,
|
|
3363
4076
|
children: /* @__PURE__ */ t("div", {
|
|
3364
4077
|
className: "game-ui-collapsible-clip",
|
|
3365
4078
|
children: /* @__PURE__ */ t("div", {
|
|
@@ -3370,13 +4083,13 @@ function gn({ actions: e, children: r, className: i, defaultOpen: a = !0, labels
|
|
|
3370
4083
|
})]
|
|
3371
4084
|
});
|
|
3372
4085
|
}
|
|
3373
|
-
var
|
|
4086
|
+
var _r = {
|
|
3374
4087
|
close: "Close",
|
|
3375
4088
|
maximize: "Maximize",
|
|
3376
4089
|
minimize: "Minimize",
|
|
3377
4090
|
restore: "Restore"
|
|
3378
4091
|
};
|
|
3379
|
-
function
|
|
4092
|
+
function vr({ kind: e }) {
|
|
3380
4093
|
return /* @__PURE__ */ t("svg", {
|
|
3381
4094
|
"aria-hidden": "true",
|
|
3382
4095
|
fill: "none",
|
|
@@ -3396,17 +4109,17 @@ function vn({ kind: e }) {
|
|
|
3396
4109
|
})
|
|
3397
4110
|
});
|
|
3398
4111
|
}
|
|
3399
|
-
function
|
|
3400
|
-
let [g, _] =
|
|
3401
|
-
...
|
|
4112
|
+
function yr({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, className: a, defaultState: o = "normal", footer: s, icon: c, labels: l, onClose: u, onStateChange: d, state: f, title: p, ...h }) {
|
|
4113
|
+
let [g, _] = m(o), v = f ?? g, y = {
|
|
4114
|
+
..._r,
|
|
3402
4115
|
...l
|
|
3403
4116
|
}, b = (e) => {
|
|
3404
|
-
|
|
4117
|
+
f === void 0 && _(e), d?.(e);
|
|
3405
4118
|
}, x = v === "minimized", S = v === "maximized";
|
|
3406
4119
|
return /* @__PURE__ */ n("section", {
|
|
3407
4120
|
...h,
|
|
3408
|
-
"aria-label":
|
|
3409
|
-
className:
|
|
4121
|
+
"aria-label": p,
|
|
4122
|
+
className: mr("game-ui-window", a),
|
|
3410
4123
|
"data-window-state": v,
|
|
3411
4124
|
role: "group",
|
|
3412
4125
|
children: [/* @__PURE__ */ n("header", {
|
|
@@ -3419,7 +4132,7 @@ function yn({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, classNa
|
|
|
3419
4132
|
}) : null,
|
|
3420
4133
|
/* @__PURE__ */ t("h3", {
|
|
3421
4134
|
className: "game-ui-window-title",
|
|
3422
|
-
children:
|
|
4135
|
+
children: p
|
|
3423
4136
|
}),
|
|
3424
4137
|
/* @__PURE__ */ n("span", {
|
|
3425
4138
|
className: "game-ui-window-actions",
|
|
@@ -3429,21 +4142,21 @@ function yn({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, classNa
|
|
|
3429
4142
|
className: "game-ui-icon-button game-ui-window-button",
|
|
3430
4143
|
onClick: () => b(x ? "normal" : "minimized"),
|
|
3431
4144
|
type: "button",
|
|
3432
|
-
children: /* @__PURE__ */ t(
|
|
4145
|
+
children: /* @__PURE__ */ t(vr, { kind: x ? "restore" : "minimize" })
|
|
3433
4146
|
}) : null,
|
|
3434
4147
|
e ? /* @__PURE__ */ t("button", {
|
|
3435
4148
|
"aria-label": S ? y.restore : y.maximize,
|
|
3436
4149
|
className: "game-ui-icon-button game-ui-window-button",
|
|
3437
4150
|
onClick: () => b(S ? "normal" : "maximized"),
|
|
3438
4151
|
type: "button",
|
|
3439
|
-
children: /* @__PURE__ */ t(
|
|
4152
|
+
children: /* @__PURE__ */ t(vr, { kind: S ? "restore" : "maximize" })
|
|
3440
4153
|
}) : null,
|
|
3441
4154
|
u ? /* @__PURE__ */ t("button", {
|
|
3442
4155
|
"aria-label": y.close,
|
|
3443
4156
|
className: "game-ui-icon-button game-ui-window-button",
|
|
3444
4157
|
onClick: u,
|
|
3445
4158
|
type: "button",
|
|
3446
|
-
children: /* @__PURE__ */ t(
|
|
4159
|
+
children: /* @__PURE__ */ t(vr, { kind: "close" })
|
|
3447
4160
|
}) : null
|
|
3448
4161
|
]
|
|
3449
4162
|
})
|
|
@@ -3463,16 +4176,16 @@ function yn({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, classNa
|
|
|
3463
4176
|
})]
|
|
3464
4177
|
});
|
|
3465
4178
|
}
|
|
3466
|
-
function
|
|
3467
|
-
let h =
|
|
3468
|
-
return
|
|
4179
|
+
function br({ children: e, className: r, closeLabel: i = "Close", closeOnBackdrop: a = !0, footer: o, onClose: s, open: c, position: d = "center", size: f = "md", title: m }) {
|
|
4180
|
+
let h = p(null), g = u();
|
|
4181
|
+
return l(() => {
|
|
3469
4182
|
let e = h.current;
|
|
3470
|
-
e && (
|
|
3471
|
-
}, [
|
|
4183
|
+
e && (c && !e.open && e.showModal(), !c && e.open && e.close());
|
|
4184
|
+
}, [c]), /* @__PURE__ */ t("dialog", {
|
|
3472
4185
|
"aria-labelledby": g,
|
|
3473
|
-
className:
|
|
3474
|
-
"data-position":
|
|
3475
|
-
"data-size":
|
|
4186
|
+
className: mr("game-ui-modal", r),
|
|
4187
|
+
"data-position": d,
|
|
4188
|
+
"data-size": f,
|
|
3476
4189
|
onCancel: (e) => {
|
|
3477
4190
|
e.preventDefault(), s();
|
|
3478
4191
|
},
|
|
@@ -3494,12 +4207,12 @@ function bn({ children: e, className: r, closeLabel: i = "Close", closeOnBackdro
|
|
|
3494
4207
|
className: "game-ui-icon-button game-ui-window-button",
|
|
3495
4208
|
onClick: s,
|
|
3496
4209
|
type: "button",
|
|
3497
|
-
children: /* @__PURE__ */ t(
|
|
4210
|
+
children: /* @__PURE__ */ t(vr, { kind: "close" })
|
|
3498
4211
|
})]
|
|
3499
4212
|
}),
|
|
3500
4213
|
/* @__PURE__ */ t("div", {
|
|
3501
4214
|
className: "game-ui-modal-body",
|
|
3502
|
-
children:
|
|
4215
|
+
children: c ? e : null
|
|
3503
4216
|
}),
|
|
3504
4217
|
o ? /* @__PURE__ */ t("footer", {
|
|
3505
4218
|
className: "game-ui-modal-footer",
|
|
@@ -3511,7 +4224,7 @@ function bn({ children: e, className: r, closeLabel: i = "Close", closeOnBackdro
|
|
|
3511
4224
|
}
|
|
3512
4225
|
//#endregion
|
|
3513
4226
|
//#region src/previewStates.ts
|
|
3514
|
-
var
|
|
4227
|
+
var xr = [
|
|
3515
4228
|
{
|
|
3516
4229
|
id: "history-human-long",
|
|
3517
4230
|
kind: "human",
|
|
@@ -3533,22 +4246,22 @@ var xn = [
|
|
|
3533
4246
|
speaker: "Table",
|
|
3534
4247
|
text: "Three votes are locked. One more read can still change the pact."
|
|
3535
4248
|
}
|
|
3536
|
-
],
|
|
3537
|
-
...
|
|
3538
|
-
...
|
|
3539
|
-
...
|
|
3540
|
-
...
|
|
3541
|
-
...
|
|
3542
|
-
...
|
|
3543
|
-
...
|
|
3544
|
-
...
|
|
4249
|
+
], Sr = {
|
|
4250
|
+
...vt,
|
|
4251
|
+
...yt,
|
|
4252
|
+
...bt,
|
|
4253
|
+
...xt,
|
|
4254
|
+
...St,
|
|
4255
|
+
...Ct,
|
|
4256
|
+
...wt,
|
|
4257
|
+
...Et
|
|
3545
4258
|
}, Q = {
|
|
3546
4259
|
toneAttr: "data-game-ui-tone",
|
|
3547
4260
|
toneGlass: "glass",
|
|
3548
4261
|
densityAttr: "data-game-ui-density",
|
|
3549
4262
|
densityCompact: "compact",
|
|
3550
4263
|
scopeClass: "game-ui-overlay-scope"
|
|
3551
|
-
},
|
|
4264
|
+
}, Cr = Tt, wr = /* @__PURE__ */ "--game-ui-bg.--game-ui-surface.--game-ui-surface-raised.--game-ui-panel.--game-ui-panel-strong.--game-ui-panel-deep.--game-ui-text.--game-ui-text-muted.--game-ui-accent.--game-ui-accent-bright.--game-ui-secondary.--game-ui-success.--game-ui-success-bright.--game-ui-danger.--game-ui-danger-bright.--game-ui-warning.--game-ui-focus-ring.--game-ui-border-subtle.--game-ui-border-strong.--game-ui-disabled.--game-ui-ink-deep.--game-ui-border-ink.--game-ui-wood.--game-ui-ink-title.--game-ui-ink-heading.--game-ui-liquid-metal-face.--game-ui-liquid-metal-ink".split("."), Tr = {
|
|
3552
4265
|
en: {
|
|
3553
4266
|
triggerLabel: "EN",
|
|
3554
4267
|
langMenuLabel: "Preview language",
|
|
@@ -3749,7 +4462,7 @@ var xn = [
|
|
|
3749
4462
|
hint: "Rotate manually if this browser blocks automatic landscape lock."
|
|
3750
4463
|
},
|
|
3751
4464
|
historyLabel: "Round history",
|
|
3752
|
-
history:
|
|
4465
|
+
history: xr
|
|
3753
4466
|
},
|
|
3754
4467
|
"zh-CN": {
|
|
3755
4468
|
triggerLabel: "中",
|
|
@@ -3975,57 +4688,57 @@ var xn = [
|
|
|
3975
4688
|
}
|
|
3976
4689
|
]
|
|
3977
4690
|
}
|
|
3978
|
-
},
|
|
4691
|
+
}, Er = i(Tr.en), $ = () => c(Er), Dr = [
|
|
3979
4692
|
{
|
|
3980
4693
|
id: "colors",
|
|
3981
|
-
tokens:
|
|
4694
|
+
tokens: J
|
|
3982
4695
|
},
|
|
3983
4696
|
{
|
|
3984
4697
|
id: "semantic",
|
|
3985
|
-
tokens:
|
|
4698
|
+
tokens: vt
|
|
3986
4699
|
},
|
|
3987
4700
|
{
|
|
3988
4701
|
id: "typography",
|
|
3989
|
-
tokens:
|
|
4702
|
+
tokens: yt
|
|
3990
4703
|
},
|
|
3991
4704
|
{
|
|
3992
4705
|
id: "spacing",
|
|
3993
|
-
tokens:
|
|
4706
|
+
tokens: bt
|
|
3994
4707
|
},
|
|
3995
4708
|
{
|
|
3996
4709
|
id: "radius",
|
|
3997
|
-
tokens:
|
|
4710
|
+
tokens: xt
|
|
3998
4711
|
},
|
|
3999
4712
|
{
|
|
4000
4713
|
id: "elevation",
|
|
4001
|
-
tokens:
|
|
4714
|
+
tokens: St
|
|
4002
4715
|
},
|
|
4003
4716
|
{
|
|
4004
4717
|
id: "motion",
|
|
4005
|
-
tokens:
|
|
4718
|
+
tokens: Ct
|
|
4006
4719
|
},
|
|
4007
4720
|
{
|
|
4008
4721
|
id: "overlayGlass",
|
|
4009
|
-
tokens:
|
|
4722
|
+
tokens: _t
|
|
4010
4723
|
},
|
|
4011
4724
|
{
|
|
4012
4725
|
id: "liquidMetal",
|
|
4013
|
-
tokens:
|
|
4726
|
+
tokens: gt
|
|
4014
4727
|
},
|
|
4015
4728
|
{
|
|
4016
4729
|
id: "layers",
|
|
4017
|
-
tokens:
|
|
4730
|
+
tokens: wt
|
|
4018
4731
|
},
|
|
4019
4732
|
{
|
|
4020
4733
|
id: "targets",
|
|
4021
|
-
tokens:
|
|
4734
|
+
tokens: Tt
|
|
4022
4735
|
},
|
|
4023
4736
|
{
|
|
4024
4737
|
id: "assetSizing",
|
|
4025
|
-
tokens:
|
|
4738
|
+
tokens: Et
|
|
4026
4739
|
}
|
|
4027
4740
|
];
|
|
4028
|
-
function
|
|
4741
|
+
function Or({ id: e, label: r, tokens: i }) {
|
|
4029
4742
|
return /* @__PURE__ */ n("article", {
|
|
4030
4743
|
className: "game-ui-token-card",
|
|
4031
4744
|
children: [/* @__PURE__ */ t("h3", { children: r }), /* @__PURE__ */ t("div", {
|
|
@@ -4037,17 +4750,17 @@ function On({ id: e, label: r, tokens: i }) {
|
|
|
4037
4750
|
})]
|
|
4038
4751
|
});
|
|
4039
4752
|
}
|
|
4040
|
-
function
|
|
4753
|
+
function kr() {
|
|
4041
4754
|
return /* @__PURE__ */ t("div", {
|
|
4042
4755
|
"aria-label": "Clay color swatches",
|
|
4043
4756
|
className: "game-ui-swatch-grid",
|
|
4044
|
-
children: Object.entries(
|
|
4757
|
+
children: Object.entries(J).map(([e, r]) => /* @__PURE__ */ n("figure", {
|
|
4045
4758
|
className: "game-ui-swatch",
|
|
4046
4759
|
children: [/* @__PURE__ */ t("span", { style: { background: r } }), /* @__PURE__ */ n("figcaption", { children: [/* @__PURE__ */ t("strong", { children: e }), /* @__PURE__ */ t("code", { children: r })] })]
|
|
4047
4760
|
}, e))
|
|
4048
4761
|
});
|
|
4049
4762
|
}
|
|
4050
|
-
function
|
|
4763
|
+
function Ar() {
|
|
4051
4764
|
let { type: e } = $();
|
|
4052
4765
|
return /* @__PURE__ */ n("div", {
|
|
4053
4766
|
className: "game-ui-type-scale",
|
|
@@ -4063,36 +4776,36 @@ function An() {
|
|
|
4063
4776
|
]
|
|
4064
4777
|
});
|
|
4065
4778
|
}
|
|
4066
|
-
function
|
|
4779
|
+
function jr() {
|
|
4067
4780
|
let { buttons: e } = $();
|
|
4068
|
-
return /* @__PURE__ */ n(
|
|
4781
|
+
return /* @__PURE__ */ n(q, {
|
|
4069
4782
|
title: e.panelTitle,
|
|
4070
4783
|
tone: "strong",
|
|
4071
4784
|
children: [
|
|
4072
4785
|
/* @__PURE__ */ n("div", {
|
|
4073
4786
|
className: "game-ui-component-row",
|
|
4074
4787
|
children: [
|
|
4075
|
-
/* @__PURE__ */ t(
|
|
4788
|
+
/* @__PURE__ */ t(w, {
|
|
4076
4789
|
variant: "primary",
|
|
4077
4790
|
children: e.openTable
|
|
4078
4791
|
}),
|
|
4079
|
-
/* @__PURE__ */ t(
|
|
4792
|
+
/* @__PURE__ */ t(w, {
|
|
4080
4793
|
variant: "secondary",
|
|
4081
4794
|
children: e.useCode
|
|
4082
4795
|
}),
|
|
4083
|
-
/* @__PURE__ */ t(
|
|
4796
|
+
/* @__PURE__ */ t(w, {
|
|
4084
4797
|
variant: "ghost",
|
|
4085
4798
|
children: e.continueHost
|
|
4086
4799
|
}),
|
|
4087
|
-
/* @__PURE__ */ t(
|
|
4800
|
+
/* @__PURE__ */ t(w, {
|
|
4088
4801
|
variant: "success",
|
|
4089
4802
|
children: e.readyUp
|
|
4090
4803
|
}),
|
|
4091
|
-
/* @__PURE__ */ t(
|
|
4804
|
+
/* @__PURE__ */ t(w, {
|
|
4092
4805
|
variant: "danger",
|
|
4093
4806
|
children: e.leaveTable
|
|
4094
4807
|
}),
|
|
4095
|
-
/* @__PURE__ */ t(
|
|
4808
|
+
/* @__PURE__ */ t(w, {
|
|
4096
4809
|
disabled: !0,
|
|
4097
4810
|
variant: "secondary",
|
|
4098
4811
|
children: e.waiting
|
|
@@ -4102,9 +4815,9 @@ function jn() {
|
|
|
4102
4815
|
/* @__PURE__ */ n("div", {
|
|
4103
4816
|
className: "game-ui-component-row",
|
|
4104
4817
|
children: [
|
|
4105
|
-
/* @__PURE__ */ t(
|
|
4818
|
+
/* @__PURE__ */ t(ct, {
|
|
4106
4819
|
label: e.settingsTip,
|
|
4107
|
-
children: /* @__PURE__ */ t(
|
|
4820
|
+
children: /* @__PURE__ */ t(st, {
|
|
4108
4821
|
label: e.settingsTip,
|
|
4109
4822
|
children: /* @__PURE__ */ t(Z, {
|
|
4110
4823
|
icon: "settings",
|
|
@@ -4112,7 +4825,7 @@ function jn() {
|
|
|
4112
4825
|
})
|
|
4113
4826
|
})
|
|
4114
4827
|
}),
|
|
4115
|
-
/* @__PURE__ */ t(
|
|
4828
|
+
/* @__PURE__ */ t(st, {
|
|
4116
4829
|
label: e.copyInvite,
|
|
4117
4830
|
children: /* @__PURE__ */ t(Z, {
|
|
4118
4831
|
icon: "copy",
|
|
@@ -4133,7 +4846,7 @@ function jn() {
|
|
|
4133
4846
|
})
|
|
4134
4847
|
]
|
|
4135
4848
|
}),
|
|
4136
|
-
/* @__PURE__ */ t(
|
|
4849
|
+
/* @__PURE__ */ t(ut, {
|
|
4137
4850
|
activeId: "live",
|
|
4138
4851
|
label: e.segmentedLabel,
|
|
4139
4852
|
options: [
|
|
@@ -4151,7 +4864,7 @@ function jn() {
|
|
|
4151
4864
|
}
|
|
4152
4865
|
]
|
|
4153
4866
|
}),
|
|
4154
|
-
/* @__PURE__ */ t(
|
|
4867
|
+
/* @__PURE__ */ t(lt, {
|
|
4155
4868
|
activeId: "portal",
|
|
4156
4869
|
tabs: [
|
|
4157
4870
|
{
|
|
@@ -4168,7 +4881,7 @@ function jn() {
|
|
|
4168
4881
|
}
|
|
4169
4882
|
]
|
|
4170
4883
|
}),
|
|
4171
|
-
/* @__PURE__ */ t(
|
|
4884
|
+
/* @__PURE__ */ t(pt, {
|
|
4172
4885
|
items: [
|
|
4173
4886
|
{
|
|
4174
4887
|
id: "wave",
|
|
@@ -4185,20 +4898,20 @@ function jn() {
|
|
|
4185
4898
|
],
|
|
4186
4899
|
label: e.radialLabel
|
|
4187
4900
|
}),
|
|
4188
|
-
/* @__PURE__ */ t(
|
|
4901
|
+
/* @__PURE__ */ t(dt, {
|
|
4189
4902
|
label: e.sliderLabel,
|
|
4190
4903
|
max: 100,
|
|
4191
4904
|
min: 0,
|
|
4192
4905
|
value: 68
|
|
4193
4906
|
}),
|
|
4194
|
-
/* @__PURE__ */ t(
|
|
4907
|
+
/* @__PURE__ */ t(ft, {
|
|
4195
4908
|
checked: !0,
|
|
4196
4909
|
label: e.toggleLabel
|
|
4197
4910
|
})
|
|
4198
4911
|
]
|
|
4199
4912
|
});
|
|
4200
4913
|
}
|
|
4201
|
-
function
|
|
4914
|
+
function Mr() {
|
|
4202
4915
|
let { hud: e, tiles: r } = $();
|
|
4203
4916
|
return /* @__PURE__ */ n("div", {
|
|
4204
4917
|
className: "game-ui-stage-demo",
|
|
@@ -4206,7 +4919,7 @@ function Mn() {
|
|
|
4206
4919
|
"aria-label": "Clay world HUD preview",
|
|
4207
4920
|
className: "game-ui-stage-world",
|
|
4208
4921
|
children: [
|
|
4209
|
-
/* @__PURE__ */ t(
|
|
4922
|
+
/* @__PURE__ */ t(Zt, {
|
|
4210
4923
|
label: e.label,
|
|
4211
4924
|
items: [
|
|
4212
4925
|
{
|
|
@@ -4229,15 +4942,15 @@ function Mn() {
|
|
|
4229
4942
|
value: "02:46"
|
|
4230
4943
|
}
|
|
4231
4944
|
],
|
|
4232
|
-
actions: /* @__PURE__ */ n(
|
|
4945
|
+
actions: /* @__PURE__ */ n(ot, {
|
|
4233
4946
|
label: e.tools,
|
|
4234
|
-
children: [/* @__PURE__ */ t(
|
|
4947
|
+
children: [/* @__PURE__ */ t(st, {
|
|
4235
4948
|
label: e.history,
|
|
4236
4949
|
children: /* @__PURE__ */ t(Z, {
|
|
4237
4950
|
icon: "scroll",
|
|
4238
4951
|
size: "sm"
|
|
4239
4952
|
})
|
|
4240
|
-
}), /* @__PURE__ */ t(
|
|
4953
|
+
}), /* @__PURE__ */ t(st, {
|
|
4241
4954
|
label: e.settings,
|
|
4242
4955
|
children: /* @__PURE__ */ t(Z, {
|
|
4243
4956
|
icon: "settings",
|
|
@@ -4265,10 +4978,10 @@ function Mn() {
|
|
|
4265
4978
|
}),
|
|
4266
4979
|
/* @__PURE__ */ n("div", {
|
|
4267
4980
|
className: "game-ui-input-strip",
|
|
4268
|
-
children: [/* @__PURE__ */ t(
|
|
4981
|
+
children: [/* @__PURE__ */ t(w, {
|
|
4269
4982
|
variant: "secondary",
|
|
4270
4983
|
children: e.emote
|
|
4271
|
-
}), /* @__PURE__ */ t(
|
|
4984
|
+
}), /* @__PURE__ */ t(w, {
|
|
4272
4985
|
variant: "primary",
|
|
4273
4986
|
children: e.sendRead
|
|
4274
4987
|
})]
|
|
@@ -4277,7 +4990,7 @@ function Mn() {
|
|
|
4277
4990
|
}), /* @__PURE__ */ n("div", {
|
|
4278
4991
|
className: "game-ui-stage-sidecar",
|
|
4279
4992
|
children: [
|
|
4280
|
-
/* @__PURE__ */ t($
|
|
4993
|
+
/* @__PURE__ */ t($t, {
|
|
4281
4994
|
badge: r.daily.badge,
|
|
4282
4995
|
icon: "scroll",
|
|
4283
4996
|
kicker: r.daily.kicker,
|
|
@@ -4286,7 +4999,7 @@ function Mn() {
|
|
|
4286
4999
|
title: r.daily.title,
|
|
4287
5000
|
tone: "daily"
|
|
4288
5001
|
}),
|
|
4289
|
-
/* @__PURE__ */ t($
|
|
5002
|
+
/* @__PURE__ */ t($t, {
|
|
4290
5003
|
badge: r.portal.badge,
|
|
4291
5004
|
icon: "portal",
|
|
4292
5005
|
kicker: r.portal.kicker,
|
|
@@ -4294,7 +5007,7 @@ function Mn() {
|
|
|
4294
5007
|
title: r.portal.title,
|
|
4295
5008
|
tone: "portal"
|
|
4296
5009
|
}),
|
|
4297
|
-
/* @__PURE__ */ t($
|
|
5010
|
+
/* @__PURE__ */ t($t, {
|
|
4298
5011
|
icon: "energy",
|
|
4299
5012
|
kicker: r.host.kicker,
|
|
4300
5013
|
summary: r.host.summary,
|
|
@@ -4305,7 +5018,7 @@ function Mn() {
|
|
|
4305
5018
|
})]
|
|
4306
5019
|
});
|
|
4307
5020
|
}
|
|
4308
|
-
function
|
|
5021
|
+
function Nr() {
|
|
4309
5022
|
let { hud: e, buttons: r } = $(), i = (i) => {
|
|
4310
5023
|
let a = i === "glass";
|
|
4311
5024
|
return /* @__PURE__ */ n("div", {
|
|
@@ -4319,7 +5032,7 @@ function Nn() {
|
|
|
4319
5032
|
[Q.toneAttr]: Q.toneGlass,
|
|
4320
5033
|
[Q.densityAttr]: Q.densityCompact
|
|
4321
5034
|
} : {},
|
|
4322
|
-
children: [/* @__PURE__ */ t(
|
|
5035
|
+
children: [/* @__PURE__ */ t(Zt, {
|
|
4323
5036
|
label: e.label,
|
|
4324
5037
|
items: [
|
|
4325
5038
|
{
|
|
@@ -4342,15 +5055,15 @@ function Nn() {
|
|
|
4342
5055
|
value: "02:46"
|
|
4343
5056
|
}
|
|
4344
5057
|
],
|
|
4345
|
-
actions: /* @__PURE__ */ n(
|
|
5058
|
+
actions: /* @__PURE__ */ n(ot, {
|
|
4346
5059
|
label: e.tools,
|
|
4347
|
-
children: [/* @__PURE__ */ t(
|
|
5060
|
+
children: [/* @__PURE__ */ t(st, {
|
|
4348
5061
|
label: e.history,
|
|
4349
5062
|
children: /* @__PURE__ */ t(Z, {
|
|
4350
5063
|
icon: "scroll",
|
|
4351
5064
|
size: "sm"
|
|
4352
5065
|
})
|
|
4353
|
-
}), /* @__PURE__ */ t(
|
|
5066
|
+
}), /* @__PURE__ */ t(st, {
|
|
4354
5067
|
label: e.settings,
|
|
4355
5068
|
children: /* @__PURE__ */ t(Z, {
|
|
4356
5069
|
icon: "settings",
|
|
@@ -4358,7 +5071,7 @@ function Nn() {
|
|
|
4358
5071
|
})
|
|
4359
5072
|
})]
|
|
4360
5073
|
})
|
|
4361
|
-
}), /* @__PURE__ */ n(
|
|
5074
|
+
}), /* @__PURE__ */ n(q, {
|
|
4362
5075
|
title: r.panelTitle,
|
|
4363
5076
|
children: [/* @__PURE__ */ n("div", {
|
|
4364
5077
|
className: "game-ui-hud-cluster",
|
|
@@ -4371,7 +5084,7 @@ function Nn() {
|
|
|
4371
5084
|
tone: "success",
|
|
4372
5085
|
children: r.readyBadge
|
|
4373
5086
|
}),
|
|
4374
|
-
/* @__PURE__ */ t(
|
|
5087
|
+
/* @__PURE__ */ t(hn, {
|
|
4375
5088
|
label: e.reveal,
|
|
4376
5089
|
value: 68
|
|
4377
5090
|
})
|
|
@@ -4379,15 +5092,15 @@ function Nn() {
|
|
|
4379
5092
|
}), /* @__PURE__ */ n("div", {
|
|
4380
5093
|
className: "game-ui-input-strip",
|
|
4381
5094
|
children: [
|
|
4382
|
-
/* @__PURE__ */ t(
|
|
5095
|
+
/* @__PURE__ */ t(w, {
|
|
4383
5096
|
variant: "secondary",
|
|
4384
5097
|
children: e.emote
|
|
4385
5098
|
}),
|
|
4386
|
-
/* @__PURE__ */ t(
|
|
5099
|
+
/* @__PURE__ */ t(w, {
|
|
4387
5100
|
variant: "primary",
|
|
4388
5101
|
children: e.sendRead
|
|
4389
5102
|
}),
|
|
4390
|
-
/* @__PURE__ */ t(
|
|
5103
|
+
/* @__PURE__ */ t(w, {
|
|
4391
5104
|
variant: "ghost",
|
|
4392
5105
|
children: r.leaveTable
|
|
4393
5106
|
})
|
|
@@ -4423,26 +5136,26 @@ function Nn() {
|
|
|
4423
5136
|
})]
|
|
4424
5137
|
});
|
|
4425
5138
|
}
|
|
4426
|
-
function
|
|
5139
|
+
function Pr() {
|
|
4427
5140
|
let { liquidMetal: e } = $();
|
|
4428
5141
|
return /* @__PURE__ */ n("div", {
|
|
4429
5142
|
className: "game-ui-liquid-metal-compare",
|
|
4430
|
-
children: [/* @__PURE__ */ t(
|
|
5143
|
+
children: [/* @__PURE__ */ t(q, {
|
|
4431
5144
|
title: e.cssTitle,
|
|
4432
5145
|
tone: "strong",
|
|
4433
5146
|
children: /* @__PURE__ */ t("div", {
|
|
4434
5147
|
className: "game-ui-liquid-metal-stage",
|
|
4435
|
-
children: /* @__PURE__ */ t(
|
|
5148
|
+
children: /* @__PURE__ */ t(L, {
|
|
4436
5149
|
renderer: "css",
|
|
4437
5150
|
children: e.cta
|
|
4438
5151
|
})
|
|
4439
5152
|
})
|
|
4440
|
-
}), /* @__PURE__ */ t(
|
|
5153
|
+
}), /* @__PURE__ */ t(q, {
|
|
4441
5154
|
title: e.webglTitle,
|
|
4442
5155
|
tone: "strong",
|
|
4443
5156
|
children: /* @__PURE__ */ t("div", {
|
|
4444
5157
|
className: "game-ui-liquid-metal-stage",
|
|
4445
|
-
children: /* @__PURE__ */ t(
|
|
5158
|
+
children: /* @__PURE__ */ t(L, {
|
|
4446
5159
|
renderer: "webgl",
|
|
4447
5160
|
children: e.cta
|
|
4448
5161
|
})
|
|
@@ -4450,36 +5163,36 @@ function Pn() {
|
|
|
4450
5163
|
})]
|
|
4451
5164
|
});
|
|
4452
5165
|
}
|
|
4453
|
-
function
|
|
5166
|
+
function Fr() {
|
|
4454
5167
|
let { modals: e } = $();
|
|
4455
5168
|
return /* @__PURE__ */ n("div", {
|
|
4456
5169
|
className: "game-ui-preview-two-up",
|
|
4457
|
-
children: [/* @__PURE__ */ n(
|
|
5170
|
+
children: [/* @__PURE__ */ n(it, {
|
|
4458
5171
|
title: e.dialogTitle,
|
|
4459
|
-
children: [/* @__PURE__ */ t("p", { children: e.dialogBody }), /* @__PURE__ */ n(
|
|
5172
|
+
children: [/* @__PURE__ */ t("p", { children: e.dialogBody }), /* @__PURE__ */ n(ot, {
|
|
4460
5173
|
label: e.actionsLabel,
|
|
4461
|
-
children: [/* @__PURE__ */ t(
|
|
5174
|
+
children: [/* @__PURE__ */ t(w, {
|
|
4462
5175
|
variant: "primary",
|
|
4463
5176
|
children: e.confirm
|
|
4464
|
-
}), /* @__PURE__ */ t(
|
|
5177
|
+
}), /* @__PURE__ */ t(w, {
|
|
4465
5178
|
variant: "ghost",
|
|
4466
5179
|
children: e.back
|
|
4467
5180
|
})]
|
|
4468
5181
|
})]
|
|
4469
|
-
}), /* @__PURE__ */ n(
|
|
5182
|
+
}), /* @__PURE__ */ n(q, {
|
|
4470
5183
|
title: e.panelTitle,
|
|
4471
5184
|
tone: "strong",
|
|
4472
5185
|
children: [
|
|
4473
|
-
/* @__PURE__ */ t(
|
|
5186
|
+
/* @__PURE__ */ t(mt, {
|
|
4474
5187
|
tone: "success",
|
|
4475
5188
|
children: e.toastOk
|
|
4476
5189
|
}),
|
|
4477
|
-
/* @__PURE__ */ t(
|
|
5190
|
+
/* @__PURE__ */ t(mt, {
|
|
4478
5191
|
tone: "danger",
|
|
4479
5192
|
children: e.toastErr
|
|
4480
5193
|
}),
|
|
4481
|
-
/* @__PURE__ */ t(
|
|
4482
|
-
/* @__PURE__ */ t(
|
|
5194
|
+
/* @__PURE__ */ t(rn, { label: e.loading }),
|
|
5195
|
+
/* @__PURE__ */ t(rn, {
|
|
4483
5196
|
label: e.loadingErr,
|
|
4484
5197
|
tone: "error"
|
|
4485
5198
|
})
|
|
@@ -4487,14 +5200,14 @@ function Fn() {
|
|
|
4487
5200
|
})]
|
|
4488
5201
|
});
|
|
4489
5202
|
}
|
|
4490
|
-
function
|
|
5203
|
+
function Ir() {
|
|
4491
5204
|
let { cards: e } = $();
|
|
4492
5205
|
return /* @__PURE__ */ n("div", {
|
|
4493
5206
|
className: "game-ui-preview-two-up",
|
|
4494
|
-
children: [/* @__PURE__ */ t(
|
|
5207
|
+
children: [/* @__PURE__ */ t(q, {
|
|
4495
5208
|
title: e.fanTitle,
|
|
4496
5209
|
tone: "strong",
|
|
4497
|
-
children: /* @__PURE__ */ t(
|
|
5210
|
+
children: /* @__PURE__ */ t(Qt, {
|
|
4498
5211
|
label: e.fanLabel,
|
|
4499
5212
|
cards: [
|
|
4500
5213
|
{
|
|
@@ -4517,7 +5230,7 @@ function In() {
|
|
|
4517
5230
|
}
|
|
4518
5231
|
]
|
|
4519
5232
|
})
|
|
4520
|
-
}), /* @__PURE__ */ n(
|
|
5233
|
+
}), /* @__PURE__ */ n(q, {
|
|
4521
5234
|
title: e.assetTitle,
|
|
4522
5235
|
tone: "strong",
|
|
4523
5236
|
children: [/* @__PURE__ */ t("p", {
|
|
@@ -4526,16 +5239,16 @@ function In() {
|
|
|
4526
5239
|
}), /* @__PURE__ */ n("div", {
|
|
4527
5240
|
className: "game-ui-asset-path-grid",
|
|
4528
5241
|
children: [
|
|
4529
|
-
/* @__PURE__ */ t("code", { children:
|
|
4530
|
-
/* @__PURE__ */ t("code", { children:
|
|
4531
|
-
/* @__PURE__ */ t("code", { children:
|
|
4532
|
-
/* @__PURE__ */ t("code", { children:
|
|
5242
|
+
/* @__PURE__ */ t("code", { children: Lt.catalog.manifest }),
|
|
5243
|
+
/* @__PURE__ */ t("code", { children: Lt.catalog.sourceCatalog }),
|
|
5244
|
+
/* @__PURE__ */ t("code", { children: Lt.buttons.primary }),
|
|
5245
|
+
/* @__PURE__ */ t("code", { children: Lt.icons.trophy })
|
|
4533
5246
|
]
|
|
4534
5247
|
})]
|
|
4535
5248
|
})]
|
|
4536
5249
|
});
|
|
4537
5250
|
}
|
|
4538
|
-
var
|
|
5251
|
+
var Lr = [
|
|
4539
5252
|
{
|
|
4540
5253
|
id: "terrain",
|
|
4541
5254
|
label: "Terrain",
|
|
@@ -4551,7 +5264,7 @@ var Ln = [
|
|
|
4551
5264
|
label: "Place",
|
|
4552
5265
|
icon: "gem"
|
|
4553
5266
|
}
|
|
4554
|
-
],
|
|
5267
|
+
], Rr = [
|
|
4555
5268
|
{
|
|
4556
5269
|
id: "raise",
|
|
4557
5270
|
label: "Raise",
|
|
@@ -4577,7 +5290,7 @@ var Ln = [
|
|
|
4577
5290
|
label: "Paint",
|
|
4578
5291
|
shortcut: "5"
|
|
4579
5292
|
}
|
|
4580
|
-
],
|
|
5293
|
+
], zr = [
|
|
4581
5294
|
{
|
|
4582
5295
|
id: "grass",
|
|
4583
5296
|
label: "Grass",
|
|
@@ -4593,7 +5306,7 @@ var Ln = [
|
|
|
4593
5306
|
label: "Path",
|
|
4594
5307
|
color: "#b98d5d"
|
|
4595
5308
|
}
|
|
4596
|
-
],
|
|
5309
|
+
], Br = [{
|
|
4597
5310
|
id: "foundation",
|
|
4598
5311
|
label: "Foundation",
|
|
4599
5312
|
icon: "home",
|
|
@@ -4612,10 +5325,10 @@ var Ln = [
|
|
|
4612
5325
|
status: "ready"
|
|
4613
5326
|
}]
|
|
4614
5327
|
}];
|
|
4615
|
-
function
|
|
5328
|
+
function Vr() {
|
|
4616
5329
|
return /* @__PURE__ */ n("div", {
|
|
4617
5330
|
className: "game-ui-preview-two-up",
|
|
4618
|
-
children: [/* @__PURE__ */ t(
|
|
5331
|
+
children: [/* @__PURE__ */ t(qn, {
|
|
4619
5332
|
activeBuildCategoryId: "foundation",
|
|
4620
5333
|
activeMaterialId: "grass",
|
|
4621
5334
|
activeModeId: "terrain",
|
|
@@ -4624,10 +5337,10 @@ function Vn() {
|
|
|
4624
5337
|
radius: 2.75,
|
|
4625
5338
|
strength: .45
|
|
4626
5339
|
},
|
|
4627
|
-
buildCategories:
|
|
5340
|
+
buildCategories: Br,
|
|
4628
5341
|
label: "Desktop terrain and build tools",
|
|
4629
|
-
materials:
|
|
4630
|
-
modes:
|
|
5342
|
+
materials: zr,
|
|
5343
|
+
modes: Lr,
|
|
4631
5344
|
selectedBuildItemId: "floor-2x2",
|
|
4632
5345
|
status: {
|
|
4633
5346
|
label: "Ready",
|
|
@@ -4638,12 +5351,12 @@ function Vn() {
|
|
|
4638
5351
|
progressValue: 68
|
|
4639
5352
|
},
|
|
4640
5353
|
title: "Island tools",
|
|
4641
|
-
tools:
|
|
5354
|
+
tools: Rr,
|
|
4642
5355
|
undoRedo: {
|
|
4643
5356
|
canRedo: !1,
|
|
4644
5357
|
canUndo: !0
|
|
4645
5358
|
}
|
|
4646
|
-
}), /* @__PURE__ */ t(
|
|
5359
|
+
}), /* @__PURE__ */ t(qn, {
|
|
4647
5360
|
activeBuildCategoryId: "foundation",
|
|
4648
5361
|
activeMaterialId: "path",
|
|
4649
5362
|
activeModeId: "terrain",
|
|
@@ -4652,11 +5365,11 @@ function Vn() {
|
|
|
4652
5365
|
radius: 1.5,
|
|
4653
5366
|
strength: .3
|
|
4654
5367
|
},
|
|
4655
|
-
buildCategories:
|
|
5368
|
+
buildCategories: Br,
|
|
4656
5369
|
drawerOpen: !0,
|
|
4657
5370
|
label: "Small mobile terrain drawer",
|
|
4658
|
-
materials:
|
|
4659
|
-
modes:
|
|
5371
|
+
materials: zr,
|
|
5372
|
+
modes: Lr,
|
|
4660
5373
|
selectedBuildItemId: "floor-2x2",
|
|
4661
5374
|
status: {
|
|
4662
5375
|
label: "Blocked",
|
|
@@ -4664,7 +5377,7 @@ function Vn() {
|
|
|
4664
5377
|
description: "This edit would bury a placed object."
|
|
4665
5378
|
},
|
|
4666
5379
|
title: "Tools",
|
|
4667
|
-
tools:
|
|
5380
|
+
tools: Rr,
|
|
4668
5381
|
undoRedo: {
|
|
4669
5382
|
canRedo: !0,
|
|
4670
5383
|
canUndo: !0
|
|
@@ -4673,7 +5386,7 @@ function Vn() {
|
|
|
4673
5386
|
})]
|
|
4674
5387
|
});
|
|
4675
5388
|
}
|
|
4676
|
-
function
|
|
5389
|
+
function Hr({ label: e, mode: r }) {
|
|
4677
5390
|
return /* @__PURE__ */ n("div", {
|
|
4678
5391
|
className: "game-ui-construction-preview-card",
|
|
4679
5392
|
"data-preview": r,
|
|
@@ -4687,7 +5400,7 @@ function Hn({ label: e, mode: r }) {
|
|
|
4687
5400
|
]
|
|
4688
5401
|
});
|
|
4689
5402
|
}
|
|
4690
|
-
var
|
|
5403
|
+
var Ur = [
|
|
4691
5404
|
{
|
|
4692
5405
|
id: "preview-deck",
|
|
4693
5406
|
title: "Deck robot crew",
|
|
@@ -4748,7 +5461,7 @@ var Un = [
|
|
|
4748
5461
|
before: {
|
|
4749
5462
|
label: "Before",
|
|
4750
5463
|
caption: "Uneven terrain pad.",
|
|
4751
|
-
content: /* @__PURE__ */ t(
|
|
5464
|
+
content: /* @__PURE__ */ t(Hr, {
|
|
4752
5465
|
label: "Rough pad",
|
|
4753
5466
|
mode: "before"
|
|
4754
5467
|
})
|
|
@@ -4756,7 +5469,7 @@ var Un = [
|
|
|
4756
5469
|
after: {
|
|
4757
5470
|
label: "After",
|
|
4758
5471
|
caption: "Flattened foundation pad with safe clearance.",
|
|
4759
|
-
content: /* @__PURE__ */ t(
|
|
5472
|
+
content: /* @__PURE__ */ t(Hr, {
|
|
4760
5473
|
label: "Foundation ready",
|
|
4761
5474
|
mode: "after"
|
|
4762
5475
|
})
|
|
@@ -4785,19 +5498,19 @@ var Un = [
|
|
|
4785
5498
|
}]
|
|
4786
5499
|
}
|
|
4787
5500
|
];
|
|
4788
|
-
function
|
|
5501
|
+
function Wr() {
|
|
4789
5502
|
return /* @__PURE__ */ n("div", {
|
|
4790
5503
|
className: "game-ui-preview-two-up",
|
|
4791
|
-
children: [/* @__PURE__ */ t(
|
|
4792
|
-
jobs:
|
|
5504
|
+
children: [/* @__PURE__ */ t(pr, {
|
|
5505
|
+
jobs: Ur,
|
|
4793
5506
|
label: "AI contractor jobs",
|
|
4794
5507
|
selectedJobId: "review-house-pad",
|
|
4795
5508
|
subtitle: "Official contractor UI covers drafts, previews, robot work, validation, review, and local-only provider boundaries.",
|
|
4796
5509
|
title: "AI contractor",
|
|
4797
5510
|
variant: "desktop"
|
|
4798
|
-
}), /* @__PURE__ */ t(
|
|
5511
|
+
}), /* @__PURE__ */ t(pr, {
|
|
4799
5512
|
drawerOpen: !0,
|
|
4800
|
-
jobs:
|
|
5513
|
+
jobs: Ur,
|
|
4801
5514
|
label: "Small mobile contractor jobs",
|
|
4802
5515
|
selectedJobId: "blocked-fence",
|
|
4803
5516
|
title: "Contractor",
|
|
@@ -4805,10 +5518,10 @@ function Wn() {
|
|
|
4805
5518
|
})]
|
|
4806
5519
|
});
|
|
4807
5520
|
}
|
|
4808
|
-
function
|
|
4809
|
-
return /* @__PURE__ */ t(
|
|
5521
|
+
function Gr() {
|
|
5522
|
+
return /* @__PURE__ */ t(_n, {
|
|
4810
5523
|
title: "OwnMySpace island editor preview",
|
|
4811
|
-
hud: /* @__PURE__ */ t(
|
|
5524
|
+
hud: /* @__PURE__ */ t(yn, {
|
|
4812
5525
|
label: "Island facts",
|
|
4813
5526
|
facts: [
|
|
4814
5527
|
{
|
|
@@ -4832,11 +5545,11 @@ function Gn() {
|
|
|
4832
5545
|
}
|
|
4833
5546
|
]
|
|
4834
5547
|
}),
|
|
4835
|
-
movementPad: /* @__PURE__ */ t(
|
|
5548
|
+
movementPad: /* @__PURE__ */ t(wn, {
|
|
4836
5549
|
helpText: "WASD or arrows",
|
|
4837
5550
|
label: "Move avatar"
|
|
4838
5551
|
}),
|
|
4839
|
-
assetLibrary: /* @__PURE__ */ t(
|
|
5552
|
+
assetLibrary: /* @__PURE__ */ t(kn, {
|
|
4840
5553
|
label: "Placeable assets",
|
|
4841
5554
|
title: "Assets",
|
|
4842
5555
|
subtitle: "Starter, generated, and imported assets stay visibly distinct but share one placement path.",
|
|
@@ -4883,7 +5596,7 @@ function Gn() {
|
|
|
4883
5596
|
}
|
|
4884
5597
|
]
|
|
4885
5598
|
}),
|
|
4886
|
-
bottomBar: /* @__PURE__ */ t(
|
|
5599
|
+
bottomBar: /* @__PURE__ */ t(An, {
|
|
4887
5600
|
title: "Placement",
|
|
4888
5601
|
selectedTitle: "Manual chair",
|
|
4889
5602
|
placedObjects: 3,
|
|
@@ -4919,7 +5632,7 @@ function Gn() {
|
|
|
4919
5632
|
})
|
|
4920
5633
|
});
|
|
4921
5634
|
}
|
|
4922
|
-
var
|
|
5635
|
+
var Kr = [{
|
|
4923
5636
|
id: "starter",
|
|
4924
5637
|
label: "Starter pieces",
|
|
4925
5638
|
source: "starter",
|
|
@@ -4950,7 +5663,7 @@ var Kn = [{
|
|
|
4950
5663
|
}
|
|
4951
5664
|
]
|
|
4952
5665
|
}];
|
|
4953
|
-
function
|
|
5666
|
+
function qr() {
|
|
4954
5667
|
return /* @__PURE__ */ t("div", {
|
|
4955
5668
|
className: "game-ui-asset-compression-repro",
|
|
4956
5669
|
"aria-label": "Asset card compression repro",
|
|
@@ -4974,9 +5687,9 @@ function qn() {
|
|
|
4974
5687
|
className: "game-ui-asset-compression-repro-surface",
|
|
4975
5688
|
"data-repro-surface": e.id,
|
|
4976
5689
|
style: { "--repro-width": e.width },
|
|
4977
|
-
children: [/* @__PURE__ */ t(X, { children: e.label }), /* @__PURE__ */ t(
|
|
5690
|
+
children: [/* @__PURE__ */ t(X, { children: e.label }), /* @__PURE__ */ t(kn, {
|
|
4978
5691
|
density: "dense",
|
|
4979
|
-
groups:
|
|
5692
|
+
groups: Kr,
|
|
4980
5693
|
label: `${e.label} assets`,
|
|
4981
5694
|
selectedAssetId: "asset-repro-chair",
|
|
4982
5695
|
title: "Build"
|
|
@@ -4984,13 +5697,13 @@ function qn() {
|
|
|
4984
5697
|
}, e.id))
|
|
4985
5698
|
});
|
|
4986
5699
|
}
|
|
4987
|
-
function
|
|
5700
|
+
function Jr() {
|
|
4988
5701
|
let { firstSession: e } = $();
|
|
4989
5702
|
return /* @__PURE__ */ n("div", {
|
|
4990
5703
|
className: "game-ui-first-session-preview",
|
|
4991
5704
|
children: [/* @__PURE__ */ t("div", {
|
|
4992
5705
|
className: "game-ui-first-session-world",
|
|
4993
|
-
children: /* @__PURE__ */ t(
|
|
5706
|
+
children: /* @__PURE__ */ t(sn, {
|
|
4994
5707
|
authenticated: !0,
|
|
4995
5708
|
batteryCount: 5,
|
|
4996
5709
|
dailyStreak: 3,
|
|
@@ -5024,7 +5737,7 @@ function Jn() {
|
|
|
5024
5737
|
})
|
|
5025
5738
|
}), /* @__PURE__ */ t("div", {
|
|
5026
5739
|
className: "game-ui-first-session-modal-slot",
|
|
5027
|
-
children: /* @__PURE__ */ t(
|
|
5740
|
+
children: /* @__PURE__ */ t(cn, {
|
|
5028
5741
|
open: !0,
|
|
5029
5742
|
onDismiss: () => void 0,
|
|
5030
5743
|
labels: {
|
|
@@ -5052,90 +5765,90 @@ function Jn() {
|
|
|
5052
5765
|
})]
|
|
5053
5766
|
});
|
|
5054
5767
|
}
|
|
5055
|
-
function
|
|
5768
|
+
function Yr() {
|
|
5056
5769
|
let { responsive: e } = $();
|
|
5057
5770
|
return /* @__PURE__ */ n("div", {
|
|
5058
5771
|
className: "game-ui-proof-frames",
|
|
5059
5772
|
children: [/* @__PURE__ */ n("article", {
|
|
5060
5773
|
className: "game-ui-proof-frame is-desktop",
|
|
5061
|
-
children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t(X, { children: e.desktop }), /* @__PURE__ */ t("strong", { children: "1440×900" })] }), /* @__PURE__ */ t(
|
|
5774
|
+
children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t(X, { children: e.desktop }), /* @__PURE__ */ t("strong", { children: "1440×900" })] }), /* @__PURE__ */ t(Mr, {})]
|
|
5062
5775
|
}), /* @__PURE__ */ n("article", {
|
|
5063
5776
|
className: "game-ui-proof-frame is-mobile-landscape",
|
|
5064
|
-
children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t(X, { children: e.mobileLandscape }), /* @__PURE__ */ t("strong", { children: "844×390" })] }), /* @__PURE__ */ t(
|
|
5777
|
+
children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t(X, { children: e.mobileLandscape }), /* @__PURE__ */ t("strong", { children: "844×390" })] }), /* @__PURE__ */ t(Mr, {})]
|
|
5065
5778
|
})]
|
|
5066
5779
|
});
|
|
5067
5780
|
}
|
|
5068
|
-
function
|
|
5781
|
+
function Xr() {
|
|
5069
5782
|
let { forms: e } = $();
|
|
5070
5783
|
return /* @__PURE__ */ n("div", {
|
|
5071
5784
|
className: "game-ui-preview-two-up",
|
|
5072
|
-
children: [/* @__PURE__ */ n(
|
|
5785
|
+
children: [/* @__PURE__ */ n(q, {
|
|
5073
5786
|
title: e.formsTitle,
|
|
5074
5787
|
tone: "strong",
|
|
5075
5788
|
children: [
|
|
5076
|
-
/* @__PURE__ */ t(
|
|
5789
|
+
/* @__PURE__ */ t(dn, {
|
|
5077
5790
|
hint: e.roomCodeHint,
|
|
5078
5791
|
label: e.roomCodeLabel,
|
|
5079
|
-
children: /* @__PURE__ */ t(
|
|
5792
|
+
children: /* @__PURE__ */ t(ln, { placeholder: e.roomCodePlaceholder })
|
|
5080
5793
|
}),
|
|
5081
|
-
/* @__PURE__ */ t(
|
|
5794
|
+
/* @__PURE__ */ t(dn, {
|
|
5082
5795
|
label: e.nameLabel,
|
|
5083
5796
|
required: !0,
|
|
5084
|
-
children: /* @__PURE__ */ t(
|
|
5797
|
+
children: /* @__PURE__ */ t(ln, { placeholder: e.namePlaceholder })
|
|
5085
5798
|
}),
|
|
5086
|
-
/* @__PURE__ */ t(
|
|
5799
|
+
/* @__PURE__ */ t(dn, {
|
|
5087
5800
|
error: e.readError,
|
|
5088
5801
|
label: e.readLabel,
|
|
5089
|
-
children: /* @__PURE__ */ t(
|
|
5802
|
+
children: /* @__PURE__ */ t(un, {
|
|
5090
5803
|
invalid: !0,
|
|
5091
5804
|
placeholder: e.readPlaceholder
|
|
5092
5805
|
})
|
|
5093
5806
|
}),
|
|
5094
|
-
/* @__PURE__ */ t(
|
|
5807
|
+
/* @__PURE__ */ t(fn, {
|
|
5095
5808
|
defaultChecked: !0,
|
|
5096
5809
|
label: e.rememberLabel
|
|
5097
5810
|
})
|
|
5098
5811
|
]
|
|
5099
|
-
}), /* @__PURE__ */ n(
|
|
5812
|
+
}), /* @__PURE__ */ n(q, {
|
|
5100
5813
|
title: e.displayTitle,
|
|
5101
5814
|
tone: "strong",
|
|
5102
5815
|
children: [
|
|
5103
5816
|
/* @__PURE__ */ n("div", {
|
|
5104
5817
|
className: "game-ui-component-row",
|
|
5105
5818
|
children: [
|
|
5106
|
-
/* @__PURE__ */ t(
|
|
5819
|
+
/* @__PURE__ */ t(mn, {
|
|
5107
5820
|
name: "Mika Ono",
|
|
5108
5821
|
status: "online"
|
|
5109
5822
|
}),
|
|
5110
|
-
/* @__PURE__ */ t(
|
|
5823
|
+
/* @__PURE__ */ t(mn, {
|
|
5111
5824
|
name: "River",
|
|
5112
5825
|
size: "lg",
|
|
5113
5826
|
status: "busy"
|
|
5114
5827
|
}),
|
|
5115
|
-
/* @__PURE__ */ t(
|
|
5828
|
+
/* @__PURE__ */ t(mn, {
|
|
5116
5829
|
name: "Noa",
|
|
5117
5830
|
status: "away"
|
|
5118
5831
|
}),
|
|
5119
|
-
/* @__PURE__ */ t(
|
|
5832
|
+
/* @__PURE__ */ t(mn, {
|
|
5120
5833
|
name: e.guestName,
|
|
5121
5834
|
size: "sm"
|
|
5122
5835
|
})
|
|
5123
5836
|
]
|
|
5124
5837
|
}),
|
|
5125
|
-
/* @__PURE__ */ t(
|
|
5838
|
+
/* @__PURE__ */ t(hn, {
|
|
5126
5839
|
label: e.revealLabel,
|
|
5127
5840
|
showValue: !0,
|
|
5128
5841
|
value: 64
|
|
5129
5842
|
}),
|
|
5130
|
-
/* @__PURE__ */ t(
|
|
5843
|
+
/* @__PURE__ */ t(hn, {
|
|
5131
5844
|
label: e.batteryLabel,
|
|
5132
5845
|
max: 20,
|
|
5133
5846
|
showValue: !0,
|
|
5134
5847
|
tone: "success",
|
|
5135
5848
|
value: 14
|
|
5136
5849
|
}),
|
|
5137
|
-
/* @__PURE__ */ t(
|
|
5138
|
-
action: /* @__PURE__ */ t(
|
|
5850
|
+
/* @__PURE__ */ t(gn, {
|
|
5851
|
+
action: /* @__PURE__ */ t(w, {
|
|
5139
5852
|
variant: "primary",
|
|
5140
5853
|
children: e.emptyCta
|
|
5141
5854
|
}),
|
|
@@ -5147,8 +5860,8 @@ function Xn() {
|
|
|
5147
5860
|
})]
|
|
5148
5861
|
});
|
|
5149
5862
|
}
|
|
5150
|
-
var
|
|
5151
|
-
function $
|
|
5863
|
+
var Zr = At.filter((e) => Pt(e).includes("game")), Qr = At.filter((e) => Pt(e).includes("line"));
|
|
5864
|
+
function $r({ names: e, style: r }) {
|
|
5152
5865
|
return /* @__PURE__ */ t("div", {
|
|
5153
5866
|
className: "game-ui-icon-grid",
|
|
5154
5867
|
children: e.map((e) => /* @__PURE__ */ n("figure", {
|
|
@@ -5161,10 +5874,10 @@ function $n({ names: e, style: r }) {
|
|
|
5161
5874
|
}, `${r}-${e}`))
|
|
5162
5875
|
});
|
|
5163
5876
|
}
|
|
5164
|
-
function
|
|
5877
|
+
function ei() {
|
|
5165
5878
|
return /* @__PURE__ */ t("div", {
|
|
5166
5879
|
className: "game-ui-icon-grid",
|
|
5167
|
-
children:
|
|
5880
|
+
children: It.map((e) => /* @__PURE__ */ n("figure", {
|
|
5168
5881
|
className: "game-ui-icon-cell",
|
|
5169
5882
|
children: [/* @__PURE__ */ t("span", {
|
|
5170
5883
|
className: "game-ui-asset-icon",
|
|
@@ -5173,13 +5886,13 @@ function er() {
|
|
|
5173
5886
|
"aria-hidden": !0,
|
|
5174
5887
|
children: /* @__PURE__ */ t("img", {
|
|
5175
5888
|
alt: "",
|
|
5176
|
-
src:
|
|
5889
|
+
src: Ft[e]
|
|
5177
5890
|
})
|
|
5178
5891
|
}), /* @__PURE__ */ t("figcaption", { children: e })]
|
|
5179
5892
|
}, `sprite-${e}`))
|
|
5180
5893
|
});
|
|
5181
5894
|
}
|
|
5182
|
-
function
|
|
5895
|
+
function ti() {
|
|
5183
5896
|
let { gallery: e } = $();
|
|
5184
5897
|
return /* @__PURE__ */ n("div", {
|
|
5185
5898
|
className: "game-ui-icon-gallery",
|
|
@@ -5195,8 +5908,8 @@ function tr() {
|
|
|
5195
5908
|
className: "game-ui-small-copy",
|
|
5196
5909
|
children: e.gameHint
|
|
5197
5910
|
})]
|
|
5198
|
-
}), /* @__PURE__ */ t($
|
|
5199
|
-
names:
|
|
5911
|
+
}), /* @__PURE__ */ t($r, {
|
|
5912
|
+
names: Zr,
|
|
5200
5913
|
style: "game"
|
|
5201
5914
|
})]
|
|
5202
5915
|
}),
|
|
@@ -5208,8 +5921,8 @@ function tr() {
|
|
|
5208
5921
|
className: "game-ui-small-copy",
|
|
5209
5922
|
children: e.lineHint
|
|
5210
5923
|
})]
|
|
5211
|
-
}), /* @__PURE__ */ t($
|
|
5212
|
-
names:
|
|
5924
|
+
}), /* @__PURE__ */ t($r, {
|
|
5925
|
+
names: Qr,
|
|
5213
5926
|
style: "line"
|
|
5214
5927
|
})]
|
|
5215
5928
|
}),
|
|
@@ -5224,16 +5937,16 @@ function tr() {
|
|
|
5224
5937
|
className: "game-ui-small-copy",
|
|
5225
5938
|
children: e.spriteHint
|
|
5226
5939
|
})]
|
|
5227
|
-
}), /* @__PURE__ */ t(
|
|
5940
|
+
}), /* @__PURE__ */ t(ei, {})]
|
|
5228
5941
|
})
|
|
5229
5942
|
]
|
|
5230
5943
|
});
|
|
5231
5944
|
}
|
|
5232
|
-
function
|
|
5233
|
-
let [i, a] =
|
|
5234
|
-
return
|
|
5945
|
+
function ni({ title: e, body: r }) {
|
|
5946
|
+
let [i, a] = m("en"), o = Tr[i], s = e && i === "en" ? e : o.heroTitle, c = r && i === "en" ? r : o.heroBody;
|
|
5947
|
+
return l(() => (document.documentElement.dataset.gameUiPreview = "clay", () => {
|
|
5235
5948
|
delete document.documentElement.dataset.gameUiPreview;
|
|
5236
|
-
}), []), /* @__PURE__ */ t(
|
|
5949
|
+
}), []), /* @__PURE__ */ t(Er.Provider, {
|
|
5237
5950
|
value: o,
|
|
5238
5951
|
children: /* @__PURE__ */ n("main", {
|
|
5239
5952
|
"aria-label": "Swimmer UI Kit clay preview",
|
|
@@ -5246,7 +5959,7 @@ function nr({ title: e, body: r }) {
|
|
|
5246
5959
|
tone: "ai",
|
|
5247
5960
|
children: "@pieai/swimmer-ui-kit"
|
|
5248
5961
|
}),
|
|
5249
|
-
/* @__PURE__ */ t(
|
|
5962
|
+
/* @__PURE__ */ t(nn, {
|
|
5250
5963
|
currentLabel: o.triggerLabel,
|
|
5251
5964
|
label: o.langMenuLabel,
|
|
5252
5965
|
onSelect: (e) => a(e),
|
|
@@ -5262,7 +5975,7 @@ function nr({ title: e, body: r }) {
|
|
|
5262
5975
|
value: i
|
|
5263
5976
|
}),
|
|
5264
5977
|
/* @__PURE__ */ t("h1", { children: s }),
|
|
5265
|
-
/* @__PURE__ */ t("p", { children:
|
|
5978
|
+
/* @__PURE__ */ t("p", { children: c })
|
|
5266
5979
|
]
|
|
5267
5980
|
}),
|
|
5268
5981
|
/* @__PURE__ */ n("section", {
|
|
@@ -5273,10 +5986,10 @@ function nr({ title: e, body: r }) {
|
|
|
5273
5986
|
id: "game-ui-preview-token-title",
|
|
5274
5987
|
children: o.sections.tokens
|
|
5275
5988
|
}),
|
|
5276
|
-
/* @__PURE__ */ t(
|
|
5989
|
+
/* @__PURE__ */ t(kr, {}),
|
|
5277
5990
|
/* @__PURE__ */ t("div", {
|
|
5278
5991
|
className: "game-ui-token-ledger",
|
|
5279
|
-
children:
|
|
5992
|
+
children: Dr.map((e) => /* @__PURE__ */ t(Or, {
|
|
5280
5993
|
id: e.id,
|
|
5281
5994
|
label: o.tokenGroups[e.id] ?? e.id,
|
|
5282
5995
|
tokens: e.tokens
|
|
@@ -5296,7 +6009,7 @@ function nr({ title: e, body: r }) {
|
|
|
5296
6009
|
className: "game-ui-small-copy",
|
|
5297
6010
|
children: o.iconsIntro
|
|
5298
6011
|
}),
|
|
5299
|
-
/* @__PURE__ */ t(
|
|
6012
|
+
/* @__PURE__ */ t(ti, {})
|
|
5300
6013
|
]
|
|
5301
6014
|
}),
|
|
5302
6015
|
/* @__PURE__ */ n("section", {
|
|
@@ -5305,7 +6018,7 @@ function nr({ title: e, body: r }) {
|
|
|
5305
6018
|
children: [/* @__PURE__ */ t("h2", {
|
|
5306
6019
|
id: "game-ui-preview-type-title",
|
|
5307
6020
|
children: o.sections.typography
|
|
5308
|
-
}), /* @__PURE__ */ t(
|
|
6021
|
+
}), /* @__PURE__ */ t(Ar, {})]
|
|
5309
6022
|
}),
|
|
5310
6023
|
/* @__PURE__ */ n("section", {
|
|
5311
6024
|
"aria-labelledby": "game-ui-preview-components-title",
|
|
@@ -5315,11 +6028,11 @@ function nr({ title: e, body: r }) {
|
|
|
5315
6028
|
id: "game-ui-preview-components-title",
|
|
5316
6029
|
children: o.sections.components
|
|
5317
6030
|
}),
|
|
5318
|
-
/* @__PURE__ */ t(
|
|
5319
|
-
/* @__PURE__ */ t(
|
|
5320
|
-
/* @__PURE__ */ t(
|
|
5321
|
-
/* @__PURE__ */ t(
|
|
5322
|
-
/* @__PURE__ */ t(
|
|
6031
|
+
/* @__PURE__ */ t(jr, {}),
|
|
6032
|
+
/* @__PURE__ */ t(Mr, {}),
|
|
6033
|
+
/* @__PURE__ */ t(Fr, {}),
|
|
6034
|
+
/* @__PURE__ */ t(Ir, {}),
|
|
6035
|
+
/* @__PURE__ */ t(at, {
|
|
5323
6036
|
entries: o.history,
|
|
5324
6037
|
label: o.historyLabel
|
|
5325
6038
|
})
|
|
@@ -5331,7 +6044,7 @@ function nr({ title: e, body: r }) {
|
|
|
5331
6044
|
children: [/* @__PURE__ */ t("h2", {
|
|
5332
6045
|
id: "game-ui-preview-forms-title",
|
|
5333
6046
|
children: o.sections.forms
|
|
5334
|
-
}), /* @__PURE__ */ t(
|
|
6047
|
+
}), /* @__PURE__ */ t(Xr, {})]
|
|
5335
6048
|
}),
|
|
5336
6049
|
/* @__PURE__ */ n("section", {
|
|
5337
6050
|
"aria-labelledby": "game-ui-preview-overlay-glass-title",
|
|
@@ -5345,7 +6058,7 @@ function nr({ title: e, body: r }) {
|
|
|
5345
6058
|
className: "game-ui-small-copy",
|
|
5346
6059
|
children: "Official HUD-on-scene tone: dark translucent glass, thin light border, no clay cast shadow, compact density. Use on any container that wraps scene-overlay chrome (3D tavern, cinematic stage). Nest inside light or night theme."
|
|
5347
6060
|
}),
|
|
5348
|
-
/* @__PURE__ */ t(
|
|
6061
|
+
/* @__PURE__ */ t(Nr, {})
|
|
5349
6062
|
]
|
|
5350
6063
|
}),
|
|
5351
6064
|
/* @__PURE__ */ n("section", {
|
|
@@ -5360,7 +6073,7 @@ function nr({ title: e, body: r }) {
|
|
|
5360
6073
|
className: "game-ui-small-copy",
|
|
5361
6074
|
children: o.liquidMetal.body
|
|
5362
6075
|
}),
|
|
5363
|
-
/* @__PURE__ */ t(
|
|
6076
|
+
/* @__PURE__ */ t(Pr, {})
|
|
5364
6077
|
]
|
|
5365
6078
|
}),
|
|
5366
6079
|
/* @__PURE__ */ n("section", {
|
|
@@ -5369,7 +6082,7 @@ function nr({ title: e, body: r }) {
|
|
|
5369
6082
|
children: [/* @__PURE__ */ t("h2", {
|
|
5370
6083
|
id: "game-ui-preview-ownmyspace-title",
|
|
5371
6084
|
children: "OwnMySpace game surface pack"
|
|
5372
|
-
}), /* @__PURE__ */ t(
|
|
6085
|
+
}), /* @__PURE__ */ t(Gr, {})]
|
|
5373
6086
|
}),
|
|
5374
6087
|
/* @__PURE__ */ n("section", {
|
|
5375
6088
|
"aria-labelledby": "game-ui-preview-terrain-build-title",
|
|
@@ -5383,7 +6096,7 @@ function nr({ title: e, body: r }) {
|
|
|
5383
6096
|
className: "game-ui-small-copy",
|
|
5384
6097
|
children: "Official terrain controls cover mode, brush, material, undo/redo, build library, status, progress, and compact mobile drawer surfaces."
|
|
5385
6098
|
}),
|
|
5386
|
-
/* @__PURE__ */ t(
|
|
6099
|
+
/* @__PURE__ */ t(Vr, {})
|
|
5387
6100
|
]
|
|
5388
6101
|
}),
|
|
5389
6102
|
/* @__PURE__ */ n("section", {
|
|
@@ -5398,7 +6111,7 @@ function nr({ title: e, body: r }) {
|
|
|
5398
6111
|
className: "game-ui-small-copy",
|
|
5399
6112
|
children: "Official construction surfaces cover job queue states, before/after review, robot crew status, validation warnings, approval actions, and local-only provider badges."
|
|
5400
6113
|
}),
|
|
5401
|
-
/* @__PURE__ */ t(
|
|
6114
|
+
/* @__PURE__ */ t(Wr, {})
|
|
5402
6115
|
]
|
|
5403
6116
|
}),
|
|
5404
6117
|
/* @__PURE__ */ n("section", {
|
|
@@ -5413,7 +6126,7 @@ function nr({ title: e, body: r }) {
|
|
|
5413
6126
|
className: "game-ui-small-copy",
|
|
5414
6127
|
children: "Official asset cards must stay visually complete when a game shell uses dense, narrow, or rail-style inventory slots."
|
|
5415
6128
|
}),
|
|
5416
|
-
/* @__PURE__ */ t(
|
|
6129
|
+
/* @__PURE__ */ t(qr, {})
|
|
5417
6130
|
]
|
|
5418
6131
|
}),
|
|
5419
6132
|
/* @__PURE__ */ n("section", {
|
|
@@ -5422,7 +6135,7 @@ function nr({ title: e, body: r }) {
|
|
|
5422
6135
|
children: [/* @__PURE__ */ t("h2", {
|
|
5423
6136
|
id: "game-ui-preview-first-session-title",
|
|
5424
6137
|
children: o.sections.firstSession
|
|
5425
|
-
}), /* @__PURE__ */ t(
|
|
6138
|
+
}), /* @__PURE__ */ t(Jr, {})]
|
|
5426
6139
|
}),
|
|
5427
6140
|
/* @__PURE__ */ n("section", {
|
|
5428
6141
|
"aria-labelledby": "game-ui-preview-orientation-title",
|
|
@@ -5430,7 +6143,7 @@ function nr({ title: e, body: r }) {
|
|
|
5430
6143
|
children: [/* @__PURE__ */ t("h2", {
|
|
5431
6144
|
id: "game-ui-preview-orientation-title",
|
|
5432
6145
|
children: o.sections.orientation
|
|
5433
|
-
}), /* @__PURE__ */ t(
|
|
6146
|
+
}), /* @__PURE__ */ t(tn, {
|
|
5434
6147
|
badgeLabel: o.orientation.badge,
|
|
5435
6148
|
body: o.orientation.body,
|
|
5436
6149
|
cta: o.orientation.cta,
|
|
@@ -5445,11 +6158,11 @@ function nr({ title: e, body: r }) {
|
|
|
5445
6158
|
children: [/* @__PURE__ */ t("h2", {
|
|
5446
6159
|
id: "game-ui-preview-responsive-title",
|
|
5447
6160
|
children: o.sections.responsive
|
|
5448
|
-
}), /* @__PURE__ */ t(
|
|
6161
|
+
}), /* @__PURE__ */ t(Yr, {})]
|
|
5449
6162
|
})
|
|
5450
6163
|
]
|
|
5451
6164
|
})
|
|
5452
6165
|
});
|
|
5453
6166
|
}
|
|
5454
6167
|
//#endregion
|
|
5455
|
-
export {
|
|
6168
|
+
export { Lt as CLAY_ASSETS, Ot as CLAY_ASSET_BASE_PATH, Et as CLAY_ASSET_SIZE_TOKENS, J as CLAY_COLOR_TOKENS, St as CLAY_ELEVATION_TOKENS, Ft as CLAY_GAME_SPRITES, It as CLAY_GAME_SPRITE_NAMES, At as CLAY_ICON_NAMES, kt as CLAY_ICON_VARIANTS, wt as CLAY_LAYER_TOKENS, gt as CLAY_LIQUID_METAL_TOKENS, gt as GAME_UI_LIQUID_METAL_TOKENS, Ct as CLAY_MOTION_TOKENS, _t as CLAY_OVERLAY_GLASS_TOKENS, _t as GAME_UI_OVERLAY_GLASS_TOKENS, xt as CLAY_RADIUS_TOKENS, vt as CLAY_SEMANTIC_TOKENS, bt as CLAY_SPACE_TOKENS, Tt as CLAY_TARGET_TOKENS, yt as CLAY_TYPE_TOKENS, Dt as CLAY_UI_TOKENS, U as DEFAULT_LIQUID_GOOEY_ANIMATION_BUDGET, W as DEFAULT_LIQUID_GOOEY_FILTER_AREA_BUDGET, T as DEFAULT_LIQUID_METAL_CONTEXT_BUDGET, sn as FirstSessionHud, cn as FirstSessionOnboarding, Q as GAME_UI_OVERLAY, xr as GAME_UI_PREVIEW_MESSAGES, Cr as GAME_UI_TARGETS, wr as GAME_UI_THEME_CONTRACT, Sr as GAME_UI_TOKENS, xn as GameActionGrid, On as GameAssetCard, Z as GameAssetIcon, kn as GameAssetLibrary, mn as GameAvatar, X as GameBadge, ur as GameBeforeAfterToggle, Bn as GameBrushControls, Un as GameBuildLibrary, w as GameButton, rt as GameCallout, Qt as GameCardFan, fn as GameCheckbox, gr as GameCollapsiblePanel, Wn as GameCompactGameDrawer, fr as GameCompactJobDrawer, cr as GameConstructionApprovalBar, dr as GameConstructionJobCard, sr as GameConstructionProgress, pr as GameContractorPanel, it as GameDialog, gn as GameEmptyState, yn as GameFactList, dn as GameField, at as GameHistoryPanel, Zt as GameHud, ot as GameHudActions, st as GameIconButton, ln as GameInput, nn as GameLanguageMenu, rn as GameLoadingState, Vn as GameMaterialSwatches, br as GameModal, wn as GameMovementPad, jn as GameObjectToolbar, tn as GameOrientationGate, q as GamePanel, An as GamePlacementToolbar, hn as GameProgress, ht as GamePrompt, pt as GameRadialMenu, lr as GameRobotCrewStatus, vn as GameSceneHudLayout, ut as GameSegmentedControl, _n as GameShell, dt as GameSlider, $t as GameStageTile, bn as GameStatList, lt as GameTabs, qn as GameTerrainBuildToolbox, Rn as GameTerrainModeControl, zn as GameTerrainToolStrip, un as GameTextArea, mt as GameToast, ft as GameToggle, ct as GameTooltip, ni as GameUiPreview, Hn as GameUndoRedoActions, yr as GameWindowPanel, nt as LiquidGroup, tt as LiquidItem, L as LiquidMetalButton, Jt as acknowledgeClayPlaceholders, Gt as getClayAssetBasePath, Ut as getClayAssetMode, an as getClayCatalogPaths, Yt as getClayIconPath, Pt as getClayIconStyles, Xt as getClaySourceAssetPath, Ce as getLiquidGooeyBudget, O as getLiquidMetalContextBudget, C as playGameInteractionSound, S as playGameInteractionSoundForContext, Wt as setClayAssetBasePath, Ht as setClayAssetMode, we as setLiquidGooeyBudget, ee as setLiquidMetalContextBudget };
|