@almadar/ui 5.9.6 → 5.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/avl/index.cjs +258 -235
- package/dist/avl/index.js +258 -235
- package/dist/components/index.cjs +230 -230
- package/dist/components/index.js +230 -230
- package/dist/providers/index.cjs +214 -214
- package/dist/providers/index.js +214 -214
- package/dist/runtime/index.cjs +258 -235
- package/dist/runtime/index.js +258 -235
- package/dist/runtime/orbitalsByTrait.d.ts +34 -0
- package/package.json +1 -1
package/dist/providers/index.js
CHANGED
|
@@ -6721,7 +6721,7 @@ function HealthBar({
|
|
|
6721
6721
|
"div",
|
|
6722
6722
|
{
|
|
6723
6723
|
className: cn(
|
|
6724
|
-
"relative overflow-hidden rounded-full bg-
|
|
6724
|
+
"relative overflow-hidden rounded-full bg-muted",
|
|
6725
6725
|
sizes.bar,
|
|
6726
6726
|
"w-24",
|
|
6727
6727
|
className
|
|
@@ -6731,7 +6731,7 @@ function HealthBar({
|
|
|
6731
6731
|
{
|
|
6732
6732
|
className: cn(
|
|
6733
6733
|
"absolute inset-y-0 left-0 rounded-full",
|
|
6734
|
-
percentage > 66 ? "bg-
|
|
6734
|
+
percentage > 66 ? "bg-success" : percentage > 33 ? "bg-warning" : "bg-error",
|
|
6735
6735
|
animated && "transition-all duration-300"
|
|
6736
6736
|
),
|
|
6737
6737
|
style: { width: `${percentage}%` }
|
|
@@ -6753,7 +6753,7 @@ var init_HealthBar = __esm({
|
|
|
6753
6753
|
heartIcon = (filled, size) => /* @__PURE__ */ jsx(
|
|
6754
6754
|
"svg",
|
|
6755
6755
|
{
|
|
6756
|
-
className: cn("transition-all duration-200", size, filled ? "text-
|
|
6756
|
+
className: cn("transition-all duration-200", size, filled ? "text-error" : "text-muted-foreground"),
|
|
6757
6757
|
viewBox: "0 0 24 24",
|
|
6758
6758
|
fill: filled ? "currentColor" : "none",
|
|
6759
6759
|
stroke: "currentColor",
|
|
@@ -6817,7 +6817,7 @@ function ScoreDisplay({
|
|
|
6817
6817
|
),
|
|
6818
6818
|
children: [
|
|
6819
6819
|
icon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: icon }),
|
|
6820
|
-
label && /* @__PURE__ */ jsx("span", { className: "text-
|
|
6820
|
+
label && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label }),
|
|
6821
6821
|
/* @__PURE__ */ jsx("span", { className: "tabular-nums", children: formattedValue })
|
|
6822
6822
|
]
|
|
6823
6823
|
}
|
|
@@ -6930,8 +6930,8 @@ var init_ControlButton = __esm({
|
|
|
6930
6930
|
};
|
|
6931
6931
|
shapeMap = {
|
|
6932
6932
|
circle: "rounded-full",
|
|
6933
|
-
rounded: "rounded-
|
|
6934
|
-
square: "rounded-
|
|
6933
|
+
rounded: "rounded-interactive",
|
|
6934
|
+
square: "rounded-interactive"
|
|
6935
6935
|
};
|
|
6936
6936
|
variantMap = {
|
|
6937
6937
|
primary: "bg-primary text-primary-foreground border-primary hover:bg-primary-hover",
|
|
@@ -7099,12 +7099,12 @@ function TimerDisplay({
|
|
|
7099
7099
|
"div",
|
|
7100
7100
|
{
|
|
7101
7101
|
className: cn(
|
|
7102
|
-
"inline-flex items-center justify-center rounded-
|
|
7103
|
-
"bg-
|
|
7102
|
+
"inline-flex items-center justify-center rounded-container",
|
|
7103
|
+
"bg-card/80 border border-muted font-mono font-bold tabular-nums",
|
|
7104
7104
|
sizeMap4[size],
|
|
7105
|
-
running && "border-
|
|
7106
|
-
isLow && "text-
|
|
7107
|
-
!isLow && "text-
|
|
7105
|
+
running && "border-success/50",
|
|
7106
|
+
isLow && "text-error border-error/50 animate-pulse",
|
|
7107
|
+
!isLow && "text-foreground",
|
|
7108
7108
|
className
|
|
7109
7109
|
),
|
|
7110
7110
|
children: formatTime(seconds, format)
|
|
@@ -7137,17 +7137,17 @@ function ResourceCounter({
|
|
|
7137
7137
|
"div",
|
|
7138
7138
|
{
|
|
7139
7139
|
className: cn(
|
|
7140
|
-
"inline-flex items-center rounded-
|
|
7141
|
-
"bg-
|
|
7140
|
+
"inline-flex items-center rounded-container",
|
|
7141
|
+
"bg-card/80 border border-muted font-medium text-foreground",
|
|
7142
7142
|
sizes.wrapper,
|
|
7143
7143
|
className
|
|
7144
7144
|
),
|
|
7145
7145
|
children: [
|
|
7146
7146
|
icon && /* @__PURE__ */ jsx("span", { className: cn("flex-shrink-0", sizes.icon), children: icon }),
|
|
7147
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
7147
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label }),
|
|
7148
7148
|
/* @__PURE__ */ jsxs("span", { className: cn("font-bold tabular-nums", color), children: [
|
|
7149
7149
|
value,
|
|
7150
|
-
max != null && /* @__PURE__ */ jsxs("span", { className: "text-
|
|
7150
|
+
max != null && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
|
|
7151
7151
|
"/",
|
|
7152
7152
|
max
|
|
7153
7153
|
] })
|
|
@@ -7188,18 +7188,18 @@ function ItemSlot({
|
|
|
7188
7188
|
disabled: !isClickable,
|
|
7189
7189
|
title: label,
|
|
7190
7190
|
className: cn(
|
|
7191
|
-
"relative flex items-center justify-center rounded-
|
|
7192
|
-
"bg-
|
|
7191
|
+
"relative flex items-center justify-center rounded-interactive border-2",
|
|
7192
|
+
"bg-card/80 transition-all duration-150",
|
|
7193
7193
|
sizeMap6[size],
|
|
7194
|
-
empty ? "border-
|
|
7194
|
+
empty ? "border-border bg-card/50" : rarityBorderMap[rarity],
|
|
7195
7195
|
!empty && rarityGlowMap[rarity],
|
|
7196
|
-
selected && "ring-2 ring-
|
|
7196
|
+
selected && "ring-2 ring-foreground ring-offset-1 ring-offset-background",
|
|
7197
7197
|
isClickable && !empty && "hover:brightness-125 cursor-pointer",
|
|
7198
|
-
isClickable && empty && "hover:border-
|
|
7198
|
+
isClickable && empty && "hover:border-muted cursor-pointer",
|
|
7199
7199
|
!isClickable && "cursor-default",
|
|
7200
7200
|
className
|
|
7201
7201
|
),
|
|
7202
|
-
children: empty ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
7202
|
+
children: empty ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-base", children: "+" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7203
7203
|
icon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: icon }),
|
|
7204
7204
|
quantity != null && quantity > 1 && /* @__PURE__ */ jsx(
|
|
7205
7205
|
"span",
|
|
@@ -7207,7 +7207,7 @@ function ItemSlot({
|
|
|
7207
7207
|
className: cn(
|
|
7208
7208
|
"absolute -bottom-1 -right-1 flex items-center justify-center",
|
|
7209
7209
|
"min-w-[18px] h-[18px] rounded-full px-1",
|
|
7210
|
-
"bg-
|
|
7210
|
+
"bg-surface border border-muted text-xs font-bold text-foreground"
|
|
7211
7211
|
),
|
|
7212
7212
|
children: quantity
|
|
7213
7213
|
}
|
|
@@ -7227,18 +7227,18 @@ var init_ItemSlot = __esm({
|
|
|
7227
7227
|
lg: "w-18 h-18 text-3xl"
|
|
7228
7228
|
};
|
|
7229
7229
|
rarityBorderMap = {
|
|
7230
|
-
common: "border-
|
|
7231
|
-
uncommon: "border-
|
|
7232
|
-
rare: "border-
|
|
7233
|
-
epic: "border-
|
|
7234
|
-
legendary: "border-
|
|
7230
|
+
common: "border-muted",
|
|
7231
|
+
uncommon: "border-success",
|
|
7232
|
+
rare: "border-info",
|
|
7233
|
+
epic: "border-accent",
|
|
7234
|
+
legendary: "border-warning"
|
|
7235
7235
|
};
|
|
7236
7236
|
rarityGlowMap = {
|
|
7237
7237
|
common: "",
|
|
7238
7238
|
uncommon: "",
|
|
7239
|
-
rare: "shadow-
|
|
7240
|
-
epic: "shadow-
|
|
7241
|
-
legendary: "shadow-
|
|
7239
|
+
rare: "shadow-sm",
|
|
7240
|
+
epic: "shadow-lg",
|
|
7241
|
+
legendary: "shadow-lg"
|
|
7242
7242
|
};
|
|
7243
7243
|
ItemSlot.displayName = "ItemSlot";
|
|
7244
7244
|
}
|
|
@@ -7256,8 +7256,8 @@ function TurnIndicator({
|
|
|
7256
7256
|
"div",
|
|
7257
7257
|
{
|
|
7258
7258
|
className: cn(
|
|
7259
|
-
"inline-flex items-center rounded-
|
|
7260
|
-
"bg-
|
|
7259
|
+
"inline-flex items-center rounded-container",
|
|
7260
|
+
"bg-card/80 border border-muted font-medium text-foreground",
|
|
7261
7261
|
sizes.wrapper,
|
|
7262
7262
|
className
|
|
7263
7263
|
),
|
|
@@ -7265,19 +7265,19 @@ function TurnIndicator({
|
|
|
7265
7265
|
/* @__PURE__ */ jsxs("span", { className: "font-bold tabular-nums", children: [
|
|
7266
7266
|
"Turn ",
|
|
7267
7267
|
currentTurn,
|
|
7268
|
-
maxTurns != null && /* @__PURE__ */ jsxs("span", { className: "text-
|
|
7268
|
+
maxTurns != null && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
|
|
7269
7269
|
"/",
|
|
7270
7270
|
maxTurns
|
|
7271
7271
|
] })
|
|
7272
7272
|
] }),
|
|
7273
7273
|
phase && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7274
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
7275
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
7274
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "|" }),
|
|
7275
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: phase })
|
|
7276
7276
|
] }),
|
|
7277
7277
|
activeTeam && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7278
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
7279
|
-
/* @__PURE__ */ jsx("span", { className: cn("rounded-full bg-
|
|
7280
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
7278
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "|" }),
|
|
7279
|
+
/* @__PURE__ */ jsx("span", { className: cn("rounded-full bg-success/20", sizes.dot) }),
|
|
7280
|
+
/* @__PURE__ */ jsx("span", { className: "text-success", children: activeTeam })
|
|
7281
7281
|
] })
|
|
7282
7282
|
]
|
|
7283
7283
|
}
|
|
@@ -7296,10 +7296,10 @@ var init_TurnIndicator = __esm({
|
|
|
7296
7296
|
}
|
|
7297
7297
|
});
|
|
7298
7298
|
function getComboIntensity(combo) {
|
|
7299
|
-
if (combo >= 10) return "text-
|
|
7300
|
-
if (combo >= 7) return "text-
|
|
7301
|
-
if (combo >= 4) return "text-
|
|
7302
|
-
return "text-
|
|
7299
|
+
if (combo >= 10) return "text-error animate-pulse";
|
|
7300
|
+
if (combo >= 7) return "text-warning";
|
|
7301
|
+
if (combo >= 4) return "text-warning";
|
|
7302
|
+
return "text-foreground";
|
|
7303
7303
|
}
|
|
7304
7304
|
function getComboScale(combo) {
|
|
7305
7305
|
if (combo >= 10) return "scale-110";
|
|
@@ -7320,19 +7320,19 @@ function ComboCounter({
|
|
|
7320
7320
|
{
|
|
7321
7321
|
className: cn(
|
|
7322
7322
|
"inline-flex flex-col items-center justify-center",
|
|
7323
|
-
"rounded-
|
|
7323
|
+
"rounded-container bg-card/80 border border-muted px-3 py-1.5",
|
|
7324
7324
|
"transition-transform duration-200",
|
|
7325
7325
|
getComboScale(combo),
|
|
7326
7326
|
className
|
|
7327
7327
|
),
|
|
7328
7328
|
children: [
|
|
7329
7329
|
/* @__PURE__ */ jsx("span", { className: cn("font-black tabular-nums leading-none", sizes.combo, getComboIntensity(combo)), children: combo }),
|
|
7330
|
-
/* @__PURE__ */ jsx("span", { className: cn("font-bold uppercase tracking-wider text-
|
|
7331
|
-
multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxs("span", { className: cn("font-bold text-
|
|
7330
|
+
/* @__PURE__ */ jsx("span", { className: cn("font-bold uppercase tracking-wider text-muted-foreground", sizes.label), children: "combo" }),
|
|
7331
|
+
multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxs("span", { className: cn("font-bold text-warning tabular-nums", sizes.multiplier), children: [
|
|
7332
7332
|
"x",
|
|
7333
7333
|
multiplier.toFixed(1)
|
|
7334
7334
|
] }),
|
|
7335
|
-
streak != null && streak > 0 && /* @__PURE__ */ jsxs("span", { className: cn("text-
|
|
7335
|
+
streak != null && streak > 0 && /* @__PURE__ */ jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.label), children: [
|
|
7336
7336
|
streak,
|
|
7337
7337
|
" streak"
|
|
7338
7338
|
] })
|
|
@@ -7368,8 +7368,8 @@ function XPBar({
|
|
|
7368
7368
|
"span",
|
|
7369
7369
|
{
|
|
7370
7370
|
className: cn(
|
|
7371
|
-
"flex-shrink-0 rounded-
|
|
7372
|
-
"bg-
|
|
7371
|
+
"flex-shrink-0 rounded-interactive font-bold",
|
|
7372
|
+
"bg-accent text-foreground border border-accent",
|
|
7373
7373
|
sizes.badge
|
|
7374
7374
|
),
|
|
7375
7375
|
children: [
|
|
@@ -7383,7 +7383,7 @@ function XPBar({
|
|
|
7383
7383
|
"div",
|
|
7384
7384
|
{
|
|
7385
7385
|
className: cn(
|
|
7386
|
-
"relative w-full overflow-hidden rounded-full bg-
|
|
7386
|
+
"relative w-full overflow-hidden rounded-full bg-muted border border-muted",
|
|
7387
7387
|
sizes.bar
|
|
7388
7388
|
),
|
|
7389
7389
|
children: /* @__PURE__ */ jsx(
|
|
@@ -7391,7 +7391,7 @@ function XPBar({
|
|
|
7391
7391
|
{
|
|
7392
7392
|
className: cn(
|
|
7393
7393
|
"absolute inset-y-0 left-0 rounded-full",
|
|
7394
|
-
"bg-gradient-to-r from-
|
|
7394
|
+
"bg-gradient-to-r from-accent to-info",
|
|
7395
7395
|
animated && "transition-all duration-500 ease-out"
|
|
7396
7396
|
),
|
|
7397
7397
|
style: { width: `${percentage}%` }
|
|
@@ -7399,7 +7399,7 @@ function XPBar({
|
|
|
7399
7399
|
)
|
|
7400
7400
|
}
|
|
7401
7401
|
),
|
|
7402
|
-
showLabel && /* @__PURE__ */ jsxs("span", { className: cn("text-
|
|
7402
|
+
showLabel && /* @__PURE__ */ jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.text), children: [
|
|
7403
7403
|
current,
|
|
7404
7404
|
" / ",
|
|
7405
7405
|
max,
|
|
@@ -7435,7 +7435,7 @@ function WaypointMarker({
|
|
|
7435
7435
|
"div",
|
|
7436
7436
|
{
|
|
7437
7437
|
className: cn(
|
|
7438
|
-
"absolute rounded-full border-2 border-
|
|
7438
|
+
"absolute rounded-full border-2 border-info animate-ping opacity-50",
|
|
7439
7439
|
sizes.ring
|
|
7440
7440
|
)
|
|
7441
7441
|
}
|
|
@@ -7444,7 +7444,7 @@ function WaypointMarker({
|
|
|
7444
7444
|
"div",
|
|
7445
7445
|
{
|
|
7446
7446
|
className: cn(
|
|
7447
|
-
"absolute rounded-full border-2 border-
|
|
7447
|
+
"absolute rounded-full border-2 border-info",
|
|
7448
7448
|
sizes.ring
|
|
7449
7449
|
)
|
|
7450
7450
|
}
|
|
@@ -7455,9 +7455,9 @@ function WaypointMarker({
|
|
|
7455
7455
|
className: cn(
|
|
7456
7456
|
"relative flex items-center justify-center rounded-full transition-all duration-200",
|
|
7457
7457
|
sizes.dot,
|
|
7458
|
-
completed && "bg-
|
|
7459
|
-
active && !completed && "bg-
|
|
7460
|
-
!active && !completed && "bg-
|
|
7458
|
+
completed && "bg-success text-foreground",
|
|
7459
|
+
active && !completed && "bg-info text-foreground",
|
|
7460
|
+
!active && !completed && "bg-muted"
|
|
7461
7461
|
),
|
|
7462
7462
|
children: completed ? checkIcon : icon
|
|
7463
7463
|
}
|
|
@@ -7469,7 +7469,7 @@ function WaypointMarker({
|
|
|
7469
7469
|
className: cn(
|
|
7470
7470
|
"text-center whitespace-nowrap",
|
|
7471
7471
|
sizes.label,
|
|
7472
|
-
completed ? "text-
|
|
7472
|
+
completed ? "text-success" : active ? "text-info" : "text-muted-foreground"
|
|
7473
7473
|
),
|
|
7474
7474
|
children: label
|
|
7475
7475
|
}
|
|
@@ -7510,7 +7510,7 @@ function StatusEffect({
|
|
|
7510
7510
|
"div",
|
|
7511
7511
|
{
|
|
7512
7512
|
className: cn(
|
|
7513
|
-
"relative flex items-center justify-center rounded border-2",
|
|
7513
|
+
"relative flex items-center justify-center rounded-interactive border-2",
|
|
7514
7514
|
sizes.container,
|
|
7515
7515
|
variantStyles7[variant]
|
|
7516
7516
|
),
|
|
@@ -7521,7 +7521,7 @@ function StatusEffect({
|
|
|
7521
7521
|
"span",
|
|
7522
7522
|
{
|
|
7523
7523
|
className: cn(
|
|
7524
|
-
"absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-
|
|
7524
|
+
"absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-foreground bg-background/60 leading-tight",
|
|
7525
7525
|
sizes.timer
|
|
7526
7526
|
),
|
|
7527
7527
|
children: formatDuration(duration)
|
|
@@ -7534,7 +7534,7 @@ function StatusEffect({
|
|
|
7534
7534
|
"span",
|
|
7535
7535
|
{
|
|
7536
7536
|
className: cn(
|
|
7537
|
-
"absolute flex items-center justify-center rounded-full bg-
|
|
7537
|
+
"absolute flex items-center justify-center rounded-full bg-card text-foreground font-bold leading-none",
|
|
7538
7538
|
sizes.badge
|
|
7539
7539
|
),
|
|
7540
7540
|
children: stacks
|
|
@@ -7553,9 +7553,9 @@ var init_StatusEffect = __esm({
|
|
|
7553
7553
|
lg: { container: "w-12 h-12", icon: "text-lg", badge: "text-sm -top-1.5 -right-1.5 w-6 h-6", timer: "text-xs" }
|
|
7554
7554
|
};
|
|
7555
7555
|
variantStyles7 = {
|
|
7556
|
-
buff: "border-
|
|
7557
|
-
debuff: "border-
|
|
7558
|
-
neutral: "border-
|
|
7556
|
+
buff: "border-success bg-success/20",
|
|
7557
|
+
debuff: "border-error bg-error/20",
|
|
7558
|
+
neutral: "border-muted bg-muted/20"
|
|
7559
7559
|
};
|
|
7560
7560
|
StatusEffect.displayName = "StatusEffect";
|
|
7561
7561
|
}
|
|
@@ -7594,10 +7594,10 @@ var init_DamageNumber = __esm({
|
|
|
7594
7594
|
lg: "text-2xl"
|
|
7595
7595
|
};
|
|
7596
7596
|
typeStyles = {
|
|
7597
|
-
damage: "text-
|
|
7598
|
-
heal: "text-
|
|
7599
|
-
crit: "text-
|
|
7600
|
-
miss: "text-
|
|
7597
|
+
damage: "text-error font-bold",
|
|
7598
|
+
heal: "text-success font-bold",
|
|
7599
|
+
crit: "text-warning font-extrabold",
|
|
7600
|
+
miss: "text-muted-foreground italic"
|
|
7601
7601
|
};
|
|
7602
7602
|
floatKeyframes = `
|
|
7603
7603
|
@keyframes damageFloat {
|
|
@@ -7620,12 +7620,12 @@ function DialogueBubble({
|
|
|
7620
7620
|
"div",
|
|
7621
7621
|
{
|
|
7622
7622
|
className: cn(
|
|
7623
|
-
"flex items-start gap-3 rounded-
|
|
7623
|
+
"flex items-start gap-3 rounded-container bg-background/80 backdrop-blur-sm px-4 py-3 border border-border/10",
|
|
7624
7624
|
position === "top" ? "rounded-bl-none" : "rounded-tl-none",
|
|
7625
7625
|
className
|
|
7626
7626
|
),
|
|
7627
7627
|
children: [
|
|
7628
|
-
portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-
|
|
7628
|
+
portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-warning/60", children: /* @__PURE__ */ jsx(
|
|
7629
7629
|
"img",
|
|
7630
7630
|
{
|
|
7631
7631
|
src: portrait,
|
|
@@ -7634,8 +7634,8 @@ function DialogueBubble({
|
|
|
7634
7634
|
}
|
|
7635
7635
|
) }),
|
|
7636
7636
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 min-w-0", children: [
|
|
7637
|
-
speaker && /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-
|
|
7638
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm text-
|
|
7637
|
+
speaker && /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-warning", children: speaker }),
|
|
7638
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-foreground leading-relaxed", children: text })
|
|
7639
7639
|
] })
|
|
7640
7640
|
]
|
|
7641
7641
|
}
|
|
@@ -7662,7 +7662,7 @@ function ChoiceButton({
|
|
|
7662
7662
|
disabled,
|
|
7663
7663
|
onClick,
|
|
7664
7664
|
className: cn(
|
|
7665
|
-
"w-full text-left px-4 py-2.5 rounded-
|
|
7665
|
+
"w-full text-left px-4 py-2.5 rounded-interactive border transition-all duration-150",
|
|
7666
7666
|
"flex items-center gap-2",
|
|
7667
7667
|
selected ? "bg-accent/15 border-accent text-foreground" : "bg-muted/40 border-border text-foreground hover:bg-muted hover:border-border",
|
|
7668
7668
|
disabled && "opacity-40 cursor-not-allowed hover:bg-muted/40 hover:border-border",
|
|
@@ -7715,7 +7715,7 @@ function ActionButton({
|
|
|
7715
7715
|
disabled: isDisabled,
|
|
7716
7716
|
onClick,
|
|
7717
7717
|
className: cn(
|
|
7718
|
-
"relative inline-flex items-center gap-1.5 rounded-
|
|
7718
|
+
"relative inline-flex items-center gap-1.5 rounded-interactive border font-medium overflow-hidden transition-colors duration-150",
|
|
7719
7719
|
sizes.button,
|
|
7720
7720
|
variantStyles8[variant],
|
|
7721
7721
|
isDisabled && "opacity-60 cursor-not-allowed",
|
|
@@ -7758,9 +7758,9 @@ var init_ActionButton = __esm({
|
|
|
7758
7758
|
init_cn();
|
|
7759
7759
|
init_Icon();
|
|
7760
7760
|
sizeMap13 = {
|
|
7761
|
-
sm: { button: "px-3
|
|
7762
|
-
md: { button: "px-4
|
|
7763
|
-
lg: { button: "
|
|
7761
|
+
sm: { button: "h-button-sm px-3 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
|
|
7762
|
+
md: { button: "h-button-md px-4 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
|
|
7763
|
+
lg: { button: "h-button-lg px-5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
|
|
7764
7764
|
};
|
|
7765
7765
|
variantStyles8 = {
|
|
7766
7766
|
primary: "bg-primary text-primary-foreground hover:bg-primary-hover border-primary",
|
|
@@ -7840,7 +7840,7 @@ function MiniMap({
|
|
|
7840
7840
|
"div",
|
|
7841
7841
|
{
|
|
7842
7842
|
className: cn(
|
|
7843
|
-
"relative inline-block border border-
|
|
7843
|
+
"relative inline-block border border-border/20 rounded-container",
|
|
7844
7844
|
className
|
|
7845
7845
|
),
|
|
7846
7846
|
children: /* @__PURE__ */ jsx(
|
|
@@ -10912,7 +10912,7 @@ function ActionTile({
|
|
|
10912
10912
|
{
|
|
10913
10913
|
display: "flex",
|
|
10914
10914
|
className: cn(
|
|
10915
|
-
"flex-col items-center gap-1 rounded-
|
|
10915
|
+
"flex-col items-center gap-1 rounded-container border-2 transition-all select-none",
|
|
10916
10916
|
config.px,
|
|
10917
10917
|
disabled ? "opacity-40 cursor-not-allowed border-border bg-muted" : "cursor-grab active:cursor-grabbing hover:scale-105 hover:shadow-md border-border bg-card",
|
|
10918
10918
|
className
|
|
@@ -12212,12 +12212,12 @@ function IsometricCanvas({
|
|
|
12212
12212
|
return /* @__PURE__ */ jsx(
|
|
12213
12213
|
Box,
|
|
12214
12214
|
{
|
|
12215
|
-
className: cn("relative w-full overflow-hidden rounded-
|
|
12215
|
+
className: cn("relative w-full overflow-hidden rounded-container", className),
|
|
12216
12216
|
style: { height: viewportSize.height },
|
|
12217
12217
|
"data-testid": "game-canvas-empty",
|
|
12218
|
-
children: /* @__PURE__ */ jsx(Box, { className: "flex items-center justify-center h-full bg-[var(--color-card)] rounded-
|
|
12218
|
+
children: /* @__PURE__ */ jsx(Box, { className: "flex items-center justify-center h-full bg-[var(--color-card)] rounded-container", children: /* @__PURE__ */ jsxs(Stack, { direction: "vertical", gap: "md", align: "center", children: [
|
|
12219
12219
|
/* @__PURE__ */ jsx(Icon, { name: "map", size: "xl" }),
|
|
12220
|
-
/* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-
|
|
12220
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-muted-foreground", children: t("canvas.emptyMessage") || "No map data loaded" })
|
|
12221
12221
|
] }) })
|
|
12222
12222
|
}
|
|
12223
12223
|
);
|
|
@@ -12615,19 +12615,19 @@ function BattleBoard({
|
|
|
12615
12615
|
}
|
|
12616
12616
|
)
|
|
12617
12617
|
] }),
|
|
12618
|
-
gameResult && (gameOverOverlay ? gameOverOverlay(ctx) : /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 z-50 flex items-center justify-center bg-
|
|
12618
|
+
gameResult && (gameOverOverlay ? gameOverOverlay(ctx) : /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 z-50 flex items-center justify-center bg-background/70 backdrop-blur-sm rounded-container", children: /* @__PURE__ */ jsxs(VStack, { className: "text-center p-8", gap: "lg", children: [
|
|
12619
12619
|
/* @__PURE__ */ jsx(
|
|
12620
12620
|
Typography,
|
|
12621
12621
|
{
|
|
12622
12622
|
variant: "h2",
|
|
12623
12623
|
className: cn(
|
|
12624
12624
|
"text-4xl font-black tracking-widest uppercase",
|
|
12625
|
-
gameResult === "victory" ? "text-
|
|
12625
|
+
gameResult === "victory" ? "text-warning" : "text-error"
|
|
12626
12626
|
),
|
|
12627
12627
|
children: gameResult === "victory" ? t("battle.victory") : t("battle.defeat")
|
|
12628
12628
|
}
|
|
12629
12629
|
),
|
|
12630
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "body1", className: "text-
|
|
12630
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "body1", className: "text-muted-foreground", children: [
|
|
12631
12631
|
t("battle.turnsPlayed"),
|
|
12632
12632
|
": ",
|
|
12633
12633
|
currentTurn
|
|
@@ -17504,7 +17504,7 @@ function BuilderBoard({
|
|
|
17504
17504
|
backgroundPosition: "center"
|
|
17505
17505
|
},
|
|
17506
17506
|
children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
|
|
17507
|
-
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-
|
|
17507
|
+
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
|
|
17508
17508
|
/* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
17509
17509
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
|
|
17510
17510
|
/* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
|
|
@@ -17542,7 +17542,7 @@ function BuilderBoard({
|
|
|
17542
17542
|
{
|
|
17543
17543
|
gap: "sm",
|
|
17544
17544
|
align: "center",
|
|
17545
|
-
className: `p-3 border-2 rounded ${result ? result.correct ? "border-
|
|
17545
|
+
className: `p-3 border-2 rounded ${result ? result.correct ? "border-success" : "border-error" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
|
|
17546
17546
|
onClick: () => handlePlaceComponent(slot.id),
|
|
17547
17547
|
children: [
|
|
17548
17548
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", className: "flex-1", children: [
|
|
@@ -17557,7 +17557,7 @@ function BuilderBoard({
|
|
|
17557
17557
|
] }) : null,
|
|
17558
17558
|
placedComp.label
|
|
17559
17559
|
] }),
|
|
17560
|
-
result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "sm", className: result.correct ? "text-
|
|
17560
|
+
result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "sm", className: result.correct ? "text-success" : "text-error" })
|
|
17561
17561
|
] }) : /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: t("builder.empty") })
|
|
17562
17562
|
]
|
|
17563
17563
|
},
|
|
@@ -17566,10 +17566,10 @@ function BuilderBoard({
|
|
|
17566
17566
|
}) })
|
|
17567
17567
|
] }) }),
|
|
17568
17568
|
submitted && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
|
|
17569
|
-
/* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-
|
|
17569
|
+
/* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
|
|
17570
17570
|
/* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("builder.success") : entity.failMessage ?? t("builder.incorrect") })
|
|
17571
17571
|
] }) }),
|
|
17572
|
-
showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-
|
|
17572
|
+
showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
|
|
17573
17573
|
/* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
|
|
17574
17574
|
!submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: !allPlaced, children: [
|
|
17575
17575
|
/* @__PURE__ */ jsx(Icon, { icon: Wrench, size: "sm" }),
|
|
@@ -19191,7 +19191,7 @@ function CanvasEffectEngine({
|
|
|
19191
19191
|
flash && /* @__PURE__ */ jsx(
|
|
19192
19192
|
Box,
|
|
19193
19193
|
{
|
|
19194
|
-
className: "absolute inset-0 z-20 pointer-events-none rounded-
|
|
19194
|
+
className: "absolute inset-0 z-20 pointer-events-none rounded-container",
|
|
19195
19195
|
style: { backgroundColor: flash.color, opacity: flash.alpha }
|
|
19196
19196
|
}
|
|
19197
19197
|
),
|
|
@@ -19259,7 +19259,7 @@ function EmojiEffect({
|
|
|
19259
19259
|
/* @__PURE__ */ jsx(
|
|
19260
19260
|
Box,
|
|
19261
19261
|
{
|
|
19262
|
-
className: "absolute rounded-
|
|
19262
|
+
className: "absolute rounded-pill animate-ping",
|
|
19263
19263
|
style: {
|
|
19264
19264
|
width: 48 * intensity,
|
|
19265
19265
|
height: 48 * intensity,
|
|
@@ -21076,7 +21076,7 @@ function ClassifierBoard({
|
|
|
21076
21076
|
backgroundPosition: "center"
|
|
21077
21077
|
},
|
|
21078
21078
|
children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
|
|
21079
|
-
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-
|
|
21079
|
+
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
|
|
21080
21080
|
/* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
21081
21081
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
|
|
21082
21082
|
/* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
|
|
@@ -21091,7 +21091,7 @@ function ClassifierBoard({
|
|
|
21091
21091
|
/* @__PURE__ */ jsx(VStack, { gap: "md", children: categories.map((cat) => {
|
|
21092
21092
|
const catItems = items.filter((item) => assignments[item.id] === cat.id);
|
|
21093
21093
|
return /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
21094
|
-
cat.imageUrl && /* @__PURE__ */ jsx(Box, { className: "w-full h-16 overflow-hidden rounded-
|
|
21094
|
+
cat.imageUrl && /* @__PURE__ */ jsx(Box, { className: "w-full h-16 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: cat.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
|
|
21095
21095
|
/* @__PURE__ */ jsxs(HStack, { justify: "between", align: "center", children: [
|
|
21096
21096
|
/* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: cat.label }),
|
|
21097
21097
|
/* @__PURE__ */ jsx(Badge, { size: "sm", children: catItems.length })
|
|
@@ -21102,12 +21102,12 @@ function ClassifierBoard({
|
|
|
21102
21102
|
Badge,
|
|
21103
21103
|
{
|
|
21104
21104
|
size: "sm",
|
|
21105
|
-
className: `cursor-pointer ${result ? result.correct ? "border-
|
|
21105
|
+
className: `cursor-pointer ${result ? result.correct ? "border-success bg-success/10" : "border-error bg-error/10" : ""}`,
|
|
21106
21106
|
onClick: () => handleUnassign(item.id),
|
|
21107
21107
|
children: [
|
|
21108
21108
|
item.iconUrl && /* @__PURE__ */ jsx("img", { src: item.iconUrl, alt: "", className: "w-3 h-3 object-contain inline-block" }),
|
|
21109
21109
|
item.label,
|
|
21110
|
-
result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "xs", className: result.correct ? "text-
|
|
21110
|
+
result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "xs", className: result.correct ? "text-success" : "text-error" })
|
|
21111
21111
|
]
|
|
21112
21112
|
},
|
|
21113
21113
|
item.id
|
|
@@ -21130,11 +21130,11 @@ function ClassifierBoard({
|
|
|
21130
21130
|
] }) }, cat.id);
|
|
21131
21131
|
}) }),
|
|
21132
21132
|
submitted && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
|
|
21133
|
-
/* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-
|
|
21133
|
+
/* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
|
|
21134
21134
|
/* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("classifier.allCorrect") : `${correctCount}/${items.length} ${t("classifier.correct")}` }),
|
|
21135
21135
|
!allCorrect && entity.failMessage && /* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-muted-foreground", children: entity.failMessage })
|
|
21136
21136
|
] }) }),
|
|
21137
|
-
showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-
|
|
21137
|
+
showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
|
|
21138
21138
|
/* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
|
|
21139
21139
|
!submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: !allAssigned, children: [
|
|
21140
21140
|
/* @__PURE__ */ jsx(Icon, { icon: Send, size: "sm" }),
|
|
@@ -22182,7 +22182,7 @@ function CraftingRecipe({
|
|
|
22182
22182
|
Box,
|
|
22183
22183
|
{
|
|
22184
22184
|
className: cn(
|
|
22185
|
-
"flex flex-wrap items-center gap-3 rounded-
|
|
22185
|
+
"flex flex-wrap items-center gap-3 rounded-container bg-muted/50 border border-border/50 p-3",
|
|
22186
22186
|
className
|
|
22187
22187
|
),
|
|
22188
22188
|
children: [
|
|
@@ -22199,10 +22199,10 @@ function CraftingRecipe({
|
|
|
22199
22199
|
className: cn(!hasSufficient && "opacity-50")
|
|
22200
22200
|
}
|
|
22201
22201
|
) }),
|
|
22202
|
-
index < inputs.length - 1 && /* @__PURE__ */ jsx(Icon, { name: "plus", size: "sm", className: "text-
|
|
22202
|
+
index < inputs.length - 1 && /* @__PURE__ */ jsx(Icon, { name: "plus", size: "sm", className: "text-muted-foreground" })
|
|
22203
22203
|
] }, index);
|
|
22204
22204
|
}) }),
|
|
22205
|
-
/* @__PURE__ */ jsx(Icon, { name: "arrow-right", size: "md", className: "text-
|
|
22205
|
+
/* @__PURE__ */ jsx(Icon, { name: "arrow-right", size: "md", className: "text-muted-foreground" }),
|
|
22206
22206
|
/* @__PURE__ */ jsx(
|
|
22207
22207
|
ItemSlot,
|
|
22208
22208
|
{
|
|
@@ -22290,7 +22290,7 @@ function DPad({
|
|
|
22290
22290
|
createButton("up"),
|
|
22291
22291
|
/* @__PURE__ */ jsx("div", {}),
|
|
22292
22292
|
createButton("left"),
|
|
22293
|
-
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "w-6 h-6 rounded-
|
|
22293
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "w-6 h-6 rounded-interactive bg-muted border-2 border-muted-foreground" }) }),
|
|
22294
22294
|
createButton("right"),
|
|
22295
22295
|
/* @__PURE__ */ jsx("div", {}),
|
|
22296
22296
|
createButton("down"),
|
|
@@ -26475,7 +26475,7 @@ function StatBadge({
|
|
|
26475
26475
|
"div",
|
|
26476
26476
|
{
|
|
26477
26477
|
className: cn(
|
|
26478
|
-
"inline-flex items-center gap-2 rounded-
|
|
26478
|
+
"inline-flex items-center gap-2 rounded-container border backdrop-blur-sm",
|
|
26479
26479
|
sizeMap17[size] ?? sizeMap17.md,
|
|
26480
26480
|
variantMap2[variant] ?? variantMap2.default,
|
|
26481
26481
|
className
|
|
@@ -26621,10 +26621,10 @@ function QuestTracker({
|
|
|
26621
26621
|
Box,
|
|
26622
26622
|
{
|
|
26623
26623
|
className: cn(
|
|
26624
|
-
"flex items-start gap-3 rounded-
|
|
26625
|
-
isActive && !isCompleted && "bg-
|
|
26626
|
-
isCompleted && "bg-
|
|
26627
|
-
!isActive && !isCompleted && "bg-
|
|
26624
|
+
"flex items-start gap-3 rounded-container px-3 py-2 transition-colors",
|
|
26625
|
+
isActive && !isCompleted && "bg-info/20 border border-info/50",
|
|
26626
|
+
isCompleted && "bg-success/10 border border-success/30 opacity-70",
|
|
26627
|
+
!isActive && !isCompleted && "bg-muted/30 border border-border/30"
|
|
26628
26628
|
),
|
|
26629
26629
|
children: [
|
|
26630
26630
|
/* @__PURE__ */ jsx(Box, { className: "flex-shrink-0 pt-0.5", children: /* @__PURE__ */ jsx(
|
|
@@ -26642,9 +26642,9 @@ function QuestTracker({
|
|
|
26642
26642
|
variant: "body2",
|
|
26643
26643
|
className: cn(
|
|
26644
26644
|
"font-medium truncate",
|
|
26645
|
-
isCompleted && "line-through text-
|
|
26646
|
-
isActive && !isCompleted && "text-
|
|
26647
|
-
!isActive && !isCompleted && "text-
|
|
26645
|
+
isCompleted && "line-through text-muted-foreground",
|
|
26646
|
+
isActive && !isCompleted && "text-info",
|
|
26647
|
+
!isActive && !isCompleted && "text-muted-foreground"
|
|
26648
26648
|
),
|
|
26649
26649
|
children: quest.title
|
|
26650
26650
|
}
|
|
@@ -26662,7 +26662,7 @@ function QuestTracker({
|
|
|
26662
26662
|
Typography,
|
|
26663
26663
|
{
|
|
26664
26664
|
variant: "caption",
|
|
26665
|
-
className: "text-
|
|
26665
|
+
className: "text-muted-foreground mt-1",
|
|
26666
26666
|
children: [
|
|
26667
26667
|
quest.progress,
|
|
26668
26668
|
" / ",
|
|
@@ -26719,14 +26719,14 @@ function PowerupSlots({
|
|
|
26719
26719
|
{
|
|
26720
26720
|
className: cn(
|
|
26721
26721
|
"absolute -bottom-1 left-1/2 -translate-x-1/2",
|
|
26722
|
-
"rounded px-1 py-px",
|
|
26723
|
-
"bg-
|
|
26722
|
+
"rounded-interactive px-1 py-px",
|
|
26723
|
+
"bg-background/80 border border-border"
|
|
26724
26724
|
),
|
|
26725
26725
|
children: /* @__PURE__ */ jsx(
|
|
26726
26726
|
Typography,
|
|
26727
26727
|
{
|
|
26728
26728
|
variant: "caption",
|
|
26729
|
-
className: "text-[9px] font-mono font-bold text-
|
|
26729
|
+
className: "text-[9px] font-mono font-bold text-warning whitespace-nowrap",
|
|
26730
26730
|
children: formatTime2(powerup.remainingTime)
|
|
26731
26731
|
}
|
|
26732
26732
|
)
|
|
@@ -26848,7 +26848,7 @@ function HealthPanel({
|
|
|
26848
26848
|
Box,
|
|
26849
26849
|
{
|
|
26850
26850
|
className: cn(
|
|
26851
|
-
"rounded-
|
|
26851
|
+
"rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm",
|
|
26852
26852
|
sizes.padding,
|
|
26853
26853
|
className
|
|
26854
26854
|
),
|
|
@@ -26859,7 +26859,7 @@ function HealthPanel({
|
|
|
26859
26859
|
{
|
|
26860
26860
|
variant: "caption",
|
|
26861
26861
|
weight: "bold",
|
|
26862
|
-
className: "text-
|
|
26862
|
+
className: "text-muted-foreground uppercase tracking-wider",
|
|
26863
26863
|
children: label
|
|
26864
26864
|
}
|
|
26865
26865
|
),
|
|
@@ -26880,7 +26880,7 @@ function HealthPanel({
|
|
|
26880
26880
|
as: "span",
|
|
26881
26881
|
variant: "caption",
|
|
26882
26882
|
weight: "bold",
|
|
26883
|
-
className: "text-
|
|
26883
|
+
className: "text-info ml-1",
|
|
26884
26884
|
children: [
|
|
26885
26885
|
"+",
|
|
26886
26886
|
shield
|
|
@@ -26905,14 +26905,14 @@ function HealthPanel({
|
|
|
26905
26905
|
Box,
|
|
26906
26906
|
{
|
|
26907
26907
|
className: cn(
|
|
26908
|
-
"relative overflow-hidden rounded-
|
|
26908
|
+
"relative overflow-hidden rounded-container bg-muted",
|
|
26909
26909
|
size === "sm" ? "h-1" : size === "md" ? "h-1.5" : "h-2",
|
|
26910
26910
|
"w-full"
|
|
26911
26911
|
),
|
|
26912
26912
|
children: /* @__PURE__ */ jsx(
|
|
26913
26913
|
Box,
|
|
26914
26914
|
{
|
|
26915
|
-
className: "absolute inset-y-0 left-0 rounded-
|
|
26915
|
+
className: "absolute inset-y-0 left-0 rounded-container bg-info transition-all duration-300",
|
|
26916
26916
|
style: { width: `${Math.min(100, shield / max * 100)}%` }
|
|
26917
26917
|
}
|
|
26918
26918
|
)
|
|
@@ -26971,7 +26971,7 @@ function ScoreBoard({
|
|
|
26971
26971
|
Card,
|
|
26972
26972
|
{
|
|
26973
26973
|
className: cn(
|
|
26974
|
-
"bg-[var(--color-card)]/90 border-
|
|
26974
|
+
"bg-[var(--color-card)]/90 border-border backdrop-blur-sm",
|
|
26975
26975
|
className
|
|
26976
26976
|
),
|
|
26977
26977
|
children: /* @__PURE__ */ jsx(CardContent, { className: "p-3", children: /* @__PURE__ */ jsxs(Box, { className: "flex items-center gap-3 flex-wrap", children: [
|
|
@@ -27088,7 +27088,7 @@ function TurnPanel({
|
|
|
27088
27088
|
Box,
|
|
27089
27089
|
{
|
|
27090
27090
|
className: cn(
|
|
27091
|
-
"flex items-center gap-3 rounded-
|
|
27091
|
+
"flex items-center gap-3 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-2",
|
|
27092
27092
|
className
|
|
27093
27093
|
),
|
|
27094
27094
|
children: [
|
|
@@ -27140,7 +27140,7 @@ function EnemyPlate({
|
|
|
27140
27140
|
Box,
|
|
27141
27141
|
{
|
|
27142
27142
|
className: cn(
|
|
27143
|
-
"inline-flex flex-col gap-1 rounded-
|
|
27143
|
+
"inline-flex flex-col gap-1 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-1.5",
|
|
27144
27144
|
"min-w-[120px]",
|
|
27145
27145
|
className
|
|
27146
27146
|
),
|
|
@@ -27234,7 +27234,7 @@ function UnitCommandBar({
|
|
|
27234
27234
|
Box,
|
|
27235
27235
|
{
|
|
27236
27236
|
className: cn(
|
|
27237
|
-
"flex items-center gap-1.5 rounded-
|
|
27237
|
+
"flex items-center gap-1.5 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-2 py-1.5",
|
|
27238
27238
|
className
|
|
27239
27239
|
),
|
|
27240
27240
|
children: commands.map((command, i) => /* @__PURE__ */ jsxs(Box, { className: "flex flex-col items-center gap-0.5", children: [
|
|
@@ -27319,8 +27319,8 @@ function GameHud({
|
|
|
27319
27319
|
className: cn(
|
|
27320
27320
|
"relative z-10",
|
|
27321
27321
|
positionMap[position],
|
|
27322
|
-
transparent && "bg-gradient-to-b from-
|
|
27323
|
-
position === "bottom" && "bg-gradient-to-t from-
|
|
27322
|
+
transparent && "bg-gradient-to-b from-background/50 to-transparent",
|
|
27323
|
+
position === "bottom" && "bg-gradient-to-t from-background/50 to-transparent",
|
|
27324
27324
|
className
|
|
27325
27325
|
),
|
|
27326
27326
|
children: /* @__PURE__ */ jsx("div", { className: "flex gap-4", children: stats.map((stat, i) => /* @__PURE__ */ jsx(StatBadge, { ...stat, size }, i)) })
|
|
@@ -27478,8 +27478,8 @@ function DialogueBox({
|
|
|
27478
27478
|
tabIndex: 0,
|
|
27479
27479
|
role: "dialog",
|
|
27480
27480
|
"aria-label": "Dialogue",
|
|
27481
|
-
children: /* @__PURE__ */ jsx("div", { className: "mx-4 my-4 bg-[var(--color-card)] bg-opacity-95 border-2 border-
|
|
27482
|
-
dialogue.portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 p-4 border-r border-
|
|
27481
|
+
children: /* @__PURE__ */ jsx("div", { className: "mx-4 my-4 bg-[var(--color-card)] bg-opacity-95 border-2 border-border rounded-container overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
|
|
27482
|
+
dialogue.portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 p-4 border-r border-border", children: /* @__PURE__ */ jsx(
|
|
27483
27483
|
"img",
|
|
27484
27484
|
{
|
|
27485
27485
|
src: dialogue.portrait,
|
|
@@ -27489,7 +27489,7 @@ function DialogueBox({
|
|
|
27489
27489
|
}
|
|
27490
27490
|
) }),
|
|
27491
27491
|
/* @__PURE__ */ jsxs("div", { className: "flex-1 p-4", children: [
|
|
27492
|
-
/* @__PURE__ */ jsx("div", { className: "text-
|
|
27492
|
+
/* @__PURE__ */ jsx("div", { className: "text-warning font-bold mb-2", children: dialogue.speaker }),
|
|
27493
27493
|
/* @__PURE__ */ jsxs("div", { className: "text-[var(--color-foreground)] text-lg leading-relaxed min-h-[60px]", children: [
|
|
27494
27494
|
displayedText,
|
|
27495
27495
|
isTyping && /* @__PURE__ */ jsx("span", { className: "animate-pulse", children: "\u258C" })
|
|
@@ -27499,9 +27499,9 @@ function DialogueBox({
|
|
|
27499
27499
|
{
|
|
27500
27500
|
type: "button",
|
|
27501
27501
|
className: cn(
|
|
27502
|
-
"block w-full text-left px-4 py-2 rounded transition-colors",
|
|
27503
|
-
"hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-
|
|
27504
|
-
selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-
|
|
27502
|
+
"block w-full text-left px-4 py-2 rounded-interactive transition-colors",
|
|
27503
|
+
"hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-warning",
|
|
27504
|
+
selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-warning" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
|
|
27505
27505
|
),
|
|
27506
27506
|
onClick: (e) => {
|
|
27507
27507
|
e.stopPropagation();
|
|
@@ -27509,7 +27509,7 @@ function DialogueBox({
|
|
|
27509
27509
|
onChoice?.(choice);
|
|
27510
27510
|
},
|
|
27511
27511
|
children: [
|
|
27512
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
27512
|
+
/* @__PURE__ */ jsxs("span", { className: "text-muted-foreground mr-2", children: [
|
|
27513
27513
|
index + 1,
|
|
27514
27514
|
"."
|
|
27515
27515
|
] }),
|
|
@@ -27518,7 +27518,7 @@ function DialogueBox({
|
|
|
27518
27518
|
},
|
|
27519
27519
|
index
|
|
27520
27520
|
)) }),
|
|
27521
|
-
!isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsx("div", { className: "mt-4 text-
|
|
27521
|
+
!isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsx("div", { className: "mt-4 text-muted-foreground text-sm animate-pulse", children: "Press SPACE or click to continue..." })
|
|
27522
27522
|
] })
|
|
27523
27523
|
] }) })
|
|
27524
27524
|
}
|
|
@@ -27621,7 +27621,7 @@ function InventoryPanel({
|
|
|
27621
27621
|
/* @__PURE__ */ jsx(
|
|
27622
27622
|
"div",
|
|
27623
27623
|
{
|
|
27624
|
-
className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-
|
|
27624
|
+
className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-container border border-border",
|
|
27625
27625
|
style: {
|
|
27626
27626
|
gridTemplateColumns: `repeat(${safeColumns}, ${slotSize}px)`,
|
|
27627
27627
|
gridTemplateRows: `repeat(${rows}, ${slotSize}px)`
|
|
@@ -27633,8 +27633,8 @@ function InventoryPanel({
|
|
|
27633
27633
|
className: cn(
|
|
27634
27634
|
"relative flex items-center justify-center",
|
|
27635
27635
|
"bg-[var(--color-card)] border rounded transition-colors",
|
|
27636
|
-
"hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-
|
|
27637
|
-
selectedSlot === index ? "border-
|
|
27636
|
+
"hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-info",
|
|
27637
|
+
selectedSlot === index ? "border-warning bg-[var(--color-surface,#374151)]" : "border-muted"
|
|
27638
27638
|
),
|
|
27639
27639
|
style: { width: slotSize, height: slotSize },
|
|
27640
27640
|
onClick: () => handleSlotClick(index),
|
|
@@ -27653,8 +27653,8 @@ function InventoryPanel({
|
|
|
27653
27653
|
className: "w-8 h-8 object-contain",
|
|
27654
27654
|
style: { imageRendering: "pixelated" }
|
|
27655
27655
|
}
|
|
27656
|
-
) : /* @__PURE__ */ jsx("div", { className: "w-8 h-8 bg-
|
|
27657
|
-
item.quantity > 1 && /* @__PURE__ */ jsx("span", { className: "absolute bottom-0 right-0 bg-
|
|
27656
|
+
) : /* @__PURE__ */ jsx("div", { className: "w-8 h-8 bg-muted rounded-interactive flex items-center justify-center text-xs text-muted-foreground", children: (item.type ?? item.name ?? "I").charAt(0).toUpperCase() }),
|
|
27657
|
+
item.quantity > 1 && /* @__PURE__ */ jsx("span", { className: "absolute bottom-0 right-0 bg-background/70 text-foreground text-xs px-1 rounded-tl", children: item.quantity })
|
|
27658
27658
|
] })
|
|
27659
27659
|
},
|
|
27660
27660
|
index
|
|
@@ -27664,7 +27664,7 @@ function InventoryPanel({
|
|
|
27664
27664
|
showTooltips && hoveredItem && /* @__PURE__ */ jsxs(
|
|
27665
27665
|
"div",
|
|
27666
27666
|
{
|
|
27667
|
-
className: "fixed z-50 bg-[var(--color-card)] border border-
|
|
27667
|
+
className: "fixed z-50 bg-[var(--color-card)] border border-border rounded-container p-2 shadow-elevation-card pointer-events-none",
|
|
27668
27668
|
style: {
|
|
27669
27669
|
left: tooltipPosition.x,
|
|
27670
27670
|
top: tooltipPosition.y,
|
|
@@ -27672,8 +27672,8 @@ function InventoryPanel({
|
|
|
27672
27672
|
},
|
|
27673
27673
|
children: [
|
|
27674
27674
|
/* @__PURE__ */ jsx("div", { className: "font-semibold text-[var(--color-foreground)]", children: hoveredItem.name || hoveredItem.type }),
|
|
27675
|
-
hoveredItem.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-
|
|
27676
|
-
/* @__PURE__ */ jsxs("div", { className: "text-xs text-
|
|
27675
|
+
hoveredItem.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground mt-1", children: hoveredItem.description }),
|
|
27676
|
+
/* @__PURE__ */ jsxs("div", { className: "text-xs text-muted-foreground mt-1", children: [
|
|
27677
27677
|
"Quantity: ",
|
|
27678
27678
|
hoveredItem.quantity
|
|
27679
27679
|
] })
|
|
@@ -27751,7 +27751,7 @@ function GameMenu({
|
|
|
27751
27751
|
children: title
|
|
27752
27752
|
}
|
|
27753
27753
|
),
|
|
27754
|
-
subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-lg text-
|
|
27754
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-lg text-muted-foreground tracking-widest uppercase", children: subtitle })
|
|
27755
27755
|
] }),
|
|
27756
27756
|
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 w-full max-w-md", children: resolvedOptions.map((option, index) => /* @__PURE__ */ jsx(
|
|
27757
27757
|
"button",
|
|
@@ -27759,10 +27759,10 @@ function GameMenu({
|
|
|
27759
27759
|
onClick: () => handleOptionClick(option),
|
|
27760
27760
|
disabled: option.disabled,
|
|
27761
27761
|
className: cn(
|
|
27762
|
-
"w-full py-4 px-8 rounded-
|
|
27762
|
+
"w-full py-4 px-8 rounded-container border-2 font-bold text-lg",
|
|
27763
27763
|
"transition-all duration-200 transform",
|
|
27764
27764
|
"hover:scale-105 active:scale-95",
|
|
27765
|
-
"focus:outline-none focus:ring-4 focus:ring-
|
|
27765
|
+
"focus:outline-none focus:ring-4 focus:ring-foreground/25",
|
|
27766
27766
|
variantMap3[option.variant ?? "secondary"] ?? variantMap3.secondary,
|
|
27767
27767
|
option.disabled && "opacity-50 cursor-not-allowed hover:scale-100"
|
|
27768
27768
|
),
|
|
@@ -27774,8 +27774,8 @@ function GameMenu({
|
|
|
27774
27774
|
index
|
|
27775
27775
|
)) }),
|
|
27776
27776
|
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0 pointer-events-none overflow-hidden", children: [
|
|
27777
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-
|
|
27778
|
-
/* @__PURE__ */ jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-
|
|
27777
|
+
/* @__PURE__ */ jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-info/10 rounded-container blur-3xl" }),
|
|
27778
|
+
/* @__PURE__ */ jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-accent/10 rounded-container blur-3xl" })
|
|
27779
27779
|
] })
|
|
27780
27780
|
]
|
|
27781
27781
|
}
|
|
@@ -27788,9 +27788,9 @@ var init_GameMenu = __esm({
|
|
|
27788
27788
|
init_cn();
|
|
27789
27789
|
init_useEventBus();
|
|
27790
27790
|
variantMap3 = {
|
|
27791
|
-
primary: "bg-[var(--color-primary)] hover:bg-
|
|
27792
|
-
secondary: "bg-[var(--color-surface,#374151)] hover:bg-
|
|
27793
|
-
ghost: "bg-transparent hover:bg-
|
|
27791
|
+
primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info shadow-lg shadow-info/25",
|
|
27792
|
+
secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
|
|
27793
|
+
ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
|
|
27794
27794
|
};
|
|
27795
27795
|
GameMenu.displayName = "GameMenu";
|
|
27796
27796
|
}
|
|
@@ -27858,13 +27858,13 @@ function GameOverScreen({
|
|
|
27858
27858
|
children: title
|
|
27859
27859
|
}
|
|
27860
27860
|
),
|
|
27861
|
-
message && /* @__PURE__ */ jsx("p", { className: "text-xl text-
|
|
27862
|
-
isNewHighScore && /* @__PURE__ */ jsx("div", { className: "mb-6 px-6 py-2 bg-
|
|
27861
|
+
message && /* @__PURE__ */ jsx("p", { className: "text-xl text-muted-foreground mb-8 text-center max-w-md", children: message }),
|
|
27862
|
+
isNewHighScore && /* @__PURE__ */ jsx("div", { className: "mb-6 px-6 py-2 bg-warning/20 border-2 border-warning rounded-container animate-pulse", children: /* @__PURE__ */ jsx("span", { className: "text-warning font-bold text-lg tracking-wide", children: "\u{1F3C6} NEW HIGH SCORE! \u{1F3C6}" }) }),
|
|
27863
27863
|
stats.length > 0 && /* @__PURE__ */ jsx(
|
|
27864
27864
|
"div",
|
|
27865
27865
|
{
|
|
27866
27866
|
className: cn(
|
|
27867
|
-
"mb-8 p-6 rounded-
|
|
27867
|
+
"mb-8 p-6 rounded-container border-2 bg-background/30",
|
|
27868
27868
|
colors.accent
|
|
27869
27869
|
),
|
|
27870
27870
|
children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: stats.map((stat, index) => {
|
|
@@ -27873,7 +27873,7 @@ function GameOverScreen({
|
|
|
27873
27873
|
displayValue = formatTime3(displayValue);
|
|
27874
27874
|
}
|
|
27875
27875
|
return /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
27876
|
-
/* @__PURE__ */ jsx("div", { className: "text-
|
|
27876
|
+
/* @__PURE__ */ jsx("div", { className: "text-muted-foreground text-sm mb-1", children: stat.label }),
|
|
27877
27877
|
/* @__PURE__ */ jsxs("div", { className: "text-[var(--color-foreground)] text-2xl font-bold flex items-center justify-center gap-2", children: [
|
|
27878
27878
|
stat.icon && /* @__PURE__ */ jsx("span", { children: stat.icon }),
|
|
27879
27879
|
/* @__PURE__ */ jsx("span", { className: "tabular-nums", children: displayValue })
|
|
@@ -27887,10 +27887,10 @@ function GameOverScreen({
|
|
|
27887
27887
|
{
|
|
27888
27888
|
onClick: () => handleActionClick(action),
|
|
27889
27889
|
className: cn(
|
|
27890
|
-
"px-8 py-4 rounded-
|
|
27890
|
+
"px-8 py-4 rounded-container border-2 font-bold text-lg",
|
|
27891
27891
|
"transition-all duration-200",
|
|
27892
27892
|
"hover:scale-105 active:scale-95",
|
|
27893
|
-
"focus:outline-none focus:ring-4 focus:ring-
|
|
27893
|
+
"focus:outline-none focus:ring-4 focus:ring-foreground/25",
|
|
27894
27894
|
buttonVariants[action.variant ?? "secondary"]
|
|
27895
27895
|
),
|
|
27896
27896
|
children: action.label
|
|
@@ -27909,25 +27909,25 @@ var init_GameOverScreen = __esm({
|
|
|
27909
27909
|
init_useEventBus();
|
|
27910
27910
|
variantColors = {
|
|
27911
27911
|
victory: {
|
|
27912
|
-
bg: "from-
|
|
27913
|
-
title: "text-
|
|
27914
|
-
accent: "border-
|
|
27912
|
+
bg: "from-success/90 to-success/90",
|
|
27913
|
+
title: "text-success",
|
|
27914
|
+
accent: "border-success"
|
|
27915
27915
|
},
|
|
27916
27916
|
defeat: {
|
|
27917
|
-
bg: "from-
|
|
27918
|
-
title: "text-
|
|
27919
|
-
accent: "border-
|
|
27917
|
+
bg: "from-error/90 to-background/90",
|
|
27918
|
+
title: "text-error",
|
|
27919
|
+
accent: "border-error"
|
|
27920
27920
|
},
|
|
27921
27921
|
neutral: {
|
|
27922
|
-
bg: "from-
|
|
27923
|
-
title: "text-
|
|
27924
|
-
accent: "border-
|
|
27922
|
+
bg: "from-muted/90 to-background/90",
|
|
27923
|
+
title: "text-foreground",
|
|
27924
|
+
accent: "border-muted"
|
|
27925
27925
|
}
|
|
27926
27926
|
};
|
|
27927
27927
|
buttonVariants = {
|
|
27928
|
-
primary: "bg-[var(--color-primary)] hover:bg-
|
|
27929
|
-
secondary: "bg-[var(--color-surface,#374151)] hover:bg-
|
|
27930
|
-
ghost: "bg-transparent hover:bg-
|
|
27928
|
+
primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info",
|
|
27929
|
+
secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
|
|
27930
|
+
ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
|
|
27931
27931
|
};
|
|
27932
27932
|
GameOverScreen.displayName = "GameOverScreen";
|
|
27933
27933
|
}
|
|
@@ -28161,7 +28161,7 @@ function PlatformerCanvas({
|
|
|
28161
28161
|
{
|
|
28162
28162
|
ref: canvasRef,
|
|
28163
28163
|
style: { width: canvasWidth, height: canvasHeight },
|
|
28164
|
-
className: cn("block rounded-
|
|
28164
|
+
className: cn("block rounded-container border border-border/10", className),
|
|
28165
28165
|
"data-testid": "platformer-canvas",
|
|
28166
28166
|
tabIndex: 0
|
|
28167
28167
|
}
|
|
@@ -35704,7 +35704,7 @@ function DebuggerBoard({
|
|
|
35704
35704
|
backgroundPosition: "center"
|
|
35705
35705
|
},
|
|
35706
35706
|
children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
|
|
35707
|
-
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-
|
|
35707
|
+
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
|
|
35708
35708
|
/* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
35709
35709
|
/* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
35710
35710
|
/* @__PURE__ */ jsx(Icon, { icon: Bug, size: "sm" }),
|
|
@@ -35717,11 +35717,11 @@ function DebuggerBoard({
|
|
|
35717
35717
|
const isFlagged = flaggedLines.has(line.id);
|
|
35718
35718
|
let lineStyle = "";
|
|
35719
35719
|
if (submitted) {
|
|
35720
|
-
if (line.isBug && isFlagged) lineStyle = "bg-
|
|
35721
|
-
else if (line.isBug && !isFlagged) lineStyle = "bg-
|
|
35722
|
-
else if (!line.isBug && isFlagged) lineStyle = "bg-
|
|
35720
|
+
if (line.isBug && isFlagged) lineStyle = "bg-success/10";
|
|
35721
|
+
else if (line.isBug && !isFlagged) lineStyle = "bg-warning/10";
|
|
35722
|
+
else if (!line.isBug && isFlagged) lineStyle = "bg-error/10";
|
|
35723
35723
|
} else if (isFlagged) {
|
|
35724
|
-
lineStyle = "bg-
|
|
35724
|
+
lineStyle = "bg-error/10";
|
|
35725
35725
|
}
|
|
35726
35726
|
return /* @__PURE__ */ jsxs(
|
|
35727
35727
|
HStack,
|
|
@@ -35734,8 +35734,8 @@ function DebuggerBoard({
|
|
|
35734
35734
|
/* @__PURE__ */ jsx(Box, { className: "w-10 flex-shrink-0 flex items-center justify-center border-r border-border text-muted-foreground", children: /* @__PURE__ */ jsx(Typography, { variant: "caption", children: i + 1 }) }),
|
|
35735
35735
|
/* @__PURE__ */ jsx(Box, { className: "flex-1 px-3 py-1.5 font-mono text-sm whitespace-pre", children: /* @__PURE__ */ jsx(Typography, { variant: "body", className: "font-mono text-sm", children: line.content }) }),
|
|
35736
35736
|
/* @__PURE__ */ jsxs(Box, { className: "w-8 flex-shrink-0 flex items-center justify-center", children: [
|
|
35737
|
-
isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-
|
|
35738
|
-
submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-
|
|
35737
|
+
isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-error" }),
|
|
35738
|
+
submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-warning" })
|
|
35739
35739
|
] })
|
|
35740
35740
|
]
|
|
35741
35741
|
},
|
|
@@ -35750,7 +35750,7 @@ function DebuggerBoard({
|
|
|
35750
35750
|
{
|
|
35751
35751
|
icon: flaggedLines.has(line.id) ? CheckCircle : XCircle,
|
|
35752
35752
|
size: "xs",
|
|
35753
|
-
className: flaggedLines.has(line.id) ? "text-
|
|
35753
|
+
className: flaggedLines.has(line.id) ? "text-success mt-0.5" : "text-warning mt-0.5"
|
|
35754
35754
|
}
|
|
35755
35755
|
),
|
|
35756
35756
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", children: [
|
|
@@ -35759,7 +35759,7 @@ function DebuggerBoard({
|
|
|
35759
35759
|
] })
|
|
35760
35760
|
] }, line.id))
|
|
35761
35761
|
] }) }),
|
|
35762
|
-
showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-
|
|
35762
|
+
showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
|
|
35763
35763
|
/* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
|
|
35764
35764
|
!submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: flaggedLines.size === 0, children: [
|
|
35765
35765
|
/* @__PURE__ */ jsx(Icon, { icon: Send, size: "sm" }),
|
|
@@ -36482,7 +36482,7 @@ function LinearView({
|
|
|
36482
36482
|
className
|
|
36483
36483
|
}) {
|
|
36484
36484
|
const currentIdx = trait.states.indexOf(trait.currentState);
|
|
36485
|
-
return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-
|
|
36485
|
+
return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
|
|
36486
36486
|
trait.description && /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: trait.description }),
|
|
36487
36487
|
/* @__PURE__ */ jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
|
|
36488
36488
|
const isDone = i < currentIdx;
|
|
@@ -36504,10 +36504,10 @@ function LinearView({
|
|
|
36504
36504
|
{
|
|
36505
36505
|
display: "inline-flex",
|
|
36506
36506
|
className: cn(
|
|
36507
|
-
"items-center justify-center rounded-
|
|
36507
|
+
"items-center justify-center rounded-pill px-3 py-1 border-2 transition-all",
|
|
36508
36508
|
SIZE_CONFIG2[size || "md"].fontSize,
|
|
36509
36509
|
isDone && "bg-success/20 border-success text-success",
|
|
36510
|
-
isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-
|
|
36510
|
+
isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-elevation-card shadow-primary/20",
|
|
36511
36511
|
!isDone && !isCurrent && "bg-muted border-border text-muted-foreground"
|
|
36512
36512
|
),
|
|
36513
36513
|
children: [
|
|
@@ -36529,7 +36529,7 @@ function CompactView({
|
|
|
36529
36529
|
const { t } = useTranslate();
|
|
36530
36530
|
const config = SIZE_CONFIG2[size || "md"];
|
|
36531
36531
|
const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
|
|
36532
|
-
return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-
|
|
36532
|
+
return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
|
|
36533
36533
|
/* @__PURE__ */ jsxs(HStack, { className: "items-center justify-between", children: [
|
|
36534
36534
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
|
|
36535
36535
|
/* @__PURE__ */ jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
|
|
@@ -36565,7 +36565,7 @@ function FullView({
|
|
|
36565
36565
|
const { t } = useTranslate();
|
|
36566
36566
|
const config = SIZE_CONFIG2[size || "md"];
|
|
36567
36567
|
const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
|
|
36568
|
-
return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-
|
|
36568
|
+
return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
|
|
36569
36569
|
/* @__PURE__ */ jsxs(HStack, { className: "items-center justify-between", children: [
|
|
36570
36570
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
|
|
36571
36571
|
/* @__PURE__ */ jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
|
|
@@ -36579,9 +36579,9 @@ function FullView({
|
|
|
36579
36579
|
{
|
|
36580
36580
|
display: "flex",
|
|
36581
36581
|
className: cn(
|
|
36582
|
-
"items-center justify-center rounded-
|
|
36582
|
+
"items-center justify-center rounded-container border-2 transition-all px-2",
|
|
36583
36583
|
config.nodeSize,
|
|
36584
|
-
isCurrent && "bg-primary/20 border-primary shadow-
|
|
36584
|
+
isCurrent && "bg-primary/20 border-primary shadow-elevation-card shadow-primary/20",
|
|
36585
36585
|
!isCurrent && hasOutgoing && "bg-muted border-border hover:border-muted-foreground",
|
|
36586
36586
|
!isCurrent && !hasOutgoing && "bg-background border-border opacity-60",
|
|
36587
36587
|
onStateClick && "cursor-pointer"
|
|
@@ -37011,7 +37011,7 @@ function EventHandlerBoard({
|
|
|
37011
37011
|
backgroundPosition: "center"
|
|
37012
37012
|
},
|
|
37013
37013
|
children: [
|
|
37014
|
-
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-
|
|
37014
|
+
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
|
|
37015
37015
|
/* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
|
|
37016
37016
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
|
|
37017
37017
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
|
|
@@ -37026,7 +37026,7 @@ function EventHandlerBoard({
|
|
|
37026
37026
|
Box,
|
|
37027
37027
|
{
|
|
37028
37028
|
className: cn(
|
|
37029
|
-
"p-3 rounded-
|
|
37029
|
+
"p-3 rounded-container border-2 cursor-pointer transition-all hover:scale-105",
|
|
37030
37030
|
selectedObjectId === obj.id ? "border-primary bg-primary/10" : "border-border bg-card hover:border-muted-foreground"
|
|
37031
37031
|
),
|
|
37032
37032
|
onClick: () => setSelectedObjectId(obj.id),
|
|
@@ -37048,10 +37048,10 @@ function EventHandlerBoard({
|
|
|
37048
37048
|
}
|
|
37049
37049
|
),
|
|
37050
37050
|
eventLog.length > 0 && /* @__PURE__ */ jsx(EventLog, { entries: eventLog }),
|
|
37051
|
-
playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-
|
|
37051
|
+
playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("eventHandler.chainComplete") }) }),
|
|
37052
37052
|
playState === "fail" && /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
37053
|
-
/* @__PURE__ */ jsx(Box, { className: "p-4 rounded-
|
|
37054
|
-
showHint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-
|
|
37053
|
+
/* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(encourageKey) }) }),
|
|
37054
|
+
showHint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
|
|
37055
37055
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
|
|
37056
37056
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
|
|
37057
37057
|
] }) })
|
|
@@ -40224,7 +40224,7 @@ function NegotiatorBoard({
|
|
|
40224
40224
|
backgroundPosition: "center"
|
|
40225
40225
|
},
|
|
40226
40226
|
children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
|
|
40227
|
-
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-
|
|
40227
|
+
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
|
|
40228
40228
|
/* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
40229
40229
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
|
|
40230
40230
|
/* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description }),
|
|
@@ -40270,7 +40270,7 @@ function NegotiatorBoard({
|
|
|
40270
40270
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: "vs" }),
|
|
40271
40271
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", children: getActionLabel(round.opponentAction) }),
|
|
40272
40272
|
/* @__PURE__ */ jsx(Icon, { icon: ArrowRight, size: "xs" }),
|
|
40273
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "caption", weight: "bold", className: "text-
|
|
40273
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "caption", weight: "bold", className: "text-success", children: [
|
|
40274
40274
|
"+",
|
|
40275
40275
|
round.playerPayoff
|
|
40276
40276
|
] }),
|
|
@@ -40281,7 +40281,7 @@ function NegotiatorBoard({
|
|
|
40281
40281
|
] }, round.round))
|
|
40282
40282
|
] }) }),
|
|
40283
40283
|
isComplete && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
|
|
40284
|
-
/* @__PURE__ */ jsx(Icon, { icon: CheckCircle, size: "lg", className: won ? "text-
|
|
40284
|
+
/* @__PURE__ */ jsx(Icon, { icon: CheckCircle, size: "lg", className: won ? "text-success" : "text-error" }),
|
|
40285
40285
|
/* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: won ? entity.successMessage ?? t("negotiator.success") : entity.failMessage ?? t("negotiator.failed") }),
|
|
40286
40286
|
/* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
|
|
40287
40287
|
t("negotiator.finalScore"),
|
|
@@ -40291,7 +40291,7 @@ function NegotiatorBoard({
|
|
|
40291
40291
|
entity.targetScore
|
|
40292
40292
|
] })
|
|
40293
40293
|
] }) }),
|
|
40294
|
-
showHint && entity.hint && !won && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-
|
|
40294
|
+
showHint && entity.hint && !won && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
|
|
40295
40295
|
isComplete && !won && /* @__PURE__ */ jsx(HStack, { justify: "center", children: /* @__PURE__ */ jsx(Button, { variant: "primary", onClick: handleReset, children: t("negotiator.playAgain") }) })
|
|
40296
40296
|
] })
|
|
40297
40297
|
}
|
|
@@ -42876,7 +42876,7 @@ function TraitSlot({
|
|
|
42876
42876
|
display: "flex",
|
|
42877
42877
|
position: "relative",
|
|
42878
42878
|
className: cn(
|
|
42879
|
-
"items-center justify-center rounded-
|
|
42879
|
+
"items-center justify-center rounded-container transition-all duration-200 bg-card/50",
|
|
42880
42880
|
!locked && "cursor-pointer",
|
|
42881
42881
|
locked && "cursor-not-allowed opacity-50",
|
|
42882
42882
|
isEmpty && !locked && "border-2 border-dashed border-border hover:border-muted-foreground",
|
|
@@ -42892,7 +42892,7 @@ function TraitSlot({
|
|
|
42892
42892
|
style: {
|
|
42893
42893
|
width: config.box,
|
|
42894
42894
|
height: config.box,
|
|
42895
|
-
backgroundColor: catColor?.bg ||
|
|
42895
|
+
backgroundColor: catColor?.bg || void 0,
|
|
42896
42896
|
borderColor: isDragOver ? void 0 : feedback === "correct" ? "var(--color-success)" : feedback === "wrong" ? "var(--color-error)" : catColor?.border || void 0
|
|
42897
42897
|
},
|
|
42898
42898
|
onClick: handleClick,
|
|
@@ -42921,7 +42921,7 @@ function TraitSlot({
|
|
|
42921
42921
|
Box,
|
|
42922
42922
|
{
|
|
42923
42923
|
position: "absolute",
|
|
42924
|
-
className: "-top-1.5 -right-1.5 w-4 h-4 bg-error rounded-
|
|
42924
|
+
className: "-top-1.5 -right-1.5 w-4 h-4 bg-error rounded-pill flex items-center justify-center cursor-pointer hover:bg-error/80 transition-colors",
|
|
42925
42925
|
onClick: handleRemove,
|
|
42926
42926
|
children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-foreground text-xs leading-none", children: "\xD7" })
|
|
42927
42927
|
}
|
|
@@ -42931,14 +42931,14 @@ function TraitSlot({
|
|
|
42931
42931
|
Box,
|
|
42932
42932
|
{
|
|
42933
42933
|
position: "absolute",
|
|
42934
|
-
className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-
|
|
42934
|
+
className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-pill flex items-center justify-center border border-border",
|
|
42935
42935
|
children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground text-xs", children: slotNumber })
|
|
42936
42936
|
}
|
|
42937
42937
|
),
|
|
42938
42938
|
showTooltip && isHovered && itemMachine && !isEmpty && equippedItem && /* @__PURE__ */ jsxs(
|
|
42939
42939
|
Box,
|
|
42940
42940
|
{
|
|
42941
|
-
className: "p-3 bg-background border border-border rounded-
|
|
42941
|
+
className: "p-3 bg-background border border-border rounded-container shadow-xl",
|
|
42942
42942
|
style: {
|
|
42943
42943
|
...getTooltipStyle(),
|
|
42944
42944
|
minWidth: 200,
|
|
@@ -43188,12 +43188,12 @@ function SequencerBoard({
|
|
|
43188
43188
|
backgroundPosition: "center"
|
|
43189
43189
|
},
|
|
43190
43190
|
children: [
|
|
43191
|
-
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-
|
|
43191
|
+
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
|
|
43192
43192
|
/* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
|
|
43193
43193
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
|
|
43194
43194
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description })
|
|
43195
43195
|
] }),
|
|
43196
|
-
showHint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-
|
|
43196
|
+
showHint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
|
|
43197
43197
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
|
|
43198
43198
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
|
|
43199
43199
|
] }) }),
|
|
@@ -43231,8 +43231,8 @@ function SequencerBoard({
|
|
|
43231
43231
|
label: t("sequencer.dragActions")
|
|
43232
43232
|
}
|
|
43233
43233
|
),
|
|
43234
|
-
hasFeedback && playState === "idle" && attempts > 0 && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-
|
|
43235
|
-
playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-
|
|
43234
|
+
hasFeedback && playState === "idle" && attempts > 0 && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: t(encourageKey) }) }),
|
|
43235
|
+
playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("sequencer.levelComplete") }) }),
|
|
43236
43236
|
/* @__PURE__ */ jsxs(HStack, { gap: "sm", children: [
|
|
43237
43237
|
/* @__PURE__ */ jsx(
|
|
43238
43238
|
Button,
|
|
@@ -43908,7 +43908,7 @@ function SimulationCanvas({
|
|
|
43908
43908
|
ref: canvasRef,
|
|
43909
43909
|
width,
|
|
43910
43910
|
height,
|
|
43911
|
-
className: "rounded-
|
|
43911
|
+
className: "rounded-container block max-w-full h-auto"
|
|
43912
43912
|
}
|
|
43913
43913
|
) });
|
|
43914
43914
|
}
|
|
@@ -44116,7 +44116,7 @@ function SimulatorBoard({
|
|
|
44116
44116
|
backgroundPosition: "center"
|
|
44117
44117
|
},
|
|
44118
44118
|
children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
|
|
44119
|
-
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-
|
|
44119
|
+
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
|
|
44120
44120
|
/* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
44121
44121
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
|
|
44122
44122
|
/* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
|
|
@@ -44167,8 +44167,8 @@ function SimulatorBoard({
|
|
|
44167
44167
|
entity.outputUnit
|
|
44168
44168
|
] }),
|
|
44169
44169
|
submitted && /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
44170
|
-
/* @__PURE__ */ jsx(Icon, { icon: isCorrect ? CheckCircle : XCircle, size: "sm", className: isCorrect ? "text-
|
|
44171
|
-
/* @__PURE__ */ jsx(Typography, { variant: "body", className: isCorrect ? "text-
|
|
44170
|
+
/* @__PURE__ */ jsx(Icon, { icon: isCorrect ? CheckCircle : XCircle, size: "sm", className: isCorrect ? "text-success" : "text-error" }),
|
|
44171
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body", className: isCorrect ? "text-success" : "text-error", children: isCorrect ? entity.successMessage ?? t("simulator.correct") : entity.failMessage ?? t("simulator.incorrect") })
|
|
44172
44172
|
] }),
|
|
44173
44173
|
/* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
|
|
44174
44174
|
t("simulator.target"),
|
|
@@ -44181,7 +44181,7 @@ function SimulatorBoard({
|
|
|
44181
44181
|
")"
|
|
44182
44182
|
] })
|
|
44183
44183
|
] }) }),
|
|
44184
|
-
showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-
|
|
44184
|
+
showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
|
|
44185
44185
|
/* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
|
|
44186
44186
|
!submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, children: [
|
|
44187
44187
|
/* @__PURE__ */ jsx(Icon, { icon: Play, size: "sm" }),
|
|
@@ -44582,7 +44582,7 @@ function StateNode2({
|
|
|
44582
44582
|
position: "absolute",
|
|
44583
44583
|
display: "flex",
|
|
44584
44584
|
className: cn(
|
|
44585
|
-
"items-center justify-center rounded-
|
|
44585
|
+
"items-center justify-center rounded-pill border-3 transition-all cursor-pointer select-none",
|
|
44586
44586
|
"min-w-[80px] h-[80px] px-3",
|
|
44587
44587
|
isCurrent && "bg-primary/20 border-primary shadow-lg shadow-primary/30 scale-110",
|
|
44588
44588
|
isSelected && !isCurrent && "bg-accent/20 border-accent ring-2 ring-accent/50",
|
|
@@ -44895,7 +44895,7 @@ function StateArchitectBoard({
|
|
|
44895
44895
|
backgroundPosition: "center"
|
|
44896
44896
|
},
|
|
44897
44897
|
children: [
|
|
44898
|
-
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-
|
|
44898
|
+
entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
|
|
44899
44899
|
/* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
|
|
44900
44900
|
/* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
|
|
44901
44901
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
|
|
@@ -44914,7 +44914,7 @@ function StateArchitectBoard({
|
|
|
44914
44914
|
Box,
|
|
44915
44915
|
{
|
|
44916
44916
|
position: "relative",
|
|
44917
|
-
className: "rounded-
|
|
44917
|
+
className: "rounded-container border border-border bg-background overflow-hidden",
|
|
44918
44918
|
style: { width: GRAPH_W, height: GRAPH_H },
|
|
44919
44919
|
children: [
|
|
44920
44920
|
/* @__PURE__ */ jsxs(
|
|
@@ -44973,7 +44973,7 @@ function StateArchitectBoard({
|
|
|
44973
44973
|
children: selectedState ? t("stateArchitect.addTransition", { state: selectedState }) : t("stateArchitect.addTransitionPrompt")
|
|
44974
44974
|
}
|
|
44975
44975
|
) }),
|
|
44976
|
-
transitions.length > 0 && /* @__PURE__ */ jsxs(VStack, { gap: "xs", className: "p-3 rounded-
|
|
44976
|
+
transitions.length > 0 && /* @__PURE__ */ jsxs(VStack, { gap: "xs", className: "p-3 rounded-container bg-muted/50 border border-border", children: [
|
|
44977
44977
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground font-medium", children: t("stateArchitect.transitions", { count: transitions.length }) + ":" }),
|
|
44978
44978
|
transitions.map((t2) => /* @__PURE__ */ jsxs(HStack, { className: "items-center text-xs", gap: "xs", children: [
|
|
44979
44979
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-foreground", children: t2.from }),
|
|
@@ -45007,7 +45007,7 @@ function StateArchitectBoard({
|
|
|
45007
45007
|
variables
|
|
45008
45008
|
}
|
|
45009
45009
|
),
|
|
45010
|
-
testResults.length > 0 && /* @__PURE__ */ jsxs(VStack, { className: "p-3 rounded-
|
|
45010
|
+
testResults.length > 0 && /* @__PURE__ */ jsxs(VStack, { className: "p-3 rounded-container bg-card border border-border", gap: "xs", children: [
|
|
45011
45011
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: t("stateArchitect.testResults") + ":" }),
|
|
45012
45012
|
testResults.map((r, i) => /* @__PURE__ */ jsxs(HStack, { className: "items-center text-xs", gap: "xs", children: [
|
|
45013
45013
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", className: r.passed ? "text-success" : "text-error", children: r.passed ? "\u2714" : "\u2717" }),
|
|
@@ -45018,10 +45018,10 @@ function StateArchitectBoard({
|
|
|
45018
45018
|
entity.showCodeView !== false && /* @__PURE__ */ jsx(CodeView, { data: codeData, label: "View Code" })
|
|
45019
45019
|
] })
|
|
45020
45020
|
] }),
|
|
45021
|
-
playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-
|
|
45021
|
+
playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("stateArchitect.allPassed") }) }),
|
|
45022
45022
|
playState === "fail" && /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
|
|
45023
|
-
/* @__PURE__ */ jsx(Box, { className: "p-4 rounded-
|
|
45024
|
-
attempts >= 3 && entity.hint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-
|
|
45023
|
+
/* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(ENCOURAGEMENT_KEYS3[Math.min(attempts - 1, ENCOURAGEMENT_KEYS3.length - 1)] ?? ENCOURAGEMENT_KEYS3[0]) }) }),
|
|
45024
|
+
attempts >= 3 && entity.hint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
|
|
45025
45025
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
|
|
45026
45026
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
|
|
45027
45027
|
] }) })
|